/* ----------------------------------------------------------------------------------------
* Author        : Awaiken
* Template Name : Labrix - Laboratory & Science Research HTML Template
* File          : CSS File
* Version       : 1.0
* ---------------------------------------------------------------------------------------- */
/* INDEX
----------------------------------------------------------------------------------------
01. Global Variables
02. General css
03. Header css
04. Hero css
05. Scrolling Ticker css
06. About Us css
07. Our Services css
08. Why Choose Us css
09. What We Do css
10. Case Study css
11. Intro Video css
12. How It Work css
13. Our Pricing css
14. Our FAQs css
15. Our Testimonials css
16. Our Blog css
17. Footer css
18. About Us Page css
19. Services Page css
20. Service Single css
21. Blog Archive css
22. Blog Single css
23. Case Study Page css
24. Case Study Single css
25. Team Page css
26. Team Single css
27. Pricing Page css
28. Testimonials Page css
29. Image Gallery css
30. Video Gallery css
31. FAQs Page css
32. Contact Us Page css
33. 404 Error Page css
34. Responsive css
-------------------------------------------------------------------------------------- */

/************************************/
/*** 	 01. Global Variables	  ***/
/************************************/

:root{
	--primary-color				: #0B0A09;
	--secondary-color			: #F2F0EA;
	--bg-color					: #FFFFFF;
	--text-color				: #4C4A45;
	--accent-color				: #E53A24;
	--accent-color-dark			: #B72C18;
	--yellow-color				: #F6C714;
	--white-color				: #FFFFFF;
	--divider-color				: #0B0A091A;
	--dark-divider-color		: #FFFFFF1A;
	--error-color				: rgb(230, 87, 87);
	--default-font				: "Manrope", sans-serif;
	--accent-font				: "Manrope", sans-serif;
}

/************************************/
/*** 	   02. General css		  ***/
/************************************/

body{
	position: relative;
	font-family: var(--default-font);
	font-size: 16px;
	font-weight: 500;
	line-height: 1em;
	color: var(--text-color);
	background: var(--bg-color);
}

::-webkit-scrollbar-track{
	background-color: var(--secondary-color);
	border-left: 1px solid var(--secondary-color);
}
::-webkit-scrollbar{
	width: 7px;
	background-color: var(--secondary-color);
}
::-webkit-scrollbar-thumb{
	background: var(--primary-color);
}

::selection{
	color: var(--primary-color);
	background-color: var(--accent-color);
	filter: invert(1);
}

p{
	line-height: 1.6em;
	margin-bottom: 1.5em;
}

h1,
h2,
h3,
h4,
h5,
h6{
	margin :0;
	font-family: var(--accent-font);
	font-weight: 600;
	line-height: 1.2em;
	color: var(--primary-color);
}

figure{
	margin: 0;
}

img{
	max-width: 100%;
}

a{
	text-decoration: none;
}

a:hover{
	text-decoration: none;
	outline: 0;
}

a:focus{
	text-decoration: none;
	outline: 0;
}

html,
body{
	width: 100%;
	overflow-x: clip;
}

.container{
	max-width: 1300px;
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl{
    padding-right: 15px;
    padding-left: 15px;
}

.image-anime{
	position: relative;
	overflow: hidden;
}

.image-anime:after{
	content: "";
	position: absolute;
    width: 200%;
    height: 0%;
    left: 50%;
    top: 50%;
    background-color: rgba(255,255,255,.3);
    transform: translate(-50%,-50%) rotate(-45deg);
    z-index: 1;
}

.image-anime:hover:after{
    height: 250%;
    transition: all 600ms linear;
    background-color: transparent;
}

.reveal{
	position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    visibility: hidden;
    overflow: hidden;
}

.reveal img{
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transform-origin: left;
    transform-origin: left;
}

.row{
    margin-right: -15px;
    margin-left: -15px;
}

.row > *{
	padding-right: 15px;
	padding-left: 15px;
}

.row.no-gutters{
    margin-right: 0px;
    margin-left: 0px;
}

.row.no-gutters > *{
    padding-right: 0px;
    padding-left: 0px;
}

.btn-default{
	position: relative;
    display: inline-block;
    background: var(--accent-color);
	border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1em;
    text-transform: capitalize;
    color: var(--white-color);
    border: none;
    padding: 17px 50px 17px 20px;
    overflow: hidden;
	transition: all 0.4s ease-in-out;
    z-index: 0;
}

.btn-default::before{
	content: '';
	position: absolute;
	top: 50%;
    right: 20px;
	width: 20px;
	height: 20px;
	background-image: url('../images/arrow-white.svg');
	background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
	transform: translateY(-50%);
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.btn-default:hover::before{
	transform: translateY(-50%) rotate(45deg);
}

.btn-default::after{
	content: '';
	position: absolute;
	left: 0;
	bottom: 0%;
	width: 102%;
	height: 100%;
	background-color: var(--primary-color);
	transition: all 0.5s ease-in-out;
	z-index: -1;
	transform: skewY(9.3deg) scaleY(0);
}

.btn-default:hover::after{
	transform: skewY(0deg) scaleY(2);
}

.btn-default.btn-highlighted:hover{
	color: var(--primary-color);
}

.btn-default.btn-highlighted:hover::before{
	filter: brightness(0) invert(0);
}

.btn-default.btn-highlighted::after{
	background-color: var(--white-color);
}

.readmore-btn{
	position: relative;
	font-family: var(--accent-font);
	font-size: 16px;
	font-weight: 600;
	line-height: normal;
	text-transform: capitalize;
	color: var(--accent-color);
	padding-right: 26px;
}

.readmore-btn::before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
	background-image: url('../images/arrow-accent.svg');
	background-repeat: no-repeat;
	background-size: cover;
	width: 20px;
	height: 20px;
    transition: all 0.3s ease-in-out;
}

.readmore-btn:hover::before{
	transform: rotate(45deg);
}

.cb-cursor:before{
	background: var(--accent-color);
}

.preloader{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	background: var(--primary-color);
	display: flex;
	align-items: center;
	justify-content: center;
}

.loading-container,
.loading{
	height: 140px;
	position: relative;
	width: 140px;
	border-radius: 100%;
}

.loading-container{
	margin: 40px auto;
}

.loading{
	border: 2px solid transparent;
	border-color: var(--accent-color) transparent var(--accent-color) transparent;
	animation: rotate-loading 1.5s linear 0s infinite normal;
	transform-origin: 50% 50%;
}

.loading-container:hover .loading,
.loading-container .loading{
	transition: all 0.5s ease-in-out;
}

/* Logo emblem on a white disc: its dark wings would vanish on the black overlay */
#loading-icon{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 108px;
	height: 108px;
	max-width: none;
	padding: 10px;
	background: var(--white-color);
	border-radius: 50%;
	transform: translate(-50%, -50%);
	animation: pulse-loading-icon 1.5s ease-in-out infinite;
}

@keyframes pulse-loading-icon{
	0%, 100%{
		transform: translate(-50%, -50%) scale(1);
	}

	50%{
		transform: translate(-50%, -50%) scale(0.92);
	}
}

@media (prefers-reduced-motion: reduce){
	#loading-icon{
		animation: none;
	}
}

@keyframes rotate-loading{
	0%{
		transform: rotate(0deg);
	}

	100%{
		transform: rotate(360deg);
	}
}

.bg-section{
	width: 100%;
	max-width: 1820px;
	background-color: var(--secondary-color);
	border-radius: 20px;
	margin: 0 auto;
}

.dark-section{
	background-color: var(--primary-color);
}

.section-row{
	margin-bottom: 80px;
}

.section-row .section-title{
	margin-bottom: 0;
}

.section-row .section-title.section-title-center{
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
	text-align: center;
}

.section-title-center{
	text-align: center;
}

.section-btn{
	text-align: right;
}

.section-content-btn .section-btn{
	margin-top: 30px;
	text-align: left;
}

.section-title-content p{
	margin-bottom: 20px;
}

.section-title-content p:last-child{
	margin-bottom: 0;	
}

.section-title{
	margin-bottom: 40px;
}

.section-title h3{
	position: relative;
	display: inline-block;
	border: 1px solid var(--divider-color);
	border-radius: 100px;
	font-family: var(--default-font);
	font-size: 14px;
    font-weight: 500;
	text-transform: capitalize;
    color: var(--primary-color);
	padding: 8px 16px 8px 32px;
    margin-bottom: 10px;
}

.section-title h3::before{
	content: '';
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	background: var(--yellow-color);
	border-radius: 50%;
	width: 6px;
	height: 6px;
}

.section-title h1{
	font-size: 60px;
	font-weight: 400;
	line-height: 1.2em;
	letter-spacing: -0.02em;
	margin-bottom: 0;
	cursor: none;
}

.section-title h2{
	font-size: 46px;
	font-weight: 400;
	line-height: 1.2em;
	letter-spacing: -0.02em;
	margin-bottom: 0;
	cursor: none;
}

.section-title p{
	margin-top: 20px;
	margin-bottom: 0;
}

.dark-section .section-title h3,
.dark-section .section-title h1,
.dark-section .section-title h2,
.dark-section .section-title p,
.dark-section .section-title-content p{
	color: var(--white-color);
}

.dark-section .section-title h3{
	border-color: var(--dark-divider-color);
}

.dark-section .section-title h3::before{
	background: var(--yellow-color);
}

.help-block.with-errors ul{
	margin: 0;
	text-align: left;
}

.help-block.with-errors ul li{
	color: var(--error-color);
	font-weight: 500;
	font-size: 14px;
}

/************************************/
/**** 	   03. Header css		 ****/
/************************************/

header.main-header{
	position: absolute;
    top: 0;
    width: 100%;
    z-index: 100;
}

header.main-header .header-sticky{
	position: relative;
	top: 0;
	width: 100%;
	z-index: 100;
	background: rgba(11,10,9,0.18);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(255,255,255,0.08);
}

header.main-header .header-sticky.hide{
	transform: translateY(-100%);
	transition: transform 0.3s ease-in-out;
	border-radius: 0;
}

header.main-header .header-sticky.active{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	border-radius: 0;
    transform: translateY(0);
	background: rgba(11,10,9,0.65);
	backdrop-filter: blur(14px) saturate(140%);
	-webkit-backdrop-filter: blur(14px) saturate(140%);
	border-bottom: 1px solid rgba(255,255,255,0.1);
	padding: 0 15px;
	box-shadow: 0 8px 30px rgba(0,0,0,0.15);
}

.navbar{
	padding: 16px 0;
	align-items: center;
}

.navbar-brand{
	padding: 0;
	margin: 0;
}

.main-menu .nav-menu-wrapper{
	flex: 1;
	text-align: center;
	margin: 0 1.042vw;
}

.main-menu .nav-menu-wrapper > ul{
	align-items: center;
	display: inline-flex;
}

.main-menu ul li{
	margin: 0 5px;
	position: relative;
}

.main-menu ul li a{
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2em;
	padding: 14px 10px !important;
	color: var(--white-color);
	text-transform: capitalize;
	transition: all 0.3s ease-in-out;
}

.main-menu ul li.submenu > a:after{
	content: '\f107';
	font-family: 'FontAwesome';
	font-weight: 900;
	font-size: 14px;
	margin-left: 8px;
}

.main-menu ul li a:hover,
.main-menu ul li a:focus{
	color: var(--accent-color);
}

.main-menu ul ul{
	visibility: hidden;
	opacity: 0;
	transform: scale(1,0.8);
	transform-origin: top;
	padding: 0;
	margin: 0;
	list-style: none;
	width: 235px;
	border-radius: 12px;
	position: absolute;
	left: 0;
	top: 100%;
	background: var(--accent-color);
	transition: all 0.3s ease-in-out;
	text-align: left;
}

.main-menu ul li.submenu:first-child ul{
    width: 235px;
}

.main-menu ul ul ul{
	left: 100%;
	top: 0;
	text-align: left;
}

.main-menu ul li:hover > ul{
	visibility: visible;
	opacity: 1;
	transform: scale(1,1);
    padding: 5px 0;
}

.main-menu ul li.submenu ul li.submenu > a:after{
    content: '\f105';
    float: right;
}

.main-menu ul ul li{
	margin: 0;
	padding: 0;
}

.main-menu ul ul li a{
	color: var(--white-color);
	padding: 8px 20px !important;
	transition: all 0.3s ease-in-out;
}

.main-menu ul ul li a:hover,
.main-menu ul ul li a:focus{
	color: var(--primary-color);
	background-color: transparent;
	padding: 8px 20px 8px 23px !important;
}

.main-menu ul li.highlighted-menu{
    display: none;
}

.responsive-menu,
.navbar-toggle{
	display: none;
}

.responsive-menu{
	top: 0;
	position: relative;
}

.slicknav_btn{
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0;
}

.slicknav_btn .slicknav_icon{
	float: none;
	width: 28px;
	height: auto;
	margin: 0;
}

.slicknav_btn .slicknav_icon:before{
	display: none;
}

/* Staggered bars: short left, full, short right */
.slicknav_icon .slicknav_icon-bar{
	display: block;
	width: 28px;
	height: 3px;
	background-color: var(--white-color);
	border-radius: 3px;
	box-shadow: none;
	margin: 5px 0 !important;
	transition: all 0.3s ease-in-out;
}

.slicknav_icon .slicknav_icon-bar:first-child{
	width: 16px;
	margin-top: 0 !important;
}

.slicknav_icon .slicknav_icon-bar:last-child{
	width: 16px;
	margin-left: auto !important;
	margin-bottom: 0 !important;
}

.slicknav_btn:hover .slicknav_icon .slicknav_icon-bar{
	width: 28px;
}

/* Open state: bars form an X */
.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(1){
	width: 28px;
	transform: translateY(8px) rotate(45deg);
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(2){
	opacity: 0;
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(3){
	width: 28px;
	transform: translateY(-8px) rotate(-45deg);
}

.slicknav_menu{
	position: absolute;
    width: 100%;
	padding: 0;
	background: var(--accent-color);
}

.slicknav_menu ul{
	margin: 5px 0;
}

.slicknav_menu ul ul{
	margin: 0;
}

.slicknav_nav .slicknav_row,
.slicknav_nav li a{
	position: relative;
	font-size: 16px;
	font-weight: 500;
	text-transform: capitalize;
	padding: 7px 20px;
	color: var(--white-color);
	line-height: normal;
	margin: 0;
	border-radius: 0 !important;
	transition: all 0.3s ease-in-out;
}

.slicknav_nav a:hover,
.slicknav_nav a:focus,
.slicknav_nav .slicknav_row:hover{
	background-color: transparent;
	color: var(--primary-color);
}

.slicknav_menu ul ul li a{
    padding: 7px 20px 7px 30px;
}

.slicknav_arrow{
	font-size: 0 !important;
}

.slicknav_arrow:after{
	content: '\f107';
	font-family: 'FontAwesome';
	font-weight: 900;
	font-size: 12px;
	margin-left: 8px;
	color: var(--white-color);
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s ease-out;
}

.slicknav_open > a .slicknav_arrow:after{
    transform: translateY(-50%) rotate(-180deg);
	color: var(--primary-color);
}

/*************************************/
/***     	 04. Hero css    	   ***/
/*************************************/

.hero{
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(ellipse 900px 550px at 80% 10%, rgba(229,58,36,0.18), transparent 60%),
		radial-gradient(ellipse 700px 550px at 12% 90%, rgba(183,44,24,0.14), transparent 55%),
		linear-gradient(165deg, #170907 0%, #0B0A09 45%, #0B0A09 100%);
	padding: 220px 0 100px;
}

.hero::before{
	content: '';
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	background-size: 220px 220px;
	opacity: 0.12;
	pointer-events: none;
	z-index: 0;
}

.hero > .container{
	position: relative;
	z-index: 1;
}

.hero-content-footer{
	position: relative;
	z-index: 1;
	display: flex;
	align-items: stretch;
	margin-top: 70px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.03);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.hero-content-footer .hero-footer-box{
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	flex: 1 1 0;
	padding: 24px 30px;
}

.hero-content-footer .hero-footer-box + .hero-footer-box{
	border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.hero-footer-box .icon-box{
	position: relative;
	flex: none;
	background-color: var(--dark-divider-color);
	border-radius: 10px;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 14px;
}

.hero-footer-box .icon-box::before{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--accent-color);
	border-radius: 10px;
	transform: scale(0) rotate(180deg);
	transition: all 0.4s ease-in-out;
}

.hero-footer-box:hover .icon-box::before{
	transform: scale(1) rotate(0);
}

.hero-footer-box .icon-box img{
	position: relative;
	max-width: 24px;
	z-index: 1;
}

.hero-footer-box .hero-footer-box-content p{
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	text-align: left;
	color: var(--white-color);
	margin: 0;
}

/* Hero Visual, animated fingerprint scan */
.hero-visual{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: 15px;
	margin-top: -40px;
}

.hero-visual-card{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 88%;
	aspect-ratio: 1 / 1.05;
	margin-left: auto;
	margin-right: 0;
}

.scan-ring{
	position: absolute;
	border-radius: 50%;
	border: 1px dashed rgba(255,255,255,0.14);
	z-index: 1;
}

.scan-ring-outer{
	width: 78%;
	aspect-ratio: 1 / 1;
	animation: fp-rotate 22s linear infinite;
}

.scan-ring-inner{
	width: 60%;
	aspect-ratio: 1 / 1;
	border-width: 1.5px;
	border-color: rgba(229,58,36,0.75);
	animation: fp-rotate-reverse 16s linear infinite;
}

.scan-glow{
	position: absolute;
	width: 55%;
	aspect-ratio: 1 / 1;
	background: radial-gradient(circle, rgba(229,58,36,0.35) 0%, rgba(229,58,36,0) 70%);
	filter: blur(10px);
	animation: fp-glow-pulse 3.5s ease-in-out infinite;
	z-index: 1;
}

.fingerprint-wrap{
	position: relative;
	width: 46%;
	aspect-ratio: 1 / 1;
	z-index: 2;
}

.fingerprint-svg{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.fingerprint-base .fp-path{
	opacity: 0;
	animation: fp-ring-in 0.5s ease forwards;
}

@property --scan-pos{
	syntax: '<percentage>';
	inherits: false;
	initial-value: -15%;
}

.fingerprint-scan{
	--scan-pos: -15%;
	color: var(--accent-color);
	filter: drop-shadow(0 0 6px rgba(229,58,36,0.65));
	-webkit-mask-image: linear-gradient(180deg, transparent calc(var(--scan-pos) - 10%), #000 var(--scan-pos), transparent calc(var(--scan-pos) + 10%));
	mask-image: linear-gradient(180deg, transparent calc(var(--scan-pos) - 10%), #000 var(--scan-pos), transparent calc(var(--scan-pos) + 10%));
	animation: fp-scan-sweep 3.6s ease-in-out 1.4s infinite alternate;
}

.scan-beam{
	position: absolute;
	left: 10%;
	right: 10%;
	top: 12%;
	height: 2px;
	background: linear-gradient(90deg, rgba(229,58,36,0) 0%, var(--accent-color) 50%, rgba(229,58,36,0) 100%);
	box-shadow: 0 0 12px 2px rgba(229,58,36,0.7);
	z-index: 4;
	animation: fp-beam-sweep 3.6s ease-in-out 1.4s infinite alternate;
}

.hero-visual-badge{
	position: absolute;
	left: 50%;
	bottom: 22px;
	transform: translateX(-50%);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	border-radius: 999px;
	background: rgba(11,10,9,0.6);
	border: 1px solid var(--dark-divider-color);
	backdrop-filter: blur(6px);
	color: var(--white-color);
	font-size: 13px;
	letter-spacing: 0.02em;
	white-space: nowrap;
	z-index: 4;
}

.hero-visual-badge-dot{
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--accent-color);
	animation: fp-dot-pulse 1.8s ease-out infinite;
}

@keyframes fp-rotate{
	from{ transform: rotate(0deg); }
	to{ transform: rotate(360deg); }
}

@keyframes fp-rotate-reverse{
	from{ transform: rotate(360deg); }
	to{ transform: rotate(0deg); }
}

@keyframes fp-glow-pulse{
	0%, 100%{ opacity: 0.5; transform: scale(0.92); }
	50%{ opacity: 0.9; transform: scale(1.05); }
}

@keyframes fp-ring-in{
	from{ opacity: 0; }
	to{ opacity: 1; }
}

@keyframes fp-scan-sweep{
	0%{ --scan-pos: -15%; }
	100%{ --scan-pos: 115%; }
}

@keyframes fp-beam-sweep{
	0%{ top: 12%; opacity: 0.9; }
	100%{ top: 84%; opacity: 0.9; }
}

@keyframes fp-dot-pulse{
	0%{ box-shadow: 0 0 0 0 rgba(229,58,36,0.6); }
	70%{ box-shadow: 0 0 0 8px rgba(229,58,36,0); }
	100%{ box-shadow: 0 0 0 0 rgba(229,58,36,0); }
}

.hero-images{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 30px;
	margin-left: 15px;
}

.hero-image-box{
	width: calc(33.33% - 20px);
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.hero-img-5,
.hero-img-4,
.hero-img-3,
.hero-img-2,
.hero-img-1{
	width: 100%;
}

.hero-img-5 figure,
.hero-img-4 figure,
.hero-img-3 figure,
.hero-img-2 figure,
.hero-img-1 figure{
	display: block;
	width: 100%;
	border-radius: 20px;
}

.hero-img-5 img,
.hero-img-4 img,
.hero-img-3 img,
.hero-img-2 img,
.hero-img-1 img{
	width: 100%;
	border-radius: 20px;
}

.hero-img-5 img,
.hero-img-4 img,
.hero-img-1 img{
	aspect-ratio: 1 / 2.18;
	object-fit: cover;
}

.hero-img-3 img,
.hero-img-2 img{
	aspect-ratio: 1 / 1.01;
	object-fit: cover;
}

/*************************************/
/***       05. CTA Box css         ***/
/*************************************/

.cta-contact-box{
	background: var(--accent-color);
	padding: 50px 0 20px;
}

.cta-contact-box .cta-contact-item{
	position: relative;
	padding: 0 1.823vw;
	display: flex;
	align-items: center;
	margin-bottom: 30px;
}

.cta-contact-box .cta-contact-item:before{
	content: "";
    display: block;
    position: absolute;
    top: 0;
    right: -15px;
    bottom: 0;
    background: var(--dark-divider-color);
	width: 1px;
    height: 100%;
}

.cta-contact-box .col-lg-4:last-child .cta-contact-item:before{
	display: none;
}

.cta-contact-item .icon-box{
	position: relative;
	background-color: var(--dark-divider-color);
	border-radius: 10px;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 12px;
	transition: all 0.4s ease-in-out;
}

.cta-contact-item .icon-box::before{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--primary-color);
	border-radius: 10px;
	transform: scale(0) rotate(180deg);
	transition: all 0.4s ease-in-out;
}

.cta-contact-item:hover .icon-box::before{
	transform: scale(1) rotate(0deg);
}

.cta-contact-item .icon-box img{
	position: relative;
	max-width: 24px;
	z-index: 1;
}

.cta-contact-content{
	width: calc(100% - 60px);
}

.cta-contact-content h3{
	font-size: 20px;
	font-weight: 600;
	text-transform: capitalize;
	color: var(--white-color);
	margin-bottom: 5px;
}

.cta-contact-content p{
	color: var(--white-color);
	margin: 0;
}

.cta-contact-content p a{
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.cta-contact-content p a:hover{
	color: var(--primary-color);
}

/*************************************/
/***      	06. About Us css       ***/
/*************************************/

.about-us{
	padding: 100px 0;
}

.about-us-image{
	position: relative;
	margin-right: 15px;
}

.about-img figure{
	display: block;
	border-radius: 20px;
}

.about-img figure img{
	width: 100%;
	aspect-ratio: 1 / 1.1;
	object-fit: cover;
	border-radius: 20px;
}

.company-experience{
	position: absolute;
	right: 30px;
	bottom: 30px;
	display: flex;
	background-color: var(--primary-color);
	border-radius: 20px;
	padding: 20px;
	box-shadow: 0px 0px 24px 0px rgba(0, 0, 0, 0.07);
	animation: expmoveobject 3s infinite linear alternate;
}

@keyframes expmoveobject{
	50%{
		right: 80px;
	}
}

.company-experience .icon-box{
	margin-right: 10px;
}

.company-experience .icon-box img{
	width: 100%;
	max-width: 34px;
}

.company-experience-content{
	width: calc(100% - 44px);
	text-align: left;
}

.company-experience-content h3{
	font-size: 30px;
	font-weight: 700;
	color: var(--white-color);
	margin-bottom: 5px;
}

.company-experience-content p{
	color: var(--white-color);
	font-size: 14px;
	text-transform: capitalize;
	margin: 0;
}

.about-us-body{
	display: flex;
	flex-wrap: wrap;
    gap: 30px;
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 40px;
	padding-bottom: 40px;
}

.about-list-item{
	width: calc(50% - 15px);
	display: flex;
	align-items: center;
}

.about-list-item .icon-box{
	margin-right: 10px;
}

.about-list-item .icon-box img{
	max-width: 34px;
}

.about-list-content{
	width: calc(100% - 44px);
}

.about-list-content h3{
	font-size: 20px;
	text-transform: capitalize;
}

.about-us-footer{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.appointment-btn{
	text-align: right;
}

.doctor-info-item{
	display: flex;
	align-items: center;
}

.doctor-info-item .image-box{
	margin-right: 10px;
}

.doctor-info-item .image-box img{
	max-width: 48px;
	border-radius: 100%;
}

.doctor-info-item .doctor-info-content{
	width: calc(100% - 58px);
}

.doctor-info-item .doctor-info-content h3{
	font-size: 20px;
	text-transform: capitalize;
	margin-bottom: 5px;
}

.doctor-info-item .doctor-info-content p{
	margin: 0;
}

/*************************************/
/***      07. Our Services css     ***/
/*************************************/

.our-service{
	padding: 100px 0 70px;
	margin-top: 70px;
}

.service-item{
	position: relative;
	background: var(--white-color);
	border-radius: 20px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 30px 25px;
	overflow: hidden;
}

.service-item:before{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    border-radius: 0px;
    background-color: var(--accent-color);
    transition: all 0.4s ease-in-out;
    height: 100%;
    z-index: 0;
}

.service-item:hover:before{
	top: 0;
}

.service-item .icon-box{
	position: relative;
	background-color: var(--accent-color);
	height: 52px;
	width: 52px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 25px;
	overflow: hidden;
	z-index: 1;
}

.service-item .icon-box::before{
	content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    border-radius: 0px;
    background-color: var(--primary-color);
    transition: all 0.5s ease-in-out;
    height: 100%;
}

.service-item:hover .icon-box::before{
	top: 0;
}

.service-item .icon-box img{
	position: relative;
	z-index: 1;
	max-width: 30px;
}

.service-item .service-body{
	position: relative;
	margin-bottom: 20px;
	z-index: 1;
}

.service-item .service-body h3{
	font-size: 20px;
	font-weight: 600;
	text-transform: capitalize;
	margin-bottom: 15px;
	transition: all 0.5s ease-in-out;
}

.service-item .service-body h3 a{
	color: inherit;
}

.service-item .service-body p{
	margin: 0;
	transition: all 0.5s ease-in-out;
}

.service-item:hover .service-body h3,
.service-item:hover .service-body p{
	color: var(--white-color);
}

.service-item .service-footer{
	position: relative;
	z-index: 1;
}

.service-footer a{
	background-color: var(--accent-color);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
	transition: all 0.3s ease-in-out;
}

.service-item:hover .service-footer a{
	background-color: var(--primary-color);
}

.service-item:hover .service-footer a img{
	max-width: 20px;
	transition: all 0.3s ease-in-out;
}

.service-item:hover .service-footer a:hover img{
	transform: rotate(45deg);
}

.service-cta-item{
	padding: 25px 4.167vw;
	align-content: center;
	text-align: center;
}

.service-cta-item .icon-box{
	margin: 0 auto;
	margin-bottom: 20px;
}

.service-cta-item:hover .service-cta-btn .btn-default:after{
	width: 100%;
}

.service-cta-item:hover .service-cta-btn .btn-default::after{
	transform: skewY(0deg) scaleY(2);
}

.service-item .badge-priority{
	position: absolute;
	top: 24px;
	right: 24px;
	background: var(--yellow-color);
	color: var(--primary-color);
	font-size: 11px;
	font-weight: 700;
	text-transform: capitalize;
	letter-spacing: 0.02em;
	padding: 5px 12px;
	border-radius: 100px;
	z-index: 2;
	transition: all 0.5s ease-in-out;
}

.service-item:hover .badge-priority{
	background: var(--white-color);
}

/*************************************/
/***     08. Why Choose Us css     ***/
/*************************************/

.why-choose-us{
	padding: 100px 0;
}

.why-choose-us .why-choose-us-box{
	position: relative;
}

.why-choose-box-1{
	background-color: var(--secondary-color);
	border-radius: 20px 0 0 20px;
}

.why-choose-box-2{
	background-color: var(--accent-color);
	border-radius: 0 20px 20px 0;
}

.why-choose-image{
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

.why-choose-image img{
	width: 100%;
	max-width: 340px;
	aspect-ratio: 1 / 1.25;
	object-fit: contain;
}

.why-choose-item{
	border-bottom: 1px solid var(--divider-color);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 40px;
}

.why-choose-item:last-child{
	border-bottom: none;
}

.why-choose-item .icon-box{
	background-color: var(--accent-color);
	height: 52px;
	width: 52px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 18px;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

.why-choose-item .icon-box::before{
	content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    border-radius: 8px;
    background-color: var(--primary-color);
	transform: scale(0) rotate(180deg);
    transition: all 0.4s ease-in-out;
    height: 100%;
}

.why-choose-item:hover .icon-box::before{
	transform: scale(1) rotate(0deg);
}

.why-choose-item .icon-box img{
	position: relative;
	max-width: 30px;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.why-choose-content{
	position: relative;
	width: calc(100% - 70px);
	max-width: 300px;
	z-index: 1;
}

.why-choose-content h3{
	font-size: 20px;
	text-transform: capitalize;
	margin-bottom: 10px;
	transition: all 0.3s ease-in-out;
}

.why-choose-content p{
	margin: 0;
	transition: all 0.3s ease-in-out;
}

.why-choose-box-2 .why-choose-item{
	border-color: var(--dark-divider-color);
	flex-direction: row-reverse;
	text-align: right;
}

.why-choose-box-2 .why-choose-item .icon-box{
	background-color: var(--white-color);
	margin-right: 0;
	margin-left: 20px;
}

.why-choose-box-2 .why-choose-item .icon-box img{
	filter: brightness(0);
}

.why-choose-box-2 .why-choose-item:hover .icon-box img{
    filter: brightness(0) invert(1);
}

.why-choose-box-2 .why-choose-content h3,
.why-choose-box-2 .why-choose-content p{
	color: var(--white-color);
}

/*************************************/
/***      09. Our Process css      ***/
/*************************************/

.our-process{
	padding: 100px 0;
}

.our-process-content{
	margin-right: 15px;
}

.our-process-list{
	counter-reset: my-counter;
}

.our-process-item{
	position: relative;
	counter-increment: auto;
	display: flex;
	align-items: center;
	margin-bottom: 60px;
}

.our-process-item:last-child{
	margin-bottom: 0;
}

.our-process-item::before{
	content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
	transform: translate(48px, 80%);
    background: var(--dark-divider-color);
    width: 1px;
    height: 100%;
	z-index: 0;
}

.our-process-item:last-child:before{
	display: none;
}

.our-process-item .icon-box{
	position: relative;
	height: 96px;
	width: 96px;
	margin: 12px 42px 0 0;
}

.our-process-item .icon-box:before{
	counter-increment: my-counter;
    content: "" counter(my-counter);
    position: absolute;
    top: -12px;
    right:  -12px;
	bottom: auto;
    left: auto;
    color: var(--primary-color);
    background: var(--white-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Onset", Sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 2em;
    width: 32px;
    height: 32px;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.our-process-item:hover .icon-box:before{
	background: var(--accent-color);
	color: var(--white-color);
}

.our-process-item .icon-box figure{
	position: relative;
	background: var(--accent-color);
	border-radius: 10px;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.our-process-item .icon-box figure::after{
	content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    border-radius: 8px;
    background-color: var(--white-color);
    transform: scale(0) rotate(180deg);
    transition: all 0.4s ease-in-out;
    height: 100%;
}

.our-process-item:hover .icon-box figure::after{
	transform: scale(1) rotate(0deg);
}

.our-process-item .icon-box img{
	position: relative;
	max-width: 48px;
	z-index: 1;
	transition: all 0.4s ease-in-out;
}

.our-process-item:hover .icon-box img{
	filter: brightness(1) invert(1);
}

.process-item-content{
	width: calc(100% - 138px);
}

.process-item-content h3{
	font-size: 20px;
	text-transform: capitalize;
	color: var(--white-color);
	margin-bottom: 10px;
}

.process-item-content p{
	color: var(--white-color);
	margin: 0;
}

/*************************************/
/***       10. Case Study css      ***/
/*************************************/

.case-study{
	padding: 100px 0 60px;
}

.case-study-item{
	height: calc(100% - 40px);
	margin-bottom: 40px;
}

.case-study-image{
	position: relative;
	border-radius: 20px;
	margin-bottom: 20px;
	overflow: hidden;
}

.case-study-image::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
	transform: scale(0);
    background: var(--primary-color);
	border-radius: 20px;
	opacity: 40%;
    width: 100%;
    height: 100%;
	transition: all 0.4s ease-in-out;
    z-index: 1;
}

.case-study-item:hover .case-study-image::before{
	transform: scale(1);
}

.case-study-image figure{
	display: block;
}

.case-study-image figure img{
	width: 100%;
	aspect-ratio: 1 / 0.77;
	object-fit: cover;
	border-radius: 20px;
	transition: all 0.4s ease-in-out;
}

.case-study-item:hover .case-study-image figure img{
	transform: scale(1.1);
}

.case-study-btn{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0);
	opacity: 0;
	visibility: hidden;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.case-study-item:hover .case-study-btn{
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, -50%) scale(1);
}

.case-study-btn a{
	background: var(--accent-color);
	border-radius: 50%;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.4s ease-in-out;
}

.case-study-btn a:hover{
	background: var(--primary-color);
}

.case-study-btn a img{
	width: 100%;
	max-width: 24px;
	transition: 0.4s ease-in-out;
}

.case-study-btn a:hover img{
	transform: rotate(45deg);
}

.case-study-content h2{
	font-size: 20px;
	line-height: 1.4em;
}

.case-study-content h2 a{
	color: inherit;
}

/*************************************/
/***        11. CTA Box css 	   ***/
/*************************************/

.cta-box{
	padding: 100px 0;
}

.cta-box-content{
	width: 100%;
	max-width: 870px;
	margin: 0 auto;
	text-align: center;
	margin-bottom: 30px;
}

.cta-box-list ul{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px 30px;
}

.cta-box-list ul li{
	position: relative;
	text-transform: capitalize;
	line-height: 1.4em;
	padding-left: 30px;
}

.cta-box-list ul li::before{
    content: '\f058';
    font-family: 'Font Awesome 6 Free';
    position: absolute;
    top: 0;
    left: 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--accent-color);
}

.cta-box-btn{
	position: relative;
	margin-top: 40px;
}

.cta-box-btn::before{
	content: '';
	position: absolute;
	right: 18%;
	bottom: 0;
	top: -15px;
	background-position: center center;
	background-size: cover;
	width: 107px;
	height: 66px;
	animation: ctaarrow 3s infinite linear;
}

@keyframes ctaarrow{
	50%{
		right: 21%;
	}
}

.cta-box-image{
	text-align: center;
}

.cta-box-image img{
	width: 100%;
	max-width: 910px;
	margin: 0 auto;
	aspect-ratio: 1 / 0.5461;
	object-fit: cover;
}

/*************************************/
/***    12. Our Specialized css    ***/
/*************************************/

.our-specialized{
	padding: 100px 0;
}

.specialized-content .section-title{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 40px;
	margin-bottom: 40px;
}

.specialized-list-box{
	margin-bottom: 30px;
}

.specialized-list-box:last-child{
	margin-bottom: 0;
}

.specialized-list-title{
	margin-bottom: 20px;
}

.specialized-list-title h3{
	position: relative;
	font-size: 20px;
	padding-left: 30px;
}

.specialized-list-title h3::before{
	content: '\f058';
	position: absolute;
	font-family: 'FontAwesome';
	left: 0;
	top: 0;
	font-size: 18px;
	color: var(--accent-color);
}

.specialized-list-content p{
	margin: 0;
}

.specialized-image{
	position: relative;
	background: url('../images/specialized-image-bg.png') no-repeat;
	background-position: center center;
	background-size: auto;
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	gap: 30px;
}

.specialized-img-1{
	width: calc(50% - 15px);
}

.specialized-img-2{
	padding-top: 165px;
	width: calc(50% - 15px);
}

.specialized-img-1 img figure,
.specialized-img-2 img figure{
	display: block;
	border-radius: 20px;
}

.specialized-img-1 img,
.specialized-img-2 img{
	aspect-ratio: 1 / 1.29;
	object-fit: cover;
	border-radius: 20px;
}

.expert-doctor{
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--white-color);
	box-shadow: 10px 0px 36.8px -4px #0000001A;
	border: 1px solid var(--divider-color);
	border-radius: 15px;
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 250px;
	padding: 20px;
	animation: doctormoveobject 3s infinite linear alternate;
}

@keyframes doctormoveobject{
	50%{
		left: 40px;
	}
}

.expert-doctor .icon-box{
	background-color: var(--accent-color);
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 20px;
    transition: all 0.3s ease-in-out;
}

.expert-doctor:hover .icon-box{
	background-color: var(--primary-color);
}

.expert-doctor .icon-box img{
	max-width: 30px;
}

.expert-doctor-content{
	width: calc(100% - 80px);
}

.expert-doctor-content h3{
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 5px;
}

.expert-doctor-content p{
	text-transform: capitalize;
	margin: 0;
}

/*************************************/
/***    13. Our Testimonials css   ***/
/*************************************/

.our-testimonials{
	background: var(--primary-color);
	padding: 100px 0;
}

.our-testimonials .section-title h3::before{
	background: var(--white-color);
}

.testimonial-slider .swiper-wrapper{
	cursor: none;
}

.testimonial-item{
	background-color: var(--white-color);
	border-radius: 20px;
	padding: 50px;
}

.testimonial-quote,
.testimonial-content{
	margin-bottom: 30px;
}

.testimonial-quote img{
	max-width: 48px;
}

.testimonial-content p{
	margin: 0;
}

.testimonial-author{
    display: inline-flex;
    align-items: center;
}

.author-image{
    margin-right: 15px;
}

.author-image img{
    width: 54px;
    height: 54px;
    border-radius: 14px;
}

.avatar-initial{
	width: 54px;
	height: 54px;
	border-radius: 14px;
	background: var(--accent-color);
	color: var(--white-color);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--accent-font);
	font-size: 18px;
	font-weight: 600;
}

.author-content h3{
	font-size: 20px;
	text-transform: capitalize;
	margin-bottom: 5px;
}

.author-content p{
	text-transform: capitalize;
	margin: 0;
}

.testimonial-btn{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 50px;
}

.testimonial-slider .testimonial-button-next,
.testimonial-slider .testimonial-button-prev{
	position: relative;
	width: 40px;
	height: 40px;
	box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);
	border: 2px solid var(--white-color);
	border-radius: 50%;
	transition: all 0.4s ease-in-out;	
}

.testimonial-slider .testimonial-button-next{
	margin-left: 15px;
}

.testimonial-slider .testimonial-button-next:hover,
.testimonial-slider .testimonial-button-prev:hover{
	background-color: var(--white-color);
}

.testimonial-slider .testimonial-button-next::before,
.testimonial-slider .testimonial-button-prev::before{
	content: '';
	position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
	background: url('../images/arrow-white.svg') no-repeat;
	background-position: center center;
	background-size: 20px auto;
	transform: rotate(45deg);
    transition: all 0.3s ease-in-out;
}

.testimonial-slider .testimonial-button-next:hover::before,
.testimonial-slider .testimonial-button-prev:hover::before{
	filter: brightness(0) invert(0);
}

.testimonial-slider .testimonial-button-prev::before{
	transform: rotate(-135deg);
}

.testimonial-slider .testimonial-button-next:hover:before,
.testimonial-slider .testimonial-button-prev:hover:before{
	color: var(--white-color);
}


/*************************************/
/***        14. Our Team css       ***/
/*************************************/

.our-team{
	padding: 100px 0 70px;
}

.team-item{
	position: relative;
	height: calc(100% - 30px);
    margin-bottom: 30px;
    overflow: hidden;
}

.team-image a{
    display: block;
	cursor: none;
	border-radius: 20px;
	overflow: hidden;
}

.team-image figure:before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
	background: linear-gradient(180deg, rgba(4, 20, 36, 0.00) 51.52%, rgba(4, 20, 36, 0.80) 83.37%);
    width: 100%;
    height: 100%;
    z-index: 1;
}

.team-image img{
    width: 100%;
    aspect-ratio: 1 / 1.359;
    object-fit: cover;
	transition: all 0.4s ease-in-out;
}

.team-item:hover .team-image img{
	transform: scale(1.1);
}

.team-body{
    position: absolute;
    right: 30px;
    bottom: 30px;
    left: 30px;
    transform: translateY(30px);
    text-align: center;
    transition: all 0.4s ease-in-out;
    z-index: 1;
}

.team-item:hover .team-body{
    transform: translateY(0);
}

.team-content p{
	font-weight: 500;
	color: var(--white-color);
	text-transform: capitalize;
	margin-bottom: 10px;
}

.team-content h3{
	font-size: 20px;
	text-transform: capitalize;
	color: var(--white-color);
}

.team-content h3 a{
	color: inherit;
}

.team-social-list{
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
}

.team-item:hover .team-social-list{
    margin-top: 20px;
    opacity: 1;
    visibility: visible;
}

.team-social-list ul{
	display: flex;
	justify-content: center;
	gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.team-social-list ul li a{
	width: 30px;
	height: 30px;
	color: var(--primary-color);
	background: var(--white-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease-in-out;
}

.team-social-list ul li:hover a{
	background: var(--accent-color);
	color: var(--white-color);
}

.team-social-list ul li a i{
    font-size: 14px;
    color: inherit;
}

/*************************************/
/***       15. Our FAQ's css       ***/
/*************************************/

.our-faqs{
	padding: 100px 0;
}

.faqs-images{
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: 30px;
	margin-right: 20px;
}

.faqs-img-1{
	width: calc(47% - 15px);
}

.faqs-img-2{
	width: calc(53% - 15px);
}

.faqs-img-1 figure,
.faqs-img-2 figure{
	display: block;
	border-radius: 20px;
	overflow: hidden;
}

.faqs-img-1 figure img,
.faqs-img-2 figure img{
	width: 100%;
	object-fit: cover;
	border-radius: 20px;
}

.faqs-img-1 figure img{
	aspect-ratio: 1 / 1.263;
}

.faqs-img-2 figure img{
	aspect-ratio: 1 / 1.585;
}

.need-help-box{
	position: relative;
	background-color: var(--accent-color);
	border-radius: 20px;
	display: flex;
	align-items: center;
	padding: 20px;
	overflow: hidden;
	margin-top: 30px;
}

.need-help-box::before{
	content: '';
    position: absolute;
    right: 0;
	left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: var(--primary-color);
	z-index: 0;
    transition: all 0.4s ease-in-out;
}

.need-help-box:hover::before{
    height: 100%;
}

.need-help-box .icon-box{
	position: relative;
	margin-right: 15px;
	z-index: 1;
}

.need-help-box .icon-box img{
	width: 100%;
	max-width: 40px;
}

.need-help-content{
	position: relative;
	width: calc(100% - 55px);
	z-index: 1;
}

.need-help-content p{
	line-height: normal;
	color: var(--white-color);
	text-transform: capitalize;
	margin: 0;
}

.faq-accordion .accordion-item{
	position: relative;
    background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	margin-bottom: 24px;
    padding: 0;
	box-shadow: 0 10px 30px rgba(11,10,9,0.05);
	transition: all 0.3s ease-in-out;
	overflow: hidden;
}

.faq-accordion .accordion-item:last-child{
	margin-bottom: 0;
}

.faq-accordion .accordion-header .accordion-button{
	font-size: 20px;
	font-weight: 600;
	line-height: normal;
	background: var(--white-color);
	border-bottom: 1px solid var(--divider-color);
	color: var(--primary-color);
	padding: 20px 56px 20px 20px;
	transition: all 0.3s ease-in-out;
}

.faq-accordion .accordion-header .accordion-button.collapsed{
	color: var(--primary-color);
	background: transparent;
	border-bottom-color: transparent;
}

.faq-accordion .accordion-item .accordion-button::after,
.faq-accordion .accordion-item .accordion-button.collapsed::after{
	content: '\f068';
	font-family: "FontAwesome";
	position: absolute;
	right: 16px;
	top: 50%;
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--secondary-color);
	transform: translateY(-50%);
	font-size: 13px;
	font-weight: 900;
    color: var(--primary-color);
	transition: all 0.3s ease-in-out;
}

.faq-accordion .accordion-item .accordion-button.collapsed::after{
	content: '\2b';
	color: var(--primary-color);
}

.faq-accordion .accordion-item .accordion-body{
	background: var(--white-color);
	padding: 4px 56px 24px 20px;
}

.faq-accordion .accordion-item .accordion-body p{
    color: var(--text-color);
	margin: 0;
}

/*************************************/
/***        16. Our Blog css       ***/
/*************************************/

.our-blog{
	padding: 100px 0 70px;
}

.post-item{
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

.post-featured-image{
	margin-bottom: 25px;
}

.post-featured-image a{
    cursor: none;	
    display: block;
	border-radius: 20px;
    overflow: hidden;
}

.post-featured-image figure{
	display: block;
}

.post-featured-image img{
    aspect-ratio: 1 / 0.71;
    object-fit: cover;
    transition: all 0.5s ease-in-out;
}

.post-item:hover .post-featured-image img{
	transform: scale(1.1);
}

.post-item-content{
	margin-bottom: 20px;
}

.post-item-content h2{
    font-size: 18px;
	line-height: 1.4em;
}

.post-item-content h2 a{
	display: inline-block;
    color: inherit;
}

/*************************************/
/***        17. Footer css         ***/
/*************************************/

.main-footer{
	background-color: var(--primary-color);
	padding: 100px 0 0;
	margin-bottom: 50px;
}

.about-footer{
	margin-right: 30px;
}

.footer-logo{
	margin-bottom: 60px;
}

.footer-logo img{
	width: 100%;
	max-width: 130px;
}

.about-footer-content p{
	color: var(--white-color);
	margin-bottom: 0;
}

.footer-links h3{
	font-size: 20px;
	color: var(--white-color);
	text-transform: capitalize;
	margin-bottom: 20px;
}

.footer-links ul{
    list-style: disc;
    margin: 0;
    padding-left: 20px;
}

.footer-links ul li{
    color: var(--white-color);
	line-height: 1.6em;
	text-transform: capitalize;
	margin-bottom: 15px;
}

.footer-links ul li:last-child{
	margin-bottom: 0;
}

.footer-links ul li::marker{
    color: var(--accent-color);
	transition: all 0.3s ease-in-out;
}

.footer-links ul li:hover::marker{
	color: var(--white-color);
}

.footer-links ul li a{
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.footer-links ul li a:hover{
    color: var(--accent-color);
}

.footer-contact-item{
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}

.footer-contact-item:last-child{
	margin-bottom: 0;
}

.footer-contact-item .icon-box{
	position: relative;
	height: 40px;
	width: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--accent-color);
	border-radius: 10px;
	margin-right: 10px;
	overflow: hidden;
}

.footer-contact-item .icon-box::before{
	content: '';
    position: absolute;
    left: 0;
    top: 0;
	right: 0;
    bottom: 0;
    background-color: var(--white-color);
	border-radius: 10px;
	transform: scale(0);
    width: 100%;
    height: 100%;
	transition: all 0.3s ease-in-out;
}

.footer-contact-item:hover .icon-box::before{
	transform: scale(1) rotate(180deg);
}

.footer-contact-item .icon-box img{
	position: relative;
	max-width: 20px;
	transition: all 0.3s ease-in-out;
	z-index: 1;
}

.footer-contact-item:hover .icon-box img{
	filter: brightness(0) invert(0);
}

.footer-contact-content{
	width: calc(100% - 50px);
}

.footer-contact-content p{
	color: var(--white-color);
	margin: 0;
}

.footer-contact-content p a{
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.footer-contact-content p a:hover{
	color: var(--accent-color);
}

.footer-social-link{
	display: flex;
    align-items: center;
	justify-content: space-between;
	margin-top: 60px;
}

.footer-social-link hr{
	height: 1px;
    width: 45%;
    color: var(--dark-divider-color);
	opacity: 1;
}

.footer-social-link ul{
	display: flex;
    justify-content: center;
	text-align: center;
	list-style: none;
	margin: 0 20px;
	padding: 0;
}

.footer-social-link ul li{
	display: inline-block;
	margin-right: 20px;
}

.footer-social-link ul li:last-child{
	margin: 0;
}

.footer-social-link ul li a{
	position: relative;
	height: 40px;
	width: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--accent-color);
	border-radius: 10px;
	overflow: hidden;
}

.footer-social-link ul li a::before{
	content: '';
    position: absolute;
    left: 0;
    top: 0;
	right: 0;
    bottom: 0;
    background-color: var(--white-color);
	border-radius: 10px;
	transform: scale(0);
    width: 100%;
    height: 100%;
	transition: all 0.3s ease-in-out;
}

.footer-social-link ul li:hover a::before{
	transform: scale(1) rotate(180deg);
}

.footer-social-link ul li a i{
	position: relative;
	font-size: 20px;
	color: var(--white-color);
	transition: all 0.3s ease-in-out;	
	z-index: 1;
}

.footer-social-link ul li a:hover i{
	color: var(--primary-color);
}

.footer-copyright{
	padding: 30px 0 60px;
}

.footer-copyright-text p{
	color: var(--white-color);
	margin: 0;
}

.footer-terms-condition ul{
	display: flex;
	justify-content: end;
	gap: 30px;
	list-style: disc;
	margin: 0;
	padding-left: 0;
}

.footer-terms-condition ul li::marker{
	color: var(--accent-color);
}

.footer-terms-condition ul li:first-child::marker{
	font-size: 0;
}

.footer-terms-condition ul li a{
	color: var(--white-color);
	line-height: 1.6em;
	text-transform: capitalize;
	transition: all 0.3s ease-in-out;
}

.footer-terms-condition ul li:hover a{
	color: var(--accent-color);
}

/*************************************/
/***     18. About Us Page css     ***/
/*************************************/

.page-header{
    position: relative;
	background-color: var(--primary-color);
	background-image:
		linear-gradient(180deg, rgba(11,10,9,0.82) 0%, rgba(11,10,9,0.72) 50%, rgba(11,10,9,0.88) 100%),
		url('../images/title-banner.webp');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 262px 0 150px;
}

.page-header-box{
	position: relative;
	text-align: center;
	z-index: 1;
}

.page-header-box h1{
	display: inline-block;
    font-size: 38px;
    font-weight: 400;
    line-height: 1.2em;
	letter-spacing: -0.02em;
    color: var(--white-color);
	text-align: center;
    margin-bottom: 15px;
    cursor: none;
}

.page-header-box ol{
	justify-content: center;
	margin: 0;
	padding: 0;
}

.page-header-box ol li.breadcrumb-item{
    font-weight: 500;
	text-transform: capitalize;
	color: var(--white-color);
}

.page-header-box ol li.breadcrumb-item.active{
	color: var(--white-color);
}

.page-header-box ol li.breadcrumb-item a{
    color: inherit;
}

.page-header-box ol .breadcrumb-item+.breadcrumb-item::before{
    color: var(--white-color);
}

.our-approach{
	padding: 100px 0;
}

.our-approach-content{
	position: sticky;
	top: 30px;
}

.mission-vision-item{
	position: relative;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
    border-radius: 20px;
    padding: 30px;
	margin-bottom: 30px;
    overflow: hidden;
}

.mission-vision-item:last-child{
	margin-bottom: 0;
}

.mission-vision-item::before{
	content: '';
    position: absolute;
	top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--accent-color);
    height: 0;
    width: 100%;
	transition: all 0.4s ease-in-out;
}

.mission-vision-item.active::before,
.mission-vision-item:hover::before{
	top: 0;
	height: 100%;
}

.mission-vision-header,
.mission-vision-content{
	position: relative;
	z-index: 1;
}

.mission-vision-header{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 30px;
	margin-bottom: 20px;
}

.mission-vision-header .icon-box img{
	width: 100%;
	max-width: 40px;
	transition: all 0.4s ease-in-out;
}

.mission-vision-item.active .icon-box img,
.mission-vision-item:hover .icon-box img{
	filter: brightness(0) invert(1);
}

.mission-vision-title{
	width: calc(100% - 70px);
}

.mission-vision-title h3{
	font-size: 20px;
	text-transform: capitalize;
	transition: all 0.4s ease-in-out;
}

.mission-vision-content p{
	margin: 0;
	transition: all 0.4s ease-in-out;
}

.mission-vision-item.active .mission-vision-title h3,
.mission-vision-item:hover .mission-vision-title h3,
.mission-vision-item.active .mission-vision-content p,
.mission-vision-item:hover .mission-vision-content p{
	color: var(--white-color);
}

.our-innovation{
    padding: 100px 0;
}

.our-innovation-content{
    margin-right: 30px;
}

.skills-progress-bar{
    margin-bottom: 40px;
}

.skills-progress-bar:last-child{
    margin-bottom: 0px;
}

.skills-progress-bar .skill-data{
	display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}

.skills-progress-bar .skill-data .skill-title,
.skills-progress-bar .skill-data .skill-no{
	font-size: 20px;
	font-weight: 600;
	line-height: normal;
	text-transform: capitalize;
    color: var(--primary-color);
}

.skills-progress-bar .skill-data .skill-title{
	font-family: var(--accent-font);
}

.skills-progress-bar .skillbar .skill-progress{
	position: relative;
	width: 100%;
	height: 16px;
	background: var(--secondary-color);
	border-radius: 100px;
    overflow: hidden;
}

.skills-progress-bar .skillbar .skill-progress .count-bar{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	background: var(--accent-color);
	border-radius: 100px;
}

.our-innovation-image{
    position: relative;
    padding: 0 55px 75px 0;
}

.our-innovation-img-1 figure,
.our-innovation-img-2 figure{
    display: block;
    border-radius: 50%;
}

.our-innovation-img-1 img,
.our-innovation-img-2 img{
    width: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.our-innovation-img-1 img{
    aspect-ratio: 1 / 1.0177;
}

.our-innovation-img-2{
    max-width: 270px;
    position: absolute;
    right: 0;
    bottom: 0;
    border: 10px solid var(--white-color);
    border-radius: 50%;
    z-index: 1; 
}

.customer-review-box{
    position: absolute;
    bottom: 100px;
    left: 0;
    display: flex;
    align-items: center;
    width: 260px;
    background-color: var(--white-color);
    border-radius: 10px;
    padding: 15px 20px;
	box-shadow: -8px 8px 40px 0px rgba(0, 0, 0, 0.05);
    z-index: 1; 
}

.customer-review-box .icon-box{
    margin-right: 15px;
}

.customer-review-box .icon-box i{
    color: var(--accent-color);
    font-size: 35px;
}

.customer-review-box-content{
    width: calc(100% - 50px);
}

.customer-review-box-content h2{
    font-size: 20px;
	font-weight: 400;
    margin-bottom: 5px;
}

.customer-review-box-content p{
    text-transform: capitalize;
    margin: 0;
}

.our-expertise{
	padding: 100px 0;
}

.our-expertise-content{
	margin-right: 20px;
}

.our-expertise-body{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 30px;
}

.expertise-item-box{
	width: calc(50% - 15px);
}

.expertise-item{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

.expertise-item:last-child{
	margin-bottom: 0;
}

.expertise-item .icon-box{
	position: relative;
	background: var(--accent-color);
	border-radius: 10px;
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 20px;
	transition: all 0.3s ease-in-out;
	overflow: hidden;
	z-index: 1;
}

.expertise-item .icon-box::before{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--primary-color);
	border-radius: 10px;
	transform: scale(0) rotate(180deg);
	transition: all 0.4s ease-in-out;
}

.expertise-item:hover .icon-box::before{
	transform: scale(1) rotate(0deg);
}

.expertise-item .icon-box img{
	position: relative;
	width: 100px;
	max-width: 34px;
	z-index: 1;
}

.expertise-item-content{
	width: calc(100% - 80px);
}

.expertise-item-content h3{
	font-size: 20px;
	text-transform: capitalize;
	margin-bottom: 5px;
}

.expertise-item-content p{
	margin: 0;
}

.expertise-counter-box{
	width: calc(50% - 15px);
	background: var(--accent-color);
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	padding: 30px 25px;
}

.expertise-counter-content{
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}

.expertise-counter-content h2{
	width: 100px;
	font-size: 46px;
	font-weight: 600;
	color: var(--white-color);
	margin-right: 5px;
}

.expertise-counter-content p{
	color: var(--white-color);
	width: calc(100% - 100px);
	margin: 0;
}

.expertise-counter-list ul{
	list-style: none;
	padding: 0;
	margin: 0;
}

.expertise-counter-list ul li{
	position: relative;
    text-transform: capitalize;
	color: var(--white-color);
    line-height: 1.4em;
    padding-left: 30px;
    margin-bottom: 15px;
}

.expertise-counter-list ul li:last-child{
	margin-bottom: 0;
}

.expertise-counter-list ul li::before{
	content: '\f058';
    font-family: 'Font Awesome 6 Free';
    position: absolute;
    font-size: 18px;
    font-weight: 900;
	color: var(--white-color);
	top: 0;
	left: 0;
}

.our-expertise-image{
	position: relative;
}

.our-expertise-image figure{
	display: block;
	border-radius: 20px;
}

.our-expertise-image figure img{
	width: 100%;
	aspect-ratio: 1 / 0.99;
	object-fit: cover;
	border-radius: 20px;
}

.expertise-contact-box{
	position: absolute;
	bottom: 30px;
	left: 30px;
	right: 30px;
	width: 100%;
	max-width: 330px;
	background: var(--primary-color);
    border-radius: 20px;
	display: flex;
	align-items: center;
    padding: 20px;
    transition: all 0.3s ease-in-out;
}

.expertise-contact-box:hover{
	background-position: right center;
}

.expertise-contact-box .icon-box{
	position: relative;
	background: var(--accent-color);
	border-radius: 10px;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 20px;
	overflow: hidden;
}

.expertise-contact-box .icon-box::before{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--white-color);
	border-radius: 10px;
	transform: scale(0) rotate(180deg);
	transition: all 0.4s ease-in-out;
}

.expertise-contact-box:hover .icon-box::before{
	transform: scale(1) rotate(0deg);
}

.expertise-contact-box .icon-box img{
	position: relative;
	width: 100%;
	max-width: 30px;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.expertise-contact-box:hover .icon-box img{
	filter: brightness(0) invert(0);
}

.expertise-contact-content{
	width: calc(100% - 70px);
}

.expertise-contact-content h3{
	font-size: 20px;
	color: var(--white-color);
	margin-bottom: 10px;
}

.expertise-contact-content p{
	margin: 0;
	color: var(--white-color);
}

.expertise-contact-content p a{
	color: inherit;
	transition: all 0.2s ease-in-out;
}

.expertise-contact-content p a:hover{
	color: var(--accent-color);
}

/************************************/
/*** 	 19. Services Page css	  ***/
/************************************/

.page-services{
	padding: 100px 0 70px;
}

.page-services .service-item{
	border: 1px solid var(--divider-color);
}

/************************************/
/*** 	 20. Service Single css	  ***/
/************************************/

.page-service-single{
	padding: 100px 0;
}

.page-single-sidebar{
	position: sticky;
	top: 30px;
	margin-right: 15px;
}

.page-category-list{
	background: var(--secondary-color);
	border-radius: 20px;
    margin-bottom: 60px;
	overflow: hidden;
}

.page-category-list h3{
    font-size: 20px;
    color: var(--white-color);
    text-transform: capitalize;
	background: var(--primary-color);
    padding: 25px 40px;
}

.page-category-list ul{
    list-style: none;
    margin: 0;
    padding: 30px 40px;
}

.page-category-list ul li{
	line-height: 1.5em;
	font-weight: 500;
    border-bottom: 1px solid var(--divider-color);
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.page-category-list ul li:last-child{
    margin: 0;
    padding: 0;
    border-bottom: none;
}

.page-category-list ul li a{
    position: relative;
    display: block;
    text-transform: capitalize;
    color: var(--text-color);
    padding-right: 25px;
    transition: all 0.4s ease-in-out;
}

.page-category-list ul li:hover a{
    color: var(--primary-color);
}

.page-category-list ul li.active a{
    color: var(--accent-color-dark);
    font-weight: 700;
}

.page-category-list ul li a::before{
	content: '';
    position: absolute;
    top: 2px;
    right: 0;
	background: url('../images/arrow-primary.svg') no-repeat;
	background-size: cover;
	background-position: right center;
    width: 20px;
    height: 20px;
	transition: all 0.4s ease-in-out;
}

.sidebar-cta-box{
	position: relative;
	background: url('../images/sidebar-cta-bg.jpg') no-repeat;
	background-position: center center;
	background-size: cover;
	border-radius: 20px;
	padding: 30px;
    overflow: hidden;
}

.sidebar-cta-box:before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
    background: var(--primary-color);
	opacity: 60%;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.sidebar-cta-content{
	position: relative;
	z-index: 1;
}

.sidebar-cta-content P{
	color: var(--white-color);
	margin-bottom: 20px;
}

.page-single-image{
    margin-bottom: 40px;
}

.page-single-image figure{
    display: block;
    border-radius: 20px;
}

.page-single-image img{
    width: 100%;
    aspect-ratio: 1 / 0.581;
    object-fit: cover;
    border-radius: 20px;
}

.service-entry{
    margin-bottom: 60px;
}

.service-entry p{
    margin-bottom: 20px;
}

.service-entry p:last-child{
    margin-bottom: 0;
}

.service-entry h2{
	font-size: 46px;
    font-weight: 400;
    letter-spacing: -0.02em;
	margin-bottom: 20px;
}

.service-entry ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

.service-entry ul li{
	position: relative;
	line-height: 1.5em;
	padding-left: 30px;
	margin-bottom: 15px;
}

.service-entry ul li:last-child{
	margin-bottom: 0;
}

.service-entry ul li::before{
	content: '\f058';
	font-family: 'Font Awesome 6 Free';
	position: absolute;
	top: 0;
	left: 0;
	font-size: 18px;
	font-weight: 900;
	color: var(--accent-color);
}

.service-discover-box,
.service-result-box,
.service-partnership-box{
	margin-top: 60px;
}

.service-discover-list{
	margin-top: 40px;
}

.service-discover-list ul{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.service-discover-list ul li{
	width: calc(50% - 15px);
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	padding: 20px 15px 20px 45px;
	margin: 0;
}

.service-discover-list ul li::before{
	top: 20px;
	left: 20px;
}

.service-discover-image-content{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 30px;
	margin-top: 40px;
}

.service-discover-image,
.service-discover-content{
	width: calc(50% - 15px);
}

.service-discover-image figure{
	display: block;
	border-radius: 20px;
}

.service-discover-image img{
	width: 100%;
	aspect-ratio: 1 / 0.84;
	object-fit: cover;
	border-radius: 20px;
}

.service-discover-content .why-choose-item{
	align-items: start;
	padding: 0 0 20px;
	margin-bottom: 20px;
}

.service-discover-content .why-choose-item:last-child{
	border: none;
	padding: 0;
	margin: 0;
}

.service-discover-content .why-choose-item .why-choose-content{
	max-width: 100%;
}

.service-result-box ul{
	margin-top: 40px;
}

.service-result-list{
	background: var(--secondary-color);
	border-radius: 20px;
	margin-top: 40px;
	padding: 40px;
}

.service-result-item{
	display: flex;
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 40px;
	padding-bottom: 40px;
}	

.service-result-item:last-child{
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.service-result-item .icon-box{
	position: relative;
	width: 60px;
	height: 60px;
	background: var(--accent-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 20px;
	overflow: hidden;
	transition: all 0.4s ease-in-out;
}

.service-result-item:hover .icon-box{
	background: var(--primary-color);
}

.service-result-item .icon-box img{
	width: 100%;
	max-width: 30px;
}

.service-result-content{
	width: calc(100% - 80px);
}

.service-result-content h3{
	font-size: 20px;
	margin-bottom: 10px;
}

.service-result-content p{
	margin-bottom: 0;
}

/* Hub-and-spoke feature diagram (Why Us) */
.hub-diagram-wrap{
	margin-top: 0;
}

.hub-diagram{
	display: grid;
	grid-template-columns: 1fr 90px 200px 90px 1fr;
	align-items: center;
	margin-top: 50px;
}

.hub-col{
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.hub-card{
	min-height: 150px;
	background: var(--secondary-color);
	border-radius: 20px;
	padding: 24px 26px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.hub-card.is-visible{
	opacity: 1;
	transform: translateY(0);
}

.hub-card-icon{
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--primary-color);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 14px;
	flex: none;
}

.hub-card-icon img{
	max-width: 20px;
}

.hub-card h3{
	font-size: 17px;
	margin-bottom: 8px;
}

.hub-card p{
	font-size: 14px;
	margin-bottom: 0;
	color: var(--text-color);
}

.hub-lines{
	overflow: visible;
	justify-self: center;
}

.hub-line-path{
	fill: none;
	stroke: var(--accent-color);
	stroke-width: 1.5;
	stroke-linecap: round;
	opacity: 0.7;
}

.hub-line-path.is-flowing{
	animation: hubFlow 3s ease-in-out infinite;
}

@keyframes hubFlow{
	0%{ stroke-dashoffset: var(--len); }
	50%{ stroke-dashoffset: 0; }
	100%{ stroke-dashoffset: calc(var(--len) * -1); }
}

.hub-dot{
	fill: var(--accent-color);
}

.hub-center{
	grid-column: 3;
	justify-self: center;
	position: relative;
	z-index: 1;
	width: 170px;
	height: 170px;
	background: var(--white-color);
	border-radius: 32px;
	box-shadow: 0 10px 30px rgba(11,10,9,0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px;
	opacity: 0;
	transform: scale(0.85);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.hub-center.is-visible{
	opacity: 1;
	transform: scale(1);
}

.hub-center img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.service-partnership-content{
	margin-top: 40px;
}

.service-partnership-image{
	margin-top: 40px;
}

.service-partnership-image figure{
	display: block;
	border-radius: 20px;
}

.service-partnership-image img{
	width: 100%;
	aspect-ratio: 1 / 0.395;
	object-fit: cover;
	border-radius: 20px;
}

.page-single-faqs .faq-accordion{
	margin: 0;
}

.page-single-faqs .faq-accordion .accordion-header .accordion-button{
	background: var(--accent-color);
}

.page-single-faqs .faq-accordion .accordion-header .accordion-button.collapsed{
	background: var(--secondary-color);
}

/************************************/
/*** 	 21. Blog Archive css	  ***/
/************************************/

.page-blog{
	padding: 100px 0;
}

.page-blog .post-item{
	height: calc(100% - 40px);
	margin-bottom: 40px;
}

.page-pagination{
    margin-top: 30px;
    text-align: center;
}

.page-pagination ul{
    justify-content: center;
    padding: 0;
    margin: 0;
}

.page-pagination ul li a,
.page-pagination ul li span{
    display: flex;
    text-decoration: none;
    justify-content: center;
    align-items: center;
    background: var(--secondary-color);
    color: var(--primary-color);
	border-radius: 10px;
    width: 40px;
    height: 40px;
    margin: 0 5px;
    font-weight: 600;
	line-height: 1em;
    transition: all 0.3s ease-in-out;
}

.page-pagination ul li.active a, 
.page-pagination ul li a:hover{
    background: var(--primary-color);
    color: var(--white-color);
}

/************************************/
/*** 	  22. Blog Single css	  ***/
/************************************/

.page-single-post{
	padding: 100px 0;
}

.post-single-meta{
	margin-top: 5px;
}

.post-single-meta ol li{
	font-size: 18px;
	color: var(--white-color);
	margin-right: 15px;
}

.post-single-meta ol li:last-child{
	margin-right: 0;
}

.post-single-meta ol li i{
    font-size: 18px;
    color: var(--white-color);
    margin-right: 5px;
}

.post-image{
	position: relative;
	margin-bottom: 30px;
}

.post-image figure{
	display: block;	
	border-radius: 20px;
	overflow: hidden;
}

.post-image img{
	width: 100%;
	aspect-ratio: 1 / 0.50;
	object-fit: cover;
	border-radius: 20px;
}

.post-content{
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.post-entry{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 30px;
    margin-bottom: 30px;
}

.post-entry:after{
    content: '';
    display: block;
    clear: both;
}

.post-entry a{
    color: var(--accent-color);
}

.post-entry h1,
.post-entry h2,
.post-entry h3,
.post-entry h4,
.post-entry h5,
.post-entry h6{
	font-weight: 600;
	line-height: 1.2em;
	margin: 0 0 0.435em;
}

.post-entry h1{
	font-size: 60px;
    font-weight: 400;
    letter-spacing: -0.02em;
}

.post-entry h2{
	font-size: 46px;
    font-weight: 400;
    letter-spacing: -0.02em;
}

.post-entry h3{
	font-size: 40px;
}

.post-entry h4{
	font-size: 30px;
}

.post-entry h5{
	font-size: 24px;
}

.post-entry h6{
	font-size: 20px;
}

.post-entry p{
	margin-bottom: 20px;
}

.post-entry p:last-child{
	margin-bottom: 0;
}

.post-entry p strong{
	color: var(--primary-color);
	font-size: 18px;
	font-weight: 600;
}

.post-entry ol{
    margin: 0 0 30px;
}

.post-entry ul{
	padding: 0;
	margin: 20px 0 20px;
	padding-left: 20px;
}

.post-entry ol li,
.post-entry ul li{
    position: relative;
	font-size: 16px;
    font-weight: 500;
    line-height: 1.6em;
    color: var(--text-color);
    margin-bottom: 15px;
}

.post-entry ul li:last-child{
	margin-bottom: 0;
}

.post-entry ul ul,
.post-entry ul ol,
.post-entry ol ol,
.post-entry ol ul{
    margin-top: 20px;
    margin-bottom: 0;
}

.post-entry ul ul li:last-child,
.post-entry ul ol li:last-child,
.post-entry ol ol li:last-child,
.post-entry ol ul li:last-child{
    margin-bottom: 0;
}

.post-entry blockquote{
	background: url('../images/icon-blockquote.svg'), var(--secondary-color);
	background-repeat: no-repeat;
	background-position: 30px 30px;
    background-size: 45px;
	border-radius: 20px;
    padding: 30px 30px 30px 90px;
    margin-bottom: 30px;
}

.post-entry blockquote p{
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4em;
	color: var(--primary-color);
}

.post-entry blockquote p:last-child{
	margin-bottom: 0;
}

.tag-links{
	font-family: var(--accent-font);
    font-size: 20px;
	font-weight: 500;
    text-transform: capitalize;
	color: var(--primary-color);
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
}

.post-tags .tag-links a{
    display: inline-block;
	font-family: var(--default-font);
    font-size: 16px;
    font-weight: 700;
    text-transform: capitalize;
    line-height: 1em;
	background: var(--accent-color);
    color: var(--white-color);
	border-radius: 10px;
    padding: 12px 20px;
	transition: all 0.3s ease-in-out;
}

.post-tags .tag-links a:hover{
	background: var(--primary-color);
}

.post-social-sharing{
    text-align: right;
}

.post-social-sharing ul{
    list-style: none;
    padding: 0;
    margin: 0;
}

.post-social-sharing ul li{
    display: inline-block;
    margin-right: 10px;
}

.post-social-sharing ul li:last-child{
	margin-right: 0;
}

.post-social-sharing ul li a{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
	background: var(--accent-color);
    color: var(--white-color);
	border-radius: 10px;
    width: 40px;
    height: 40px;
    transition: all 0.3s ease-in-out;
}

.post-social-sharing ul li:hover a{
	background: var(--primary-color);
}

.post-social-sharing ul li a i{
    font-size: 18px;
    color: inherit;
}

/************************************/
/*** 	23. Case Study Page css	  ***/
/************************************/

.page-case-study{
	padding: 100px 0 60px;
}

/************************************/
/***   24. Case Study Single css  ***/
/************************************/

.page-case-study-single{
	padding: 100px 0;
}

.case-study-category-list ul li{
	display: flex;
	width: 100%;
	justify-content: space-between;
	color: var(--primary-color);
	font-weight: 500;
}

.case-study-category-list ul li span{
	width: 68%;
	color: var(--text-color);
	font-weight: 400;
}

.case-study-entry{
    margin-bottom: 60px;
}

.case-study-entry p{
    margin-bottom: 20px;
}

.case-study-entry p:last-child{
    margin-bottom: 0;
}

.case-study-entry h2{
	font-size: 46px;
    font-weight: 400;
    letter-spacing: -0.02em;
	margin-bottom: 20px;
}

.case-study-entry ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

.case-study-entry ul li{
	position: relative;
	line-height: 1.5em;
	padding-left: 30px;
	margin-bottom: 15px;
}

.case-study-entry ul li:last-child{
	margin-bottom: 0;
}

.case-study-entry ul li::before{
	content: '\f058';
	font-family: 'Font Awesome 6 Free';
	position: absolute;
	top: 0;
	left: 0;
	font-size: 18px;
	font-weight: 900;
	color: var(--primary-color);
}

.empowering-agriculture-box,
.field-trials-box,
.shaping-future-box{
	margin-top: 60px;
}

.empowering-box-list{
	margin-top: 40px;
}

.empowering-box{
	background: var(--secondary-color);
	border-radius: 20px;
	margin-bottom: 40px;
	padding: 40px;
}

.empowering-box:last-child{
	margin-bottom: 0;
}

.empowering-item{
	display: flex;
	margin-bottom: 40px;
}

.empowering-item .icon-box{
	margin-right: 20px;
}

.empowering-item .icon-box img{
	width: 100%;
	max-width: 60px;
}

.empowering-item-content{
	width: calc(100% - 80px);
}

.empowering-item-content h3{
	font-size: 20px;
	margin-bottom: 10px;
}

.field-trials-step-list{
	display: flex;
	flex-wrap: wrap;
	gap: 40px 30px;
	margin-top: 40px;
}

.field-trials-step-item{
	width: calc(50% - 15px);
	display: flex;
}

.field-trials-step-no{
	position: relative;
	width: 60px;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--secondary-color);
	border-radius: 50%;
	margin-right: 20px;
}

.field-trials-step-no::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background-color: var(--primary-color);
	border-radius: 50%;
	transform: scale(0);
	transition: all 0.4s ease-in-out;
	z-index: 0;
}

.field-trials-step-item:hover .field-trials-step-no::before{
	transform: scale(1);
}

.field-trials-step-no h3{
	position: relative;
	font-size: 24px;
	transition: all 0.3s ease-in-out;
	z-index: 1;
}

.field-trials-step-item:hover .field-trials-step-no h3{
	color: var(--white-color);
}

.field-trials-content{
	width: calc(100% - 80px);
}

.field-trials-content h3{
	font-size: 20px;
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 20px;
	padding-bottom: 20px;
}

.shaping-future-image-content{
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	padding: 40px;
	margin-top: 40px;
}

.shaping-future-content,
.shaping-future-image{
	width: calc(50% - 15px);
}

.shaping-future-item{
	display: flex;
	margin-top: 30px;
}

.shaping-future-item h3{
	width: calc(48% - 15px);
	font-size: 20px;
	border-right: 1px solid var(--divider-color);
	margin-right: 15px;
	padding-right: 15px;
}

.shaping-future-item p{
	width: 52%;
}

.shaping-future-image figure{
	display: block;
	border-radius: 20px;
}

.shaping-future-image img{
	width: 100%;
	aspect-ratio: 1 / 0.795;
	object-fit: cover;
	border-radius: 20px;
}

/************************************/
/*** 	   25. Team Page css	  ***/
/************************************/

.page-team{
	padding: 100px 0 70px;
}

/************************************/
/*** 	 26. Team Single css	  ***/
/************************************/

.page-team-single{
	padding: 100px 0;
}

.team-about-box,
.team-member-skill-box{
	margin-bottom: 60px;
}

.team-about-box{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 40px;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	padding: 40px;
}

.team-single-image{
	width: 280px;
	flex-shrink: 0;
}

.team-about-content{
	flex: 1 1 260px;
	min-width: 260px;
}

.team-single-image figure{
	display: block;
	height: 100%;
	border-radius: 16px;
}

.team-single-image img{
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1.25;
	object-fit: cover;
	border-radius: 16px;
}

.leadership-sticky{
	position: sticky;
	top: 120px;
}

.leader-reveal{
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.leader-reveal.is-visible{
	opacity: 1;
	transform: translateY(0);
}

/* About page, mission statement, stats, approach cards */
.big-statement{
	font-size: 32px;
	font-weight: 600;
	line-height: 1.45em;
	color: var(--primary-color);
	margin: 0;
}

.about-mission-row{
	display: flex;
	flex-wrap: wrap;
	gap: 60px;
	align-items: flex-start;
	margin-top: 40px;
}

.about-mission-image{
	width: calc(42% - 30px);
}

.about-mission-image img{
	width: 100%;
	border-radius: 20px;
	aspect-ratio: 1 / 1.05;
	object-fit: cover;
}

.about-mission-content{
	width: calc(58% - 30px);
}

.about-stats-row{
	display: flex;
	flex-direction: column;
	margin-top: 40px;
}

.about-stat-item{
	display: flex;
	align-items: center;
	gap: 30px;
	padding: 24px 0;
	border-bottom: 1px solid var(--divider-color);
}

.about-stat-item:first-child{
	border-top: 1px solid var(--divider-color);
}

.about-stat-number{
	font-size: 42px;
	font-weight: 700;
	color: var(--primary-color);
	min-width: 90px;
}

.about-stat-text h4{
	font-size: 16px;
	margin-bottom: 4px;
}

.about-stat-text p{
	font-size: 14px;
	color: var(--text-color);
	opacity: 0.75;
	margin: 0;
}

.approach-card{
	background: var(--secondary-color);
	border-radius: 20px;
	padding: 34px 28px;
	height: 100%;
}

.approach-card .icon-box{
	width: 50px;
	height: 50px;
	border-radius: 14px;
	background: var(--primary-color);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 22px;
}

.approach-card .icon-box img{
	max-width: 22px;
}

.approach-card h3{
	font-size: 18px;
	margin-bottom: 16px;
}

.approach-card-divider{
	border-top: 1px solid var(--divider-color);
	margin-bottom: 16px;
}

.approach-card p{
	font-size: 14px;
	color: var(--text-color);
	margin: 0;
}

.training-item{
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	padding: 30px 28px;
	height: 100%;
}

.training-item .icon-box{
	width: 50px;
	height: 50px;
	border-radius: 14px;
	background: var(--secondary-color);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}

.training-item .icon-box img{
	max-width: 22px;
	filter: brightness(0);
}

.training-item h3{
	font-size: 17px;
	margin-bottom: 10px;
}

.training-item p{
	font-size: 14px;
	color: var(--text-color);
	margin: 0;
}

.member-social-list{
	margin-bottom: 40px;
}

.member-social-list ul{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 15px;
}

.member-social-list ul li a{
	width: 40px;
	height: 40px;
	color: var(--primary-color);
	border: 1px solid var(--primary-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.4s ease-in-out;
}

.member-social-list ul li a:hover{
	background: var(--primary-color);
	color: var(--white-color);
}

.member-social-list ul li a i{
	color: inherit;
	font-size: 20px;
}

.team-contact-item{
	display: flex;
	margin-bottom: 30px;
}

.team-contact-item:last-child{
	margin-bottom: 0;
}

.team-contact-item .icon-box{
	position: relative;
	height: 60px;
	width: 60px;
	background-color: var(--accent-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 25px;
}

.team-contact-item .icon-box::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--primary-color);
	border-radius: 50%;
	width: 100%;
	height: 100%;
	transform: scale(0);
	transition: all 0.4s ease-in-out;
}

.team-contact-item:hover .icon-box::before{
	transform: scale(1);
}

.team-contact-item .icon-box img{
	position: relative;
	width: 100%;
	max-width: 30px;
	z-index: 1;
}

.team-contact-content{
	width: calc(100% - 85px);
}

.team-contact-content p{
	text-transform: capitalize;
	margin-bottom: 5px;
}

.team-contact-content h3{
	font-size: 20px;
}

.team-member-skill-box,
.team-member-contact-box{
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	display: flex;
	flex-wrap: wrap;
	gap: 30px 140px;
	border-radius: 20px;
	padding: 40px;
}

.team-skill-content{
	width: calc(45% - 70px);
}

.team-skill-content .section-title{
	margin-bottom: 0;
}

.team-skill-list{
	width: calc(55% - 70px);
}

.team-member-contact-box{
	gap: 30px;
}

.team-member-contact-info{
	width: calc(42% - 15px);
}

.team-member-contact-info .section-title{
	position: sticky;
	margin-bottom: 0;
	top: 50px;
}

.team-member-contact-box .contact-us-form{
	width: calc(58% - 15px);
	border-radius: 20px;
}

/************************************/
/***   28. Testimonials Page css  ***/
/************************************/

.page-testimonials{
	padding: 100px 0 70px;
}

.page-testimonials .testimonial-item{
	background: var(--secondary-color);
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

/************************************/
/*** 	 27. Pricing Page css	  ***/
/************************************/

.page-pricing{
	padding: 100px 0 70px;
}

.page-pricing .pricing-item{
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

.pricing-item{
	background: var(--secondary-color);
	border-radius: 20px;
	margin-bottom: 30px;
	padding: 40px;
}

.pricing-header{
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 30px;
	padding-bottom: 30px;
}

.pricing-header h3{
	font-size: 20px;
}

.pricing-body{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.pricing-content{
	width: 100%;
}

.pricing-list{
	width: 100%;
}

.pricing-price{
	margin-bottom: 40px;
}

.pricing-price h2{
	font-size: 34px;
	margin-bottom: 20px;
}

.pricing-price h2 sub{
	font-size: 20px;
	text-transform: capitalize;
	bottom: 0;
}

.pricing-price p{
	margin-bottom: 0;
}

.pricing-list ul{
	list-style: disc;
	margin: 0;
	padding: 0 0 0 20px;
}

.pricing-list ul li{
	margin-bottom: 20px;
	line-height: 1.5em;
}

.pricing-list ul li:last-child{
	margin-bottom: 0;
}

.pricing-list ul li::marker{
	color: var(--primary-color);
}

/************************************/
/*** 	 29. Image Gallery css	  ***/
/************************************/

.page-gallery{
	padding: 100px 0 70px;
}

.page-gallery-box .photo-gallery{
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

.page-gallery-box .photo-gallery a{
	cursor: none;
}

.page-gallery-box .photo-gallery figure{
	display: block;
	border-radius: 20px;
}

.page-gallery-box .photo-gallery img{
	width: 100%;
	aspect-ratio: 1 / 0.829;
	object-fit: cover;
	border-radius: 20px;
}

/************************************/
/*** 	 30. Video Gallery css	  ***/
/************************************/

.page-video-gallery{
	padding: 100px 0 70px;
}

.video-gallery-image{
	height: calc(100% - 30px);
	margin-bottom: 30px;
	overflow: hidden;
}

.video-gallery-image a{
	position: relative;
	display: block;
	cursor: none;
}

.video-gallery-image a::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--primary-color);
	border-radius: 20px;
    opacity: 0%;
    visibility: hidden;
    width: 100%;
    height: 100%;
    z-index: 1;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
}

.video-gallery-image:hover a::before{
    opacity: 40%;
    visibility: visible;
    transform: scale(1);
}

.video-gallery-image a::after{
    content: '\f04b';
	font-family: 'FontAwesome';
    position: absolute;
    top: 50%;
    left: 50%;
    right: 0;
    transform: translate(-50%, -50%);
	font-size: 20px;
	background: var(--accent-color);
	color: var(--white-color);
    border-radius: 50%;
    height: 60px;
    width: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s ease-in-out;
    z-index: 1;
}

.video-gallery-image:hover a::after{
    opacity: 1;
    visibility: visible;
}

.video-gallery-image img{
	width: 100%;
	aspect-ratio: 1 / 0.829;
	object-fit: cover;
	border-radius: 20px;
}

/************************************/
/*** 	  31. FAQs Page css 	  ***/
/************************************/

.page-faqs{
	padding: 100px 0;
}

.page-faqs .page-faq-accordion{
    margin-bottom: 60px;
}

.page-faqs .page-faq-accordion:last-child{
    margin-bottom: 0px;
}

/************************************/
/***    32. Contact Us Page css	  ***/
/************************************/

.page-contact-us{
	padding: 100px 0 50px;
}

.contact-us-box{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	background-color: var(--secondary-color);
	border-radius: 20px;
	padding: 40px;
}

.contact-us-content{
	width: calc(50% - 15px);
	background-color: var(--white-color);
	border-radius: 20px;
	padding: 40px;
}

.contact-info-item{
	display: flex;
	align-items: center;
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 40px;
	padding-bottom: 40px;
}

.contact-info-item:last-child{
	margin-bottom: 0px;
	padding-bottom: 0px;
	border-bottom: none;
}

.contact-info-item .icon-box{
	position: relative;
	height: 60px;
	width: 60px;
	background-color: var(--accent-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 25px;
}

.contact-info-item .icon-box::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--primary-color);
	border-radius: 50%;
	width: 100%;
	height: 100%;
	transform: scale(0);
	transition: all 0.4s ease-in-out;
}

.contact-info-item:hover .icon-box::before{
	transform: scale(1);
}

.contact-info-item .icon-box img{
	position: relative;
	width: 100%;
	max-width: 30px;
	z-index: 1;
}

.contact-item-content{
	width: calc(100% - 85px);
}

.contact-item-content p{
	text-transform: capitalize;
	margin-bottom: 5px;
}

.contact-item-content h3{
	font-size: 20px;
}

.contact-item-content h3 a{
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.contact-item-content h3 a:hover{
	color: var(--accent-color);
}

.contact-hero-box{
	align-items: stretch;
	position: relative;
	background: url('../images/contact-bg.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.contact-hero-left{
	width: calc(50% - 15px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.contact-hero-left .contact-info-item{
	border-bottom: none;
	margin-bottom: 22px;
	padding-bottom: 0;
}

.contact-hero-left .contact-info-item:last-child{
	margin-bottom: 0;
}

.contact-hero-left .icon-box{
	background-color: var(--white-color);
	border-radius: 14px;
	box-shadow: 0 8px 20px rgba(11,10,9,0.08);
}

.contact-hero-left .icon-box::before{
	display: none;
}

.contact-hero-left .icon-box img{
	filter: brightness(0);
}

.contact-hero-form{
	width: calc(50% - 15px);
	background-color: var(--white-color);
	border-radius: 20px;
	padding: 40px;
	box-shadow: 0 20px 50px rgba(11,10,9,0.08);
}

.contact-hero-form h3{
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 30px;
}

.hero-form-field{
	margin-bottom: 24px;
}

.hero-form-field label{
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 10px;
}

.hero-form-field input,
.hero-form-field select,
.hero-form-field textarea{
	width: 100%;
	border: none;
	border-bottom: 1px solid var(--divider-color);
	padding: 6px 0 10px;
	font-size: 15px;
	color: var(--primary-color);
	background: transparent;
	outline: none;
	border-radius: 0;
	transition: border-color 0.3s ease-in-out;
}

.hero-form-field input::placeholder,
.hero-form-field textarea::placeholder{
	color: #9c9a95;
}

.hero-form-field input:focus,
.hero-form-field select:focus,
.hero-form-field textarea:focus{
	border-bottom-color: var(--accent-color);
}

.hero-form-field textarea{
	resize: vertical;
	min-height: 70px;
}

.contact-hero-form .btn-default{
	margin-top: 10px;
}

.contact-form-map .google-map{
	width: 100%;
	height: 420px;
	border-radius: 20px;
	overflow: hidden;
}

.contact-form-map{
	padding: 50px 0 100px;
}

.contact-form-box{
	display: flex;
	flex-wrap: wrap;
	border-radius: 20px;
	overflow: hidden;
}

.contact-form-box .contact-us-form,
.google-map{
	width: 50%;
}

.contact-us-form{
	background-color: var(--primary-color);
	padding: 40px;
}

.contact-us-form .section-title h2,
.contact-us-form .section-title p{
	color: var(--white-color);
}

.contact-form form .form-control{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
    color: var(--text-color);
    background-color: var(--white-color);
    border: none;
    border-radius: 20px;
    padding: 18px 20px;
    outline: none;
    box-shadow: none;
}

.contact-form form .form-control::placeholder{
    color: var(--text-color);
}

.contact-form form .btn-default{
    width: 100%;
	padding: 17px;
}

.contact-form form .btn-default::before{
    display: none;
}

.google-map iframe{
	width: 100%;
	height: 100%;
}

/************************************/
/*** 	 33. 404 Error Page css	  ***/
/************************************/

.error-page{
	padding: 100px 0;
}

.error-page-image{
	text-align: center;
	margin-bottom: 30px;
}

.error-page-image img{
	width: 100%;
	max-width: 50%;
}

.error-page-content{
	text-align: center;
}

.error-page-content .section-title{
	margin-bottom: 15px;
}

/************************************/
/***      33b. Custom Additions   ***/
/************************************/

.photo-placeholder{
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 16px;
	background: var(--secondary-color);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	text-align: center;
}

.photo-placeholder img{
	max-width: 56px;
}

.photo-placeholder span{
	font-family: var(--accent-font);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--text-color);
	opacity: 0.6;
}

.cert-card{
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	padding: 30px;
	height: 100%;
}

.cert-card-thumb{
	width: 100%;
	aspect-ratio: 1 / 1.3;
	border-radius: 14px;
	background: var(--secondary-color);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-bottom: 24px;
	text-align: center;
	padding: 20px;
}

.cert-card-thumb img{
	max-width: 44px;
	opacity: 0.4;
}

.cert-card-thumb span{
	font-family: var(--accent-font);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--text-color);
	opacity: 0.6;
}

.cert-card h3{
	font-size: 18px;
	margin-bottom: 10px;
}

.cert-card p{
	font-size: 14px;
	margin-bottom: 20px;
}

.btn-disabled{
	position: relative;
	display: inline-block;
	background: var(--divider-color);
	border-radius: 10px;
	font-size: 14px;
	font-weight: 700;
	color: var(--text-color);
	opacity: 0.55;
	border: none;
	padding: 14px 20px;
	cursor: not-allowed;
}

.cert-card-thumb.has-image{
	display: block;
	padding: 0;
	overflow: hidden;
	position: relative;
	cursor: pointer;
	aspect-ratio: 4 / 3;
	background: var(--secondary-color);
}

.cert-card-thumb.has-image img{
	max-width: none;
	width: 100%;
	height: 100%;
	object-fit: contain;
	opacity: 1;
	position: absolute;
	inset: 0;
	transition: transform 0.35s ease;
}

.cert-card-thumb.has-image:hover img{
	transform: scale(1.05);
}

.cert-card-thumb .cert-view-overlay{
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,0.4);
	opacity: 0;
	transition: opacity 0.3s ease;
	color: #fff;
	font-family: var(--accent-font);
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	text-align: center;
	padding: 10px;
}

.cert-card-thumb.has-image:hover .cert-view-overlay{
	opacity: 1;
}

.btn-view-cert{
	position: relative;
	display: inline-block;
	background: var(--secondary-color);
	border-radius: 20px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--text-color);
	opacity: 0.65;
	border: none;
	padding: 6px 14px;
}

.no-download,
.mfp-cert-nodownload .mfp-img{
	-webkit-user-drag: none;
	user-drag: none;
	-webkit-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
}

.doc-category-title{
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 18px;
	margin-bottom: 18px;
}

.doc-divider{
	border: none;
	border-top: 1px solid var(--divider-color);
	margin: 50px 0 40px;
}

.doc-category-title .doc-count{
	font-family: var(--accent-font);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--text-color);
	background: var(--secondary-color);
	border-radius: 20px;
	padding: 5px 14px;
}

.doc-card{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	text-align: center;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	padding: 22px 12px;
	height: 100%;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.doc-card:hover{
	transform: translateY(-4px);
	box-shadow: 0 14px 30px rgba(11, 10, 9, 0.08);
	border-color: transparent;
}

.doc-card i{
	font-size: 26px;
	color: var(--accent-color);
}

.doc-card .doc-label{
	font-size: 14px;
	font-weight: 700;
	color: var(--text-color);
}

.doc-card .doc-view{
	font-family: var(--accent-font);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--text-color);
	opacity: 0.5;
}

/* Testimonial marquee */
.testimonial-marquee-wrap{
	overflow: hidden;
	width: 100%;
	-webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
}

.testimonial-marquee-wrap + .testimonial-marquee-wrap{
	margin-top: 24px;
}

.testimonial-track{
	--tm-shift: -3232px; /* 8 cards x (380px + 24px gap) */
	display: flex;
	gap: 24px;
	width: max-content;
	animation: testimonial-scroll 96s linear infinite;
}

.testimonial-track.reverse{
	animation-name: testimonial-scroll-reverse;
}

.testimonial-track:hover,
.testimonial-track.paused{
	animation-play-state: paused;
}

@keyframes testimonial-scroll{
	from{ transform: translateX(0); }
	to{ transform: translateX(var(--tm-shift)); }
}

@keyframes testimonial-scroll-reverse{
	from{ transform: translateX(var(--tm-shift)); }
	to{ transform: translateX(0); }
}

.testimonial-card{
	flex: none;
	width: 380px;
	background: var(--secondary-color);
	border-radius: 20px;
	padding: 34px 30px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.testimonial-card .tc-quote{
	margin-bottom: 22px;
}

.testimonial-card .tc-quote img{
	max-width: 36px;
}

.testimonial-card .tc-text{
	margin-bottom: 24px;
	color: var(--text-color);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	line-clamp: 5;
	overflow: hidden;
}

.testimonial-card.expanded .tc-text{
	display: block;
	-webkit-line-clamp: unset;
	line-clamp: none;
}

.testimonial-card .tc-text.has-more{
	margin-bottom: 8px;
}

.testimonial-card .tc-read-more{
	display: inline-block;
	background: none;
	border: none;
	padding: 0;
	margin-bottom: 24px;
	font-size: 14px;
	font-weight: 600;
	color: var(--accent-color);
	cursor: pointer;
}

.testimonial-card .tc-read-more:hover{
	text-decoration: underline;
}

.testimonial-card .tc-divider{
	width: 100%;
	margin-top: auto;
	border-top: 1px solid var(--divider-color);
	margin-bottom: 20px;
}

.testimonial-card .tc-author{
	display: flex;
	align-items: center;
	gap: 14px;
}

.testimonial-card .tc-author h3{
	font-size: 16px;
	margin-bottom: 2px;
}

.testimonial-card .tc-author p{
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--text-color);
	opacity: 0.6;
	margin: 0;
}

/* Our Videos section */
.our-videos{
	padding: 100px 0 70px;
}

.video-embed{
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 20px;
	overflow: hidden;
	background: var(--primary-color);
	margin-bottom: 30px;
}

.video-embed iframe{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.video-embed.vertical{
	aspect-ratio: auto;
	background: var(--white-color, #fff);
}

.video-embed.vertical iframe{
	position: static;
	display: block;
	height: 760px;
}

@media only screen and (max-width: 991px){
	.video-embed.vertical{
		max-width: 400px;
		margin: 0 auto 30px;
	}
}

@media only screen and (max-width: 767px){
	.testimonial-track{
		--tm-shift: -2528px; /* 8 cards x (300px + 16px gap) */
		gap: 16px;
	}

	.testimonial-marquee-wrap + .testimonial-marquee-wrap{
		margin-top: 16px;
	}

	.testimonial-card{
		width: 300px;
		padding: 28px 22px;
	}
}

/* Get In Touch pills */
.cta-tags{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.cta-tags .pill{
	background: var(--secondary-color);
	color: var(--primary-color);
	font-size: 13.5px;
	font-weight: 600;
	padding: 11px 22px;
	border-radius: 100px;
	white-space: nowrap;
}

/* Floating slide-in CTA */
.floating-cta{
	position: fixed;
	bottom: 24px;
	right: -400px;
	width: 320px;
	background: radial-gradient(220px 180px at 100% 0%, rgba(229,58,36,0.4) 0%, rgba(229,58,36,0) 70%), var(--primary-color);
	border-radius: 16px;
	padding: 24px 22px;
	z-index: 999;
	max-height: calc(100vh - 48px);
	overflow-y: auto;
	transition: right 0.6s cubic-bezier(0.16,1,0.3,1);
	box-shadow: 0 20px 50px rgba(0,0,0,0.28);
}

.floating-cta.show{
	right: 24px;
}

.floating-cta .fc-tag{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(255,255,255,0.08);
	color: var(--yellow-color);
	font-family: var(--accent-font);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 5px 12px;
	border-radius: 100px;
	margin-bottom: 14px;
}

.floating-cta h3{
	color: var(--white-color);
	font-size: 18px;
	line-height: 1.3em;
	margin-bottom: 8px;
}

.floating-cta p{
	color: #C9C6C0;
	font-size: 13.5px;
	line-height: 1.5em;
	margin-bottom: 18px;
}

.floating-cta .fc-close{
	position: absolute;
	top: 14px;
	right: 14px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: rgba(255,255,255,0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--white-color);
	cursor: pointer;
	border: none;
	font-size: 14px;
	line-height: 1;
	transition: all 0.3s ease-in-out;
}

.floating-cta .fc-close:hover{
	background: rgba(255,255,255,0.22);
}

.floating-cta .fc-panel{
	display: none;
}

.floating-cta .fc-panel-message{
	display: block;
}

.floating-cta[data-state="form"] .fc-panel-form,
.floating-cta[data-state="success"] .fc-panel-success{
	display: block;
}

.floating-cta[data-state="form"] .fc-panel-message,
.floating-cta[data-state="success"] .fc-panel-message{
	display: none;
}

.fc-open-form{
	width: 100%;
	text-align: center;
	cursor: pointer;
}

.floating-cta .fc-panel-form h3,
.floating-cta .fc-panel-success h3{
	color: var(--white-color);
	font-size: 18px;
	line-height: 1.3em;
	margin-bottom: 8px;
}

.floating-cta .fc-panel-form p,
.floating-cta .fc-panel-success p{
	color: #C9C6C0;
	font-size: 13.5px;
	line-height: 1.5em;
	margin-bottom: 16px;
}

.fc-back{
	display: inline-block;
	background: none;
	border: none;
	color: #C9C6C0;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	padding: 0;
	margin-bottom: 14px;
	transition: color 0.3s ease-in-out;
}

.fc-back:hover{
	color: var(--white-color);
}

.fc-form input,
.fc-form select,
.fc-form textarea{
	width: 100%;
	display: block;
	font-size: 14px;
	color: var(--text-color);
	background-color: var(--white-color);
	border: none;
	border-radius: 10px;
	padding: 12px 14px;
	outline: none;
	box-shadow: none;
	margin-bottom: 12px;
}

.fc-form input::placeholder,
.fc-form textarea::placeholder{
	color: var(--text-color);
	opacity: 0.7;
}

.fc-form textarea{
	resize: none;
}

.fc-form [aria-invalid="true"]{
	box-shadow: inset 0 0 0 2px var(--error-color);
}

.floating-cta .fc-form .form-status p{
	font-size: 13px;
	margin: 12px 0 0;
	color: var(--white-color);
}

.floating-cta .fc-form .form-status a{
	color: var(--yellow-color);
	font-weight: 700;
}

/* Enquiry forms: honeypot, field errors, status messages */
.form-honeypot{
	display: none !important;
}

.hero-form-field [aria-invalid="true"]{
	border-bottom-color: var(--error-color);
}

.contact-hero-form .form-status p{
	font-size: 15px;
	font-weight: 600;
	margin: 20px 0 0;
}

.contact-hero-form .form-status-success{
	color: #1e7b45;
}

.contact-hero-form .form-status-invalid,
.contact-hero-form .form-status-error{
	color: #b3261e;
}

.contact-hero-form .form-status-error a{
	color: inherit;
	text-decoration: underline;
}

.fc-form .btn-default{
	width: 100%;
	text-align: center;
	padding: 13px;
}

.fc-form .btn-default::before{
	display: none;
}

/************************************/
/***      34. Responsive css      ***/
/************************************/


@media only screen and (max-width: 1820px){
	
	.bg-section{
		max-width: calc(100% - 40px);
		margin: 0 20px;
	}

	.hero-content-box .section-title{
		margin-right: 0;
	}

	.main-footer{
		margin-bottom: 20px;
	}
}


@media only screen and (max-width: 1024px){

	.main-menu ul li{
		margin: 0;
	}
}

@media only screen and (max-width: 991px){
	
	.btn-default{
		padding: 15px 40px 15px 15px;
	}
	
	.btn-default::before{
		right: 15px;
		width: 18px;
        height: 18px;
	}

	.btn-default.btn-border{
		padding: 14px 40px 14px 15px;
	}
	
	.navbar{
		padding: 20px 0;
	}
	
	.slicknav_nav li,
	.slicknav_nav ul{
        display: block;
    }

	.responsive-menu,
    .navbar-toggle{
		display: block;
    }
	
	.header-btn{
		display: none;
	}

	.bg-section{
		max-width: 100%;
		border-radius: 0;
		margin: 0;
	}
	
	.section-row{
		margin-bottom: 40px;
	}

	.section-row .section-title.section-title-center{
		max-width: 100%;
	}

	.section-content-btn .section-btn{
		margin-top: 20px;
	}
	
	.section-title{
		margin-bottom: 30px;
	}

	.section-title h3{
		padding: 6px 14px 6px 26px;
	}

	.section-title h3::before{
		left: 14px;
	}

	.section-title h1{
		font-size: 45px;
	}

	.section-title h2{
		font-size: 36px;
	}

	.section-title p{
		margin-top: 10px;
	}

	.section-title-content{
        margin-top: 10px;
    }

	.section-btn{
        text-align: left;
        margin-top: 15px;
	}

	.hero{
		padding: 140px 0 50px;
	}

	.hero-content{
		margin-bottom: 30px;
	}

	.hero-content .section-title p{
		max-width: 100%;
	}

	.hero-content-body{
		margin-bottom: 30px;
	}

	.hero-content-footer{
		margin-top: 50px;
	}

	.hero-content-footer .hero-footer-box{
		padding: 20px 16px;
	}

	.hero-footer-box .icon-box{
		margin-right: 10px;
	}

	.hero-footer-box .hero-footer-box-content p{
		font-size: 15px;
	}

	.hero-images{
		max-width: 80%;
		margin: 0 auto;
	}

	.hero-visual{
		max-width: 70%;
		margin: 0 auto;
	}

	/* Stacked layout: centre the card (desktop pushes it right to line up with the column edge) */
	.hero-visual-card{
		margin-left: auto;
		margin-right: auto;
	}

	.cta-contact-box{
		padding: 30px 0 0;
	}

	.cta-contact-box .cta-contact-item{
		padding: 0;
	}

	.about-us{
		padding: 50px 0;
	}

	.about-us-image{
		margin: 0 0 30px;
	}

	.about-img figure img{
		aspect-ratio: 1 / 0.7;
	}

	.company-experience-content h3{
		font-size: 26px;
	}

	.about-us-body{
		margin-bottom: 30px;
		padding-bottom: 30px;
	}

	.our-service{
		padding: 50px 0 20px;
	}

	.service-item{
		padding: 20px;
	}

	.why-choose-us{
		padding: 50px 0;
	}

	.why-choose-us .why-choose-us-box{
		padding: 0;
	}

	.why-choose-box-1{
		border-radius: 20px 20px 0 0px;
	}

	.why-choose-box-2{
		border-radius: 0 0 20px 20px;
	}

	.why-choose-item{
		padding: 30px;
	}

	.why-choose-content{
		max-width: 100%;
	}

	.why-choose-box-2 .why-choose-item{
		flex-direction: row;
		text-align: left;
	}

	.why-choose-box-2 .why-choose-item .icon-box{
		margin-right: 18px;
		margin-left: 0px;
	}

	.why-choose-image{
		display: none;
	}

	.our-process{
		padding: 50px 0;
	}

	.our-process-content{
		margin: 0 0 30px;
	}

	.our-process-item{
		margin-bottom: 40px;
	}

	.our-process-item::before{
		transform: translate(35px, 80%);
	}

	.our-process-item .icon-box{
		width: 70px;
		height: 70px;
		margin: 12px 32px 0 0;
	}

	.our-process-item .icon-box:before{
		font-size: 14px;
		width: 28px;
    	height: 28px;
	}

	.our-process-item .icon-box img{
		max-width: 40px;
	}

	.process-item-content{
		width: calc(100% - 102px);
	}

	.case-study{
		padding: 50px 0 20px;
	}

	.case-study-item{
		height: calc(100% - 30px);
		margin-bottom: 30px;
	}

	.case-study-image{
		margin-bottom: 15px;
	}

	.case-study-content h2{
		font-size: 18px;
	}

	.cta-box{
		padding: 50px 0 0;
	}

	.cta-box-list ul li{
		padding-left: 22px;
	}

	.cta-box-list ul li::before{
		font-size: 16px;
	}

	.cta-box-btn{
		margin-top: 30px;
	}

	.cta-box-btn::before{
		top: 0;
		width: 90px;
		height: 42px;
	}

	.our-specialized{
		padding: 50px 0;
	}

	.specialized-content{
		margin-bottom: 30px;
	}

	.specialized-content .section-title{
		padding-bottom: 30px;
		margin-bottom: 30px;
	}

	.specialized-list-title{
		margin-bottom: 10px;
	}

	.specialized-list-box{
		margin-bottom: 20px;
	}

	.specialized-image{
		max-width: 80%;
		margin: 0 auto;
	}

	.our-testimonials{
		padding: 50px 0;
	}

	.testimonial-item{
		padding: 30px;
	}

	.testimonial-quote,
	.testimonial-content{
		margin-bottom: 20px;
	}

	.testimonial-quote img{
		max-width: 40px;
	}

	.testimonial-btn{
		margin-top: 20px;
	}

	.our-team{
		padding: 50px 0 20px;
	}

	.team-image img{
		aspect-ratio: 1 / 1.08;
	}

	.team-body{
		right: 20px;
		bottom: 20px;
		left: 20px;
		transform: translateY(20px);
	}

	.team-content p{
		margin-bottom: 5px;
	}
	
	.team-item:hover .team-social-list{
		margin-top: 15px;
	}

	.our-faqs{
		padding: 50px 0;
	}

	.faqs-images{
		margin: 0 0 30px;
	}

	.faq-accordion .accordion-item{
		border-radius: 14px;
		margin-bottom: 20px;
	}

	.faq-accordion .accordion-header .accordion-button,
	.faq-accordion .accordion-item .accordion-body{
		padding: 15px 40px 15px 15px;
	}

	.faq-accordion .accordion-item .accordion-button::after,
	.faq-accordion .accordion-item .accordion-button.collapsed::after{
		right: 15px;
		font-size: 18px;
	}

	.our-blog{
		padding: 50px 0 20px;
	}

	.post-featured-image{
		margin-bottom: 15px;
	}

	.post-item-content{
		margin-bottom: 15px;
	}

	.main-footer{
		padding: 50px 0 0;
		margin-bottom: 0;
	}

	.about-footer{
		margin: 0 0 30px;
	}

	.footer-logo{
		margin-bottom: 30px;
	}

	.footer-social-link{
		margin-top: 40px;
	}

	.footer-copyright{
		padding: 30px 0;
	}
	
	.page-header{
		padding: 170px 0 80px;
	}

	.page-header-box h1{
		font-size: 38px;
	}

	.our-approach{
		padding: 50px 0;
	}

	.our-approach-content{
		position: initial;
		margin-bottom: 30px;
	}
	
	.mission-vision-item{
		padding: 20px;
		margin-bottom: 20px;
	}

	.our-innovation{
        padding: 50px 0;
    }

    .our-innovation-content{
        margin: 0 0 30px;
    }

    .skills-progress-bar{
        margin-bottom: 30px;
    }

    .skills-progress-bar .skill-data{
        margin-bottom: 15px;
    }

    .our-innovation-image{
        max-width: 80%;
        margin: 0 auto;
    }

    .customer-review-box{
        width: 230px;
        padding: 12px 15px;
    }

    .customer-review-box .icon-box{
        margin-right: 10px;
    }

    .customer-review-box .icon-box i{
        font-size: 30px;
    }

    .customer-review-box-content{
        width: calc(100% - 40px);
    }

    .customer-review-box-content h2{
        font-size: 20px;
    }

	.our-expertise{
		padding: 50px 0;
	}

	.our-expertise-content{
		margin: 0 0 30px;
	}

	.expertise-item{
		margin-bottom: 20px;
	}

	.expertise-item .icon-box{
		width: 50px;
		height: 50px;
		margin-right: 15px;
	}

	.expertise-item .icon-box img{
		max-width: 28px;
	}

	.expertise-item-content{
		width: calc(100% - 65px);
	}

	.expertise-counter-box{
		padding: 20px;
	}

	.expertise-counter-content h2{
		font-size: 36px;
	}

	.expertise-counter-list ul li{
		padding-left: 25px;
		margin-bottom: 10px;
	}

	.expertise-counter-list ul li::before{
		font-size: 16px;
	}

	.our-expertise-image figure img{
		aspect-ratio: 1 / 0.7;
	}

	.page-services{
		padding: 50px 0 20px;
	}

	.page-service-single{
		padding: 50px 0;
	}

	.page-single-sidebar{
		position: initial;
		margin: 0 0 30px;
	}

	.page-category-list{
		margin-bottom: 30px;
	}

	.page-category-list h3,
	.page-category-list ul{
		padding: 15px 30px;
	}

	.page-category-list ul li{
		margin-bottom: 15px;
		padding-bottom: 15px;
	}

	.sidebar-cta-box{
		padding: 24px;
	}

	.page-single-image{
		margin-bottom: 30px;
	}

	.service-entry{
		margin-bottom: 40px;
	}

	.service-entry p{
		margin-bottom: 15px;
	}

	.service-entry h2{
		font-size: 36px;
		margin-bottom: 15px;
	}

	.service-entry ul li{
		padding-left: 25px;
		margin-bottom: 10px;
	}

	.service-entry ul li::before{
		font-size: 16px;
	}

	.service-discover-box,
	.service-result-box,
	.service-partnership-box{
		margin-top: 40px;
	}

	.service-discover-list{
		margin-top: 30px;
	}

	.service-discover-list ul{
		gap: 20px;
	}

	.service-discover-list ul li{
		width: calc(50% - 10px);
		font-size: 14px;
		border-radius: 12px;
		padding: 12px 12px 12px 35px;
		margin-bottom: 0;
	}

	.service-discover-list ul li::before{
		top: 14px;
		left: 12px;
	}

	.service-discover-image-content{
		gap: 20px;
		margin-top: 30px;
	}

	.service-discover-image,
	.service-discover-content{
		width: calc(50% - 10px);
	}

	.service-result-box ul{
		margin-top: 30px;
	}

	.service-result-list{
		margin-top: 30px;
		padding: 30px;
	}

	.service-result-item{
		margin-bottom: 30px;
		padding-bottom: 30px;
	}

	.hub-diagram{
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.hub-lines{
		display: none;
	}

	.hub-center{
		grid-column: 1;
		order: -1;
		margin: 0 auto;
	}

	.leadership-sticky{
		position: static;
		margin-bottom: 40px;
	}

	.about-mission-image,
	.about-mission-content{
		width: 100%;
	}

	.big-statement{
		font-size: 26px;
	}

	.service-partnership-image{
		margin-top: 30px;
	}

	.page-blog{
		padding: 50px 0;
	}

	.page-blog .post-item{
		height: calc(100% - 30px);
		margin-bottom: 30px;
	}

	.page-pagination{
		margin-top: 10px;
	}

	.page-single-post{
		padding: 50px 0;
    }
    
    .post-image{
        margin-bottom: 20px;
    }
    
    .post-entry h1,
    .post-entry h2,
    .post-entry h3,
    .post-entry h4,
    .post-entry h5,
    .post-entry h6{
        margin: 0 0 0.42em;
    }
    
    .post-entry h2{
        font-size: 36px;
    }
    
    .post-entry p{
        margin-bottom: 15px;
    }
    
    .post-entry ol li,
    .post-entry ul li{
        margin-bottom: 10px;
    }
    
    .post-entry blockquote{
        background-position: 20px 20px;
        background-size: 40px;
        padding: 20px 20px 20px 70px;
        margin-bottom: 20px;
    }
    
    .post-entry blockquote p{
        font-size: 18px;
    }
    
    .post-tags{
        margin-bottom: 20px;
    }

	.tag-links{
		gap: 10px;
	}
    
    .post-tags .tag-links a{
        padding: 10px 15px;
    }
    
    .post-social-sharing ul{
        text-align: left;
    }

	.page-case-study{
		padding: 50px 0 20px;
	}

	.page-case-study-single{
		padding: 50px 0;
	}

	.case-study-entry{
		margin-bottom: 40px;
	}

	.case-study-entry p{
		margin-bottom: 15px;
	}

	.case-study-entry h2{
		font-size: 36px;
		margin-bottom: 15px;
	}

	.case-study-entry ul li{
		padding-left: 25px;
		margin-bottom: 10px;
	}

	.case-study-entry ul li::before{
		font-size: 16px;
	}

	.empowering-agriculture-box,
	.field-trials-box,
	.shaping-future-box{
		margin-top: 40px;
	}

	.empowering-box-list{
		margin-top: 30px;
	}

	.empowering-box{
		padding: 30px;
		margin-bottom: 30px;
	}

	.empowering-item{
		margin-bottom: 30px;
	}

	.empowering-item .icon-box{
		margin-right: 15px;
	}

	.empowering-item .icon-box img{
		max-width: 50px;
	}

	.empowering-item-content{
		width: calc(100% - 65px);
	}

	.field-trials-step-list{
		gap: 30px;
		margin-top: 30px;
	}

	.field-trials-step-no{
		height: 50px;
		width: 50px;
		margin-right: 15px;
	}

	.field-trials-step-no h3{
		font-size: 20px;
	}

	.field-trials-content{
		width: calc(100% - 65px);
	}

	.field-trials-content h3{
		font-size: 18px;
		margin-bottom: 10px;
		padding-bottom: 10px;
	}

	.shaping-future-image-content{
		margin-top: 30px;
		padding: 30px;
	}

	.shaping-future-item{
		margin-top: 20px;
	}

	.page-team{
		padding: 50px 0 20px;
	}

	.page-team-single{
		padding: 50px 0;
	}

	.team-about-box,
	.team-member-skill-box{
		margin-bottom: 40px;
	}

	.team-about-box{
		padding: 30px;
	}

	.team-single-image,
	.team-about-content{
		width: 100%;
	}

	.team-single-image img{
		height: auto;
		aspect-ratio: 1 / 0.85;
	}

	.team-about-content{
		padding: 30px;
	}

	.member-social-list{
		margin-bottom: 30px;
	}

	.team-contact-item .icon-box{
		width: 50px;
		height: 50px;
		margin-right: 15px;
	}

	.team-contact-item .icon-box img{
		max-width: 24px;
	}

	.team-contact-content{
		width: calc(100% - 65px);
	}

	.team-member-skill-box,
	.team-member-contact-box{
		gap: 30px;
		padding: 30px;
	}

	.team-skill-content,
	.team-skill-list{
		width: 100%;
	}

	.team-member-contact-info,
	.team-member-contact-box .contact-us-form{
		width: 100%;
	}

	.team-member-contact-info .section-title{
		position: initial;
	}

	.page-pricing{
		padding: 50px 0 20px;
	}

	.pricing-item{
		padding: 30px;
	}

	.pricing-header{
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.pricing-price{
		margin-bottom: 30px;
	}

	.pricing-price h2{
		font-size: 28px;
		margin-bottom: 15px;
	}

	.pricing-price h2 sub{
		font-size: 18px;
	}

	.pricing-list ul li{
		margin-bottom: 15px;
	}

	.page-testimonials{
		padding: 50px 0 20px;
	}

	.page-gallery{
		padding: 50px 0 20px;
	}

	.page-video-gallery{
		padding: 50px 0 20px;
	}

	.page-faqs{
		padding: 50px 0;
	}

	.page-faqs .page-faq-accordion{
		margin-bottom: 40px;
	}

	.page-contact-us{
    	padding: 50px 0 25px;
	}

	.contact-us-box{
		padding: 30px;
	}

	.contact-us-content,
	.contact-hero-left,
	.contact-hero-form{
		width: 100%;
	}

	.contact-us-content{
		padding: 30px;
	}

	.contact-info-item{
		margin-bottom: 30px;
		padding-bottom: 30px;
	}

	.contact-info-item .icon-box{
		margin-right: 15px;
	}

	.contact-item-content{
		width: calc(100% - 75px);
	}

	.contact-form-map{
		padding: 25px 0 50px;
	}

	.contact-form-box .contact-us-form,
	.google-map{
		width: 100%;
	}

	.contact-us-form{
		padding: 30px;
	}

	.contact-form form .form-control{
		padding: 12px 15px;
		border-radius: 12px;
	}

	.contact-form form .btn-default{
		padding: 15px;
	}

	.google-map iframe{
		height: 450px;
	}

	.error-page{
		padding: 50px 0;
	}
	
	.error-page-image{
		margin-bottom: 20px;
	}

	.error-page-image img{
		max-width: 80%;
	}
}

@media only screen and (max-width: 767px){

	.section-row{
		margin-bottom: 30px;
	}

	.section-title h1{
		font-size: 28px;
	}

	.section-title h2{
		font-size: 26px;
	}

	.hero-content-footer{
		flex-direction: column;
		margin-top: 40px;
	}

	.hero-content-footer .hero-footer-box{
		justify-content: flex-start;
		padding: 16px 20px;
	}

	.hero-content-footer .hero-footer-box + .hero-footer-box{
		border-left: none;
		border-top: 1px solid rgba(255, 255, 255, 0.12);
	}

	.hero-footer-box .icon-box{
		width: 42px;
		height: 42px;
	}

	.hero-footer-box .hero-footer-box-content p{
		font-size: 15px;
	}

	.hero-images{
		max-width: 100%;
		gap: 15px;
	}

	.hero-visual{
		max-width: 85%;
	}

	.hero-visual-badge{
		font-size: 11px;
		padding: 6px 12px;
	}

	.hero-image-box{
		width: calc(33.33% - 10px);
		gap: 15px;
	}

	.cta-contact-content h3{
		font-size: 18px;
	}

	.about-img figure img{
        aspect-ratio: 1 / 1.1;
    }

	.company-experience{
		padding: 15px;
		right: 20px;
		bottom: 20px;
	}

	.about-us-body{
		gap: 20px 15px;
		margin-bottom: 20px;
        padding-bottom: 20px;
	}

	.about-list-item{
    	width: calc(50% - 7.5px);
	}

	.about-list-item .icon-box{
		margin-right: 5px;
	}

	.about-list-item .icon-box img{
		max-width: 30px;
	}

	.about-list-content{
		width: calc(100% - 35px);
	}

	.about-list-content h3{
		font-size: 16px;
	}

	.doctor-info-item .doctor-info-content h3{
		font-size: 18px;
	}

	.service-item .service-body h3{
		font-size: 18px;
		margin-bottom: 10px;
	}

	.why-choose-item{
		padding: 20px;
	}

	.why-choose-content h3{
		font-size: 18px;
		margin-bottom: 5px;
	}

	.why-choose-content p{
		font-size: 14px;
	}

	.our-process-item::before{
		transform: translate(25px, 65%);
	}

	.our-process-item .icon-box{
		margin: 12px 12px 0 0;
	}

	.our-process-item .icon-box figure{
		width: 50px;
		height: 50px;
	}

	.our-process-item .icon-box img{
		max-width: 30px;
	}

	.our-process-item .icon-box:before{
        width: 24px;
        height: 24px;
		top: -12px;
		right: 6px;
    }

	.process-item-content{
        width: calc(100% - 62px);
    }

	.process-item-content h3{
		font-size: 18px;
		margin-bottom: 5px;
	}

	.process-item-content p{
		font-size: 14px;
	}

	.cta-box-list ul{
		gap: 10px;
	}

	.cta-box-btn::before{
		display: none;
	}

	.specialized-list-title h3{
		font-size: 18px;
		padding-left: 25px;
	}

	.specialized-list-title h3::before{
		font-size: 16px;
	}

	.specialized-image{
		max-width: 100%;
		background-size: 75% auto;
		gap: 20px;
	}

	.specialized-img-1,
	.specialized-img-2{
		width: calc(50% - 10px);
	}

	.specialized-img-2{
		padding-top: 100px;
	}

	.expert-doctor{
		max-width: 180px;
		padding: 10px;
	}

	.expert-doctor .icon-box{
		width: 45px;
		height: 45px;
		margin-right: 10px;
	}

	.expert-doctor .icon-box img{
		max-width: 26px;
	}

	.expert-doctor-content{
		width: calc(100% - 55px);
	}

	.expert-doctor-content h3{
		font-size: 18px;
		margin-bottom: 0px;
	}

	.expert-doctor-content p{
		font-size: 14px;
	}

	.testimonial-item{
        padding: 20px;
    }

	.author-content h3{
		font-size: 18px;
	}

	.faqs-images{
        gap: 20px;
    }

	.faqs-img-2,
	.faqs-img-1{
		width: calc(50% - 10px);
	}

	.faqs-img-2 figure img{
		aspect-ratio: 1 / 1.86;
	}

	.need-help-box{
		padding: 10px 12px;
		margin-top: 20px;
	}

	.need-help-box .icon-box{
		margin-right: 10px;
	}

	.need-help-box .icon-box img{
		max-width: 30px;
	}

	.need-help-content{
		width: calc(100% - 40px);
	}

	.need-help-content p{
		font-size: 14px;
	}

	.faq-accordion .accordion-header .accordion-button{
		font-size: 18px;
		padding: 12px 46px 12px 15px;
	}

	.faq-accordion .accordion-item .accordion-button::after,
	.faq-accordion .accordion-item .accordion-button.collapsed::after{
        width: 26px;
        height: 26px;
        right: 12px;
        font-size: 12px;
    }

	.faq-accordion .accordion-item .accordion-body{
        padding: 2px 46px 16px 15px;
    }

	.faq-accordion .accordion-item .accordion-body p{
		font-size: 14px;
	}

	.footer-logo{
        margin-bottom: 15px;
    }

	.footer-links{
		margin-bottom: 30px;
	}

	.footer-links h3{
		font-size: 18px;
		margin-bottom: 15px;
	}

	.footer-links ul li{
		margin-bottom: 10px;
	}

	.footer-contact-item{
		margin-bottom: 15px;
	}

	.footer-social-link{
        margin-top: 0px;
    }

	.footer-social-link ul{
		margin: 0 10px;
	}

	.footer-social-link ul li{
		margin-right: 15px;
	}

	.footer-copyright{
        padding: 15px 0;
    }

	.footer-copyright-text{
		text-align: center;
		margin-bottom: 10px;
	}

	.footer-terms-condition ul{
		justify-content: center;
	}

	.page-header-box h1{
		font-size: 28px;
		margin-bottom: 10px;
	}

	.mission-vision-header{
		gap: 15px;
	}

	.mission-vision-header .icon-box img{
		max-width: 35px;
	}

	.mission-vision-title{
		width: calc(100% - 50px);
	}

	.mission-vision-title h3{
		font-size: 18px;
	}

	.skills-progress-bar{
        margin-bottom: 20px;
    }

    .skills-progress-bar .skill-data{
        margin-bottom: 10px;
    }

    .skills-progress-bar .skill-data .skill-title,
    .skills-progress-bar .skill-data .skill-no{
        font-size: 16px;
    }

    .skills-progress-bar .skillbar .skill-progress{
        height: 14px;
    }

    .our-innovation-image{
        max-width: 100%;
        padding: 0 30px 55px 0;
    }

    .our-innovation-img-2{
        max-width: 170px;
        border-width: 5px;
    }

    .customer-review-box{
        width: 190px;
        bottom: 0;
    }

    .customer-review-box .icon-box i{
        font-size: 20px;
    }

    .customer-review-box-content{
        width: calc(100% - 32px);
    }

    .customer-review-box-content h2{
        font-size: 18px;
    }

    .customer-review-box-content p{
        font-size: 14px;
    }

	.expertise-counter-box,
	.expertise-item-box{
		width: 100%;
	}

	.expertise-item-content h3{
		font-size: 18px;
	}

	.expertise-counter-content h2{
        width: 80px;
        font-size: 26px;
    }

	.expertise-counter-content p{
		width: calc(100% - 80px);
	}

	.our-expertise-image img{
        aspect-ratio: 1 / 0.99;
    }

	.expertise-contact-box{
		bottom: 15px;
		left: 15px;
		right: 15px;
		max-width: calc(100% - 30px);
		border-radius: 12px;
		padding: 10px;
	}

	.expertise-contact-box .icon-box{
		width: 45px;
		height: 45px;
		margin-right: 15px;
	}

	.expertise-contact-content{
		width: calc(100% - 60px);
	}

	.expertise-contact-content h3{
		font-size: 18px;
	}

	.our-expertise-image figure img{
        aspect-ratio: 1 / 0.9;
    }

	.page-category-list h3,
	.page-category-list ul,
	.sidebar-cta-box{
        padding: 20px;
    }

	.page-category-list h3{
		font-size: 18px;
	}

	.page-single-image{
        margin-bottom: 20px;
    }

	.service-entry h2{
		font-size: 26px;
	}

	.service-discover-list ul{
		gap: 10px;
	}

	.service-discover-list ul li{
		width: 100%;
		padding: 8px 12px 8px 35px;
	}
	
	.service-discover-list ul li::before{
		top: 10px;
	}

	.service-discover-image,
	.service-discover-content{
		width: 100%;
	}

	.service-discover-content .why-choose-item{
		padding: 0 0 15px;
		margin-bottom: 15px;
	}

	.service-result-list{
		padding: 20px;
	}

	.service-result-item{
        margin-bottom: 20px;
        padding-bottom: 20px;
    }
	
	.service-result-item .icon-box{
		width: 50px;
		height: 50px;
		margin-right: 15px;
	}

	.service-result-item .icon-box img{
		max-width: 26px;
	}

	.service-result-content{
		width: calc(100% - 65px);
	}

	.service-result-content h3{
		font-size: 18px;
		margin-bottom: 5px;
	}

	.service-result-content p{
		font-size: 14px;
	}

	.service-partnership-image{
		margin-top: 20px;
	}

	.service-partnership-image img{
		aspect-ratio: 1 / 0.54;
	}

	.post-single-meta ol li{
        font-size: 16px;
    }
    
    .post-single-meta ol li i{
        font-size: 16px;
    }
    
    .post-image img{
        aspect-ratio: 1 / 0.7;
    }
    
    .post-entry blockquote{
        background-position: 15px 15px;
        padding: 60px 15px 15px 15px;
    }
    
    .post-entry blockquote p{
        font-size: 16px;
    }
    
    .post-entry h2{
        font-size: 26px;
    }

	.tag-links{
		font-size: 18px;
	}

	.case-study-entry h2{
		font-size: 26px;
	}

	.empowering-box{
		padding: 20px;
	}

	.empowering-item{
        margin-bottom: 20px;
    }

	.empowering-item-content h3{
		font-size: 18px;
		margin-bottom: 5px;
	}

	.field-trials-step-item{
		width: 100%;
	}

	.shaping-future-image-content{
		padding: 20px;
	}

	.shaping-future-content,
	.shaping-future-image{
		width: 100%;
	}

	.shaping-future-item h3{
		width: calc(45% - 5px);
		font-size: 18px;
		margin-right: 5px;
		padding-right: 5px;
	}

	.shaping-future-item p{
		width: 56%;
	}

	.team-single-image img{
		aspect-ratio: 1 / 1.2;
	}

	.team-about-box{
		padding: 20px;
	}

	.member-social-list{
		margin-bottom: 20px;
	}

	.team-contact-content h3{
		font-size: 18px;
	}

	.team-member-skill-box,
	.team-member-contact-box{
		padding: 20px;
	}

	.pricing-item{
		padding: 20px;
	}

	.pricing-header{
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

	.pricing-header h3{
		font-size: 18px;
	}

	.pricing-body{
		gap: 20px;
	}

	.pricing-price{
        margin-bottom: 20px;
    }

	.pricing-price h2{
		font-size: 22px;
		margin-bottom: 10px;
	}

	.pricing-price h2 sub{
		font-size: 14px;
	}

	.pricing-list ul li{
		margin-bottom: 10px;
	}

	.contact-us-box{
        padding: 20px;
    }

	.contact-us-content{
        padding: 20px;
    }

	.contact-info-item{
        margin-bottom: 20px;
        padding-bottom: 20px;
    }

	.contact-info-item .icon-box{
		height: 50px;
		width: 50px;
	}

	.contact-info-item .icon-box img{
		max-width: 26px;
	}

	.contact-item-content{
        width: calc(100% - 65px);
    }

	.contact-item-content h3{
		font-size: 18px;
	}

	.contact-hero-form{
        padding: 24px;
    }

	.contact-form-map .google-map{
		height: 280px;
	}

	.contact-us-form{
        padding: 20px;
    }

	.google-map iframe{
		height: 350px;
	}
}

/************************************/
/***  Fingerprint & PCC Landing Page  ***/
/************************************/

.fp-discover-stack{
	flex-direction: column;
}

.fp-discover-stack .service-discover-image,
.fp-discover-stack .service-discover-content{
	width: 100%;
}

.fp-discover-stack .service-discover-image img{
	aspect-ratio: 21 / 8;
}

.fp-hero-video{
	position: relative;
	width: 100%;
	height: 65vh;
	min-height: 380px;
	max-height: 620px;
	overflow: hidden;
	background: var(--primary-color);
}

.fp-hero-video video{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.fp-breadcrumb{
	margin-bottom: 20px;
}

.fp-breadcrumb ol{
	margin: 0;
	padding: 0;
}

.fp-breadcrumb .breadcrumb-item{
	color: var(--text-color);
	font-weight: 500;
}

.fp-breadcrumb .breadcrumb-item.active{
	color: var(--primary-color);
}

.fp-breadcrumb .breadcrumb-item a{
	color: var(--text-color);
}

.fp-trust-row{
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.fp-trust-item{
	display: flex;
	align-items: center;
	gap: 14px;
}

.fp-trust-item .icon-box{
	width: 48px;
	height: 48px;
	border-radius: 10px;
	background: var(--primary-color);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.fp-trust-item .icon-box img{
	max-width: 24px;
}

.fp-trust-item p{
	margin: 0;
	font-weight: 600;
	color: var(--primary-color);
}

.btn-outline-dark{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--primary-color);
	font-weight: 700;
	font-size: 14px;
	border: 1px solid var(--divider-color);
	border-radius: 10px;
	padding: 16px 26px;
	transition: all 0.3s ease-in-out;
}

.btn-outline-dark:hover{
	background: var(--secondary-color);
	border-color: var(--primary-color);
}

.pcc-steps{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-top: 30px;
}

.pcc-step{
	width: calc(25% - 22.5px);
}

.pcc-step-no{
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--primary-color);
	color: var(--white-color);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 18px;
}

.pcc-step h3{
	font-size: 17px;
	margin-bottom: 8px;
}

.pcc-step p{
	font-size: 14px;
	color: var(--text-color);
	margin: 0;
}

.pcc-checklist-card{
	background: var(--secondary-color);
	border-radius: 20px;
	padding: 40px;
}

.pcc-checklist-card h3{
	font-size: 20px;
	margin-bottom: 20px;
}

@media only screen and (max-width: 991px){
	.pcc-step{
		width: calc(50% - 15px);
	}

	.fp-hero-video{
		height: 50vh;
		min-height: 300px;
	}

	.fp-trust-row{
		margin-top: 30px;
	}
}

@media only screen and (max-width: 767px){
	.pcc-step{
		width: 100%;
	}

	.fp-hero-video{
		height: 40vh;
		min-height: 220px;
	}

	.pcc-checklist-card{
		padding: 25px;
	}

	.fp-hero-body{
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Client logos grid */
.client-logo-group{
	margin-bottom: 40px;
}

.client-logo-group h4{
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 20px;
	color: var(--secondary-color2, #333);
}

.client-logo-grid{
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
}

.client-logo-tile{
	aspect-ratio: 3 / 2;
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}

.client-logo-tile img{
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: 0.8;
	transition: filter 0.25s ease, opacity 0.25s ease, transform 0.25s ease;
}

.client-logo-tile:hover{
	box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

.client-logo-tile:hover img{
	filter: grayscale(0%);
	opacity: 1;
	transform: scale(1.05);
}

@media only screen and (max-width: 991px){
	.client-logo-grid{
		grid-template-columns: repeat(4, 1fr);
	}
}

@media only screen and (max-width: 767px){
	.client-logo-grid{
		grid-template-columns: repeat(3, 1fr);
		gap: 14px;
	}

	.client-logo-tile{
		padding: 12px;
	}
}

@media only screen and (max-width: 480px){
	.client-logo-grid{
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Legal pages: Privacy Policy, Terms & Conditions */
.legal-page{
	padding: 100px 0;
}

.legal-content{
	max-width: 860px;
	margin: 0 auto;
}

.legal-updated{
	display: inline-block;
	font-size: 14px;
	font-weight: 600;
	color: var(--accent-color);
	background-color: var(--secondary-color);
	border-radius: 100px;
	padding: 6px 16px;
	margin-bottom: 30px;
}

.legal-intro{
	font-size: 18px;
	line-height: 1.7;
	padding-bottom: 40px;
	margin-bottom: 40px;
	border-bottom: 1px solid var(--divider-color);
}

.legal-section{
	margin-bottom: 40px;
}

.legal-section:last-child{
	margin-bottom: 0;
}

.legal-section h2{
	font-size: 26px;
	font-weight: 600;
	letter-spacing: -0.01em;
	margin-bottom: 16px;
}

.legal-section h2 span{
	color: var(--accent-color);
	margin-right: 8px;
}

.legal-section p,
.legal-section ul{
	margin-bottom: 16px;
}

.legal-section p:last-child,
.legal-section ul:last-child{
	margin-bottom: 0;
}

.legal-section ul{
	list-style: none;
	padding: 0;
}

.legal-section ul li{
	position: relative;
	line-height: 1.6em;
	padding-left: 28px;
	margin-bottom: 12px;
}

.legal-section ul li:last-child{
	margin-bottom: 0;
}

.legal-section ul li::before{
	content: '\f058';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	position: absolute;
	top: 0;
	left: 0;
	font-size: 16px;
	color: var(--accent-color);
}

.legal-section a{
	color: var(--accent-color);
	font-weight: 600;
}

.legal-section a:hover{
	color: var(--accent-color-dark);
}

@media only screen and (max-width: 767px){
	.legal-page{
		padding: 50px 0;
	}

	.legal-intro{
		font-size: 16px;
		padding-bottom: 30px;
		margin-bottom: 30px;
	}

	.legal-section{
		margin-bottom: 30px;
	}

	.legal-section h2{
		font-size: 21px;
	}
}

/************************************/
/***   Services mega menu (v2)    ***/
/************************************/

.main-menu ul li.mega-menu{
	position: static;
}

.main-menu ul li.mega-menu > ul.mega-panel{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 36px;
	width: min(980px, calc(100vw - 40px));
	left: 50%;
	top: 100%;
	transform: translate(-50%, 10px);
	visibility: hidden;
	opacity: 0;
	padding: 26px 30px 22px !important;
	background: var(--primary-color);
	border: 1px solid var(--dark-divider-color);
	border-top: 3px solid var(--accent-color);
	border-radius: 0 0 16px 16px;
	box-shadow: 0 24px 50px rgba(0,0,0,0.35);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
}

/* Hover bridge across the navbar padding so the panel does not close on the way down */
.main-menu ul li.mega-menu > ul.mega-panel::before{
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100%;
	height: 30px;
}

.main-menu ul li.mega-menu.open > ul.mega-panel{
	visibility: visible;
	opacity: 1;
	transform: translate(-50%, 0);
}

.main-menu ul li.mega-menu .mega-panel ul{
	position: static;
	visibility: inherit;
	opacity: 1;
	transform: none;
	width: auto;
	background: transparent;
	border-radius: 0;
	padding: 0;
	margin: 0 0 6px;
}

.main-menu ul li.mega-menu .mega-panel li a,
.main-menu ul li.mega-menu .mega-panel li a:hover,
.main-menu ul li.mega-menu .mega-panel li a:focus{
	display: block;
	font-size: 15px;
	line-height: 1.35em;
	padding: 7px 0 !important;
	text-transform: none;
}

.main-menu ul li.mega-menu .mega-panel li a{
	color: rgba(255,255,255,0.75);
}

.main-menu ul li.mega-menu .mega-panel li a:hover,
.main-menu ul li.mega-menu .mega-panel li a:focus{
	color: var(--accent-color);
}

.main-menu ul li.mega-menu .mega-panel a.mega-group-link{
	font-size: 16px;
	font-weight: 700;
	color: var(--white-color);
	padding: 0 0 12px !important;
	margin-bottom: 8px;
	border-bottom: 1px solid var(--dark-divider-color);
}

.main-menu ul li.mega-menu .mega-panel li.mega-feature{
	grid-column: 1 / -1;
	margin-bottom: 22px;
}

.main-menu ul li.mega-menu .mega-panel li.mega-feature a,
.main-menu ul li.mega-menu .mega-panel li.mega-feature a:hover,
.main-menu ul li.mega-menu .mega-panel li.mega-feature a:focus{
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 16px;
	font-weight: 700;
	color: var(--white-color);
	background: var(--accent-color);
	border-radius: 10px;
	padding: 14px 18px !important;
}

.main-menu ul li.mega-menu .mega-panel li.mega-feature a:hover,
.main-menu ul li.mega-menu .mega-panel li.mega-feature a:focus{
	background: var(--accent-color-dark);
}

.main-menu ul li.mega-menu .mega-panel li.mega-single{
	border-top: 1px solid var(--dark-divider-color);
	margin-top: 10px;
	padding-top: 10px;
}

.main-menu ul li.mega-menu .mega-panel li.mega-single a{
	font-weight: 700;
	color: var(--white-color);
}

.menu-badge{
	display: inline-block;
	background: var(--yellow-color);
	color: var(--primary-color);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	padding: 5px 10px;
	border-radius: 100px;
	white-space: nowrap;
}

/* Active state: the current page, plus the group(s) it belongs to */
.main-menu ul li.is-active > a.nav-link,
.main-menu ul li a.nav-link.is-current,
.main-menu ul li.mega-menu .mega-panel li a.is-current,
.main-menu ul li.mega-menu .mega-panel li.is-active > a.mega-group-link{
	color: var(--accent-color);
}

.main-menu ul li.mega-menu .mega-panel li a.is-current{
	font-weight: 700;
}

.main-menu ul li.mega-menu .mega-panel li.mega-feature a.is-current{
	color: var(--white-color);
	box-shadow: inset 0 0 0 2px var(--yellow-color);
}

.main-menu a:focus-visible,
.slicknav_nav a:focus-visible{
	outline: 2px solid var(--yellow-color);
	outline-offset: 2px;
}

/* Mobile accordion (SlickNav) */
.slicknav_nav{
	max-height: calc(100vh - 90px);
	overflow-y: auto;
}

.slicknav_nav .slicknav_parent-link{
	display: flex;
	align-items: stretch;
	padding: 0 !important;
}

.slicknav_nav .slicknav_parent-link > a:not(.slicknav_item){
	display: block;
	flex: 1;
	min-width: 0;
	padding: 7px 20px;
}

.slicknav_menu ul ul li a,
.slicknav_menu ul ul .slicknav_parent-link > a:not(.slicknav_item){
	padding-left: 34px;
}

.slicknav_nav .slicknav_parent-link > a.slicknav_item{
	display: block;
	flex: 0 0 52px;
	padding: 0;
}

.slicknav_menu ul ul ul li a{
	padding: 7px 20px 7px 50px;
	font-size: 15px;
}

.slicknav_nav .mega-group-link,
.slicknav_nav .mega-single > a{
	font-weight: 700;
}

.slicknav_nav .menu-badge{
	margin-left: 8px;
	vertical-align: middle;
}

.slicknav_nav a.is-current,
.slicknav_nav li.is-active > .slicknav_parent-link > a:not(.slicknav_item),
.slicknav_nav li.is-active > a{
	color: var(--primary-color);
	font-weight: 700;
}

@media only screen and (max-width: 1199px){
	.main-menu ul li{
		margin: 0;
	}

	.main-menu ul li a{
		font-size: 15px;
		padding: 14px 7px !important;
	}
}

/************************************/
/***    Service page template     ***/
/************************************/

.page-header.svc-hero{
	padding: 210px 0 90px;
}

.svc-hero-box{
	position: relative;
	max-width: 780px;
	z-index: 1;
}

.svc-hero .breadcrumb{
	margin: 0 0 18px;
	padding: 0;
}

.svc-hero .breadcrumb-item{
	color: rgba(255,255,255,0.65);
	font-size: 15px;
	font-weight: 500;
}

.svc-hero .breadcrumb-item a{
	color: var(--white-color);
}

.svc-hero .breadcrumb-item a:hover{
	color: var(--accent-color);
}

.svc-hero .breadcrumb-item.active{
	color: rgba(255,255,255,0.65);
}

.svc-hero .breadcrumb-item+.breadcrumb-item::before{
	color: rgba(255,255,255,0.45);
}

.svc-hero h1{
	font-size: 46px;
	font-weight: 400;
	line-height: 1.15em;
	letter-spacing: -0.02em;
	color: var(--white-color);
	margin-bottom: 18px;
	cursor: none;
}

.svc-hero-intro{
	font-size: 18px;
	line-height: 1.6em;
	color: rgba(255,255,255,0.8);
	max-width: 62ch;
	margin-bottom: 32px;
}

.svc-hero-callout{
	max-width: 62ch;
	color: var(--white-color);
	background: rgba(255,255,255,0.08);
	border-left: 3px solid var(--yellow-color);
	border-radius: 10px;
	padding: 14px 18px;
	margin: -12px 0 30px;
}

.svc-hero-callout a{
	color: var(--yellow-color);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.svc-hero-callout a:hover{
	color: var(--white-color);
}

.svc-hero-actions{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 28px;
}

.svc-hero-call,
.svc-cta-link{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-weight: 700;
	color: var(--white-color);
	transition: color 0.3s ease-in-out;
}

.svc-hero-call i,
.svc-cta-link i{
	color: var(--accent-color);
}

.svc-hero-call:hover,
.svc-cta-link:hover{
	color: var(--accent-color);
}

.page-service-single.svc-page{
	padding: 90px 0;
}

.svc-content{
	max-width: 70ch;
}

.svc-content h2{
	font-size: 34px;
	font-weight: 400;
	line-height: 1.2em;
	letter-spacing: -0.02em;
	margin: 50px 0 18px;
}

.svc-content h3{
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3em;
	margin: 34px 0 12px;
}

.svc-content > :first-child{
	margin-top: 0;
}

.svc-content p{
	line-height: 1.7em;
	margin: 0 0 18px;
}

.svc-content ul,
.svc-content ol{
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
}

.svc-content ul li,
.svc-content ol li{
	position: relative;
	line-height: 1.6em;
	padding-left: 32px;
	margin-bottom: 14px;
}

.svc-content ul li::before{
	content: '\f058';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	position: absolute;
	top: 1px;
	left: 0;
	font-size: 17px;
	color: var(--accent-color);
}

.svc-content ol{
	counter-reset: svc-step;
}

.svc-content ol li{
	counter-increment: svc-step;
}

.svc-content ol li::before{
	content: counter(svc-step);
	position: absolute;
	top: 1px;
	left: 0;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--primary-color);
	color: var(--white-color);
	font-size: 12px;
	font-weight: 700;
	line-height: 22px;
	text-align: center;
}

.svc-content li strong{
	color: var(--primary-color);
	font-weight: 700;
}

.svc-stub{
	background: var(--secondary-color);
	border-left: 4px solid var(--yellow-color);
	border-radius: 12px;
	padding: 26px 30px;
}

.svc-stub-tag{
	display: inline-block;
	background: var(--yellow-color);
	color: var(--primary-color);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 5px 12px;
	border-radius: 100px;
	margin-bottom: 14px;
}

.svc-stub p{
	margin: 0;
}

.svc-faq{
	max-width: 70ch;
	margin-top: 60px;
}

.svc-faq h2{
	font-size: 34px;
	font-weight: 400;
	letter-spacing: -0.02em;
	margin-bottom: 24px;
}

.svc-faq-item{
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 16px;
	margin-bottom: 16px;
	overflow: hidden;
}

.svc-faq-item summary{
	position: relative;
	list-style: none;
	cursor: pointer;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4em;
	color: var(--primary-color);
	padding: 20px 60px 20px 22px;
}

.svc-faq-item summary h3{
	display: inline;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	color: inherit;
	margin: 0;
}

.svc-faq-item summary::-webkit-details-marker{
	display: none;
}

.svc-faq-item summary::after{
	content: '\2b';
	font-family: "FontAwesome";
	font-weight: 900;
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--secondary-color);
	font-size: 13px;
}

.svc-faq-item[open] summary::after{
	content: '\f068';
	background: var(--accent-color);
	color: var(--white-color);
}

.svc-faq-item summary:focus-visible{
	outline: 2px solid var(--accent-color);
	outline-offset: -2px;
}

.svc-faq-answer{
	padding: 0 60px 22px 22px;
}

.svc-faq-answer p{
	margin: 0;
}

.svc-cta-band{
	background: var(--primary-color);
	padding: 80px 0;
}

.svc-cta-inner{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 30px 60px;
	border-left: 4px solid var(--accent-color);
	padding-left: 30px;
}

.svc-cta-text{
	max-width: 620px;
}

.svc-cta-text h2{
	font-size: 36px;
	font-weight: 400;
	letter-spacing: -0.02em;
	color: var(--white-color);
	margin-bottom: 10px;
}

.svc-cta-text p{
	color: rgba(255,255,255,0.75);
	margin: 0;
}

.svc-cta-actions{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 28px;
}

.svc-related{
	padding: 90px 0;
}

.svc-related h2{
	font-size: 36px;
	font-weight: 400;
	letter-spacing: -0.02em;
	margin-bottom: 30px;
}

.svc-card-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.svc-card-grid.svc-card-grid-2{
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 30px;
}

.svc-card{
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	padding: 28px 26px 24px;
	overflow: hidden;
	transition: border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.svc-card::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: var(--accent-color);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.35s ease-in-out;
}

.svc-card:hover{
	border-color: var(--primary-color);
	box-shadow: 0 14px 34px rgba(11,10,9,0.08);
}

.svc-card:hover::before{
	transform: scaleX(1);
}

.svc-card h3{
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3em;
	color: var(--primary-color);
	margin-bottom: 10px;
}

.svc-card p{
	flex-grow: 1;
	color: var(--text-color);
	margin: 0 0 22px;
}

.svc-card-more{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 700;
	color: var(--accent-color-dark);
}

.svc-card-more i{
	transition: transform 0.3s ease-in-out;
}

.svc-card:hover .svc-card-more i{
	transform: translateX(4px);
}

.service-entry.svc-hub-cards h2{
	margin-bottom: 0;
}

.svc-crosslink{
	background: var(--secondary-color);
	border-left: 3px solid var(--accent-color);
	border-radius: 10px;
	padding: 16px 20px;
	margin-top: 28px !important;
}

.svc-crosslink a{
	color: var(--accent-color-dark);
	font-weight: 700;
}

.svc-crosslink a:hover{
	color: var(--primary-color);
}

/* Group list followed by "Other Services" on the child service pages */
.page-category-list.page-category-group{
	margin-bottom: 30px;
}

/* Service names keep their own casing (e.g. "E-mail") */
.page-category-list ul li a{
	text-transform: none;
}

/* Nested child pages in the older "Our Services" sidebars */
.page-category-list ul.page-category-sub{
	padding: 16px 0 0 14px;
}

.page-category-list ul.page-category-sub li{
	font-size: 15px;
	padding-bottom: 12px;
	margin-bottom: 12px;
}

.page-category-list ul li.active .page-category-sub a{
	color: var(--text-color);
	font-weight: 500;
}

.page-category-list ul li.active .page-category-sub a:hover{
	color: var(--primary-color);
}

/* Logos and footer icons carry width/height attributes for layout stability; keep their aspect ratio */
.navbar-brand img,
.footer-logo img,
.footer-contact-item .icon-box img{
	height: auto;
}

/* 404 page */
.not-found-actions{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
}

/* Footer Services column */
.footer-services{
	margin-top: 60px;
	padding-top: 50px;
	border-top: 1px solid var(--dark-divider-color);
}

.footer-services .row > div{
	margin-bottom: 30px;
}

.footer-services h4{
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 14px;
}

.footer-services h4 a{
	color: var(--white-color);
	transition: color 0.3s ease-in-out;
}

.footer-services h4 a:hover{
	color: var(--accent-color);
}

.footer-links.footer-services ul li{
	font-size: 15px;
	text-transform: none;
	margin-bottom: 10px;
}

@media only screen and (max-width: 991px){
	.page-header.svc-hero{
		padding: 160px 0 60px;
	}

	.svc-hero h1{
		font-size: 36px;
	}

	.page-service-single.svc-page,
	.svc-related{
		padding: 60px 0;
	}

	.svc-content,
	.svc-faq{
		max-width: none;
	}

	.svc-card-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.svc-cta-band{
		padding: 60px 0;
	}
}

@media only screen and (max-width: 767px){
	.svc-hero h1{
		font-size: 30px;
	}

	.svc-hero-intro{
		font-size: 16px;
	}

	.svc-content h2,
	.svc-faq h2,
	.svc-related h2,
	.svc-cta-text h2{
		font-size: 26px;
	}

	.svc-card-grid,
	.svc-card-grid.svc-card-grid-2{
		grid-template-columns: minmax(0, 1fr);
	}

	.svc-cta-inner{
		padding-left: 20px;
	}

	.svc-faq-item summary{
		font-size: 16px;
		padding: 18px 56px 18px 18px;
	}

	.svc-faq-answer{
		padding: 0 18px 18px;
	}

	.footer-services{
		margin-top: 40px;
		padding-top: 40px;
	}
}

/* Home hero: four stat boxes (two by two on tablet, stacked on phone) */
@media only screen and (max-width: 1199px){
	.hero-content-footer .hero-footer-box{
		padding: 20px 16px;
	}

	.hero-footer-box .hero-footer-box-content p{
		font-size: 15px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 991px){
	.hero-content-footer{
		flex-wrap: wrap;
	}

	.hero-content-footer .hero-footer-box{
		flex: 1 1 50%;
		justify-content: flex-start;
	}

	.hero-content-footer .hero-footer-box:nth-child(odd){
		border-left: none;
	}

	.hero-content-footer .hero-footer-box:nth-child(n+3){
		border-top: 1px solid rgba(255, 255, 255, 0.12);
	}
}

/* ISO top bar above the header, on every page. It is a fixed height and the
   absolutely positioned header starts below it, so hero spacing is unchanged.
   The menu still pins to the top on scroll; the bar scrolls away. */
:root{
	--iso-topbar-h: 40px;
}

.iso-topbar{
	position: relative;
	z-index: 101;
	height: var(--iso-topbar-h);
	background: var(--primary-color);
	border-bottom: 1px solid var(--dark-divider-color);
}

.iso-topbar + header.main-header{
	top: var(--iso-topbar-h);
}

.iso-topbar-link{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
	height: var(--iso-topbar-h);
	color: var(--white-color);
	font-size: 14px;
	line-height: 1;
	white-space: nowrap;
	overflow: hidden;
}

.iso-topbar-link:hover,
.iso-topbar-link:focus{
	color: var(--white-color);
}

.iso-topbar-mark{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	color: var(--yellow-color);
}

.iso-topbar-mark img{
	width: 14px;
	height: 14px;
	padding: 4px;
	box-sizing: content-box;
	background: var(--accent-color);
	border-radius: 6px;
}

/* A light sweeps across "ISO Certified" and the icon pulses softly */
.iso-topbar-mark .iso-topbar-label{
	background: linear-gradient(100deg, var(--yellow-color) 0%, var(--yellow-color) 40%, #ffffff 50%, var(--yellow-color) 60%, var(--yellow-color) 100%);
	background-size: 250% 100%;
	background-position: 100% 0;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	animation: iso-shine 3.2s ease-in-out infinite;
}

.iso-topbar-mark img{
	animation: iso-glow 2.4s ease-out infinite;
}

@keyframes iso-shine{
	0%{ background-position: 100% 0; }
	65%, 100%{ background-position: 0% 0; }
}

@keyframes iso-glow{
	0%{ box-shadow: 0 0 0 0 rgba(229, 58, 36, 0.75); }
	70%, 100%{ box-shadow: 0 0 0 6px rgba(229, 58, 36, 0); }
}

@media (prefers-reduced-motion: reduce){
	.iso-topbar-mark .iso-topbar-label,
	.iso-topbar-mark img{
		animation: none;
	}

	.iso-topbar-mark .iso-topbar-label{
		background-position: 0% 0;
	}
}

.iso-topbar-item strong{
	font-weight: 700;
}

.iso-topbar-desc{
	opacity: 0.85;
}

.iso-topbar-more{
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.iso-topbar-link:hover .iso-topbar-more{
	color: var(--yellow-color);
}

.iso-topbar-more i{
	margin-left: 2px;
	font-size: 11px;
}

/* Tablet: drop the system names, keep the standards and the link */
@media only screen and (max-width: 1199px){
	.iso-topbar-desc{
		display: none;
	}
}

/* Phone: icon, the two standards and an arrow on one line */
@media only screen and (max-width: 575px){
	:root{
		--iso-topbar-h: 34px;
	}

	.iso-topbar-link{
		gap: 14px;
		font-size: 12px;
	}

	.iso-topbar-label{
		display: none;
	}

	.iso-topbar-more{
		text-decoration: none;
	}
}

/* Home: "What We Cover" list in the right side text */
.cover-list{
	list-style: disc;
	columns: 2;
	column-gap: 30px;
	margin: 0;
	padding-left: 20px;
}

.cover-list li{
	break-inside: avoid;
	color: var(--primary-color);
	font-weight: 600;
	line-height: 1.5;
	margin-bottom: 8px;
}

.cover-list li::marker{
	color: var(--accent-color);
}

.cover-list li a{
	color: inherit;
	text-decoration: underline;
	text-decoration-color: var(--accent-color);
	text-underline-offset: 3px;
}

.cover-list li a:hover{
	color: var(--accent-color-dark);
}

@media only screen and (max-width: 480px){
	.cover-list{
		columns: 1;
	}
}

/* Brand logo: the client's own logo, which already includes the tagline */
.navbar-brand{
	display: inline-block;
	flex-shrink: 0;
}

.navbar-brand img{
	display: block;
	width: 225px;
	max-width: 100%;
}

@media only screen and (max-width: 991px){
	.navbar-brand img{
		width: 200px;
	}
}

/* Header: whitish glass, so the logo shows in its real colours on every page */
header.main-header .header-sticky{
	background: rgba(255,255,255,0.88);
	backdrop-filter: blur(14px) saturate(140%);
	-webkit-backdrop-filter: blur(14px) saturate(140%);
	border-bottom: 1px solid rgba(11,10,9,0.08);
}

header.main-header .header-sticky.active{
	background: rgba(255,255,255,0.92);
	border-bottom: 1px solid rgba(11,10,9,0.08);
}

.main-menu .navbar-nav > li > a.nav-link{
	color: var(--primary-color);
}

.main-menu .navbar-nav > li > a.nav-link:hover,
.main-menu .navbar-nav > li > a.nav-link:focus,
.main-menu .navbar-nav > li.is-active > a.nav-link,
.main-menu .navbar-nav > li > a.nav-link.is-current{
	color: var(--accent-color-dark);
}

.main-menu .navbar-nav > li > a.nav-link:focus-visible{
	outline-color: var(--accent-color-dark);
}

.slicknav_icon .slicknav_icon-bar{
	background-color: var(--primary-color);
}

/* Footer: the same logo on a small white glass plate, because its dark lettering disappears on black */
.footer-logo{
	display: inline-block;
	padding: 12px 16px;
	background: rgba(255,255,255,0.94);
	border-radius: 12px;
}

.footer-logo img{
	display: block;
	width: 210px;
	max-width: 100%;
}

/* Company name above each office address (footer cards and Contact page cards) */
.office-company{
	font-weight: 600;
}

.approach-card .office-company{
	margin-bottom: 4px;
}

/* Footer (tools/partials/footer.html): brand strip, contact cards, link columns, bottom bar */
.site-footer{
	padding-top: 80px;
	color: var(--white-color);
}

.site-footer p{
	color: rgba(255,255,255,0.8);
	margin: 0;
}

.site-footer a{
	color: inherit;
	transition: color 0.3s ease-in-out;
}

.site-footer a:hover{
	color: var(--accent-color);
}

.site-footer ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.sf-brand{
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 40px;
	align-items: center;
	padding-bottom: 50px;
	border-bottom: 1px solid var(--dark-divider-color);
}

.site-footer .sf-lead{
	color: var(--white-color);
	font-weight: 600;
	margin-bottom: 8px;
}

.sf-brand-side{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 16px;
}

.site-footer .sf-tagline{
	display: inline-flex;
	gap: 10px;
	padding: 8px 16px;
	border: 1px solid var(--accent-color);
	border-radius: 6px;
	color: var(--accent-color);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	white-space: nowrap;
}

.sf-social{
	display: flex;
	gap: 10px;
}

.sf-social a{
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255,255,255,0.2);
	border-radius: 50%;
	transition: all 0.3s ease-in-out;
}

.site-footer .sf-social a:hover{
	background: var(--accent-color);
	border-color: var(--accent-color);
	color: var(--white-color);
}

.sf-cards{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	padding: 50px 0;
	border-bottom: 1px solid var(--dark-divider-color);
}

.sf-card{
	display: flex;
	gap: 16px;
	padding: 26px;
	background: rgba(255,255,255,0.05);
	border: 1px solid var(--dark-divider-color);
	border-radius: 16px;
}

.sf-card p + p{
	margin-top: 4px;
}

.site-footer .sf-card .office-company{
	color: var(--white-color);
}

.site-footer .sf-card .sf-mail{
	margin-top: 12px;
	word-break: break-word;
}

.sf-icon{
	flex: none;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--accent-color);
	border-radius: 10px;
}

.sf-icon img{
	width: 20px;
	height: auto;
}

.site-footer .sf-card-label{
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--accent-color);
	margin-bottom: 8px;
}

.sf-links{
	display: grid;
	grid-template-columns: 0.8fr 1.4fr 1.2fr 1.4fr 1.2fr;
	gap: 30px;
	padding: 50px 0;
	border-bottom: 1px solid var(--dark-divider-color);
}

.sf-links h3{
	font-size: 18px;
	color: var(--white-color);
	margin-bottom: 18px;
}

.sf-links h4{
	font-size: 15px;
	font-weight: 700;
	color: var(--white-color);
	margin-bottom: 12px;
}

.sf-links h4.sf-more{
	margin-top: 22px;
}

.sf-links li{
	color: rgba(255,255,255,0.8);
	line-height: 1.5;
	margin-bottom: 10px;
}

.sf-links li:last-child{
	margin-bottom: 0;
}

.sf-bottom{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 10px 24px;
	padding: 22px 0;
	font-size: 15px;
}

.site-footer .sf-bottom p{
	color: rgba(255,255,255,0.67);
}

.sf-bottom ul{
	display: flex;
	gap: 20px;
}

.sf-heart{
	color: var(--accent-color);
}

.site-footer .sf-credit a{
	color: var(--white-color);
	font-weight: 700;
}

.site-footer .sf-credit a:hover{
	color: var(--accent-color);
}

@media only screen and (max-width: 991px){
	.site-footer{
		padding-top: 50px;
	}

	.sf-brand{
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.sf-brand-side{
		align-items: flex-start;
	}

	.sf-cards{
		grid-template-columns: 1fr;
	}

	.sf-links{
		grid-template-columns: 1fr 1fr;
	}
}

@media only screen and (max-width: 575px){
	.sf-links{
		grid-template-columns: 1fr;
	}

	.sf-bottom{
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Contact page: office landline */
.approach-card .office-landline{
	margin-top: 10px;
}

.approach-card .office-landline a{
	color: inherit;
}


/* Home hero: "Read more" on phones only (js/hero-read-more.js) */
.hero-read-more{
	display: none;
}

@media only screen and (max-width: 767px){
	.hero-content.is-collapsed .hero-more{
		display: none;
	}

	.hero-read-more{
		display: inline-block;
		min-height: 44px;
		margin-top: 4px;
		padding: 10px 0;
		background: none;
		border: 0;
		font-family: var(--accent-font);
		font-size: 15px;
		font-weight: 600;
		line-height: 1.5;
		color: var(--white-color);
		text-decoration: underline;
		text-decoration-color: var(--accent-color);
		text-underline-offset: 4px;
		cursor: pointer;
	}

	.hero-read-more[hidden]{
		display: none;
	}

	.hero-read-more:focus-visible{
		outline: 2px solid var(--white-color);
		outline-offset: 2px;
	}
}
