/* LENIS */
.lenis.lenis-smooth {
	scroll-behavior: auto;
}
.lenis.lenis-smooth [data-lenis-prevent] {
	overscroll-behavior: contain;
}
.lenis.lenis-stopped {
	overflow: hidden;
}
.lenis.lenis-scrolling iframe {
	pointer-events: none;
}
/* Fade in page */
body {
	opacity: 0;
	transition: opacity 0.5s ease-in-out;
}
body.loaded {
	opacity: 1;
	transition: opacity 0.5s ease-in-out;
}
/* --------------------------------------------------HOME - SERVICES CARDS STARTS HERE-------------------------------------------------- */
.fg-home-services-loop.fg-found ul li > div {
	animation: fg-fade-in 0.8s ease-out forwards;		
}
.fg-home-services-loop ul li:nth-child(1) > div { animation-delay: 0s; }
.fg-home-services-loop ul li:nth-child(2) > div { animation-delay: 0.1s; }
.fg-home-services-loop ul li:nth-child(3) > div { animation-delay: 0.2s; }
.fg-home-services-loop ul li:nth-child(4) > div { animation-delay: 0.3s; }
.fg-home-services-loop ul li:nth-child(5) > div { animation-delay: 0.4s; }
.fg-home-services-loop ul li:nth-child(6) > div { animation-delay: 0.5s; }
.fg-home-services-loop ul li:nth-child(7) > div { animation-delay: 0.6s; }
.fg-home-services-loop ul li:nth-child(8) > div { animation-delay: 0.7s; }
@keyframes fg-fade-in {
	from {
		opacity: 0;
		transform: translatey(30%);
		transform-style: preserve-3d;
	}
	to {
		opacity: 1;
		transform: translatey(0);
	}
}
/* --------------------------------------------------HOME - COUNTER STARTS HERE-------------------------------------------------- */
.counter {
	display: inline-flex;
	align-items: center;
	overflow: hidden;
}
.digit-container {
	height: 3.25rem;
	overflow: hidden;
	position: relative;
	display: inline-block;
}
.digit-strip {
	display: flex;
	flex-direction: column;
	transform: translateY(0);
}
.digit-strip span {
	height: 3.25rem;
	line-height: 3.25rem;
	text-align: center;
}
/* Wrapper should prevent text selection */
.fg-slider-wrapper {
	user-select: none;      
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	cursor: grab;           
}
/* When dragging */
.fg-slider-wrapper.dragging {
	cursor: grabbing;       
}
.fg-home-marquee-wrapper {
	overflow: hidden;   
	cursor: grab;
	user-select: none;
}
.fg-home-marquee-wrapper.dragging {
	cursor: grabbing;
}
.fg-home-marquee figure img {
	pointer-events: none;
	user-select: none;
	-webkit-user-drag: none; /* Safari / Chrome */
	-moz-user-select: none;
	-ms-user-select: none;
}
/* --------------------------------------------------TEAM CATEGORY STARTS HERE-------------------------------------------------- */
.fg-filter-btn.active {
	border-color: #004889;
	box-shadow: 0 0.25rem 0.775rem 0 #00000014;
}
/* --------------------------------------------------HOME - SERVICES FILTER STARTS HERE-------------------------------------------------- */
.fg-service-btn.active {
	border: 0.0625rem solid #004889;
	box-shadow: 0 0.25rem 0.775rem 0 #00000014;
}
.fg-about-values-grp .fg-about-values-cols {
	transition: all 1s linear;
}
.fg-about-values-grp {
	overflow: hidden;
}
/* -------------------------------SERVICE ARCHIVE - STYLES STARTS HERE------------------------------- */
.faq-item.active {
	border-color: rgba(0, 72, 137, 1);
}
/* -------------------------------BLOG SINGLE - STYLES STARTS HERE------------------------------- */
.toc-wrapper .toc ul li a.active {
	color: #004889;
	font-weight: 500;
}
/* -------------------------------SERVICES SINGLE - STYLES STARTS HERE------------------------------- */
.fg-ss-why-grp .active .faq-question {
	background-color: #004889;
}
.fg-ss-why-grp .active .faq-question svg:first-child {
	opacity: 0;
}
.fg-ss-why-grp .active .faq-question svg:last-child  {
	opacity: 1;	
}
.fg-ss-why-grp .active .faq-question h3 {
	color: #ffffff;
}
@media screen and (min-width: 768px){
	*:hover {
		transition: all 0.3s linear;	
	}
	/* ------------------------------------------------------FOOTER STARTS HERE------------------------------------------------------ */
	.footer p a {
		display: inline-block;
		will-change: transform;
	}
	.footer p a:hover {
		transform: translateX(0.5rem);
	}
	.fg-footer-socials figure, .fg-ns-header-socials div a, .hy-share-items > div, .fg-contact-hero-box-socials figure {
		will-change: transform;
	}
	.fg-footer-socials figure:hover, .fg-ns-header-socials div a:hover, .hy-share-items > div:hover, .fg-contact-hero-box-socials figure:hover {
		transform: scale(1.2);
	}
	/* ------------------------------------------------------HEADER STARTS HERE------------------------------------------------------ */
	.fg-mob-links > ul li:hover {
		font-weight: 500;
	}
	.fg-desk-links > ul li:hover > a {
		font-weight: 500;
		color: #004889;
	}
	.fg-desk-links > ul >li ul li:hover {
		transform: translatex(0.563rem);
	}
	.fg-desk-links .current-menu-item > a {
		color: #004889;
		font-weight: 500;
	}
	.fg-desk-links > ul > li.menu-item-has-children:has(.current-menu-item) > a {
		color: #004889;
		font-weight: 500;	
	}
	.fg-desk-links > ul > li.menu-item-has-children:has(.current-menu-item)::after {
		background-image: url(/wp-content/uploads/2025/08/blue_path_icon.webp);
	}
	.fg-desk-links > ul > li.menu-item-has-children:hover::after {
		transition: all 0.3s linear;	
		background-image: url('/wp-content/uploads/2025/08/blue_path_icon.webp');
		transform: rotate(-180deg);
	}
	/* --------------------------------------------------HOME - SERVICES FILTER STARTS HERE-------------------------------------------------- */
	.fg-service-btn:hover {
		border: 0.0625rem solid rgba(0, 72, 137, 0.12);
		box-shadow: 0 0.25rem 0.775rem 0 #00000014;
	}
	div.fg-service-btn.active {
		border: 0.0625rem solid #004889;
		box-shadow: 0 0.25rem 0.775rem 0 #00000014;
	}
	/* --------------------------------------------------HOME - SERVICES CARDS STARTS HERE-------------------------------------------------- */
	.entry-content .wp-block-read-more , .fg-services-popup-btn strong {
		cursor: pointer;
		position: relative;
		transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
		transition-duration: 400ms;
		transition-property: color;
	}
	.entry-content .wp-block-read-more:focus::before,
	.entry-content .wp-block-read-more:hover::before,
	.fg-services-popup-btn strong:hover::before {
		width: 100%;
		left: 0%;
	}
	.entry-content .wp-block-read-more::before,
	.fg-services-popup-btn strong::before {
		content: "";
		pointer-events: none;
		bottom: -0.125rem;
		left: 50%;
		position: absolute;
		width: 0%;
		height: 0.125rem;
		transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
		transition-duration: 400ms;
		transition-property: width, left;
	}
	.entry-content .wp-block-read-more::before{
		background-color: #fff;
	}
	.fg-services-popup-btn strong::before {
		background-color: #004889;		
	}
	.entry-content .fg-home-latest-blogs-loop .wp-block-read-more::before {
		background-color: #004889;				
	}
	.entry-content .wp-block-read-more::after,
	.fg-services-popup-btn::after {
		will-change: transform;
		transition: all 400ms cubic-bezier(0.25, 0.8, 0.25, 1);	
	}
	.entry-content .wp-block-read-more:hover::after,
	.fg-services-popup-btn:hover::after{
		transform: translateX(0.313rem);
		transition: all 400ms cubic-bezier(0.25, 0.8, 0.25, 1);	
	}
	.fg-home-services-loop ul li h3:hover {
		text-decoration: underline;
	}
	.fg-home-marquee {
		cursor: grab;
		user-select: none;
		-webkit-user-select: none;
		-webkit-user-drag: none;
	}
	.fg-home-marquee:active { cursor: grabbing; }
	/* --------------------------------------------------HOME - TESTIMONIALS STARTS HERE-------------------------------------------------- */
	@keyframes bubble-pop {
		0% { transform:scale(.1); }
		50% { transform:scale(1.5); }
		100% { transform:scale(1); }
	}
	.fg-home-clients-grp .fg-testimonial-imgs figure {
		transform: scale(0);
		will-change: transform;
	}
	.fg-home-clients-grp.fg-found .fg-testimonial-imgs figure {
		animation: bubble-pop 1s cubic-bezier(0.22, 1.28, 0.36, 1) forwards;
	}
	.fg-home-clients-grp.fg-found .fg-testimonial-imgs figure:nth-child(2) { animation-delay: 1s; }
	.fg-home-clients-grp.fg-found .fg-testimonial-imgs figure:nth-child(3) { animation-delay: 1.2s; }
	.fg-home-clients-grp.fg-found .fg-testimonial-imgs figure:nth-child(4) { animation-delay: 1.4s; }
	.fg-home-clients-grp.fg-found .fg-testimonial-imgs figure:nth-child(5) { animation-delay: 1.6s; }
	.fg-home-clients-grp.fg-found .fg-testimonial-imgs figure:nth-child(6) { animation-delay: 1.8s; }
	/* --------------------------------------------------HOME - CARDS STARTS HERE-------------------------------------------------- */
	.fg-home-latest-blogs-loop h3:hover, 
	.fg-all-news-item h3:hover, 
	.fg-ns-latest-card a:hover, 
	.fg-ns-related-card h3:hover, 
	.fg-other-blog-item h3:hover, 
	.fg-latest-blog h2:hover,
	.fg-team-card h3:hover,
	.fg-about-team-title:hover {
		color: #004889;
	}
	.fg-home-latest-blogs-loop figure img, 
	.fg-all-news-item figure img, 
	.fg-ns-related-thumb img, 
	.fg-ns-more-figure img, 
	.fg-latest-thumb img,
	.fg-home-services-loop ul li figure img,
	.fg-team-thumb img,
	.fg-about-team-thumb img {
		transform: scale(1);
		transition: .6s ease-in-out;
	}
	.fg-home-latest-blogs-loop figure:hover img, 
	.fg-all-news-item figure:hover img, 
	.fg-ns-related-thumb:hover img, 
	.fg-ns-more-figure:hover img,
	.fg-latest-thumb:hover img,
	.fg-home-services-loop ul li figure:hover img,
	.fg-team-thumb:hover img,
	.fg-about-team-thumb:hover img {
		-webkit-transform: rotate(1deg) scale(1.05);
		transform: scale(1.05);
		-webkit-transition: .6s ease-in-out;
		transition: .6s ease-in-out;
	}
	.fg-home-services-loop ul li > div:hover {
		border-color: #ffffff;
	}
	/* --------------------------------------------------HOME - COUNTER STARTS HERE-------------------------------------------------- */
	.digit-container {
		height: 5.563rem;
	}
	.digit-strip span {
		height: 5.563rem;
		line-height: 5.563rem;
	}
	/* --------------------------------------------------TEAM CATEGORY STARTS HERE-------------------------------------------------- */
	.fg-filter-btn:hover, .fg-team-practice-btn:hover {
		border-color: #004889;
		box-shadow: 0 0.25rem 0.775rem 0 #00000014;
	}
	/* -------------------------------ABOUT VALUES - STYLES STARTS HERE------------------------------- */
	.fg-about-about-no-stack {
		transition: all 0.5s linear;
	}
	.fg-about-about-no-stack.hovered {
		border: 0.061rem solid #FFFFFF;
		transition: all 0.5s linear;
	}
	.fg-about-about-no-stack > div  {
		opacity: 0;
		transition: opacity 0.1s linear;
	}
	.fg-about-about-no-stack:nth-child(2) > div {
		transform: translateX(-50%);
	}
	.fg-about-about-no-stack.hovered > div {
		opacity: 1;
		transition: opacity 0.1s linear;
	}
	/* -------------------------------BLOG SINGLE - STYLES STARTS HERE------------------------------- */
	.toc-wrapper .toc ul li a:hover {
		color: #004889;
		font-weight: 500;
	}
	/* -------------------------------SERVICE ARCHIVE - STYLES STARTS HERE------------------------------- */
	.faq-item:hover {
		border-color: rgba(0, 72, 137, 1);
	}
	.fg-sa-other-grp .fg-slide-card:hover::after {
		opacity: 1;
		transition: all 0.3s linear;
	}	
	.fg-sa-other-grp .fg-slide-card:hover::before {
		opacity: 0;
		transition: all 0.3s linear;
	}
	.fg-sa-other-grp .fg-slide-card:hover {
		border-color: rgba(0, 72, 137, 0.7);
	}
	.fg-sa-other-grp .fg-slide-card:hover h3 {
		color: rgba(0, 72, 137, 1);
	}
	/* -------------------------------SERVICES SINGLE - STYLES STARTS HERE------------------------------- */
	.fg-ss-why-grp .faq-item:hover .faq-question {
		background-color: #004889;
	}
	.fg-ss-why-grp .faq-question:hover svg:first-child {
		opacity: 0;
	}
	.fg-ss-why-grp .faq-question:hover svg:last-child  {
		opacity: 1;	
	}
	.fg-ss-why-grp .faq-item:hover .faq-question h3 {
		color: #ffffff;
	}
	.fg-ss-why-grp .active.faq-item {
		pointer-events: none;
	}
	/* -------------------------------BUTTON - STYLES STARTS HERE------------------------------- */
	.is-style-call-button, .is-style-blue-button, .is-style-black-button, .is-style-white-button, .is-style-ghost-button {
		will-change: transform;
	}
	.is-style-call-button:hover, .is-style-blue-button:hover, .is-style-black-button:hover, .is-style-white-button:hover, .is-style-ghost-button:hover {
		transform: scale(0.95);
	}
	/* -------------------------------UNDERLINE - STYLES STARTS HERE------------------------------- */
	.fg-contact-hero-box-stack p a:hover, .hx-contact-map-stack p a:hover {
		text-decoration: underline;
	}
}