/* For Animation */
.mission .content,
.vision .images {
  transform: translateX(-150%);
  opacity: 0;
  transition: 0.3s ease;
}

.mission .images,
.vision .content {
  transform: translateX(150%);
  opacity: 0;
  transition: 0.3s ease;
}

.mission .content.animate__lightSpeedInLeft,
.vision .images.animate__lightSpeedInLeft,
.mission .images.animate__lightSpeedInRight,
.vision .content.animate__lightSpeedInRight {
  opacity: 1;
}

.swiper-slide {
  will-change: transform;
}

/* Hero Section */
.hero-container {
  padding: 4rem 1rem;
}

.hero-container .img {
  border-radius: 46% 54% 19% 81% / 38% 42% 58% 62%;
  min-height: 500px;
}

.hero-container .img img {
  border-radius: 46% 54% 19% 81% / 38% 42% 58% 62%;
  width: 600px;
}

.hero-container .img .circle {
  width: 10.375rem;
  height: 10.375rem;
  color: var(--secondary-color);
}

.hero-container .img .circle.animated-circle {
  animation: circle_animation 0.5s ease-in-out forwards;
}

.hero-container .img .circle p {
  font-size: 0.875rem;
}

.hero-container .img .circle h3 {
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: 1px;
}

@keyframes circle_animation {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.hero-container .img .circle.circle-01 {
  background: var(--primary-color);
  left: 0;
  top: -3rem;
}

.hero-container .img .circle.circle-02 {
  background-color: var(--dark);
  right: 0;
  top: -3rem;
}

.hero-container .img .circle.circle-03 {
  background-color: var(--dark);
  bottom: 0;
  left: 3rem;
}

.hero-container .img .circle.circle-04 {
  background: var(--primary-color);
  right: 0;
  bottom: -3rem;
}

.hero-container .content {
  gap: 2rem;
  padding: 2rem;
}

.hero-container .content .title h3 {
  animation-delay: 0.1s;
}

.hero-container .content .title h1 {
  font-size: 3.25rem;
  line-height: 110%;
  animation-delay: 0.2s;
}

.hero-container .content p {
  color: var(--light-dark);
  font-size: 1.125rem;
  animation-delay: 0.6s;
}

.hero-container .content .buttons .public-btn:nth-child(1) {
  animation-delay: 0.8s;
}

.hero-container .content .buttons .public-btn {
  animation-delay: 1s;
}

.hero-container .content .buttons .public-btn {
  max-width: 25rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.hero-container .content .buttons .public-btn .arrow {
  width: 50px;
}

/* Partners section */
.partners {
  background: var(--secondary-color);
}

.partners-container {
  padding: 5rem;
  gap: 4rem;
}

.partners-container .partner {
  width: 10rem;
  border-radius: 2rem;
  overflow: hidden;
  border: 2px solid var(--second-color);
  filter: grayscale(5);
  transition: 0.3s ease;
}

.partners-container .partner img {
  aspect-ratio: 1 / 1;
  transition: 0.3s ease;
}

.partners-container .partner:hover img {
  transform: scale(1.1);
}

.partners-container .partner:hover {
  filter: grayscale(0);
}

/* Our Mission section */
.mission {
  margin: 6rem 0 3rem !important;
}

.mission-container .content p,
.vision-container .content p {
  color: var(--light-dark);
  font-size: 1.125rem;
  letter-spacing: 0.5px;
}

.mission-container .video video {
  width: 100%;
  border-radius: 1rem;
  overflow: hidden;
}

/* Services section */
section.services {
  background-color: var(--secondary-color);
}

.services-cards {
  gap: 8rem;
}

.service-description {
  color: var(--light-dark);
}

.services-container .services-cards .service-card {
  width: 16rem;
  height: 12rem;
  padding: 1rem;
  background: #1d1b201c;
  backdrop-filter: blur(66px);
  transition: 0.6s ease;
  cursor: pointer;
}

.services-container .services-cards .service-card .icon i {
  color: var(--white);
  font-size: 1.8rem;
}

.services-container .services-cards .service-card .icon {
  width: 4rem;
  border: 2px solid var(--primary-color);
  height: 4rem;
  border-radius: 50%;
  background: #fe983d7d;
  backdrop-filter: blur(40px);
}

.services-container .services-cards .service-card .icon svg {
  color: var(--white);
  width: 2rem;
  height: 2rem;
}

.services-container .services-cards .service-card .content .title h2 {
  font-size: 1.25rem;
}

.services-container .services-cards .right .t-services:nth-child(1) {
  margin-top: 0;
}

.services-container .services-cards .t-services {
  margin-top: 12rem;
}

.services-container .services-cards .t-services .service-line {
  width: 0.3rem;
  background: var(--light-dark);
}

.services-container .services-cards .left .t-services .service-line {
  right: -4.15rem;
}

.services-container .services-cards .right .t-services .service-line {
  left: -4.15rem;
}

.services-container .services-cards .t-services .service-line .circle {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 50%;
  background-color: var(--primary-color);
  transition: all 0.4s ease;
}

.services-container .services-cards .t-services .service-line .circle::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--accent);
  transition: all 0.4s ease;
}

.services-container .services-cards .t-services:hover .service-line .circle,
.services-container .services-cards .t-services .service-line .circle:hover {
  background-color: #fe973d94;
}

.services-container
  .services-cards
  .service-card
  .content
  .text-bx
  .public-btn {
  box-shadow: unset;
}

.services-container .services-cards .service-card:hover {
  box-shadow: 0 0 20px #00000029;
}

.services-container .services-cards .service-card p {
  color: var(--light-dark);
}

.services-container .services-cards .t-services .main-card {
  overflow: hidden;
  border-radius: 1rem;
  box-shadow: 0 0 1rem 0.5rem rgba(0, 0, 0, 0.16);
  opacity: 0;
  transform: scale(0.1) rotate(30deg);
  transition: 0.6s ease;
}

.services-container .services-cards .t-services .main-card .text-bx {
  left: 0;
  top: 100%;
  background-color: #1d1b200f;
  backdrop-filter: blur(15px);
  border-radius: 1rem;
  transition: 0.6s ease;
}

.services-container
  .services-cards
  .t-services
  .main-card.animate__jackInTheBox {
  opacity: 1;
  transform: scale(1) rotate(0);
}

.services-container .services-cards .t-services .main-card .text-bx p {
  margin: 0;
  font-size: 0.8rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 6;
  line-clamp: 6;
}

.services-container .services-cards .t-services .main-card .text-bx a {
  color: var(--main-text-color);
  font-size: 0.9rem;
  transition: 0.3s ease;
  width: fit-content;
}

.services-container .services-cards .t-services .main-card .text-bx a:hover {
  color: var(--hover-color);
  gap: 1rem !important;
}

.services-container .services-cards .t-services .main-card:hover .text-bx {
  top: 0;
}

.services-container .services-cards .t-services .main-card.animate__animated {
  animation-fill-mode: forwards;
}

/* Features section */
.features-container .content .text-box .feature h3 {
  font-size: 1.5rem;
  color: var(--primary-color);
}

.features-container .cards {
  min-height: 70dvh;
}

.features-container .cards .progress-card {
  width: 17.8125rem;
  height: 18.375rem;
  background: var(--dark);
  border-radius: 1rem;
  color: var(--secondary-color);
  box-shadow: 5px 5px 15px var(--dark);
  opacity: 0;
}

.features-container .cards .progress-card.animate__bounceInRight {
  opacity: 1;
}

.features-container .cards .progress-card:nth-child(2),
.features-container .cards .progress-card:nth-child(3) {
  background: var(--primary-color);
}

.features-container .cards .progress-card:nth-child(1) {
  left: 8%;
  top: 15%;
  z-index: 1;
  animation-delay: 0.9s;
}

.features-container .cards .progress-card:nth-child(2) {
  right: 6%;
  top: 15%;
  z-index: 1;
  animation-delay: 0.6s;
}

.features-container .cards .progress-card:nth-child(3) {
  left: 13%;
  top: calc(15% + 15.375rem);
  z-index: 0;
}

.features-container .cards .progress-card:nth-child(4) {
  right: 1%;
  top: calc(15% + 15.375rem);
  z-index: 0;
  animation-delay: 0.3s;
}

.features-container .cards .progress-card h3 {
  font-size: 3.25rem;
}

.features-container .cards .progress-card p {
  font-size: 1.25rem;
}

.features-container .content p {
  color: var(--light-dark);
}

/* Testimonials */
.testimonials-container.cw {
  max-width: 1260px;
}

.testimonials-container .testimonials-box .content-slide {
  margin: 0 2.75rem;
  overflow: hidden;
}

.testimonials-container .testimonials-box .card-wrapper .rev-card {
  padding: 5rem 1rem 1rem;
  border-radius: 1rem;
  border: 6px solid var(--second-background);
  overflow: hidden;
  aspect-ratio: 5 / 4;
}

.testimonials-container .testimonials-box .card-wrapper .rev-card::after {
  content: "";
  position: absolute;
  width: 110%;
  height: 18rem;
  background: var(--primary-color);
  border-radius: 50%;
  top: -9rem;
  z-index: -1;
}

.testimonials-container .testimonials-box .card-wrapper .rev-card .content {
  height: 100%;
}

.testimonials-container .testimonials-box .card-wrapper .rev-card .stars {
  padding: 1.5rem 3.25rem;
  border-radius: 1rem;
  background: linear-gradient(0deg, var(--second-color), #fcb637);
  box-shadow: 3px -2px 5px #0000001a;
}

.testimonials-container
  .testimonials-box
  .card-wrapper
  .rev-card
  .stars::after {
  content: "";
  position: absolute;
  width: 95%;
  height: 90%;
  top: 5%;
  right: 2.5%;
  border-top: 2px solid #ffed47;
  border-right: 2px solid #ffed47;
  border-radius: 0.8rem;
}

.testimonials-container .testimonials-box .card-wrapper .rev-card .stars i {
  font-size: 1.5rem;
  color: var(--white);
}

.testimonials-container
  .testimonials-box
  .card-wrapper
  .rev-card
  .content
  .rev {
  width: 90%;
  margin: 0 auto;
}

.testimonials-container
  .testimonials-box
  .card-wrapper
  .rev-card
  .content
  .rev
  p {
  font-size: 1.25rem;
  margin: 2rem 0;
}

.testimonials-container
  .testimonials-box
  .card-wrapper
  .rev-card
  .content
  .rev
  i {
  font-size: 2.75rem;
  color: var(--third-color);
  text-align: start;
}

.testimonials-container
  .testimonials-box
  .card-wrapper
  .rev-card
  .content
  .rev
  i:first-child {
  left: 5px;
  top: -2rem;
}

.testimonials-container
  .testimonials-box
  .card-wrapper
  .rev-card
  .content
  .rev
  i:last-child {
  right: 5px;
  bottom: 0;
}

.testimonials-container
  .testimonials-box
  .card-wrapper
  .rev-card
  .content
  .client
  .caption {
  font-size: 1.25rem;
  letter-spacing: 2px;
}

.testimonials-container
  .testimonials-box
  .card-wrapper
  .rev-card
  .content
  .client
  p {
  font-size: 1.125rem;
  margin: 0;
}

.testimonials-container .testimonials-box .swiper-btn {
  color: var(--second-color);
}

.testimonials-container .testimonials-box .swiper-button-next {
  right: 0;
}

.testimonials-container .testimonials-box .swiper-button-prev {
  left: 0;
}

.testimonials-container .swiper {
  overflow: unset;
}

.testimonials-container .swiper .swiper-pagination {
  bottom: -10%;
}

.testimonials-container
  .swiper
  .swiper-pagination
  .swiper-pagination-bullet-active {
  background-color: var(--primary-color) !important;
}

/* CTA section */
section.cta {
  margin: 6rem 0;
}

.cta-container {
  max-width: 1240px;
  margin: auto;
  background-color: var(--second-background);
  border-radius: 1rem;
  box-shadow: 0px 0px 70px 8px #0000001a;
}

.cta-container .content {
  width: 65%;
}

.cta-container .content p {
  color: var(--light-dark);
}
