
 /*--------------------------------------------------------------
# About Section
--------------------------------------------------------------*/
.about .content-wrapper {
  padding-right: 24px;
}

@media (max-width: 992px) {
  .about .content-wrapper {
    padding-right: 0;
    margin-bottom: 48px;
  }
}

.about .section-badge {
  display: inline-block;
  padding: 6px 16px;
  background: #2196f3;
  color: #fff;
  border-radius: 20px;
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 16px;
  letter-spacing: 0.5px;
}

.about h2 {
  font-size: 2.7rem;
  font-weight: 700;
  margin-bottom: 24px;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

@media (max-width: 768px) {
  .about h2 {
    font-size: 2rem;
  }
}

.about .lead {
  font-size: 1.125rem;
  line-height: 1.7;
  color: color-mix(in srgb, var(--default-color), transparent 30%);
  margin-bottom: 32px;
}

.about .stats-grid {
  /* display: grid; */
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-bottom: 40px;
  padding: 32px;
  background: #4d96f421;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
  box-shadow: 10px 10px #4d96f48a;
}

@media (max-width: 576px) {
  .about .stats-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 24px;
  }
}

.about .stat-item {
  text-align: center;
}

.about .stat-item .stat-number {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--accent-color);
  line-height: 1;
  margin-bottom: 8px;
}

@media (max-width: 768px) {
  .about .stat-item .stat-number {
    font-size: 2rem;
  }
}

.about .stat-item .stat-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: color-mix(in srgb, var(--default-color), transparent 40%);
}

.about .features-row {
  display: flex;
  flex-direction: column;
  /* gap: 24px; */
  margin-bottom: 32px;
}

.about .feature-item {
  display: flex;
  gap: 16px;
  /* align-items: flex-start; */
      align-items: anchor-center;
    text-align: left;

}

.about .feature-item .feature-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--accent-color), transparent 90%);
  border-radius: 8px;
  color: var(--accent-color);
  font-size: 1.5rem;
}

.about .feature-item .feature-content {
  flex: 1;
}

.about .feature-item .feature-content h4 {
  font-size: 1.125rem;
  font-weight: 600;
  /* margin-bottom: 8px; */
}

.about .feature-item .feature-content p {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: color-mix(in srgb, var(--default-color), transparent 30%);
  margin: 0;
}

.about .cta-group {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.about .btn {
  padding: 8px 28px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.9375rem;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.about .btn i {
  transition: transform 0.3s ease;
}

.about .btn-primary {
 background-color: #000000;
    border-color: #4d96f4;
    color: #ffffff;
}

.about .btn-primary:hover {
  background-color: #4d96f4;
  border-color: #000000;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--accent-color), transparent 60%);
}

.about .btn-primary:hover i {
  transform: translateX(4px);
}

.about .btn-secondary {
      background-color: #00000000;
    border: 1px solid #000000;
    color: #000000;
}

.about .btn-secondary:hover {
  background-color: #00000000;
  border-color: #4d96f4;
  color: #4d96f4;
  transform: translateY(-2px);
}

.about .image-stack {
  position: relative;
  height: 600px;
}

@media (max-width: 992px) {
  .about .image-stack {
    height: 500px;
  }
}

@media (max-width: 576px) {
  .about .image-stack {
    height: 400px;
  }
}

.about .image-card {
  position: absolute;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px color-mix(in srgb, var(--default-color), transparent 85%);
}

.about .image-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about .image-primary {
  width: 75%;
  height: 70%;
  top: 0;
  right: 0;
  z-index: 2;
}

.about .image-secondary {
  width: 55%;
  height: 50%;
  bottom: 0;
  left: 0;
  z-index: 3;
  border: 4px solid var(--background-color);
}

.about .floating-badge {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 4;
  background: #ebf1fe;
  padding: 20px;
  border-radius: 12px;
      box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
}

@media (max-width: 576px) {
  .about .floating-badge {
    padding: 16px;
    right: 50%;
    transform: translate(50%, -50%);
  }
}

.about .floating-badge .badge-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--accent-color), color-mix(in srgb, var(--accent-color), black 20%));
  border-radius: 8px;
  color: var(--contrast-color);
  font-size: 1.5rem;
}

.about .floating-badge .badge-text .badge-title {
  font-weight: 700;
  font-size: 0.875rem;
  color: var(--heading-color);
  line-height: 1.2;
}

.about .floating-badge .badge-text .badge-subtitle {
  font-size: 0.75rem;
  color: color-mix(in srgb, var(--default-color), transparent 40%);
  margin-top: 2px;
}

p.lead {
    font-size: 18px;
    color: #393E46;
    line-height: 27px;
        font-weight: 400;
            padding-bottom: 11px;
}

.buttonline{
font-weight: 400;
    color: #000000;
    background-color: #faebd700;
    border: 1px solid;
}

.lightsand{
      background-color: #f9f3e1;
}

.lightblue{
      background-color: #e0f1fb;
}

.titlefont{
   font-size: 2.7rem !important;
    border-radius: 63px !important;
    background-color: #000000 !important;
    padding: 16px 32px !important;
    color: #ffffff !important;
    /* text-transform: uppercase; */
    font-weight: 600 !important;
}

.titlefont2{
  font-size: 2.7rem !important;
}

.whatweeneble{
  
      background-image: url(https://img.freepik.com/premium-photo/graphics-business-city_433905-374.jpg?w=2000);
   
    background-color: rgb(255 255 255 / 86%);
    background-blend-mode: overlay;
    background-size: cover;
    background-position: center;
}


/* banner */

.serviceBox{
    color: var(--main-color);
    font-family: 'Roboto', sans-serif;
    text-align: center;
    padding: 5px;
    margin: 0 5px;
    border: 2px solid #000;
    border-top: 2px dashed var(--main-color);
    border-right: 2px dashed var(--main-color);
    border-radius: 100px 0;
    position: relative;
    z-index: 1;
}
.serviceBox:before,
.serviceBox:after{
    content: "";
    background: var(--main-color);
    width: 100px;
    height: 100px;
    border-radius: 100px 0 0 0;
    position: absolute;
    top: -6px;
    left: -6px;
    z-index: -2;
}
.serviceBox:after{
    border-radius: 0 0 100px 0;
    top: auto;
    bottom: -6px;
    left: auto;
    right: -6px;
}
.serviceBox .service-content{
    background: #fff;
    padding: 30px 15px 40px;
    border-radius: 90px 0;
    box-shadow: 0 0 8px rgba(0,0,0,0.3);
}
.serviceBox .service-icon{
    font-size: 45px;
    line-height: 45px;
    margin: 0 0 20px;
}
.serviceBox .title{
    font-size: 20px;
    font-weight: 500;
    text-transform: uppercase;
    margin: 0 0 10px;
}
.serviceBox .description{
    color: #999;
    font-size: 15px;
    line-height: 25px;
    margin: 0;
}
.serviceBox.darkred{ --main-color: #e3f1fb; }
.serviceBox.red{ --main-color: #e3f1fb; }
.serviceBox.blue{ --main-color: #1e3799; }
@media only screen and (max-width: 1199px){
    .serviceBox{ margin: 0 0 30px; }
}


/* animation */

.btn-pulse-effect {
  position: relative;
  /* Ensure the button content is above the pseudo-element */
  z-index: 1; 
  /* Basic styling (adjust as needed for your site's theme) */
  padding: 10px 20px;
  background-color: #000000; /* Example color */
  color: white;
  border: 1px solid #000000;
  border-radius: 5px; /* Adjust border radius to match your button's shape */
  cursor: pointer;
  /* Ensure the main button is a solid anchor for the effect */
  transition: all 0.3s ease; 
}

/* The element that will do the zooming/pulsing animation */
.btn-pulse-effect::before {
  content: '';
  position: absolute;
  /* Position it exactly over the button */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  /* Use a border instead of background for a line effect */
  border: 2px solid rgba(0, 0, 0, 0.7); 
  border-radius: inherit; /* Inherit the button's border radius */
  /* Start slightly larger than the button, but visible */
  transform: scale(1);
  opacity: 1;
  /* Set up the continuous animation */
  animation: pulse-out 2s infinite cubic-bezier(0.25, 0.46, 0.45, 0.94);
  /* Place the effect behind the button */
  z-index: -1; 
}

/* Define the animation keyframes */
@keyframes pulse-out {
  0% {
    transform: scale(0.9); /* Start slightly inwards */
    opacity: 1;
    border-color: rgba(0, 0, 0, 0.7);
  }
  70% {
    transform: scale(1.4); /* Zoom out significantly */
    opacity: 0.1; /* Fade out as it expands */
    border-color: rgba(0, 123, 255, 0.1);
  }
  100% {
    transform: scale(1.4); /* End state matches 70% for a smooth loop restart */
    opacity: 0;
  }
}


/* Base animation classes */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.8s ease-out;
}

.animate-on-scroll.animated {
    opacity: 1;
    transform: translateY(0);
}

/* Fade In Left */
.fade-in-left {
    opacity: 0;
    transform: translateX(-100px);
    transition: all 0.8s ease-out;
}

.fade-in-left.animated {
    opacity: 1;
    transform: translateX(0);
}

/* Fade In Right */
.fade-in-right {
    opacity: 0;
    transform: translateX(100px);
    transition: all 0.8s ease-out;
}

.fade-in-right.animated {
    opacity: 1;
    transform: translateX(0);
}

/* Scale Up */
.scale-up {
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.8s ease-out;
}

.scale-up.animated {
    opacity: 1;
    transform: scale(1);
}

/* Rotate In */
.rotate-in {
    opacity: 0;
    transform: rotate(-180deg) scale(0.5);
    transition: all 0.8s ease-out;
}

.rotate-in.animated {
    opacity: 1;
    transform: rotate(0) scale(1);
}

/* Bounce In */
.bounce-in {
    opacity: 0;
    transform: scale(0.3);
    transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.bounce-in.animated {
    opacity: 1;
    transform: scale(1);
}

/* Slide Up */
.slide-up {
    opacity: 0;
    transform: translateY(100px);
    transition: all 0.8s ease-out;
}

.slide-up.animated {
    opacity: 1;
    transform: translateY(0);
}

/* Flip In */
.flip-in {
    opacity: 0;
    transform: perspective(1000px) rotateY(90deg);
    transition: all 0.8s ease-out;
}

.flip-in.animated {
    opacity: 1;
    transform: perspective(1000px) rotateY(0);
}

/* Zoom In */
.zoom-in {
    opacity: 0;
    transform: scale(0.5);
    transition: all 0.8s ease-out;
}

.zoom-in.animated {
    opacity: 1;
    transform: scale(1);
}

/* Staggered animations for children */
.stagger-children > * {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease-out;
}

.stagger-children.animated > *:nth-child(1) { transition-delay: 0.1s; }
.stagger-children.animated > *:nth-child(2) { transition-delay: 0.2s; }
.stagger-children.animated > *:nth-child(3) { transition-delay: 0.3s; }
.stagger-children.animated > *:nth-child(4) { transition-delay: 0.4s; }
.stagger-children.animated > *:nth-child(5) { transition-delay: 0.5s; }

.stagger-children.animated > * {
    opacity: 1;
    transform: translateY(0);
}

/* Custom timing delays */
.delay-100 { transition-delay: 0.1s !important; }
.delay-200 { transition-delay: 0.2s !important; }
.delay-300 { transition-delay: 0.3s !important; }
.delay-400 { transition-delay: 0.4s !important; }
.delay-500 { transition-delay: 0.5s !important; }

/* Different animation speeds */
.slow { transition-duration: 1.2s !important; }
.fast { transition-duration: 0.5s !important; }



.formdesign {
    box-shadow: 1px 1px 5px 5px #0404040f;
    border: 1px solid #00000008;
    padding: 54px 41px 62px 41px;
    border-radius: 23px;
    background: #f4efe6;
}

.secontryheadfont{
line-height: 28px !important;
    font-size: 21px !important;
}
.secontryheadfont2{
    font-size: 36px !important;
    line-height: 46px !important;
}

/* .secontryheadfont3{
    font-size: 46px !important;
    line-height: 30px !important;
} */

.threetextfont{
font-size: 19px !important;
    line-height: 34px !important;
}

.threetextfont1{
font-size: 18px !important;
        line-height: 27px !important;
}

.textxolor1{
  color: #423d3d !important;
}

.shadow {
   box-shadow: inset 0 0 10px #000000;
}

.buttonall{
 padding: 8px 28px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.9375rem;
    transition: all 0.3s 
ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.buttonnormal{
     
        background-color: #000000;
    border-color: #4d96f4;
    color: #ffffff;
}

.buttonnormal:hover{
      background-color: #000000;
    border-color: #000000;
    transform: translateY(-2px);
    color: #ffffff;
}

.linebutton{
    background-color: #00000000;
    border: 1px solid #000000;
    color: #000000;
}

.linebutton:hover{
  background-color: #000000;
    border-color: #ffffff;
    color: #ffffff;
    transform: translateY(-2px);
}

.backgroudbutton{
background-color: #00000000;
    border: 1px solid #000000;
    color: #000000;
}

.backgroudbutton:hover{
background-color: #000000;
    border-color: #000000;
    transform: translateY(-2px);
    color: #ffffff;

}


.boximage{
      width: 74px;
    padding-top: 11px;
    padding-left: 8px;
}