:root {
  --primary: #2C2B6A;
  --secondary: #E91E63;
  --tertiary: #FFC107;
  --neutral-light: #F5F5F5;
  /* --neutral-dark: #212121; */
  --neutral-dark: #04132a;
  --white: #FFFFFF;
  --dpurple: #2f6ec4;

}


body {
  /* font-family: 'Poppins', sans-serif; */
  font-family: 'Poppins';
  scroll-behavior: smooth;
  background-color: var(--neutral-dark);
  color: var(--neutral-light); 

}
 
/* #2f6ec4 blue 
#8961e5 purple */

@font-face {
    font-family: 'Isabel Black';  
    src: url('/assets/fonts/IsabelUnicase-Black.woff2') format('woff2');  
    font-weight: 900;  
    font-style: normal;
    font-display: swap; 
}


.font-poppins {
  font-family: 'Poppins'; /* Fallback to sans-serif if the custom font fails to load */
}

/* about us cards  */
.icon-circle {
  background-color: #f4f5f9;
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  box-shadow: 0 5px 10px rgba(0,0,0,0.08);
}
.black-line {
  height: 4px;  /* This makes the line small. You can adjust the thickness. */
  /* background-color: black; This makes the line black. */
  /* background-image: linear-gradient(135deg, var(--primary), var(--secondary));  */
  background-color: #2f6ec4;

  width: 50%; /* This makes the line broad, spanning the full width of its container. */
  margin-left: auto;
  margin-right: auto; 
  margin-bottom: 10px;

}


.font-isabel{
  font-family: 'Isabel Black'; /* Fallback to sans-serif if the custom font fails to load */
  font-style: bold;
}
/* *{
   font-family: 'Isabel Black';
} */


 .text-blue{
  color: #08254f;
 }

 .bg-blue{
  background-color: #08254f;}


.text-purple{
  color: var(--dpurple);
}
.bg-purple{
  background-color: var(--dpurple);
}


.border-grey{
  border-color: grey;
}


.border-purple{
  border-color: var(--dpurple);
}

.hero-section {
  height: 100vh;
  /* background: linear-gradient(135deg, var(--primary), #1c1b4f); */
  /* padding-top: 100px; */
}

.btn-outline-pink {
  color: var(--secondary);
  border: 2px solid var(--secondary);
}
.btn-outline-pink:hover {
  background-color: var(--secondary);
  color: var(--white);
}

.hover-shadow:hover {
  transform: translateY(-5px);
  transition: 0.3s ease;
  /* box-shadow: 0 8px 20px (--secondary); */
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.cta-section {
  /* background: linear-gradient(135deg, var(--secondary), var(--primary)); */
  background: linear-gradient(135deg, #006aff, #7dabec );
  /* background-color: #04132a; */
}


.card-title{
    font-size: 22px;
}

.navbar{  
  height: 100px;
  color:rgb(75, 5, 5);
  font-size: 20px;
  background-color: rgba(255, 255, 255, 0.196);
  /* background-color: linear-gradient(135deg, var(--secondary), var(--primary)); */
  /* background-image: linear-gradient(135deg,  #bdcbf9d4, #edecedee); White to Black gradient */
 /* opacity: 0.8; */
}



.navbar li a{
  color:rgb(255, 255, 255);
}
.navbar li a:hover {
  /* background-image: linear-gradient(135deg, var(--secondary), var(--primary));  */

  -webkit-background-clip: text; /* For WebKit browsers (Chrome, Safari) */
  background-clip: text;
  color: transparent; /* Makes the text transparent so the background gradient shows through */
  
}
/* .navbar li a:hover{
  color: linear-gradient(135deg, var(--secondary), var(--primary));
} */










  /* Rainbow border animation for Contact Us nav-link */
          .rainbow-border {
            border: 3px solid transparent;
            border-radius: 15px;
            /* padding: 0.5rem 1.5rem !important; */
            
            /* background:  */
              /* linear-gradient(white, white) padding-box, */
              /* conic-gradient(from 0deg, #ff0080, #7928ca, #2af598, #ff0080) border-box; */
              /* background-color: #ac4bfc; */
              background-color: var(--dpurple);
            background-clip: padding-box, border-box;
            background-origin: padding-box, border-box;
            transition: box-shadow 0.2s;
            /* box-shadow: 0 2px 8px 0 rgba(31,38,135,0.08); */
            z-index: 1;
            color: white;
          }
          /* .rainbow-border::before {
            content: "";
            position: absolute;
            inset: 0;
            border-radius: 2rem;
            padding: 0;
            z-index: -1;
          }
          .rainbow-border {
            animation: spin-border 2s linear infinite;
            background-size: 100% 100%, 200% 200%;
          }
          @keyframes spin-border {
            100% {
              background: 
                linear-gradient(white, white) padding-box,
                conic-gradient(from 360deg, #ff0080, #7928ca, #2af598, #ff0080) border-box;
              background-clip: padding-box, border-box;
              background-origin: padding-box, border-box;
            }
          } */

    .nav-glow:hover, .nav-glow:focus {
        /* background: #ac4bfc; */
        color: #000000 !important;
        border-radius: 1rem;
        /* box-shadow: 0 0 12px 4px #ac4bfc, 0 0 40px 8px #ffb6d5; */
        border: 2px solid #1190c9;
        transition: box-shadow 0.2s, background 0.2s, color 0.2s;
      } 
      .nav-glow {
        color: #08254f !important; /* Default text color */
        transition: color 0.2s ease-in-out; /* Smooth transition for text color */

        /* color: #6a9ee7 !important; Default text color */

      }





      












/* feature project cards design  */

/* Base card styling (Bootstrap handles most, but we'll add transition for smooth hover) */
.card { 
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
   padding: 1%;   /*Add some padding inside the card */ 
    height: 400px; /* Set a maximum height for the card */
    overflow: hidden; /* Hide overflow to prevent content spill */
    max-width: 500px;
}

/* Hover effects for different cards */
.card.hover-shadow-primary:hover {
    transform: translateY(-8px); /* Lift the card slightly */
    box-shadow: 0 1rem 3rem rgba(5, 3, 92, 0.525); /* Primary color shadow */
}

 

/* You might want to adjust the size of the icons within the card title if needed */
.card-title .bi {
    font-size: 1.2em; /* Makes the icon slightly larger than the text */
    vertical-align: middle; /* Aligns icon with text */
}




.card-img-fixed-height {
    height: 180px; /* Or any fixed height you prefer, e.g., 250px */
    object-fit: cover; /* This is key! It crops the image to fit the container */
    width: 100%; /* Ensure it spans the full width of the card */
}

 




 








/* 
      .service-card {
      transition: box-shadow 0.3s ease, transform 0.3s ease; 
      height: 700px;
    }
    .service-card:hover {
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
      transform: translateY(-5px);
    }
    .icon-box {
      font-size: 2.5rem;
      margin-bottom: 15px;
    }

    .icon-bg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  transition: background-color 0.5s ease; 
  margin-bottom: 50px;
}

.service-card:hover .icon-bg {
  /* background-color: #f0f0f0;  
  background-image: linear-gradient(135deg, #0400ff85, #ff005586);   
  opacity: 1;

} */



 .icon-bg {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(4, 0, 255, 0.1), rgba(255, 0, 85, 0.1));
    transition: all 0.6s ease-in-out;
  }

  .card:hover .icon-bg {
  background-image: linear-gradient(135deg, #0400ff85, #ff005586);    
  }
  .card:hover{
    background-color: #dedede;
    box-shadow: 0 8px 24px rgba(47, 110, 196, 0.25); /* Blue shadow on hover */
    transform: translateY(-8px) scale(1.03); /* Slightly lift and scale the card */
    transition: transform 0.3s cubic-bezier(0.4,0,0.2,1), box-shadow 0.3s cubic-bezier(0.4,0,0.2,1), background-color 0.3s;
  }

    /* how it works section */
        .step-image {
      max-width: 100px;
      border-radius: 0.5rem;
    }
    .step-box {
      margin-bottom: 1.5rem;
    }
    @media (min-width: 768px) {
      .step-text {
        font-size: 0.95rem;
      }
    }
        /* .howitworks-step {
      padding: 2rem 0;
    }
    .howitworks-step + .howitworks-step {
      border-top: 1px solid #e0e0e0;
    }
    .step-img {
      max-width: 100%;
      height: auto;
      border-radius: 0.5rem;
    }
    .step-number {
      font-size: 1.5rem;
      font-weight: bold;
      color: #0d6efd;
    } */










    /* testimonial section  */
    body {
  font-family: sans-serif;
}
hr {
  margin: 20px 0px;
}
p {
  text-align: center;
}

.google-button {
  display: block;
  margin: 15px auto;
  width: 70%;
  max-width: 270px;
  padding: 10px 10px 10px 50px;
  border: 2px solid #00a0dc;
  border-radius: 50px;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  font-size: 13px;
  line-height: 20px;
  color: #00a0dc;
  background: url(https://cdn2.hubspot.net/hubfs/1961464/Support%20images/new-google-favicon-512.png) no-repeat left 20px center / 40px 40px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
    -webkit-animation: wiggle 2s ease-in infinite;
    -moz-animation: wiggle 2s ease-in infinite;
    -o-animation: wiggle 2s ease-in infinite;
  animation: wiggle 2s ease-in infinite;
}

  .google-button:hover {
    color: #ffffff;
    background-color: #00a0dc;
    background-image: url(https://cdn2.hubspot.net/hubfs/1961464/Support%20images/new-google-favicon-512-white.png);
}

  .google-button strong {
    font-size: 18px;
    display: block;
  }


@-webkit-keyframes wiggle {
  0%, 20%, 100% { background-position: left 20px center; }
  5% { background-position: left 15px center; }
  10% { background-position: left 20px center; }
  15% { background-position: left 25px center; }
}

@-moz-keyframes wiggle {
  0%, 20%, 100% { background-position: left 20px center; }
  5% { background-position: left 15px center; }
  10% { background-position: left 20px center; }
  15% { background-position: left 25px center; }
}

@-o-keyframes wiggle {
  0%, 20%, 100% { background-position: left 20px center; }
  5% { background-position: left 15px center; }
  10% { background-position: left 20px center; }
  15% { background-position: left 25px center; }
}

@keyframes wiggle {
  0%, 20%, 100% { background-position: left 20px center; }
  5% { background-position: left 15px center; }
  10% { background-position: left 20px center; }
  15% { background-position: left 25px center; }
}


















 