*{
    box-sizing: border-box;
    margin: 0px;
    padding: 0px;
    font-family: "DM Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
html, body {
    overflow-x: hidden;
}
html {
  scroll-behavior: smooth;
}
#banner {
  scroll-margin-top: 80px; /* match your header height */
}
.marquee-content .marquee-box{
    background: white !important;
    padding: 10px !important;
    border: 1px solid black !important;
    border-radius: 5px !important;
} 

.navbar-brand img{
  width: 60%;
}
.underline {
  width: 80px;
  height: 4px;
  background: linear-gradient(90deg, #6a11cb 0%, #2575fc 100%);
  margin: 0 auto;
  border-radius: 2px;
}
.title-text {
  font-size: 55px !important;
  font-weight: 700;
  margin-bottom: 20px;
}

.center-line-with-block {
  position: relative;
  width: 120px;
  height: 2px;
  background-color: #46bd97; /* red line */
  margin: 0 auto;
}
  
.center-line-with-block::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 25px;
  height: 8px;
  background-color: #46bd97; /* red block */
  border-radius: 2px;
}
.real-time {
  width: 65%;
  display: flex;
  justify-content: flex-start;
}

/* Responsive */
@media screen and (max-width: 565px) {
  .real-time {
  width: 50% !important;
  margin: auto;
}

  .title-text {
    font-size: 35px !important;
  }
  .center-line-with-block {
    width: 80px;
  }
  .center-line-with-block::before {
    width: 18px;
    height: 6px;
  }
  .headline h1{
    text-align: center !important;
  }
  .headline p{
    text-align: center !important;
  }
}


/* Responsive */
@media screen and (max-width: 565px) {
  .title-text {
    font-size: 35px !important;
  }
  .underline {
    width: 50px;
  }
}

.marquee-title {
     font-size: 55px;
    font-weight: 700;
}

.padding-section{
    padding: 2% 30px;

}
@media screen and  (max-width: 565px) {
    .title-text {
    font-size: 35px !important;
    font-weight: 700;
}
.second-col{
  padding: 30px !important;
}

.marquee-title {
     font-size: 22px !important;
    font-weight: 700;
}

.inner h1{
  font-size: 20px !important;
  font-weight: 700;

}
.padding-section{
    padding: 0px 15px !important;

}
.cs-image-preview{
  display: none !important;
}
#mobile-feature1, #mobile-feature2, #mobile-feature3, #mobile-feature4{
  display: block !important;
  width: -webkit-fill-available;
}
}
#mobile-feature1, #mobile-feature2, #mobile-feature3, #mobile-feature4{
  display: none;
}

/* Navbar CSS */
.navbar {
  border-bottom: 1px solid rgb(167, 167, 167);
}
.nav-link {
  font-size: 17px;
  font-weight: 600;
}
@media (min-width: 992px) {
  .navbar-nav {
    gap: 25px; /* Space between menu items only on desktop */
  }
}


/* banner section  */

  /* .hero-section{
      background: linear-gradient(rgb(255, 255, 255) 0%, rgb(230, 244, 253) 50%) !important;
      background-image: url(img/banner.jpg);
      background-repeat: no-repeat;
      background-size: cover;
      height: 500px;
      width: 100%;
      background: linear-gradient(rgb(255, 255, 255) 0%, rgb(78 169 141) 45%);

  } */
  .hero-section {
 /* background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('img/banner-img.jpg'); */
  /* background-repeat: no-repeat;
  background-size: cover;
  background-position: center; */
  /* height: 100vh; */
  /* padding-top: 60px ;
  padding-bottom: 100px ; */

  /* padding-bottom: 50px; */
  width: 100%;
}
.headline h1{
    font-size: 80px;
    font-weight: 1000 !important;
    text-align: left ;
    color: #000000;
    letter-spacing: 3px;
    line-height: 1;

}

.headline p{
    padding-top: 20px;
    font-size: 20px ;
    font-weight: 500;
    text-align: left ;
    color: #000000;


}
.second-col {
  background-image: url(img/banner-bg.jpg);
    background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  /* height: 100vh; */
  padding: 80px ;
}
.cta-booking button{
    padding: 10px;
    border-radius: 10px;
    background: linear-gradient(198deg,rgba(255, 255, 255, 1) 0%, rgba(230, 245, 255, 1) 74%);
    color: black;
    border: 2px solid #4bc29c;
    font-size: 18px;
    font-weight: 700;
}
@media screen and (max-width: 565px) {
  .header-mobile {
   flex-direction: column-reverse !important;
  }
}

@media screen and  (max-width: 565px) {
  .banner-heading{
    padding: 50px 20px 0px  20px !important;
  }
  .form-banner{
    padding-bottom: 0px;

  }
  .headline{
    padding-top: 0px !important;

  }
    .headline h1{
    font-size: 40px;
    font-weight: 700;
}
.headline p{
    font-size: 18px ;
}
.hero-section .container-fluid {
  padding: 0px !important;
}
.desktop-dashbaord{
  display: none !important;
}
.mobile-dashboard{
  display: block !important;
  padding: 30px 50px !important;
}
.feature-mobile{
  padding: 30px 50px !important;

}
.feature-mobile h2{
font-size: 25px !important;

}
.feature-mobile1{
  text-align: center !important;
}
.feature-mobile2{
  text-align: center !important;
  flex-direction: column-reverse;

}
.feature-mobile3{
  text-align: center !important;

}
.feature-mobile4{
  text-align: center !important;
  flex-direction: column-reverse;


}
.feature-mobile5{
  text-align: center !important;

}
.feature-mobile6{
  text-align: center !important;
  flex-direction: column-reverse;


}
.feature-mobile7{
  text-align: center !important;


}
}
.mobile-dashboard{
  display: none ;
}
@media screen and (max-width: 768px) {
  .hero-section {
    /* padding-top: 50px !important; */
    padding-bottom: 0px !important;
  }

  .dashboard-img {
    padding-top: 1px;
    padding-bottom: 60px;
  }

  .dashboard-img img {
    width: 100%;
    height: auto;
  }

  .form-card {
    margin-top: 30px; /* adds spacing below the form */
  }
  .dashbaord-text h2{
  font-size: 25px  !important;
}
.feature-heading h2{
  font-size: 20px ;
}
}
.feature-heading h2{
   font-size: 30px ;
  font-weight: 800 ;
}
/* Dashboard image */
.dashbaord-text h2{
  font-size: 35px ;
  font-weight: 800 ;
}
.dashboard-img {
      background: linear-gradient(rgb(255, 255, 255) 0%, rgb(230, 244, 253) 50%) !important;

  /* background-image: url(img/banner-3.jpg); */
  /* background-repeat: no-repeat;
  background-size: cover;
  background-position: center; */
  /* width: 100%; */
  padding-top: 100px;
  padding-bottom: 100px;
  box-sizing: border-box;
}
/* Show desktop image by default, hide mobile */
.desktop-img {
  display: block !important;
  width: 100% !important;
}

.mobile-img {
  display: none !important;
  width: 100% !important;
}

/* On small screens (mobile), reverse visibility */
@media screen and (max-width: 768px) {
  .desktop-img {
    display: none !important;
  }

  .mobile-img {
    display: block !important;
  }
}



@media screen and (max-width: 768px) {
  /* .dashboard-img img {
    height: auto;
    height: 190px !important; 
    object-fit: cover;
  } */
 
  .dashboard-img {
    padding-top: 0px !important;
    padding-bottom: 30px;
  }
}


.dashboard-img img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  padding-top: 0;
  padding-bottom: 0;
}


/* Tab formate CSS */
.cs-layout-accordion-image {
  display: flex;
  justify-content: center;
  align-items: center ;
  gap: 20px;
  /* max-width: 1000px; */
  margin: auto;
  flex-wrap: wrap;
}

.cs-accordion {
  flex: 1 1 600px;
  max-width: 600px;
}

.cs-accordion-item {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  margin-bottom: 10px;
  overflow: hidden;
}

.cs-accordion-header {
  padding: 1rem;
  background-color: #ffffff;
  cursor: pointer;
  font-weight: bold;
  position: relative;
}

.cs-accordion-header::after {
  content: '+';
  position: absolute;
  right: 1rem;
}

.cs-accordion-item.active .cs-accordion-header::after {
  content: '-';
}

.cs-accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  padding: 0 1rem;
}

.cs-accordion-item.active .cs-accordion-content {
  padding: 1rem;
  max-height: max-content;
}

.cs-image-preview {
  flex: 1 1 600px;
  max-width: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.cs-image-preview img {
  max-width: 100%;
  height: auto;
  display: none;
  border-radius: 8px;
}

.cs-image-preview img.active {
  display: block;
}
/* Mobile: up to 767px */
@media (max-width: 767px) {
  .cs-accordion,
  .cs-image-preview {
    flex: 1 1 300px;
    max-width: 300px;
  }
}

/* Tablet: 768px to 1024px */
@media (min-width: 768px) and (max-width: 1024px) {
  .cs-accordion,
  .cs-image-preview {
    flex: 1 1 300px;
    max-width: 500px;
  }
}

@media (max-width: 768px) {
 
  .cs-layout-accordion-image {
    flex-direction: column;
  }

  .cs-accordion,
  .cs-image-preview {
    max-width: 100%;
  }
  .video-container iframe {
  position: relative !important;
  width: 100%;
  height: 200px !important;
  left: 0;
  top: 0;
}
}



/* testimonial CSS  */


.testimonial-section {
  padding: 40px 40px;
  /* background: #f9f9f9; */
}

.testimonial-card {
  background: white;
  border-radius: 10px;
  padding: 20px;
  margin: 15px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  min-height: 200px;
}

.testimonial-card p {
  font-size: 15px;
  margin-bottom: 20px;
  color: #333;
}

.user-info {
  display: flex;
  align-items: center;
  gap: 15px;
}

.user-info img {
  width: 70px !important;
  max-height: 70px;
  border-radius: 50%;
  margin-right: 1rem;
  overflow: hidden;
}

.user-info h5 {
  margin: 0;
  font-weight: bold;
}

.user-info p {
  margin: 0;
  font-size: 13px;
  color: gray;
}

/* Owl nav (arrows) */
.owl-nav {
  text-align: center;
  margin-top: 20px;
}
.owl-nav button {
  background: #f30000;
  color: #fff !important;
  padding: 8px 15px;
  margin: 0 5px;
  border-radius: 50%;
  font-size: 18px;
}

/* Dots */
.owl-dots {
  text-align: center;
  margin-top: 15px;
  display: block !important;
}
.owl-dot span {
  width: 10px;
  height: 10px;
  background: #ccc;
  display: inline-block;
  border-radius: 50%;
  margin: 5px;
}
.owl-dot.active span {
  background: #000;
}


/* PopUp Modal video CSS  */
/* .video-container {
 position: relative;
 width: 100%;
 max-width: 900px;
 height: 300px;
  padding-bottom: 35%; 
 margin: 0 auto;
}  */
/* 500 / 900 = 0.5556 */
@media screen and (min-width: 768px) {
  .video-container {
    position: relative;
    width: 100%;
    max-width: 900px;
    height: 300px;
    padding-bottom: 35%; /* Maintain 500px height for 900px width */
    margin: 0 auto;
  }
}


.video-container iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}


/*  */

.spin-section {
  /* background: linear-gradient(135deg, #e0eaff, #fdf3ff); */
  background-color: #FFF5DE;
  border-radius: 20px;
  /* margin: 40px 0; */
}

.spin-title {
  font-size: 3rem;
  font-weight: 700;
  color: #000000;
}

@media screen and (max-width:768px) {
  .spin-title {
  font-size: 2rem;
 
}
}
/* .btn{
       background: linear-gradient(198deg,rgba(255, 255, 255, 1) 0%, rgba(230, 245, 255, 1) 74%); 
      background-color: white;
    color: black;
    font-size: 18px ;
    font-weight: 700;
    border: 1px solid white;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);

}
.btn:hover{
  color: rgb(255, 255, 255);
  background-color: #140a3e;
    border: 1px solid #140a3e;

} */

/* FAQ's CSS */
.faq-section{
  background-color: #F3F2FF;
  padding: 50px 0px !important;
}
.padding-faq{
  padding: 0px 60px;

}
/* Mobile: up to 767px */
@media (max-width: 767px) {
.padding-faq{
  padding: 0px 15px;

}
}
.custom-accordion .accordion-item {
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  margin-bottom: 15px;
  /* background-color: #fff; */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
  overflow: hidden;
}

.custom-accordion .accordion-button {
  background-color: #ffffff;
  color: #000;
  font-weight: 600;
  font-size: 1.1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: 1.5rem;
  transition: background-color 0.3s ease;
}

.custom-accordion .accordion-button:hover {
  background-color: #e9ecef;
}

.custom-accordion .accordion-button::after {
  display: none;
}

.custom-accordion .accordion-button .arrow {
  transition: transform 0.3s ease;
  width: 12px;
  height: 12px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotate(45deg);
  margin-left: auto;
}

.custom-accordion .accordion-button.collapsed .arrow {
  transform: rotate(-45deg);
}

.custom-accordion .accordion-body {
  /* background-color: #fff; */
  font-size: 0.95rem;
  color: #333;
  padding: 1rem 1.25rem;
}

/* Pricing plan CSS */
/* Updated .pricing-module to make it full height and flex */
.pricing-module {
  margin-bottom: 3em;
  border: 1px solid #d7d7d7;
  border-radius: 20px;
  padding: 2em 1.5em 1.5em;
  margin-bottom: 6em;
  font-weight: 300;

  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;

  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Prevent pricing section from overflowing on mobile */
.pricing-plan {
  overflow-x: hidden;
}

/* Keep the features in flow */
.pricing-details {
  position: relative;
  margin-top: 0;
  padding: 0 1.5em;
  list-style: none;
  flex-grow: 1;
}

/* Button positioned at the bottom */
.pricing-button {
  margin-top: auto;
  display: flex;
  justify-content: center;
  padding-top: 1.5em;
}

/* Enhance pricing-header underline */
.pricing-header {
  position: relative;
  font-size: 2.5em;
  font-weight: 600;
  margin-bottom: 0.5em;
  text-align: center;
  padding-bottom: 0.3em;
  border-bottom: 3px solid #56b99a;
  display: inline-block;
  width: 100%;
}

.pricing-list {
  position: relative;
  border-bottom: 1px solid #d7d7d7;
  padding: 0.5em 0 0.5em 2em;
  text-align: left;
}

/* Add a bullet point icon before each list item */
.pricing-list::before {
  content: '•';
  position: absolute;
  left: 0;
  top: 0.5em;
  color: #56b99a; /* green bullet, change as needed */
  font-size: 1.2em;
  line-height: 1;
}

.pricing-button a {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 50px;
  background-color: white !important;
  border: none;
  color: #000;
  font-weight: 600;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}

.pricing-button a:hover {
  transform: translateY(-2px);
  background-color: #140a3e !important;
  color: white;
}

/* Desktop */
@media (min-width: 992px) {
  .pricing {
    display: flex !important;
    justify-content: center;
    align-items: flex-start;
    gap: 40px;
  }

  .pricing-economy,
  .pricing-popular,
  .pricing-premium {
    width: 40%;
    float: none;
  }
}

/* Mobile/tablet scroll fix and spacing */
@media (max-width: 767.98px) {
  .pricing-module {
    margin-bottom: 2em;
    padding: 1.5em 1em 2em;
  }

  .pricing-details {
    padding: 0 0.5em;
  }

  .pricing-list {
    padding-left: 1em;
    padding-right: 1em;
  }

  .pricing-header {
    font-size: 2em;
  }
}
/* Fix for mobile spacing on edges */
.pricing-plan {
  overflow-x: hidden;
  padding-left: 1rem;
  padding-right: 1rem;
}

/* Prevent row from negating container padding */
.pricing-plan .row {
  margin-left: 0;
  margin-right: 0;
}





/* Marquee slide */
/* .infinite-marquee {
  background: #f2f6ff;
  border-radius: 100px 100px 0 0;
} */

.marquee-title {
  font-size: 1.8rem;
  font-weight: 700;
  font-family: 'DM Sans', sans-serif;
  text-transform: capitalize;
  margin-bottom: 20px;
}

.marquee-wrapper {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.marquee-content {
  display: inline-flex;
  gap: 2rem;
  font-size: 1.5rem;
  font-weight: 700;
  white-space: nowrap;
  animation: scroll-left 10s linear infinite !important;
}

.marquee-content > div {
  flex: 0 0 auto;
}

@keyframes scroll-left {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* Contact page CSS */
.contact-section {
  background: #f3f7fa;  
}

/* .info-card {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(8px);
  border: 1px solid #e0e0e0;
} */

/* .form-card {
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(10px);
  border: 1px solid #dee2e6;
} */

.icon-circle {
  width: 45px;
  height: 45px;
  background: linear-gradient(135deg, #e8f0ff, #ffffff);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  color: #73d1ff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.styled-input {
  border-radius: 10px;
  border: 1px solid #ccc;
  padding: 0.75rem 1rem;
  background-color: rgba(255, 255, 255, 0.95);
  transition: border 0.3s, box-shadow 0.3s;
}

.styled-input:focus {
  border-color: #86b7fe;
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.2);
  background-color: #fff;
}

.gradient-btn {
  /* background: linear-gradient(198deg, rgba(255, 255, 255, 1) 0%, rgba(230, 245, 255, 1) 74%); */
  background-color: #140A3E !important;
  border: none;
  color: #ffffff;
  padding: 12px 50px !important;
  font-weight: 600;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  transition: all 0.3s ease-in-out;
}

.gradient-btn:hover {
  transform: translateY(-2px);
  background-color: #140a3e !important;
  box-shadow: 0 6px 12px rgba(0,0,0,0.15);
  color: white;
}


/* Footer  */
footer{
  background-color: black;
}
.icon-circle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(145deg, #f3f6fd, #ffffff);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  color: black;
  font-size: 18px;
}


/* FEatures CSS*/
.features-section1{
  background-color: #FFF5DE;

}
.features-section2{
  background-color: #F4E8FF;
}
.features-section3{
  background-color: #CDF4FF;
}
.features-section4{
  background-color: #DCFCE8;
}

.features-1 {
  padding: 60px 50px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767.98px) {

  .features-1 {
      padding: 50px 20px;
  }
  .features-1, .features-section1, .features-section2, .features-section3, .features-section4{
      gap: 20px;

  }
  .features-1 p{
  font-size: 16px !important;
  font-weight: 500;
  color: rgb(0, 0, 0);

}
.features-1 h2{
  font-size: 30px !important;

}
}
.box-1{
    padding: 0px 30px;

}
.features-1 h2{
  font-size: 35px;
  font-weight: 900 !important;
  color: rgb(0, 0, 0);

}
.features-1 p{
  font-size: 18px;
  color: rgb(0, 0, 0);

}

/* Pricing plan */
.offer-header {
        background-color: #46bd97;
        color: #fff;
        border-radius: 8px 8px 0 0;
        text-align: center;
        padding: 20px 15px;
    }
    .offer-header .old-price {
        text-decoration: line-through;
        opacity: 0.8;
        font-size: 1rem;
    }
    .offer-header .price {
        font-size: 2rem;
        font-weight: bold;
        margin: 5px 0;
    }
 .feature-box {
    background: rgba(255, 255, 255, 0.2); /* Transparent white */
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 8px 8px;
    padding: 20px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px); /* For Safari */
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

    .feature-title {
        color: #46bd97;
        font-weight: bold;
        margin-top: 15px;
    }
    .feature-box ul {
        list-style: none;
        padding-left: 0;
    }
    .feature-box li {
        margin-bottom: 8px;
        display: flex;
        align-items: start;
    }
    .feature-box li i {
        color: #46bd97;
        margin-right: 8px;
        font-size: 1.1rem;
        margin-top: 3px;
    }
    .request-btn {
        background-color: #46bd97;
;
        color: #fff;
        padding: 10px 25px;
        font-size: 1rem;
        border: none;
        border-radius: 6px;
        display: block;
        width: 100%;
        text-align: center;
        margin: 20px auto 0 auto;
    }
    .request-btn:hover {
        background-color: #06352b;
    }


    /* Custom section CSS */
    .custom-section h2{
      font-size: 30px ;
      font-weight: 900;
    }
.Pricinghead h2{
  font-size: 30px ;
      font-weight: 900;
}
    /* Responsive */
@media screen and (max-width: 565px) {

.custom-section h2{
      font-size: 20px ;
    }
    .Pricinghead h2{
  font-size: 20px ;
      font-weight: 900;
}
}

/* Floting  */
.floating-demo-btn {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: #8278ff; /* Button color */
  color: white;
  padding: 12px 20px;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
  z-index: 999999; /* Higher so it stays above everything */
  transition: background-color 0.3s ease, transform 0.2s ease;
  display: inline-block; /* Ensure it's visible */
}

.floating-demo-btn:hover {
  background-color: #8278ff;
  transform: translateY(-3px);
}

/* Mobile View */
@media (max-width: 480px) {
  .floating-demo-btn {
    font-size: 14px;
    padding: 10px 15px;
    bottom: 15px;
    right: 15px;
  }
}
