/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Sep 03 2026 | 03:22:26 */
/* Conversion Formula CSS Defaults */

:root {
	--primary: #122149;
	--secondary: #77F279;
	--text: #091A3B;
	--accent: #7AE7FF;
	--button-hover: #A6FFA7;
	--dark-teal: #2B5976;
	--dark-blue: #314671;
	--blue: #4566A7;
	--blue-violet-border: #5C67AF;
	--light-blue: #ECF9FF;
	--white: #fff;
	--black: #000;
	--transparent: #FFFFFF00;
}

.background-wrap {
	overflow: hidden;
}
.overflow-visible {
	overflow: visible;
}

.widget-fab-container {
	margin-right: 30px !important;
}

.MuiButtonBase-root {
	padding: 10px !important;
}

@media screen and (max-width: 767px) {
	.widget-fab-container {
		margin-right: 15px !important;
	}
}

.sp {
	display: none;
}

@media screen and (max-width: 767px) {
	.pc {
		display: none;
	}
	
	.sp {
		display: block;
	}
}

.absolute-center {
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

.truncate-title {
	display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.rcf-loop .rcf-trigger>span:first-child {
	white-space: pre-wrap;
}

.green-heading {
	color: var(--secondary);
}

.blur-background {
	backdrop-filter: blur(20px);
	transition: all 0.3s;
}

.services-submenu {
	backdrop-filter: blur(20px);
	transition: all 0.3s;
}

.key-point .elementor-icon-box-icon {
	background: var(--accent);
    padding: 6px;
    border-radius: 100%;
}

.key-point {
	padding-left: 5px !important;
}

.stats-counter .elementor-counter-title {
	text-align: center;
}

.testimonial-slider .testimonial-item::before {
	transition: all 0.3s ease;
}

.testimonial-slider .flipster__item--current .testimonial-item::before {
	opacity: 1;
}

.cf-loop .cf-accordion {
  border: none !important;
}

.cf-loop .cf-trigger>span:first-child{
	white-space: break-spaces;
}

/* BUTTON */

.button-primary {
  position: relative;
	display: flex;
	align-items: center;
	gap: 0;
	border-radius: 80px;
	overflow: hidden;
}

.button-primary a {
	overflow: hidden;
}

.button-primary a::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: #A6FFA7;
  transform-origin: left;
  transform: scaleX(0);
  transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0;
}

.button-primary:hover a::before {
  transform: scaleX(1);
}

.button-primary:hover {
	transform: translatey(-10px);
}

.button-primary .elementor-button-text {
  position: relative;
  z-index: 1;
}

.button-primary::after {
  content: '';
  background-color: var(--secondary);
  background-image: url('/wp-content/uploads/2026/07/Arrow.svg');
  background-repeat: no-repeat;
  background-size: 15px;
  background-position: center;
  width: 55px;
  height: 43px;
  border-radius: 100%;
  display: inline-block;
  position: relative;
  z-index: 1;
	overflow: hidden;
  transition: transform 0.25s ease, rotate 0.3s ease 0.4s;
}

.button-primary:hover a,
.button-primary:hover::after {
	border-color: var(--button-hover);
}

.button-primary:hover a {
	animation: none !important;
}


.button-primary:hover::after {
	transform: rotate(45deg);
}

.button-primary--border::after {
	display: none;
}

.button-primary--border a span {
	transition: all 0.3s ease;
}

.button-primary--border:hover a span {
	color: var(--primary) !important;
}

.button-primary .elementor-button-text {
	white-space: nowrap;
}

.arrow-button {
	transition: all 0.3s ease;
	overflow: hidden;
}

.arrow-button:hover {
	transform: rotate(45deg);
	background: var(--button-hover) !important;
}

.play-button svg {
	transform: translateX(4px);
}


.cf-image-slider .swiper-slide img,
.cf-image-slider .elementor-image-carousel-image {
  clip-path: url(#cf-chevron-mask);
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cf-image-slider .swiper-slide {
  aspect-ratio: 4 / 5;
  overflow: visible;
}


.cf-breadcrumb-sep {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  vertical-align: middle;
}

.cf-breadcrumb-sep::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  margin-top: -3px;
  background-color: var(--secondary);
  -webkit-mask-image: url('/wp-content/uploads/2026/07/decor-arrow.svg');
  mask-image: url('/wp-content/uploads/2026/07/decor-arrow.svg');
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

/* HEADER MENU */


@media screen and (max-width: 1024px) {
	body.menu-open {
  overflow: hidden;
}

.premium-mobile-menu-container {
  overflow-y: auto;
}
	
	.main-header__nav .premium-hamburger-toggle.premium-toggle-opened ~ .premium-mobile-menu-container {
		max-height: 100vh !important;
		height: 100vh !important;
	}
	
	.main-header__nav .premium-mobile-menu {
		justify-content: flex-start !important;
		
	}
	
	.main-header__nav .premium-hamburger-toggle.premium-toggle-opened ~ .premium-mobile-menu-container .premium-mobile-menu {
		height: 80vh;
    overflow: scroll;
	}
}

/* SERVICES ITEM */

.services-item .services-item__title h3,
.services-item .services-item__title p,
.services-item .services-item__tag-number p,
.services-item .services-item__text p,
.services-item .services-item__tag-text p,
.services-item .services-item__number span,
.services-item .blog-category,
.services-item .blog-category span,
.services-item .blog-date p,
.services-item .points-list span {
	transition: all 0.4s ease;
}
.services-item:hover .services-item__title h3,
.services-item:hover .services-item__title p,
.services-item:hover .services-item__text p,
.services-item:hover .services-item__tag-text p,
.services-item:hover .points-list span {
	color: var(--text) !important;
}

.services-item:hover .services-item__tag-number p,
.services-item:hover .blog-date p {
	color: var(--blue) !important;
}

.services-item:hover .services-item__number span,
.services-item:hover .blog-category span {
	color: var(--light-blue) !important;
}

.services-item:hover .blog-category { 
	background: var(--blue)!important;
}
/*
.services-item:hover .arrow-button {
	transform: rotate(45deg);
	background: var(--button-hover) !important;
}
*/

.services-image-display {
  position: relative;
  width: 100%;
  height: 100%;
}

.services-list-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0 !important;
  transform: scale(0.8);
  transition: opacity 0.4s ease, transform 0.4s ease;
  pointer-events: none;
  display: flex;
  align-items: center;
}

.services-list-image.is-active {
  opacity: 1 !important;
  transform: scale(1);
  pointer-events: auto;
}

.services-list-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  .services-list-image {
    transition: none;
  }
}

/* END OF SEVICES ITEM */


/* ABOUT US HOVER ACCORDION */

/* ===== Desktop (default) ===== */
.hover-accordion-item {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  overflow: hidden;
  border-radius: 24px;
  height: 650px !important;
  flex: 1 1 0% !important;
  transition: flex-grow 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.hover-accordion-wrapper {
  display: flex !important;
  align-items: stretch !important; /* this is the actual fix — makes both items match the taller one's natural height */
}
 
.hover-accordion-item.is-expanded {
  flex-grow: 2.4 !important;
}
 
.hover-accordion-item.is-collapsed {
  flex-grow: 1 !important;
}
 
.hover-accordion-image-container {
  flex: 0 0 340px !important;
  overflow: hidden;
  transition: flex-basis 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
 
.is-collapsed .hover-accordion-image-container {
  flex: 0 0 100% !important;
}
 
.hover-accordion-image {
  width: 100%;
  height: 100%;
}
 
.hover-accordion-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
 
.hover-accordion-info {
  flex: 0 0 calc(100% - 340px) !important;
  min-width: 0;
  opacity: 1;
  padding: 0 40px 0 0 !important;
  overflow: hidden;
  white-space: nowrap;
  transition: flex-basis 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s ease;
  transition-delay: 0s, 0.35s;
}
 
.is-collapsed .hover-accordion-info {
  flex: 0 0 0px !important;
  opacity: 0;
  padding: 0 !important;
  pointer-events: none;
  transition-delay: 0s, 0s;
  transition-duration: 0.6s, 0.15s;
}
 
.hover-accordion-info * {
  white-space: normal;
}
 
/* ===== Laptop (≤1330px) — same layout, narrower image column, min-height instead of fixed ===== */
@media (max-width: 1330px) {
  .hover-accordion-item {
    min-height: 600px !important;
  }
 
  .hover-accordion-image-container {
    flex: 0 0 280px !important;
  }
 
  .hover-accordion-info {
    flex: 0 0 calc(100% - 280px) !important;
    padding: 0 28px 0 0 !important;
  }
}
 
/* ===== Tablet (≤1024px) & Mobile (≤767px) —
   items stack in two ROWS, and each item's internal
   layout switches from row (image | info) to column
   (image on top, info below). Hover-driven expand/collapse
   is fully disabled here — is-expanded and is-collapsed
   compute to identical styles, no transitions, so both
   items just always sit at their full expanded state. ===== */
@media (max-width: 1024px) {
  .hover-accordion-wrapper {
    flex-direction: column !important;
  }
 
  .hover-accordion-item {
    flex-direction: column !important;
    min-height: 0 !important;
    height: auto !important;
    flex: 1 1 auto !important;
    flex-grow: 1 !important;
    transition: none !important;
  }
 
  .hover-accordion-image-container {
    flex: none !important;
    width: 100% !important;
    height: 320px !important;
    transition: none !important;
  }
 
  .hover-accordion-info {
    flex: none !important;
    width: 100% !important;
    height: auto !important;
    opacity: 1 !important;
    padding: 28px 0 !important;
    white-space: normal !important;
    transition: none !important;
  }
 
  .is-collapsed .hover-accordion-image-container,
  .is-collapsed .hover-accordion-info {
    flex: none !important;
    width: 100% !important;
    opacity: 1 !important;
    padding: 28px 0 !important;
    pointer-events: auto !important;
  }
	
	.is-collapsed .hover-accordion-image-container {
		padding: 0 !important;
	}
}
 
@media (max-width: 767px) {
  .hover-accordion-image-container {
    height: 200px !important;
  }
 
  .hover-accordion-info {
    padding: 20px !important;
  }
 
  .is-collapsed .hover-accordion-info {
    padding: 20px !important;
  }
}
 
@media (prefers-reduced-motion: reduce) {
  .hover-accordion-item,
  .hover-accordion-image-container,
  .hover-accordion-info {
    transition: none;
  }
}

/* END OF ABOUT US HOVER ACCORDION */

@media screen and (max-width: 1024px) {
	.why-it-works__title {
		position: static !important;
	}
}

/* ABOUT US TEAM SLIDER */

.team-slider .swiper {
	padding-top: 20px;
}

.team-slider .swiper-slide {
  cursor: pointer;
}

.team-slider .swiper-slide-active .team-member {
	background-color: var(--secondary) !important;
	transform: translatey(-10px);
}

.team-slider .team-member .team-image {
	transition: all 0.4s ease;
}

.team-slider .swiper-slide.swiper-slide-active .team-member .team-image img,
.team-member:hover .team-image img {
	filter: saturate(100%) !important;
}

/* END OF ABOUT US TEAM SLIDER */

/* AOBUT US OUR STORY SLIDER */
@media screen and (max-width: 1024px) {
	.cf-orbit__nav {
		margin-top: 10px !important;
	}
	
	.cf-orbit {
		padding: 0 25px !important;
	}
}

@media screen and (max-width: 767px) {
	.cf-orbit__nav {
		margin-top: 30px !important;
	}
}

/* WEBSITE SHOWCASE */
.tcf-showcase__scaler img,
.tcf-showcase__item img {
	object-position: top;
}

.tcf-showcase__scaler {
	border-radius: 30px;
}

/* TESTIMONIAL SLIDER */

.testimonial-slider .flipster__button {
	padding: 0 !important;
	width: 50px !important;
	height: 50px !important;
}

.testimonial-slider .flipster__button:hover {
	opacity: 1 !important;
}

/* CASE STUDY */

.case-study__categories ul li span {
	display: flex !important;
    align-items: center;
    flex-wrap: wrap;
}

.case-study__categories a {
	padding: 5px 20px 5px 20px;
    border-radius: 30px;
    background: var(--blue);
    margin: 10px;
	white-space: nowrap;
}

/* BLOG */

.blog-content .elementor-heading-title {
	font-family: "Clash Display", sans-serif !important;
	letter-spacing: -0.03em !important;
}

.blog-navigation .elementor-post-navigation__next {
	padding-left: 30px;
}

.blog-navigation .elementor-post-navigation__prev {
	padding-right: 30px;
}

@media screen and (max-width: 767px) {
	.blog-navigation .elementor-post-navigation__next {
	padding-left: 30px;
}

.blog-navigation .elementor-post-navigation__prev {
	padding-right: 30px;
}
}

/* BACK TO TOP */
.tcf-back-to-top {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #8FD86B;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateY(14px) scale(0.85);
  pointer-events: none;
  transition: opacity 0.35s ease, transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.2s ease;
  z-index: 998;
}

.tcf-back-to-top.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
  padding: 0;
}

.tcf-back-to-top:hover {
  background: #A0E381;
}

.tcf-back-to-top:hover .tcf-back-to-top__arrow {
  transform: translateY(-2px) rotate(-90deg);
}

.tcf-back-to-top__arrow {
  position: relative;
  transform: rotate(-90deg);
  transition: transform 0.25s ease;
}

.tcf-back-to-top__ring {
  position: absolute;
  inset: -6px;
  width: calc(100% + 12px);
  height: calc(100% + 12px);
}

#tcfBttProgress {
  transition: stroke-dashoffset 0.1s linear;
  stroke: var(--accent);
}

@media (prefers-reduced-motion: reduce) {
  .tcf-back-to-top {
    transition: opacity 0.2s ease;
    transform: none !important;
  }
  .tcf-back-to-top__arrow {
    transition: none;
  }
}
/* ----- BACK TO TOP ------ */