/*** Spinner Start ***/

#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .8s ease-out, visibility 0s linear .5s;
    z-index: 99999;
 }

 #spinner.show {
     transition: opacity .8s ease-out, visibility 0s linear .0s;
     visibility: visible;
     opacity: 1;
 }

 :root {
    --bs-secondary: #A0E9E0 !important; /* your new color */
  }

/*** Spinner End ***/


/*** Button Start ***/
.btn {
    font-weight: 600;
    transition: .5s;
}

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

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

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

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

.btn-square,
.btn-sm-square,
.btn-md-square,
.btn-lg-square {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: normal;
}

.back-to-top {
    position: fixed;
    width: 50px;
    height: 50px;
    right: 30px;
    bottom: 30px;
    z-index: 99;
}

/*** Button End ***/


/*** Topbar Start ***/

.topbar .top-info {
    letter-spacing: 1px;
}

.topbar .top-link {
    display: flex;
    align-items: center;
    justify-content: center;
}

.topbar .top-link a {
    margin-right: 10px;
}

#note {
    width: 500px;
    overflow: hidden;
}

#note small {
    position: relative;
    display: inline-block;
    animation: mymove 5s infinite;
    animation-timing-function: all;
}

@keyframes mymove {
    from {left: -100%;}
    to {left: 100%;}
}

/*** Topbar End ***/


/*** Navbar Start ***/
.navbar .navbar-nav {
    padding: 15px 0;
}

.navbar .navbar-nav .nav-link {
    padding: 10px;
    color: var(--bs-white);
    font-size: 18px;
    outline: none;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    display: flex;
    
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active {
    color: var(--bs-secondary) !important;
}

.navbar .dropdown-toggle::after {
    border: none;
    content: "\f107";
    font-family: "font awesome 5 free";
    font-weight: 900;
    vertical-align: middle;
    margin-left: 8px;    
}

* {
    font-family: "Roboto", sans-serif !important;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
  }

  body, html {
    font-family: "Roboto", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
  }

@media (min-width: 992px) {
    .navbar .nav-item .dropdown-menu {
        display: block;
        visibility: hidden;
        top: 100%;
        transform: rotateX(-75deg);
        transform-origin: 0% 0%;
        transition: .5s;
        opacity: 0;
    }
}

.navbar .nav-item:hover .dropdown-menu {
    transform: rotateX(0deg);
    visibility: visible;
    transition: .5s;
    opacity: 1;
}

/*** Navbar End ***/


/*** Carousel Start ***/

.carousel-item {
    position: relative;
}

.carousel-item::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .6);
    background: rgba(0, 0, 0, .6);
}

.carousel-caption {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}

.carousel-item p {
    /* max-width: 700px; */
    margin: 0 auto 35px auto;
}

.carousel-control-prev {
    width: 90px;
    height: 60px;
    position: absolute;
    top: 50%;
    left: 0;
    background: var(--bs-primary);
    border-radius: 0 50px 50px 0;
    opacity: 1;
}

.carousel-control-prev:hover {
    background: var(--bs-secondary);
    transition: .8s;
}

.carousel-control-next {
    width: 90px;
    height: 60px;
    position: absolute;
    top: 50%;
    right: 0;
    background: var(--bs-primary);
    border-radius: 50px 0 0 50px;
    opacity: 1;
}

.carousel-control-next:hover {
    background: var(--bs-secondary);
    transition: .8s;
}

.carousel-caption .carousel-content a button.carousel-content-btn1 {
    background: var(--bs-secondary);
    color: var(--bs-dark);
    opacity: 1;
    border: 0;
    border-radius: 20px;
}

.carousel-caption .carousel-content a button.carousel-content-btn1:hover {
    background: var(--bs-primary);
    color: #ffffff;
    border: 0;
    opacity: 1;
    transition: 1s;
    border-radius: 20px;
}

.carousel-caption .carousel-content a button.carousel-content-btn2 {
    background: var(--bs-primary);
    color: var(--bs-white);
    opacity: 1;
    border: 0;
    border-radius: 20px;
}

.carousel-caption .carousel-content a button.carousel-content-btn2:hover {
    background: var(--bs-secondary);
    color: var(--bs-dark);
    border: 0;
    opacity: 1;
    transition: 1s;
    border-radius: 20px;
}

#carouselId .carousel-indicators li {
    width: 30px;
    height: 10px;
    background: #fff !important;
    margin: 10px;
    border-radius: 30px;
    opacity: 1;
}

#carouselId .carousel-indicators li:hover {
    background: #a0eae0 !important;
    opacity: 1;
}
.navbar .nav-item .sub-menu.dropdown-menu{
    min-width: 280px;
    width: auto;
    white-space: nowrap; 
}
.navbar .nav-item .sub-menu.dropdown-menu li{
    width: 100%;
    padding: 5px 0;
    display: block;
}
.navbar .nav-item .sub-menu.dropdown-menu li a:hover, .navbar .nav-item .sub-menu.dropdown-menu li a.active{
    color: #1842b6 !important;
}
.navbar .nav-item .sub-menu.dropdown-menu li a{width: 100%; display: block;  font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 16px !important; line-height: 24px !important;}

@media (max-width: 992px) {
    .carousel-item {
        min-height: 500px;
    }
    
    .carousel-item img {
        min-height: 500px;
        object-fit: cover;
    }

    .carousel-item h1 {
        font-size: 40px !important;
    }

    .carousel-item p {
        font-size: 16px !important;
    }
}

@media (max-width: 768px) {
    .carousel-item {
        min-height: 400px;
    }
    
    .carousel-item img {
        min-height: 400px;
        object-fit: cover;
    }

    .carousel-item h1 {
        font-size: 28px !important;
    }

    .carousel-item p {
        font-size: 14px !important;
    }
}

.page-header {
    background: linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, .6)), url(../img/carousel-1.jpg) center center no-repeat;
    background-size: cover;
}

.page-header .breadcrumb-item+.breadcrumb-item::before {
    color: var(--bs-white);
}

.page-header .breadcrumb-item,
.page-header .breadcrumb-item a {
    font-size: 18px;
    color: var(--bs-white);
}

/*** Carousel End ***/


/*** Services Start ***/

.services .services-item {
    box-shadow: 0 0 60px rgba(0, 0, 0, .2);
    width: 100%;
    height: 100%;
    border-radius: 10px;
    padding: 10px 0;
    position: relative;
}


.services-content::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 0;
    top: 0;
    left: 0;
    border-radius: 10px 10px 0 0;
    background: rgba(160, 234, 224, 0.8);
    transition: .5s;
}

.services-content::after {
    top: 0;
    bottom: auto;
    border-radius: 10px 10px 10px 10px;
}

.services-item:hover .services-content::after {
    height: 100%;
    opacity: 1;
    transition: .5s;
}

.services-item:hover .services-content-icon {
    position: relative;
    z-index: 2;
}

.services-item .services-content-icon i,
.services-item .services-content-icon p {
    transition: .5s;
}

.services-item:hover .services-content-icon i {
    color: var(--bs-secondary) !important;
}

.services-item:hover .services-content-icon p {
    color: var(--bs-dark);
}
.client-item .services-content::after{
    display: none;
}
/*** Services End ***/


/*** Project Start ***/

.project-img {
    position: relative;
    padding: 15px;
}

.project-img::before {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    top: 0;
    left: 0;
    background: var(--bs-secondary);
    border-radius: 10px;
    opacity: 1;
    z-index: -1;
    transition: .5s;
}

.project-img::after {
    content: "";
    width: 150px;
    height: 150px;
    position: absolute;
    right: 0;
    bottom: 0;
    background: var(--bs-primary);
    border-radius: 10px;
    opacity: 1;
    z-index: -1;
    transition: .5s;
}

.project-content {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
}

.project-content a {
    display: inline-block;
    padding: 20px 25px;
    background: var(--bs-primary);
    border-radius: 10px;
}

.project-item:hover .project-content {
    opacity: 1;
    transition: .5s;
}

.project-item:hover .project-img::before,
.project-item:hover .project-img::after {
    opacity: 0;
}

/*** Project End ***/


/*** Blog Start ***/
.blog-item .blog-btn {
    z-index: 2;
}

.blog-btn .blog-btn-icon {
    height: 50px;
    position: relative;
    overflow: hidden;
}

.blog-btn-icon .blog-icon-2 {
    display: flex;
    position: absolute;
    top: 6px;
    left: -140px;
    
}

.blog-btn-icon:hover .blog-icon-2 {
    transition: 1s;
    left: 5px;
    top: 6px;
    padding-bottom: 5px;
}
.blog-icon-1 {
    position: relative;
    top: -4px;
}
.blog-btn-icon:hover .blog-icon-1 {
    top: 0;
    right: -140px;
    transition: 1s;
}

/*** Blog End ***/


/*** Team Start ***/

.team-item {
    /* border-top: 30px solid var(--bs-secondary) !important; */
    border-top: 30px solid #a0eae0 !important;    
    background: rgba(239, 239, 241, 0.8);
}

.team-content::before {
    height: 200px;
    display: block;
    content: "";
    position: relative;
    top: -101px;
    background:#a0eae0;
    clip-path: polygon(50% 50%, 100% 50%, 50% 100%, 0% 50%);
    padding: 60px;
    opacity: 1;
}

.team-img-icon {
    position: relative;
    margin-top: -200px;
    padding: 30px;
    padding-bottom: 0;
}

.team-img {
    border: 15px solid var(--bs-white);
}

.team-img img {
    /* border: 10px solid var(--bs-secondary); */
    transition: .5s;
}

.team-item:hover h4 {
    color: var(--bs-primary);
    transition: .5s;
}

.team-item:hover .team-img img {
    transform: scale(1.05);
    /* border: 10px solid var(--bs-secondary); */
}

.team-carousel .owl-stage {
    position: relative;
    width: 100%;
    height: 100%;
}

.team-carousel .owl-nav {
    position: absolute;
    top: -100px;
    right: 50px;
    display: flex;
}

.team-carousel .owl-nav .owl-prev,
.team-carousel .owl-nav .owl-next {
    width: 56px;
    height: 56px;
    border-radius: 56px;
    margin-left: 15px;
    background: var(--bs-secondary);
    color: var(--bs-white);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .5s;
}

.team-carousel .owl-nav .owl-prev:hover,
.team-carousel .owl-nav .owl-next:hover {
    background: var(--bs-primary);
    color: var(--bs-white);
}

@media (max-width: 992px) {
    .team-carousel {
        margin-top: 3rem;
    }

    .team-carousel .owl-nav {
        top: -85px;
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        margin-left: -15px;
    }
}

/*** Team End ***/


/*** Testimonial Start ***/

.testimonial-item {
    background: #e3f0eb;

}

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

.testimonial-carousel .owl-dot {
    position: relative;
    display: inline-block;
    margin: 0 5px;
    width: 15px;
    height: 15px;
    background: #c1dad0;
    border-radius: 15px;
    transition: .5s;
}

.testimonial-carousel .owl-dot.active {
    width: 30px;
    background: var(--bs-primary);
}

.testimonial-carousel .owl-item.center {
    position: relative;
    z-index: 1;
}

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

.testimonial-carousel .owl-item.center .testimonial-item {
    background: #FFFFFF !important;
    box-shadow: 0 0 30px #DDDDDD;
}

/*** Testimonial End ***/


/*** Contact Start ***/
.contact-detail::before {
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background: #FFF;
    background: linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(160, 234, 224, 1) 100%);
    /* background: linear-gradient(rgb(210, 243, 235, 1), rgba(230, 250, 245, .3)), url(../img/background.jpg) center center no-repeat; */
    background-size: cover;
    border-radius: 10px;
    z-index: -1;
}

.contact-map {
    background: #fff;
}

.contact-form {
    background: #fff;
}

/*** Contact End ***/


/*** Footer Start ***/

.footer .short-link a,
.footer .help-link a,
.footer .contact-link a {
    transition: .5s;
}

.footer .short-link a:hover,
.footer .help-link a:hover,
.footer .contact-link a:hover {
    /* letter-spacing: 1px; */
    color: #a0eae0 !important;
}

.footer .hightech-link a:hover {
    background: var(--bs-secondary);
    border: 0;
}


/* Highlight active menu item */
.navbar-nav .current-menu-item > a,
.navbar-nav .current_page_item > a,
.navbar-nav .current-menu-ancestor > a {
    color: #a0eae0 !important; /* Bootstrap primary color or your brand color */
    font-weight: 600;
}


/* Show dropdown on hover for desktop */
@media (min-width: 992px) {
    .navbar-nav .dropdown:hover > .dropdown-menu {
        display: block;
        margin-top: 0;
    }
}

/* Make dropdown text readable */
.dropdown-menu a {
    color: #212529 !important;
    padding: 8px 16px;
}

/* Optional: Hover effect on submenu items */
.dropdown-menu a:hover {
    background-color: #f8f9fa;
}

/*** Footer End ***/

.fa, .far, .fas, .fab, .fa-brands {
    font-family: "Font Awesome 5 Free" !important;
}
.bg-right-call{
    background-color: #2D2D2D;
    margin-right: -12px;
    padding: 30px 20px;
}
.color-common-1{
    color: #a0eae0;
}
.fs-12{font-size: 12px !important;}
.btn-play-main{
    padding: 0px !important;
    background-color: transparent !important;   
    gap: 10px;
}
.btn-play{
    background-color: #fff !important;
    color: #212529 !important;
    padding: 15px !important;
    margin-right: 10px;
    border-radius: 50%;
    font-size: 16px;
}
.btn-play-main:hover{
    color: #fff !important;
}
.btn-view-more{border-radius: 0 !important;}
.btn-play-main:hover .btn-play, .btn-view-more{
    color: #000 !important;
    background-color: #a0eae0 !important;
}

.carousel-caption.text-start h6{color: #fff !important; font-size: 18px !important; font-family: 'Poppins', sans-serif; font-weight: 500; letter-spacing: 1px;}
.carousel-caption.text-start h1{margin-top: 0; font-size: 42px !important; font-family: 'Roboto', sans-serif; font-weight: bold; letter-spacing: 1px;}
.poppins-medium{font-family: 'Poppins', sans-serif; font-weight: 500;}
.roboto-medium{font-family: 'Roboto', sans-serif; font-weight: 500;}
.w-20{width: 20% !important;}
.home-services .services-item-title{
   max-width: 180px;
   width: 100%;
   margin: 0 auto;
   padding: 10px 0;
   font-size: 17px;
}
.object-fit-cover{
    object-fit: cover;
    object-position:center;
}
.bg-secondary-1{
    background-color: #a0eae0 !important;
}

@media (max-width: 768px) {
    .w-20 {
        width: 100% !important;
        margin: 10px 0;
    }
    .home-services .services-item-title{
        font-size: 15px;
        max-width: 100%;
        width: 100%;
    }
}

/* MAIN SECTION */
.cta-section {
    background: linear-gradient(90deg, #a0eae0, #4E9FD6); /* fallback color */
    padding: 70px 0;
    color: #fff;
  }
  
  .cta-section .container {
    /* max-width: 1200px; */
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
  }
  
  /* HEADING */
  .cta-section h2 {
    font-size: 42px;
    font-weight: 700;
    letter-spacing: 2px;
    margin: 0;
    text-transform: uppercase;
  }
  
  /* BUTTON */
  .cta-btn {
    display: inline-block;
    background: #a0eae0;
    color: #000;
    padding: 15px 40px;
    font-weight: 700;
    text-decoration: none;
    letter-spacing: 1px;
    position: relative;
    transition: 0.3s;
  }
  
  .cta-btn span {
    margin-left: 8px;
    font-size: 20px;
    transform: translateY(2px);
    display: inline-block;
  }
  
  .cta-btn:hover {
    background: #fff;
    color: #212529;
  }
  .btn-prev-1{
    left: 15px;
    width: 56px;
    height: 56px;
    border-radius: 56px;
    margin-left: 15px;
    background: #a0eae0;
    color: #222222;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .5s;    
  }
  .btn-next-1{
    right: 15px;
    width: 56px;
    height: 56px;
    border-radius: 56px;
    margin-left: 15px;
    background: #a0eae0;
    color: #222222;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .5s;
  }
  .scale-img{
    transition: transform 0.4s ease; 
    transform-origin: center center;
    display: inline-block;
    transform: scale(0.6); 
    overflow: hidden;
  }
  .client-item:hover{border-radius: 0; overflow: hidden;}
  .client-item:hover .scale-img{
    transform: scale(1); 
    overflow: hidden
  }
  .footer .hightech-link .social-icon{
    transition: .5s;
    border-radius: 4px;
  }
  .footer .hightech-link .social-icon:hover{
    background: #a0eae0;
    border: 0;   
    transition: .5s;
  }
  .footer .hightech-link .social-icon:hover svg{
    fill: #222222;
  }
  .text-secondary, .color-comman-1 {
    color: #a0eae0 !important;   
 }
 .btn-secondary{
    background-color: #a0eae0 !important;
    border: 0 !important;
    border-color: #a0eae0 !important;
    color: #222222 !important;
 }
 .fs-16{font-size: 16px !important;}
 .bg-dark-light{background-color: #2D2D2D !important;}
 .bg-dark-light:hover{background-color: #2D2D2D !important;}
 .navbar .nav-item .sub-menu.dropdown-menu li.current-menu-item a{
    color: #4FA0D6 !important;    
 }
 .footer .cta-btn-2{padding: 15px 20px;}
 
 /* menu css */
/* --- Base / Bootstrap interop ------------------------------------------ */

/* Allow dropdowns to extend outside navbar collapse */
.collapse.navbar-collapse { overflow: visible; }

/* Normalize WordPress + Bootstrap submenu classes */
.navbar-nav .sub-menu { 
  list-style: none; 
  margin: 0; 
  padding: 0; 
}

/* Optional: spacing for top-level nav items */
.navbar-nav > li > .nav-link { 
  line-height: 1.2; 
}

/* --- Desktop: hover + right-side flyouts ------------------------------- */
@media (min-width: 992px) {
  .navbar-nav li { position: relative; }

  /* First-level dropdown panel */
  .navbar-nav .dropdown-menu,
  .navbar-nav .sub-menu.dropdown-menu {
    display: none;                /* hidden until hover */
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: .375rem;
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
    padding: .5rem 0;
    margin-top: 0;
    z-index: 1000;
  }

  /* Show submenu on hover */
  .navbar-nav .dropdown:hover > .dropdown-menu,
  .navbar-nav .menu-item-has-children:hover > .sub-menu.dropdown-menu {
    display: block;
  }

  /* Items inside dropdowns */
  .navbar-nav .dropdown-menu > li > a,
  .navbar-nav .sub-menu.dropdown-menu > li > a {
    display: block;
    padding: .5rem 1rem;
    white-space: nowrap;
  }

  /* Nested dropdown container */
  .navbar-nav .dropdown-menu .dropdown,
  .navbar-nav .sub-menu.dropdown-menu .menu-item-has-children {
    position: relative;
  }

  /* Fly-out for nested submenus (right side) */
  .navbar-nav .dropdown-menu .dropdown > .dropdown-menu,
  .navbar-nav .sub-menu.dropdown-menu .menu-item-has-children > .dropdown-menu,
  .navbar-nav .sub-menu.dropdown-menu .menu-item-has-children > .sub-menu.dropdown-menu {
    top: 0;
    left: 100%;
    margin-left: 2px; /* tiny gap so borders don’t overlap */
    display: none;
  }

  /* Show nested fly-out on hover */
  .navbar-nav .dropdown-menu .dropdown:hover > .dropdown-menu,
  .navbar-nav .sub-menu.dropdown-menu .menu-item-has-children:hover > .dropdown-menu,
  .navbar-nav .sub-menu.dropdown-menu .menu-item-has-children:hover > .sub-menu.dropdown-menu {
    display: block;
  }

  /* Caret for nested fly-outs */
  .navbar-nav .dropdown-menu .dropdown > a::after,
  .navbar-nav .sub-menu.dropdown-menu .menu-item-has-children > a::after {
    content: "›";
    float: right;
    font-weight: 600;
    margin-left: .5rem;
    line-height: 1;
  }

  /* Accessibility: visible focus inside menus */
  .navbar-nav .dropdown-menu a:focus { 
    outline: 2px solid rgba(0,0,0,.25); 
    outline-offset: 2px; 
  }

  /* --- Nice-to-have: subtle open animation ---------------------------- */
  @media (prefers-reduced-motion: no-preference) {
    .navbar-nav .dropdown > .dropdown-menu,
    .navbar-nav .menu-item-has-children > .sub-menu.dropdown-menu {
      opacity: 0; 
      transform: translateY(6px);
      transition: opacity .15s ease, transform .15s ease;
    }
    .navbar-nav .dropdown:hover > .dropdown-menu,
    .navbar-nav .menu-item-has-children:hover > .sub-menu.dropdown-menu {
      opacity: 1; 
      transform: translateY(0);
    }

    .navbar-nav .dropdown-menu .dropdown > .dropdown-menu,
    .navbar-nav .sub-menu.dropdown-menu .menu-item-has-children > .sub-menu.dropdown-menu {
      opacity: 0; 
      transform: translateX(6px);
      transition: opacity .15s ease, transform .15s ease;
    }
    .navbar-nav .dropdown-menu .dropdown:hover > .dropdown-menu,
    .navbar-nav .sub-menu.dropdown-menu .menu-item-has-children:hover > .sub-menu.dropdown-menu {
      opacity: 1; 
      transform: translateX(0);
    }
  }
}

/* --- Mobile & tablet: stacked accordion style -------------------------- */
@media (max-width: 991.98px) {
  /* Submenus are inline, hidden until toggled */
  .navbar-nav .dropdown-menu,
  .navbar-nav .sub-menu.dropdown-menu {
    position: static;
    float: none;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    padding: .25rem 0 .5rem;
    margin: 0;
    display: none;                 /* hidden until .show is applied */
  }

  /* Reveal when .show is applied */
  .navbar-nav .dropdown-menu.show,
  .navbar-nav .sub-menu.dropdown-menu.show { 
    display: block; 
  }

  /* Menu item spacing */
  .navbar-nav .dropdown-menu > li > a,
  .navbar-nav .sub-menu.dropdown-menu > li > a {
    display: block;
    padding: .5rem 1rem;
  }

  /* Keep Bootstrap caret, rotate on open */
  .navbar-nav a.dropdown-toggle::after {
    transition: transform .2s ease;
  }
  .navbar-nav li.is-open > a.dropdown-toggle::after {
    transform: rotate(180deg);
  }

  /* Indent deeper levels */
  .navbar-nav .dropdown-menu .dropdown-menu,
  .navbar-nav .sub-menu.dropdown-menu .sub-menu.dropdown-menu {
    padding-left: .5rem;
  }
}

 



 /* ===== Mobile menu: make entire collapsed area scrollable ===== */
@media (max-width: 991.98px) {
    /* Set your header height once */
    :root {
      --mobile-header-height: 64px;            /* ← tweak if your header is taller/shorter */
      --safe-top: env(safe-area-inset-top);    /* iOS notch safe area */
      --safe-bottom: env(safe-area-inset-bottom);
    }
  
    /* If your navbar is fixed-top, this keeps the menu within the screen */
    .navbar.navbar-expand-lg.fixed-top + .collapse.navbar-collapse,
    .navbar.navbar-expand-md.fixed-top + .collapse.navbar-collapse,
    .navbar.navbar-expand-sm.fixed-top + .collapse.navbar-collapse {
      /* no special styles needed; kept for specificity if your DOM is different */
    }
  
    /* The collapsed container itself should scroll if too tall */
    .collapse.navbar-collapse {
      max-height: calc(100vh - var(--mobile-header-height) - var(--safe-top) - var(--safe-bottom));
      overflow-y: auto;
      overscroll-behavior: contain;
      -webkit-overflow-scrolling: touch; /* smooth momentum scroll on iOS */
      padding-bottom: max(12px, var(--safe-bottom));
    }
  
    /* Ensure it stretches full width in mobile layouts */
    .navbar .navbar-collapse {
      width: 100%;
    }
  
    /* ===== Submenus: scroll internally if they get tall ===== */
    .navbar-nav .dropdown-menu,
    .navbar-nav .sub-menu.dropdown-menu {
      /* Already position:static in your mobile CSS; add scrollability and cap height */
      max-height: 60vh;                  /* cap nested list height */
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      margin: 0;
    }
  
    /* Optional: deeper nested submenus slightly smaller cap to avoid double scrollbars */
    .navbar-nav .dropdown-menu .dropdown-menu,
    .navbar-nav .sub-menu.dropdown-menu .sub-menu.dropdown-menu {
      max-height: 55vh;
    }
  
    /* Improve touch targets when scrolling */
    .navbar-nav .dropdown-menu > li > a,
    .navbar-nav .sub-menu.dropdown-menu > li > a {
      padding-top: .625rem;
      padding-bottom: .625rem;
    }
  
    /* Prevent the page behind from scrolling while menu is open (optional).
       Add .mobile-menu-open to <body> when the navbar is shown if you like. */
    body.mobile-menu-open {
      overflow: hidden;
      touch-action: none;
    }
  }
  
  /* If your header is NOT fixed-top and the menu sits under it,
     you can reduce the offset so it uses the full viewport height: */
  /*
  @media (max-width: 991.98px) {
    .collapse.navbar-collapse {
      max-height: calc(100vh - var(--safe-top) - var(--safe-bottom));
    }
  }
  */
  

 @media (max-width: 992px) {
    .navbar .navbar-nav .nav-link, .navbar .nav-item .sub-menu.dropdown-menu li a{
        display: flex;
        width: 100%;
        justify-content: space-between;
    }
    .cta-section h2{
        font-size: 28px;
    } 
 }
 @media (max-width: 768px) {
     .w-20 {
         width: 100% !important;
         margin: 10px 0;
     }
     .home-services .services-item-title{
         font-size: 15px;
         max-width: 100%;
         width: 100%;
     }
     .flex-wrap-1{
        flex-wrap: wrap;
        justify-content: center !important;
        gap: 30px
     }

     .carousel-caption.text-start h1{
        font-size: 24px !important;
     }
     .carousel-caption.text-start h6{
        font-size: 16px !important;
     }
     .btn-view-more.btn-prev-1{left: -10px !important;}
     .btn-next-1{right: 5px; }    
 }
 @media (max-width: 576px) {
    .btn-view-more.btn-prev-1{left: -10px !important; display: none;}
    .btn-next-1{right: 5px; display: none;}
    .carousel-caption{left: 20px !important; right: 20px !important;}
 }