/********** Template CSS **********/
:root {
    --primary: #F77D0A;
    --secondary: #2B2E4A;
    --light: #F4F5F8;
    --dark: #1C1E32;
}

h1,
h2,
.font-weight-bold {
    font-weight: 700 !important;
}

h3,
h4,
.font-weight-semi-bold {
    font-weight: 600 !important;
}

h5,
h6,
.font-weight-medium {
    font-weight: 500 !important;
}

.btn-square {
    width: 36px;
    height: 36px;
}

.btn-sm-square {
    width: 28px;
    height: 28px;
}

.btn-lg-square {
    width: 46px;
    height: 46px;
}

.btn-square,
.btn-sm-square,
.btn-lg-square {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
}

.back-to-top {
    position: fixed;
    display: none;
    right: 30px;
    bottom: 30px;
    z-index: 99;
}

.nav-bar::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 50%;
    top: 0;
    left: 0;
    background: var(--dark);
}

.nav-bar::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 50%;
    bottom: 0;
    left: 0;
    background: #ffffff;
}

.navbar-dark .navbar-nav .nav-link {
    padding: 30px 15px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--light);
    outline: none;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active {
    color: var(--primary);
}

@media (max-width: 991.98px) {
    .navbar-dark .navbar-nav .nav-link  {
        padding: 10px 15px;
    }
}

.carousel-caption {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(28, 30, 50, .7);
    z-index: 1;
}

@media (max-width: 576px) {
    .carousel-caption h4 {
        font-size: 18px;
        font-weight: 500 !important;
    }

    .carousel-caption h1 {
        font-size: 30px;
        font-weight: 600 !important;
    }
}

.page-header {
    height: 400px;
    margin-bottom: 90px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(rgba(28, 30, 50, .9), rgba(28, 30, 50, .9)), url(../img/bg-banner.jpg);
    background-attachment: fixed;
}

@media (max-width: 991.98px) {
    .page-header {
        height: 300px;
    }
}

.service-item {
    height: 320px;
    background: var(--light);
    transition: .5s;
}

.service-item:hover,
.service-item.active {
    background: var(--secondary);
}

.service-item h1,
.service-item h4 {
    transition: .5s;
}

.service-item:hover h1,
.service-item.active h1 {
    color: var(--dark) !important;
}

.service-item:hover h4,
.service-item.active h4 {
    color: var(--light);
}

.rent-item {
    padding: 30px;
    text-align: center;
    background: var(--light);
    transition: .5s;
}

.rent-item:hover,
.rent-item.active {
    background: var(--secondary);
}

.rent-item h4 {
    transition: .5s;
}

.rent-item:hover h4,
.rent-item.active h4 {
    color: var(--light);
}

.team-item {
    padding: 30px 30px 0 30px;
    text-align: center;
    background: var(--light);
    transition: .5s;
}

.team-item:hover,
.owl-item.center .team-item {
    background: var(--secondary);
}

.team-item h4 {
    transition: .5s;
}

.owl-item.center .team-item h4,
.owl-item.center .rent-item h4 {
    color: var(--light);
}

.team-item .team-social {
    top: 0;
    left: 0;
    opacity: 0;
    transition: .5s;
    background: var(--light);
}

.owl-item.center .team-item .team-social,
.owl-item.center .rent-item {
    background: var(--secondary);
}

.team-item:hover .team-social {
    opacity: 1;
    background: var(--secondary);
}

.team-carousel .owl-nav,
.related-carousel .owl-nav {
    position: absolute;
    width: 100%;
    height: 60px;
    top: calc(50% - 30px);
    left: 0;
    display: flex;
    justify-content: space-between;
    z-index: 1;
}

.team-carousel .owl-nav .owl-prev,
.team-carousel .owl-nav .owl-next,
.related-carousel .owl-nav .owl-prev,
.related-carousel .owl-nav .owl-next {
    position: relative;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background: var(--primary);
    font-size: 22px;
    transition: .5s;
}

.team-carousel .owl-nav .owl-prev:hover,
.team-carousel .owl-nav .owl-next:hover,
.related-carousel .owl-nav .owl-prev:hover,
.related-carousel .owl-nav .owl-next:hover {
    background: var(--secondary);
}

.vendor-carousel .owl-dots,
.testimonial-carousel .owl-dots {
    margin-top: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vendor-carousel .owl-dot,
.testimonial-carousel .owl-dot {
    position: relative;
    display: inline-block;
    margin: 0 5px;
    width: 20px;
    height: 20px;
    background: var(--secondary);
    transition: .5s;
}

.vendor-carousel .owl-dot.active,
.testimonial-carousel .owl-dot.active {
    width: 40px;
    height: 40px;
    background: var(--primary);
}

.testimonial-carousel .owl-item img {
    width: 80px;
    height: 80px;
}

.testimonial-carousel .owl-item .testimonial-item {
    height: 350px;
    transition: .5s;
    background: var(--light);
}

.testimonial-carousel .owl-item.center .testimonial-item {
    background: var(--secondary);
}

.testimonial-carousel .owl-item .testimonial-item h1,
.testimonial-carousel .owl-item .testimonial-item h4 {
    transition: .5s;
}

.testimonial-carousel .owl-item.center .testimonial-item h1 {
    color: var(--dark) !important;
}

.testimonial-carousel .owl-item.center .testimonial-item h4 {
    color: var(--light);
}

.bg-banner {
    background: linear-gradient(rgba(28, 30, 50, .9), rgba(28, 30, 50, .9)), url(../img/bg-banner.jpg);
    background-attachment: fixed;
}

.menu-container {
    position: relative;
    display: inline-block;
}

#menu-toggle {
    display: none;
}

.menu-icon {
    display: none;
    font-size: 24px;
    cursor: pointer;
    color: white;
    padding: 10px;
    background: #333;
    border-radius: 5px;
    z-index: 566;
}

.nav-menu {
    display: flex;
    gap: 15px;
}

@media (max-width: 991px) {
    .menu-icon {
        display: inline-block;
    }

    .nav-menu {
        display: none;
        position: absolute;
        top: 40px;
        right: 0;
        background: #000000;
        flex-direction: column;
        width: 150px;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
        border-radius: 5px;
        z-index: 4554;
    }

    .nav-menu a {
        display: block;
        padding: 10px;
        color: white;
        text-decoration: none;
        z-index: 2655;
    }

    #menu-toggle:checked + .menu-icon + .nav-menu {
        display: flex;
    }
}



  @media (max-width: 1537px) {
    .col-md-6.text-center.text-lg-left.mb-2.mb-lg-0 {
      width: 50%;
      text-align: left;
    }
    .col-md-6.text-center.text-lg-right {
      width: 50%;
      text-align: right;
    }
    .col-md-6.text-center.text-lg-left.mb-2.mb-lg-0 .d-inline-flex.align-items-center {
      display: none;
    }
    .col-md-6.text-center.text-lg-left.mb-2.mb-lg-0 a.text-body.px-3:last-child {
      display: block;
      font-size: 16px; /* adjust font size as needed */
    }
    .menu-container {
      display: inline-block;
    }
  }

  @media (max-width: 1537px) {
    .d-inline-flex.align-items-center a.text-body.px-3:not(:last-child),
    .d-inline-flex.align-items-center span.text-body,
    .d-inline-flex.align-items-center a.text-body.pr-3 {
      display: none;
    }
  }
  

@media (max-width: 1537px) {
    .col-md-6.text-center.text-lg-left.mb-2.mb-lg-0 a.text-body.px-3:last-child {
      margin: 0;
      padding: 0;
      text-align: left;
    }
    .menu-container {
      margin-left: 20px; /* adjust margin as needed */
    }
  }

  @media (max-width: 1537px) {
    .col-md-6.text-center.text-lg-left.mb-2.mb-lg-0 {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .col-md-6.text-center.text-lg-left.mb-2.mb-lg-0 a.text-body.px-3:last-child {
      margin: 0;
      padding: 0;
    }
    .menu-container {
      margin: 0;
      padding: 0;
    }
  }

  @media (max-width: 1537px) {
    .menu-icon {
      font-size: 18px; /* adjust font size as needed */
    }
  }

  @media (max-width: 1537px) {
    .menu-container {
      margin-right: 10px;
    }
    .menu-icon {
      margin-left: 0;
    }
  }
  
  
    
  @media (max-width: 1537px) {
    .col-md-6.text-center.text-lg-right {
      width: 50%;
      text-align: right;
      display: flex;
      justify-content: flex-end;
    }
  }


  @media (min-width: 1500px) {
    .d-inline-flex.align-items-center a.text-body.px-3:not(:last-child),
    .d-inline-flex.align-items-center span.text-body,
    .d-inline-flex.align-items-center a.text-body.pr-3 {
      display: inline-block; /* or display: block; */
    }
  }
  









  body {
    text-align: center;
    background-color: #f4f4f4;
}
/* Main Carousel */
.carousel-container {
    width:100%;
    margin: px auto;
    overflow: hidden;
    text-align: center;
}
.carousel {
    display: flex;
    overflow: hidden;
    width: 100%;
}
.carousel img {
    width: 100%;
    transition: transform 0.5s ease-in-out;
}
/* Space between carousels */
.space {
    height: 80px;
}
/* Small Carousel (Previous Projects) */
.small-carousel-container {
    width: 50%;
    margin: auto;
    overflow: hidden;
    text-align: center;
    border-radius: 10px;
}
.small-carousel img {
    width: 100%;
    transition: transform 0.5s ease-in-out;
    border-radius: 10px;
}
/* Buttons */
.buttons {
    text-align: center;
    margin-top: 30px;
}
.buttons button {
    padding: 10px 20px;
    margin: 10px;
    font-size: 16px;
    cursor: pointer;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 5px;
}
.buttons button:hover {
    background-color: #0056b3;
}
.notification-container {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 10px 20px;
    border-radius: 5px;
    display: none;
    z-index: 563;
}

.notification-container.show {
    display: block;
}

.notification-content {
    display: flex;
    align-items: center;
}

.notification-message {
    flex-grow: 1;
}

.notification-cancel {
    cursor: pointer;
}
.btn-container {
display: flex;
justify-content: center;
gap: 50px; /* Adjust gap between buttons */
margin: 30px 0; /* Adds spacing */
}
.btn-container {
display: flex;
justify-content: center;
gap: 50px; /* Adjusts gap between buttons */
margin: 30px 0; /* Adds spacing */
}
.btn-container a {
text-decoration: none; /* Removes default underline */
}
.btn-container button {
padding: 12px 24px;
font-size: 18px;
font-weight: bold;
border: none;
border-radius: 8px;
cursor: pointer;
transition: all 0.3s ease-in-out;
color: white;
}
.btn-previous {
background: linear-gradient(45deg, #ca0255, #fc012b);
}
.btn-upcoming {
background: linear-gradient(45deg, #05ddf6, #0219e9);
}
.btn-container button:hover {
transform: scale(1.1);
opacity: 0.9;
}
.infra-container {
background: #f8f9fa;
padding: 40px 20px;
text-align: center;
border-radius: 10px;
max-width: 1200px;
margin: 40px auto;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.infra-container h2 {
color: #333;
font-size: 32px;
margin-bottom: 10px;
}

.infra-container p {
color: #666;
font-size: 18px;
margin-bottom: 20px;
}

.infra-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
margin-top: 20px;
}

.infra-item {
background: white;
padding: 20px;
border-radius: 8px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
transition: transform 0.3s;
}

.infra-item:hover {
transform: translateY(-5px);
}

.infra-item img {
width: 100%;
height: 150px;
object-fit: cover;
border-radius: 5px;
margin-bottom: 10px;
}

.infra-item h3 {
color: #222;
font-size: 22px;
margin-bottom: 5px;
}

.contact-text {
font-size: 20px;
color: #000;
font-weight: bold;
margin-top: 20px;
}


@media screen and (max-width: 991px) {
.container-fluid.bg-dark {
display: block !important;  /* Ensures it stays visible */
width: 100%;  /* Keeps it full width */
}
}


.project-card {
    margin: 15px 0; /* Adds space above and below each card */
}
.project-card img {
    height: 200px;
    object-fit: cover;
}
.phone-button {
        padding: 3px 20px;
        font-size: 16px;
        border: none;
        background-color: #007bff;
        color: white;
        cursor: pointer;
        border-radius: 5px;
        position: relative;
    }

    .phone-button:hover {
        background-color: #0056b3;
    }

    /* Hidden Phone Numbers */
    .phone-numbers {
        display: none;
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        background-color: white;
        color: black;
        padding: 10px;
        border-radius: 5px;
        box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
        white-space: nowrap;
    }

    /* Show numbers when hovering */
    .phone-button:hover .phone-numbers {
        display: block;
    }

    /* Styling Links */
    .phone-numbers a {
        display: block;
        text-decoration: none;
        color: #007bff;
        font-weight: bold;
        padding: 5px 0;
    }

    .phone-numbers a:hover {
        text-decoration: underline;}


        .custom-container {
            text-align: center; /* Centers text */
            padding: 20px;
        }
        .custom-title {
            color: rgb(27, 27, 29); /* Title color */
            font-size: clamp(24px, 5vw, 48px); /* Responsive font size */
            font-weight: bold;
        }
        .custom-subtitle {
            color: rgb(33, 33, 33); /* Subtitle color */
            font-size: clamp(18px, 4vw, 20px); /* Responsive font size */
            font-weight: normal;
        }

        

        .slideshow-container {
            position: relative;
            width: 100%;
            height: 250px; /* Adjust to match other card image sizes */
            overflow: hidden;
            border-radius: 10px; /* Match card style */
        }
        
        .slideshow-container img {
            width: 100%;
            height: 100%;
            object-fit: cover; /* Ensures the image covers full area without distortion */
            position: absolute;
            opacity: 0;
            transition: opacity 1s ease-in-out;
        }
        
        .slideshow-container img.active {
            opacity: 1;
        }


        .slideshow-container {
            position: relative;
            width: 100%;
            height: 150px; /* Matches existing .infra-item img height */
            overflow: hidden;
            border-radius: 5px; /* Matches existing border-radius */
            margin-bottom: 10px; /* Matches existing margin */
        }
        
        .slideshow-container img {
            width: 100%;
            height: 100%;
            object-fit: cover; /* Ensures proper scaling */
            position: absolute;
            opacity: 0;
            transition: opacity 1s ease-in-out;
        }
        
        .slideshow-container img.active {
            opacity: 1;
        }



        .slideshow-container {
            position: relative;
            width: 100%;
            height: 150px; /* Matches .infra-item img height */
            overflow: hidden;
            border-radius: 5px; /* Matches existing style */
            margin-bottom: 10px;
        }
        
        .slideshow-container img {
            width: 100%;
            height: 100%;
            object-fit: cover; /* Ensures proper scaling without distortion */
            position: absolute;
            top: 0;
            left: 0;
            opacity: 0;
            transition: opacity 1s ease-in-out;
        }
        
        .slideshow-container img.active {
            opacity: 1;
        }

        

        .strength-item {
            background: #f8f9fa;
            padding: 10px 15px;
            border-radius: 5px;
            box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease-in-out;
        }
        
        .strength-item:hover {
            transform: scale(1.05);
        }
        
        .fa-check-circle {
            font-size: 1.8rem;
        }

        .strength-item p {
            color: black; /* Makes the text black */
            font-weight: bold;
            font-size: 1.2rem; /* Increased text size */
            margin-bottom: 0;
        }
        
        
  