﻿/* ----------------------------------------------------------------------------------------
* Author        : Luxelimo
* Template Name : Dermix - Dermatologist & Cosmetology Clinic HTML Template HTML Template
* File          : CSS File
* Version       : 1.0
* ---------------------------------------------------------------------------------------- */
/* INDEX
----------------------------------------------------------------------------------------
01. Global Variables
02. General css
03. Header css
04. Hero css
05. About Us css
06. Our Services css
07. Why Choose Us css
08. Core Feature css
09. Our Case Study css
10. Special Treatment css
11. Our Pricing css
12. Book Appointment css
13. Our FAQs css
14. Our Testimonials css
15. Our Blog css
16. Footer css
17. About Us Page css
18. Services Page css
19. Service Single css
20. Blog Archive css
21. Blog Single css
22. Case Study Page css
23. Case Study Single css
24. Team Page css
25. Team Single css
26. Pricing Page css
27. Testimonials Page css
28. Image Gallery css
29. Video Gallery css
30. FAQ's Page css
31.	Contact Us Page css
32. Book Appointment Page css
33. 404 Error Page css
34. Responsive css
35. Home - Version 2 css
36. Home - Version 3 css
-------------------------------------------------------------------------------------- */

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

:root{
	--primary-color				: #282A23;
	--secondary-color			: #FFFFFF;
	--bg-color					: #F8F2EB;
	--text-color				: #7D7D75;
	--accent-color				: #C69459;
	--accent-light				: #E5C07B;
	--accent-dark				: #9A6E3A;
	--accent-gradient			: linear-gradient(135deg, var(--accent-light) 0%, var(--accent-color) 50%, var(--accent-dark) 100%);
	--white-color				: #FFFFFF;
	--divider-color				: #282A231A;
	--dark-divider-color		: #FFFFFF1A;
	--error-color				: rgb(230, 87, 87);
	--default-font				: "Onest", sans-serif;
}

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

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

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

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

::-webkit-scrollbar{
	width: 7px;
	background-color: var(--primary-color);
}

::-webkit-scrollbar-thumb{
	background: var(--accent-gradient);
}

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

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

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

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;
}

.container{
	max-width: 1440px;
}

.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;
    /* inline-flex shrink-wraps to the image's intrinsic width; cap it so a
       reveal figure can never push past its column on narrow viewports */
    max-width: 100%;
}

.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;
	font-size: 16px;
	font-weight: 600;
	line-height: 1em;
	text-transform: capitalize;
	background: var(--accent-gradient);
	color: var(--white-color);
	border-radius: 100px;
	padding: 17px 30px;
	margin-right: 36px;
	border: none;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

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

.btn-default::before{
	content: '';
	position: absolute;
	top: 50%;
	right: -36px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-color: var(--accent-color);
	background-image: url('../images/arrow-white.svg'), var(--accent-gradient);
	background-repeat: no-repeat, no-repeat;
	background-position: center center, center center;
	background-size: 22px auto, 100% 100%;
	border: 2px solid var(--bg-color);
	transform: translateY(-50%);
	transition: all 0.4s ease-in-out;
}

.btn-default:hover::before{
	background-image: url('../images/arrow-white.svg');
	background-size: 22px auto;
	background-color: var(--primary-color);
	transform: translateY(-50%) rotate(45deg);
}

.btn-default::after{ 
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	right: 50%;
	width: 0;
	height: 100%;
	border-radius: 100px;
	opacity: 0;
	background: var(--primary-color);
	transition: all 0.4s ease-in-out;
	z-index: -1;
}

.btn-default:hover:after{
	width: 100%;
	left: 0;
	right: 0;
	opacity: 1;
}

.bg-section .btn-default:before{
	border-color: var(--white-color);
}

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

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

.btn-default.btn-highlighted:hover:before{
	background-color: var(--white-color);
	background-image: url('../images/arrow-primary.svg');
}

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

.readmore-btn{
	position: relative;
    display: inline-block;
    font-weight: 600;
    line-height: 1.25em;
    text-transform: capitalize;
    color: var(--primary-color);
    padding: 0 30px 0 0;
	transition: all 0.4s ease-in-out;
}

.readmore-btn:hover{
	color: var(--accent-color);
}

.readmore-btn::before{
	content: '';
    position: absolute;
    top: 50%;
    right: 0;
	width: 20px;
	height: 20px;
	background: var(--accent-gradient);
	border-radius: 50%;
	transform: translateY(-50%);
	background-image: url('../images/arrow-white.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 12px auto;
    transition: all 0.4s ease-in-out;
}

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

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

.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: 100px;
	position: relative;
	width: 100px;
	border-radius: 100%;
}

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

.loading{
	border: 1px solid transparent;
	border-color: transparent var(--white-color) transparent var(--white-color);
	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;
}

#loading-icon{
	position: absolute;
	top: 50%;
	left: 50%;
	max-width: 140px;
	transform: translate(-50%, -50%);
}

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

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

.bg-section .container-fluid{
	padding: 0;
}

.dark-section{
	background-color: var(--primary-color);
	background-image: url('../images/dark-section-bg-image.png');
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
}

.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-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 .section-sub-title{
	position: relative;
	display: inline-block;
	font-size: 14px;
	font-weight: 500;
	line-height: normal;
	text-transform: capitalize;
	color: var(--primary-color);
	border: 1px solid var(--divider-color);
	border-radius: 100px;
	padding: 7px 14px 7px 40px;
    margin-bottom: 15px;
}

.section-title .section-sub-title::before{
	content: '';
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    background: url('../images/icon-sub-heading.svg') no-repeat;
	background-position: center center;
	background-size: cover;
    width: 16px;
    height: 16px;
}

.section-title h1{
	font-size: 46px;
	letter-spacing: -0.02em;
	margin-bottom: 0;
	cursor: none;
}

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

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

.dark-section .section-title .section-sub-title{
	background: rgba(22,22,20,0.55);
	border-color: rgba(255,255,255,0.18);
	color: var(--white-color);
}

.dark-section .section-title .section-sub-title,
.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);
}

.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-box{
	position: absolute;
    left: 15px;
    right: 15px;
	top: 15px;
	z-index: 100;
}

.topbar{
	background: var(--accent-gradient);
	border-radius: 14px 14px 0 0;
	padding: 15px 0;
}

.topbar-contact-info p{
	line-height: 1.25em;
	color: var(--white-color);
	margin-bottom: 0;
}

.topbar-contact-info p a{
	font-weight: 600;
	color: inherit;
	text-decoration: underline;
	transition: all 0.4s ease-in-out;
}

.topbar-contact-info p a:hover{
	color: var(--primary-color);
}

.topbar-link-box{
	display: flex;
	flex-wrap: wrap;
	justify-content: right;
	align-items: center;
}

.topbar-contact-info-list{
	border-right: 1px solid var(--dark-divider-color);
	margin-right: 20px;
	padding-right: 20px;
}

.topbar-contact-info-list ul{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 30px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.topbar-contact-info-list ul li{
	position: relative;
	display: flex;
	align-items: center;
	color: var(--white-color);
	text-transform: capitalize;
}

.topbar-contact-info-list ul li::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: -15px;
	background: var(--white-color);
	width: 2px;
	height: 100%;
	transform: rotate(8deg);
}

.topbar-contact-info-list ul li:last-child:before{
	display: none;
}

.topbar-contact-info-list ul li a{
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.topbar-contact-info-list ul li a:hover{
	color: var(--primary-color);
}

.topbar-social-links ul{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.topbar-social-links ul li a{
	font-size: 18px;
	color: var(--white-color);
    transition: all 0.3s ease-in-out;
}

.topbar-social-links ul li a:hover{
	color: var(--primary-color);
}

.topbar-social-links ul li a i{
	color: inherit;
}

header.main-header .header-sticky{
    position: relative;
	top: 0;
	background: transparent;
	border-radius: 0;
	border-bottom: 1px solid var(--dark-divider-color);
	z-index: 100;
}

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

header.main-header .header-sticky.active{
	position: fixed;
	top: 0;
	left: 15px;
	right: 15px;
	background: var(--primary-color);
	border: 1px solid var(--dark-divider-color);
	border-top: none;
	border-radius: 0 0 14px 14px;
    transform: translateY(0);
}

.navbar{
	align-items: center;
}

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

/* Site logo — header & footer */
.site-logo {
    height: 75px;
    width: auto;
    display: block;
}

.footer-logo .site-logo {
    height: 90px;
}

@media (max-width: 991px) {
    .site-logo { height: 58px; }
    .footer-logo .site-logo { height: 72px; }
}

@media (max-width: 575px) {
    .site-logo { height: 75px; }
    .footer-logo .site-logo { height: 60px; }
}

.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 10px;
	position: relative;
}

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

/* ---- Top-level submenu arrow (CSS-only, no font-dependency) ---- */
.main-menu ul li.submenu > a:after{
	content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-3px);
	margin-left: 7px;
	transition: transform 0.3s ease-in-out;
	vertical-align: middle;
}

.main-menu ul li.submenu:hover > a:after{
	transform: rotate(-135deg) translateY(-3px);
}

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

/* ---- First-level dropdown panel ---- */
.main-menu ul ul{
	position: absolute;
	left: 0;
	top: calc(100% + 8px);
	padding: 8px 0;
	margin: 0;
	list-style: none;
	min-width: 220px;
	background: var(--primary-color);
	border-radius: 12px;
	border: 1px solid rgba(198, 148, 89, 0.18);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28), 0 0 0 1px rgba(255,255,255,0.04) inset;
	text-align: left;
	transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out, visibility 0.25s;
	transform: translateY(-6px);
	transform-origin: top left;
	visibility: hidden;
	opacity: 0;
}

.main-menu ul li:hover > ul{
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

/* ---- Second-level flyout ---- */
.main-menu ul ul ul{
	left: 100%;
	top: -8px;
	transform: translateX(-6px);
}

.main-menu ul ul li:hover > ul{
	transform: translateX(0);
}

/* ---- Dropdown item arrows (→ chevron, CSS-only) ---- */
.main-menu ul li.submenu ul li.submenu > a:after{
	content: '';
	display: inline-block;
	width: 5px;
	height: 5px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(-45deg) translateY(-2px);
	float: right;
	margin-top: 6px;
}

/* ---- Dropdown links ---- */
.main-menu ul ul li{
	margin: 0;
	padding: 0;
}

.main-menu ul ul li a{
	display: block;
	color: rgba(255, 255, 255, 0.78);
	font-size: 14px;
	font-weight: 400;
	padding: 9px 20px !important;
	border-left: 2px solid transparent;
	transition: color 0.22s ease, background 0.22s ease, border-color 0.22s ease, padding 0.22s ease;
}

.main-menu ul ul li a:hover,
.main-menu ul ul li a:focus{
	color: var(--accent-color);
	background: rgba(198, 148, 89, 0.1) !important;
	border-left-color: var(--accent-color);
	padding-left: 24px !important;
}

/* ---- Divider between top-level categories inside mega dropdown ---- */
.main-menu ul ul li + li{
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}

/* ---- Mega menu (Services) — show all categories as a wider panel ---- */
.main-menu li.mega-menu{
	position: static;
}

.main-menu li.mega-menu > ul{
	left: 50%;
	transform: translateX(-50%) translateY(-6px);
	min-width: 720px;
	/* Never let a centered mega panel spill past the viewport on narrow desktops/tablets */
	max-width: calc(100vw - 30px);
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	padding: 0;
	border-radius: 14px;
	pointer-events: none;
}

/* Suppress CSS :hover for mega menus — JS (.mega-js-open) controls open state */
.main-menu li.mega-menu:hover > ul{
	transform: translateX(-50%) translateY(-6px);
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}

.main-menu li.mega-menu.mega-js-open > ul{
	transform: translateX(-50%) translateY(0);
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.main-menu li.mega-menu > ul > li.submenu{
	flex: 0 0 auto;
	width: 33.333%;
	border-top: none;
	border-right: 1px solid rgba(255,255,255,0.06);
	padding: 18px 0 14px;
}

.main-menu li.mega-menu > ul > li.submenu:nth-child(3n),
.main-menu li.mega-menu > ul > li.submenu:last-child {
	border-right: none;
}

.main-menu li.mega-menu > ul > li.submenu > a{
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	color: var(--accent-color) !important;
	padding: 4px 20px 10px !important;
	border-left: none !important;
	background: transparent !important;
	cursor: default;
	pointer-events: none;
}

.main-menu li.mega-menu > ul > li.submenu > a:after{
	display: none;
}

/* Sub-items inside mega menu columns — shown inline, no flyout */
.main-menu li.mega-menu > ul > li.submenu > ul{
	position: static;
	visibility: visible;
	opacity: 1;
	transform: none;
	box-shadow: none;
	border: none;
	border-radius: 0;
	background: transparent;
	min-width: auto;
	padding: 0;
	display: block;
}

.main-menu li.mega-menu > ul > li.submenu > ul li{
	border-top: none;
}

.main-menu li.mega-menu > ul > li.submenu > ul li a{
	font-size: 13px !important;
	padding: 6px 20px !important;
}

.main-menu li.mega-menu > ul > li.submenu > ul li a:hover{
	padding-left: 26px !important;
}

/* ---- Events mega menu: 5-col layout, F1 column 2-col list ---- */
.main-menu li.mega-menu-events > ul {
    min-width: min(1150px, calc(100vw - 30px));
}
/* Column widths: Racing 20%, F1 28%, Motor 14%, Arts 23%, Gardens 15% = 100% */
.main-menu li.mega-menu-events > ul > li.submenu { width: 20%; }
.main-menu li.mega-menu-events > ul > li.submenu:nth-child(2) { width: 28%; }
.main-menu li.mega-menu-events > ul > li.submenu:nth-child(3) { width: 14%; }
.main-menu li.mega-menu-events > ul > li.submenu:nth-child(4) { width: 23%; }
.main-menu li.mega-menu-events > ul > li.submenu:nth-child(5) { width: 15%; }
/* Override global 3n border-removal — restore border on col 3, remove only on col 5 */
.main-menu li.mega-menu-events > ul > li.submenu:nth-child(3n) {
    border-right: 1px solid rgba(198,148,89,0.12);
}
.main-menu li.mega-menu-events > ul > li.submenu:nth-child(5),
.main-menu li.mega-menu-events > ul > li.submenu:last-child {
    border-right: none;
}
/* F1 (2nd column): display 25 GPs in 2 side-by-side sub-columns */
.main-menu li.mega-menu-events > ul > li.submenu:nth-child(2) > ul {
    columns: 2;
    column-gap: 0;
}
.main-menu li.mega-menu-events > ul > li.submenu:nth-child(2) > ul li {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
}

/* ---- Services mega menu: 6 columns in one row, Tours double-wide ---- */
.main-menu li.mega-menu-services > ul {
    min-width: min(1280px, calc(100vw - 30px));
}
/* 5 cols × 15% + Tours 25% = 100% */
.main-menu li.mega-menu-services > ul > li.submenu {
    width: 15%;
}
.main-menu li.mega-menu-services > ul > li.submenu:nth-child(5) {
    width: 25%;
}
/* Tours (5th col): links in 2 side-by-side sub-columns */
.main-menu li.mega-menu-services > ul > li.submenu:nth-child(5) > ul {
    columns: 2;
    column-gap: 0;
}
.main-menu li.mega-menu-services > ul > li.submenu:nth-child(5) > ul li {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
}
/* Border: restore 3n (overrides global removal), remove only last */
.main-menu li.mega-menu-services > ul > li.submenu:nth-child(3n) {
    border-right: 1px solid rgba(255,255,255,0.06);
}
.main-menu li.mega-menu-services > ul > li.submenu:last-child {
    border-right: none;
}

/* ---- Fleet mega menu: 5 columns in one row, Group & XL double-wide ---- */
.main-menu li.mega-menu-fleet > ul {
    min-width: min(1120px, calc(100vw - 30px));
}
/* Business 16% + First 16% + Prestige 16% + Range Rover 18% + Group & XL 34% = 100% */
.main-menu li.mega-menu-fleet > ul > li.submenu {
    width: 16%;
}
.main-menu li.mega-menu-fleet > ul > li.submenu:nth-child(4) {
    width: 18%;
}
.main-menu li.mega-menu-fleet > ul > li.submenu:nth-child(5) {
    width: 34%;
}
/* Group & XL (5th col): 16 vehicles in 2 side-by-side sub-columns */
.main-menu li.mega-menu-fleet > ul > li.submenu:nth-child(5) > ul {
    columns: 2;
    column-gap: 0;
}
.main-menu li.mega-menu-fleet > ul > li.submenu:nth-child(5) > ul li {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
}
/* Border: restore 3n (overrides global removal), remove only last */
.main-menu li.mega-menu-fleet > ul > li.submenu:nth-child(3n) {
    border-right: 1px solid rgba(255,255,255,0.06);
}
.main-menu li.mega-menu-fleet > ul > li.submenu:last-child {
    border-right: none;
}

/* ---- Airports mega menu: 2 columns, London Airports double-wide ---- */
.main-menu li.mega-menu-airports > ul {
    min-width: 760px;
}
/* London Airports 58% (2 sub-cols) + Inter-Airport 42% = 100% */
.main-menu li.mega-menu-airports > ul > li.submenu {
    width: 42%;
}
.main-menu li.mega-menu-airports > ul > li.submenu:nth-child(1) {
    width: 58%;
}
/* London Airports (1st col): 13 entries in 2 side-by-side sub-columns */
.main-menu li.mega-menu-airports > ul > li.submenu:nth-child(1) > ul {
    columns: 2;
    column-gap: 0;
}
.main-menu li.mega-menu-airports > ul > li.submenu:nth-child(1) > ul li {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
}
.main-menu li.mega-menu-airports > ul > li.submenu:last-child {
    border-right: none;
}

/* ---- Locations mega menu: 3 columns, London Areas quad-wide ---- */
.main-menu li.mega-menu-locations > ul {
    min-width: min(1200px, calc(100vw - 30px));
}
/* London Areas 60% (4 sub-cols) + London Hotels 20% + UK Cities 20% = 100% */
.main-menu li.mega-menu-locations > ul > li.submenu {
    width: 20%;
}
.main-menu li.mega-menu-locations > ul > li.submenu:nth-child(1) {
    width: 60%;
}
/* London Areas (1st col): 54 areas in 4 side-by-side sub-columns */
.main-menu li.mega-menu-locations > ul > li.submenu:nth-child(1) > ul {
    columns: 4;
    column-gap: 0;
}
.main-menu li.mega-menu-locations > ul > li.submenu:nth-child(1) > ul li {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
}
/* Keep place names on one line so narrow sub-columns stay row-aligned */
.main-menu li.mega-menu-locations > ul > li.submenu > ul li a {
    white-space: nowrap;
}

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

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

/* Mobile-only "Book Now" button in the header bar (hidden on desktop) */
.header-btn-mobile{
	display: none;
}

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

.slicknav_btn{
	background: var(--accent-gradient);
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 6px;
	margin: 0;
}

.slicknav_icon .slicknav_icon-bar{
	display: block;
	width: 100%;
	height: 3px;
	width: 22px;
	background-color: var(--white-color);
	border-radius: 6px;
	margin: 4px auto !important;
	transition: all 0.1s ease-in-out;
}

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

.slicknav_icon .slicknav_icon-bar:last-child{
	margin-bottom: 0 !important;
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(1){
    transform: rotate(-45deg) translate(-5px, 5px);
}

.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){
    transform: rotate(45deg) translate(-5px, -5px);
}

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

.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';
	position: absolute;
	font-family: 'FontAwesome';
	font-weight: 900;
	font-size: 12px;
	margin-left: 8px;
	color: var(--white-color);
	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;
	background-image: url('../images/hero-bg-image.jpg');
	background-position: center center;
	border-radius: 14px;
	min-height: 100vh;
	align-content: center;
    padding: 200px 0 80px;
	margin: 15px 15px 0;
	overflow: hidden;
}

.hero::before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
  	background: linear-gradient(rgba(0, 0, 0, 0.50), rgba(0, 0, 0, 0.50)), linear-gradient(180deg, rgba(40, 42, 35, 0.80) 0%, rgba(40, 42, 35, 0.19) 11.75%), linear-gradient(270deg, rgba(40, 42, 35, 0.00) 31.93%, rgba(40, 42, 35, 0.90) 100%);
    z-index: 1;
}

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

.hero-content .section-title{
	margin: 0;
}

.hero-content .section-title p{
	max-width: 635px;
}

/* Hero contact bar */
.hero-contact-bar{
    display: flex;
    flex-wrap: wrap;
    gap: 12px 28px;
    margin: 22px 0 20px;
}

.hero-btn{
    margin-top: 28px;
}
.hero-contact-item{
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,0.85);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s;
}
.hero-contact-item:hover{ color: var(--accent-color); }
.hero-contact-item svg{ color: var(--accent-color); flex-shrink: 0; }

/* Hero booking form */
.hero-booking-form{
    background: #1e1d1a;
    border: none;
    border-radius: 18px;
    padding: 36px 32px 42px;
}
.hero-booking-form h3{
    font-size: 24px;
    font-weight: 700;
    color: var(--white-color);
    margin-bottom: 24px;
    padding-bottom: 0;
    border-bottom: none;
    letter-spacing: -0.01em;
    line-height: 1.2;
}
.hero-booking-form .form-control{
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.22);
    border-radius: 10px;
    color: var(--white-color);
    font-size: 14px;
    padding: 10px 14px;
    height: auto;
    transition: border-color 0.2s, background 0.2s;
}
.hero-booking-form .form-control::placeholder{
    color: rgba(255,255,255,0.52);
}
.hero-booking-form .form-control:focus{
    background: rgba(255,255,255,0.14);
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(198,148,89,0.18);
    color: var(--white-color);
    outline: none;
}
.hero-booking-form select.form-control{
    cursor: pointer;
}
.hero-booking-form select.form-control option{
    background: #1e1d1a;
    color: var(--white-color);
}
.hero-booking-form input[type="date"]::-webkit-calendar-picker-indicator{
    filter: invert(1) opacity(0.5);
    cursor: pointer;
}
.hero-booking-form .btn-default{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 6px 0 0;
    padding: 16px 56px 16px 24px;   /* right padding leaves room for the inset arrow */
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.01em;
}
/* Keep the circular arrow tucked inside the button so it never spills past the card edge */
.hero-booking-form .btn-default::before{
    right: 8px;
    width: 40px;
    height: 40px;
    background-size: 18px auto;
    border-color: transparent;
}
/* International phone input — always fill its field width wherever auto-initialised */
.iti:has(input.js-intl-tel){
    display: block;
    width: 100%;
}
/* International phone input (flag dropdown) inside the dark quote card */
.hero-booking-form .iti{
    display: block;
    width: 100%;
}
.hero-booking-form .iti__flag-container{
    border-right: 1px solid rgba(255,255,255,0.22);
}
.hero-booking-form .iti--separate-dial-code .iti__selected-flag{
    background: rgba(255,255,255,0.06);
    border-radius: 10px 0 0 10px;
}
.hero-booking-form .iti__selected-dial-code{
    color: var(--white-color);
}
.hero-booking-form .iti__arrow{
    border-top-color: rgba(255,255,255,0.6);
}
.hero-booking-form .iti__arrow--up{
    border-bottom-color: rgba(255,255,255,0.6);
}
/* Country dropdown stays light for readability */
.hero-booking-form .iti__country-list{
    background: #fff;
    color: #1e1d1a;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.35);
}

.hero-content-body{
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 25px 40px;
	border-top: 1px solid var(--dark-divider-color);
	margin-top: 80px;
	padding-top: 50px;
}

.video-play-button a{
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 20px;
	cursor: none;
	z-index: 1;
}

.video-play-button a span{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-gradient);
	border-radius: 50%;
	color: var(--white-color);
	display: flex;
	justify-content: center;
	align-items: center;
}

.video-play-button a span.bg-effect:before,
.video-play-button a span.bg-effect:after{
	content: '';
	position: absolute;
    width: 160%;
    height: 160%;
	border: 35px solid var(--white-color);
	opacity: 50%;
	border-radius: 50%;
	transform: scale(0.6);
	z-index: -1;
	animation: border-zooming 1.2s infinite linear;
}

.video-play-button a span.bg-effect:after{
	animation-delay: .3s;
}

@keyframes border-zooming{
	100%{
		transform: scale(1);
		opacity: 0;
	}
}

.video-play-button a span i{
    font-size: 18px;
    color: inherit;
    margin-left: 2px;
}

.video-play-button p{
	font-weight: 600;
	color: var(--white-color);
	margin: 0;
}

/************************************/
/*** 	   05. About Us css	      ***/
/************************************/

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

.about-us-image-box{
    display: flex;
    flex-wrap: wrap;
	align-items: start;
    margin-right: 15px;
    height: 100%;
}

.about-us-image.image-1{
	position: relative;
	width: 26%;
	margin-top: 80px;
	z-index: 1;
}

.about-us-image.image-1::before{
	content: '';
	position: absolute;
	right: 0;
	bottom: 20px;
	background: url('../images/about-us-bg-image.png') no-repeat;
	background-position: center center;
    background-size: cover;
	width: 140px;
	height: 143px;
	transform: translateY(100%);
}

.about-us-image figure{
	display: block;
	border-radius: 14px;
}

.about-us-image figure img{
	width: 100%;
	object-fit: cover;
	border-radius: 14px;
}

.about-us-image.image-1 figure{
	border: 10px solid var(--white-color);
	margin-right: -145px;
	border-radius: 22px;
}

.about-us-image.image-1 figure img{
	aspect-ratio: 1 / 1.153;
}

.about-us-image.image-2{
	position: relative;
	width: 74%;
	height: 100%;
	z-index: 0;
}

.about-us-image.image-2,
.about-us-image.image-2 figure,
.about-us-image.image-2 figure img{
	height: 100%;
}

.about-us-image.image-2 figure img{
	aspect-ratio: 1 / 1.26;
}

.about-us-content{
	height: 100%;
	align-content: center;
}

.about-us-item-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.about-us-item{
	width: calc(50% - 15px);
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.about-us-item .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-gradient);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

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

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

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

.about-us-item-content{
	width: calc(100% - 65px);
}

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

.about-us-item-content p{
	margin: 10px 0 0;
}

.about-us-footer{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
    gap: 20px 40px;
	border-top: 1px solid var(--divider-color);
	margin-top: 60px;
	padding-top: 40px;
}

.about-author-signature img{
    width: 100%;
    max-width: 122px;
}

/************************************/
/***     06. Our Services css     ***/
/************************************/

.our-services{
	position: relative;
	padding: 120px 0;
	overflow: hidden;
}

.our-services::before, 
.our-services::after{
    content: '';
    position: absolute;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
	z-index: 1;
}

.our-services::before{
	background-image: url('../images/section-bg-image-1.png');
    top: -20px;
    right: -20px;
    width: 155px;
    height: 180px;
}

.our-services::after{
	bottom: -20px;
    left: -20px;
    width: 206px;
    height: 270px;
}

.our-services .container{
	position: relative;
	z-index: 2;
}

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

.service-item{
	position: relative;
	width: calc(50% - 15px);
	background-color: var(--bg-color);
	border-radius: 14px;
	padding: 40px;
	overflow: hidden;
	border: 1px solid rgba(198, 148, 89, 0.25);
	box-shadow: 0 4px 24px rgba(40, 42, 35, 0.06);
	transition: border-color 0.4s ease-in-out, box-shadow 0.4s ease-in-out;
}

/* When service-item sits directly inside a Bootstrap grid column (fleet/airport grids), fill the column */
[class*="col-"] > .service-item {
	width: 100%;
	margin-bottom: 30px;
}


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

.service-item:hover{
	border-color: var(--accent-color);
	box-shadow: none;
}

.service-item:hover:before{
	height: 100%;
	border-radius: 0;
}

.service-item .icon-box{
	position: relative;
	margin-bottom: 40px;
	z-index: 1;
}

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

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

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

.service-item-content h2,
.service-item-content h3{
	font-size: 20px;
	transition: all 0.4s ease-in-out;
}

.service-item-content h2 a,
.service-item-content h3 a{
	color: inherit;
}

.service-item-content p{
	margin: 10px 0 0;
	transition: all 0.4s ease-in-out;
}

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

/* Read More link auto-injected into every service card (see footer.php) */
.service-item-content .readmore-btn{
	margin-top: 18px;
}

.service-item:hover .service-item-content .readmore-btn{
	color: var(--white-color);
}

.service-item:hover .service-item-content .readmore-btn::before{
	background-color: var(--primary-color);
}

.service-cta-box{
	position: relative;
	height: 100%;
    border-radius: 14px;
    overflow: hidden;
}

.service-cta-box-image{
	height: 100%;
}

.service-cta-box-image figure{
	position: relative;
    display: block;
	height: 100%;
}

.service-cta-box-image figure::before{
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, transparent 50%, var(--primary-color) 100%);
    width: 100%;
	height: 100%;
    z-index: 1;
}

.service-cta-box-image figure img{
	width: 100%;
	height: 100%;
    aspect-ratio: 1 / 1.21;
    object-fit: cover;
}

.service-cta-box-content{
	position: absolute;
	bottom: 40px;
	left: 40px;
	right: 40px;
	z-index: 1;
}

.service-cta-content-title{
	margin-bottom: 30px;
}

.service-cta-content-title h3{
	font-size: 20px;
	color: var(--white-color);
	line-height: 1.4em;
}

.section-footer-text{
	margin-top: 30px;
	text-align: center;
}

.our-services .section-footer-text{
	margin-top: 60px;
}

.section-footer-text p{
	color: var(--primary-color);
	margin-bottom: 0;
}

.section-footer-text p span{
	display: inline-block;
	font-size: 14px;
	font-weight: 600;
	background: var(--accent-gradient);
	color: var(--white-color);
	line-height: 1em;
	padding: 5px 12px;
	border-radius: 100px;
	margin-right: 10px;
}

.section-footer-text p a{
	font-weight: 700;
	text-transform: capitalize;
	text-decoration: underline;
	text-underline-offset: 3px;
	color: var(--accent-color);
	transition: all 0.3s ease-in-out;
}

.section-footer-text p a:hover{
	color: var(--primary-color);
}

.section-footer-text ul{
	width: 100%;
	padding: 0;
	margin: 20px 0 0;
	list-style: none;
}

.section-footer-text ul li{
	display: inline-block;
	color: var(--primary-color);
	line-height: normal;
	margin-right: 10px;
}

.section-footer-text ul li:last-child{
	margin-right: 0;
}

.section-footer-text ul.section-footer-border-list li{
	border-right: 1px solid var(--divider-color);
	padding-right: 15px;
}

.section-footer-text ul.section-footer-border-list li:last-child{
	padding-right: 0;
	border-right: none;
}

.section-footer-text ul li b{
	font-weight: 600;
}

.section-footer-text ul li i{
	color: var(--accent-color);
}

.dark-section .section-footer-text p,
.dark-section .section-footer-text p a,
.dark-section .section-footer-text ul li{
	color: var(--white-color);
}

.dark-section .section-footer-text p a:hover{
	color: var(--accent-color);
}

.section-footer-text.section-footer-contact{
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px 20px;
}

.section-footer-text.section-footer-contact span{
	width: 30px;
    height: 30px;
    padding: 0;
    display: inline-flex;
    justify-content: center;
	align-items: center;
    margin-right: 10px;
}

.section-footer-text.section-footer-contact span img{
	width: 100%;
	max-width: 16px;
}

.satisfy-client-images{
	display: inline-flex;
	align-items: center;
}

.satisfy-client-image{
	position: relative;
	display: inline-block;
	border: 1px solid var(--white-color);
	border-radius: 50%;
	margin-left: -14px;
	overflow: hidden;
	z-index: 1;
}

.satisfy-client-image:first-child{
	margin-left: 0;
}

.satisfy-client-image figure{
	display: block;
}

.satisfy-client-image img{
	width: 100%;
	max-width: 48px;
}

.satisfy-client-image.add-more{
	width: 50px;
	height: 50px;
	background: var(--accent-gradient);
	display: flex;
	justify-content: center;
	align-items: center;
}

.satisfy-client-image.add-more h3{
	font-size: 18px;
	color: var(--white-color);
}

.satisfy-client-image.add-more i{
	font-size: 20px;
	color: var(--white-color);
}

.satisfy-client-image.add-more img{
	max-width: 24px;
}

.section-footer-text.section-satisfy-img{
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.dark-section .section-footer-text.section-satisfy-img .satisfy-client-image{
    border-color: var(--primary-color);
}

.section-footer-text.section-satisfy-img .satisfy-client-image figure img{
	max-width: 28px;
}

.section-footer-text.section-satisfy-img .satisfy-client-image.add-more{
	width: 30px;
	height: 30px;
    margin-left: -10px;
}

.section-footer-text.section-satisfy-img .satisfy-client-image.add-more img{
	max-width: 18px;
}

.section-footer-text.section-satisfy-img ul{
	margin: 5px 0 0;
}


/************************************/
/***     07. Why Choose Us css    ***/
/************************************/

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

.why-choose-body-list ul{
	list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 15px 20px;
}

.why-choose-body-list ul li{
	position: relative;
	width: calc(50% - 10px);
	padding-left: 25px;
	line-height: 1.5em;
}

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

.why-choose-highlighted-box{
	background: linear-gradient(90deg, var(--secondary-color) 0%, rgba(255, 255, 255, 0.00) 110.24%);;
	border-left: 4px solid var(--accent-color);
	border-radius: 14px;
	padding: 30px;
	margin-top: 40px;
}

.why-choose-highlighted-box p{
	font-weight: 600;
	color: var(--primary-color);
	margin-bottom: 0;
}

.why-choose-us-footer{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 40px;
	margin-top: 40px;
}

.why-choose-us-contact-box{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.why-choose-us-contact-box .icon-box{
	position: relative;
    background: var(--primary-color);
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.why-choose-us-contact-box .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: var(--accent-gradient);
    border-radius: 50%;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.why-choose-us-contact-box:hover .icon-box::before{
	transform: scale(1)
}

.why-choose-us-contact-box .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
    z-index: 1;
}

.why-choose-contact-box-content{
	width: calc(100% - 65px);
}

.why-choose-contact-box-content p{
	line-height: normal;
	margin: 0 0 5px 0;
}

.why-choose-contact-box-content h3{
	font-size: 20px;
	line-height: 1.4em;
	color: var(--primary-color);
}

.why-choose-contact-box-content h3 a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

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

.why-choose-image-box{
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	gap: 30px;
	margin-left: 15px;
}

.why-choose-image-box-1{
	width: calc(62% - 15px);
	position: sticky;
	top: 30px;
}

.why-choose-image-1 figure{
	display: block;
	border-radius: 200px 14px 14px;
}

.why-choose-image-1 figure img{
	width: 100%;
	object-fit: cover;
	aspect-ratio: 1 / 1.345;
	border-radius: 200px 14px 14px;
}

.why-choose-image-2{
	position: relative;
	margin: -80px 65px 0;
	z-index: 1;
}

.why-choose-image-2 figure{
	display: block;
	border: 5px solid var(--white-color);
	border-radius: 18px;
}

.why-choose-image-2 figure img{
	width: 100%;
	object-fit: cover;
	aspect-ratio: 1 / 0.66;
	border-radius: 14px;
}

.why-choose-image-box-2{
	width: calc(38% - 15px);
	background-color: var(--secondary-color);
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
	padding: 10px;
}

.why-choose-counter-list{
	padding: 20px;
}

.why-choose-counter-item{
	text-align: center;
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 30px;
	margin-bottom: 30px;
}

.why-choose-counter-item:last-child{
	border: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.why-choose-counter-item h2{
	font-size: 50px;
	line-height: 1em;
}

.why-choose-counter-item p{
	margin: 10px 0 0;
}

.why-choose-image-3 figure{
	display: block;
	border-radius: 14px;
}

.why-choose-image-3 figure img{
	width: 100%;
	object-fit: cover;
	aspect-ratio: 1 / 1.25;
	border-radius: 14px;
}

/************************************/
/***      08. Core Feature css    ***/
/************************************/

.core-feature{
	padding: 120px 0;
}

.core-feature-item{
	border-bottom: 1px solid var(--dark-divider-color);
	margin-bottom: 70px;
	padding-bottom: 70px;
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.core-feature-item:last-child{
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.core-feature-item .icon-box{
	position: relative;
	height: 50px;
	width: 50px;
	background: var(--accent-gradient);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

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

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

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

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

.core-feature-item-content{
	width: calc(100% - 65px);
}

.core-feature-item-content h3{
	font-size: 20px;
	color: var(--white-color);
}

.core-feature-item-content p{
	color: var(--white-color);
	margin: 10px 0 0 0;
}

.core-feature-image{
	position: relative;
	border-radius: 999px;
	backdrop-filter: blur(15px);
}

.core-feature-image::after{
    content: '';
    position: absolute;
    bottom: 0px;
    left: -15px;
    background: url('../images/core-feature-bg-image.png') no-repeat;
	background-position: center center;
    background-size: cover;
    width: 110px;
    height: 130px;
}

.core-feature-image figure{
	position: relative;
	display: block;
	border-radius: 999px;
	z-index: 1;
}

.core-feature-image img{
    width: 100%;
	aspect-ratio: 1 / 1.30;
    object-fit: cover;
	border-radius: 999px;
}

/************************************/
/***    09. Our Case Study css    ***/
/************************************/

.our-case-study{
	padding: 120px 0;
}

.case-study-item{
    position: relative;
	border-radius: 14px;
    height: calc(100% - 30px);
    margin-bottom: 30px;
	overflow: hidden;
}

.case-study-item-image figure,
.case-study-item-image a{
    position: relative;
	display: block;
	height: 100%;
    cursor: none;
}

.case-study-item-image figure::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, transparent 50%, var(--primary-color) 90%);
	border-radius: 14px;
    width: 100%;
    height: 100%;
	z-index: 1;
}

.case-study-item-image figure img{
    width: 100%;
	height: 100%;
    aspect-ratio: 1 / 1.24;
    object-fit: cover;
	transition: all 0.6s ease-in-out;
}

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

.case-study-item-content{
    position: absolute;
	right: 50px;
	bottom: 40px;
	left: 40px;
	z-index: 2;
}

.case-study-item-content ul{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
	margin-bottom: 20px;
}

.case-study-item-content ul li a{
	position: relative;
	display: block;
    font-size: 14px;
    font-weight: 500;
    line-height: normal;
	color: var(--white-color);
	border: 1px solid var(--dark-divider-color);
	border-radius: 100px;
	padding: 7px 16px 7px 31px;
	transition: all 0.4s ease-in-out;
}

.case-study-item-content ul li a:hover{
	background: var(--white-color);
	color: var(--primary-color);
}

.case-study-item-content ul li a::before{
	content: '';
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    background: var(--accent-gradient);
    border-radius: 50%;
    width: 5px;
    height: 5px;
}

.case-study-item-content h2{
    font-size: 20px;
	line-height: 1.4em;
    color: var(--white-color);
}

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

.case-study-item-btn{
    position: absolute;
    top: 40px;
    right: 40px;
    transform: scale(0);
    transition: all 0.5s ease-in-out;
    z-index: 2;
}

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

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

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

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

.case-study-item-btn a:hover img{
	transform: rotate(45deg);
	filter: brightness(0) invert(0);
}

/************************************/
/***  10. Special Treatment css   ***/
/************************************/

.special-treatment{
	background-image: url('../images/section-bg-image-3.png');
	background-repeat: no-repeat;
	background-position: top -15px right -5px;
	background-size: 160px auto;
	padding: 120px 0;
}

.special-treatment-image-box{
	position: relative;
	padding: 70px 50px 40px 50px;
}

.special-treatment-image::before{
    content: '';
    position: absolute;
    left: 15px;
    top: 50%;
    background: url('../images/about-us-bg-image.png') no-repeat;
	background-position: center center;
    background-size: cover;
    width: 120px;
    height: 123px;
    transform: translate(-100%, -50%);
}

.special-treatment-image::after{
    content: '';
    position: absolute;
    left: 50%;
    bottom: -40px;
    background: url('../images/special-treatment-bg-border-image.png') no-repeat;
	background-position: center center;
    background-size: cover;
    width: 501px;
    height: 419px;
    transform: translateX(-50%);
}

.special-treatment-image{
	position: relative;
	max-width: 400px;
	margin: 0 auto;
	z-index: 1;
}

.special-treatment-image figure{
	display: block;
	border-radius: 999px;
}

.special-treatment-image img{
	width: 100%;
	aspect-ratio: 1 / 1.52;
	object-fit: cover;
	border-radius: 999px;
}

.special-treatment-title-box,
.special-treatment-image-bg-border{
	position: absolute;
	left: 0;
	right: 0;
	text-align: center;
}

.special-treatment-title-box path{
	color: var(--primary-color);
}

.special-treatment-title-box{
	top: 0;
}

/* Luxelimo signature arc — curved text over the photo (replaces original template graphic) */
.special-treatment-title-box .lux-arc{
	display: block;
	width: 100%;
	max-width: 400px;
	height: auto;
	margin: 0 auto;
	overflow: visible;
	filter: drop-shadow(0 2px 4px rgba(40, 42, 35, 0.45));
}

.special-treatment-title-box .lux-arc text{
	fill: var(--accent-color);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 4px;
	text-transform: uppercase;
}

.special-treatment-image-bg-border{
	bottom: 0;
}

.special-treatment-item{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 30px;
	padding-bottom: 30px;
}

.special-treatment-item:last-child{
	border: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.special-treatment-item-image figure{
	display: block;
	border-radius: 50%;
}

.special-treatment-item-image figure img{
	width: 100%;
	max-width: 100px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 50%;
}

.special-treatment-item-content{
	width: calc(100% - 120px);
}

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

.special-treatment-item-content p{
	margin: 10px 0 0;
}

/************************************/
/***      11. Our Pricing css     ***/
/************************************/

.our-pricing{
	padding: 120px 0;
}

.pricing-item{
	background-color: var(--secondary-color);
	border-radius: 14px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 40px;
}

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

.pricing-item-header .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-gradient);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 30px;
	transition: all 0.4s ease-in-out;
}

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

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

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

.pricing-item-content{
	margin-bottom: 30px;
}

.pricing-item-content h2{
	font-size: 20px;
}

.pricing-item-content p{
	margin: 10px 0 0;
}

.pricing-item-price h2{
	font-size: 50px;
	font-weight: 500;
	line-height: 1.1em;
}

.pricing-item-price h2 sup{
	font-size: 16px;
	top: -1em;
	color: var(--text-color);
	font-weight: 400;
}

.pricing-item-list h3{
	font-size: 20px;
	margin-bottom: 20px;
}

.pricing-item-list ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.pricing-item-list ul li{
	position: relative;
	line-height: 1.5em;
	padding-left: 25px;
	margin-bottom: 15px;
}

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

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

.pricing-item-btn{
	margin-top: 40px;
}

.pricing-benefit-list{
	margin-top: 30px;
}

.pricing-benefit-list ul{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
    justify-content: center;
	gap: 20px 60px;
}

.pricing-benefit-list ul li{
	color: var(--text-color);
    display: inline-flex;
    align-items: center;
}

.pricing-benefit-list ul li img{
	width: 100%;
	max-width: 20px;
	margin-right: 10px;
}

/************************************/
/***   12. Book Appointment css   ***/
/************************************/

.book-appointment{
	position: relative;
	background-image: url('../images/book-appointment-bg-image.jpg');
	background-position: center center;
	padding: 120px 0;
	overflow: hidden;
}

.book-appointment::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(0deg, rgba(40, 42, 35, 0.70) 0%, rgba(40, 42, 35, 0.70) 100%);
    width: 100%;
    height: 100%;
    z-index: 1;
}

.book-appointment .container{
    position: relative;
    z-index: 2;
}

.book-appointment-content{
	position: sticky;
	top: 30px;
}

.book-appointment-content .section-title{
	margin: 0;
}

.book-appointment-hours-box{
	margin-top: 80px;
	max-width: 360px;
}

.appointment-hours-header{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    border-bottom: 1px solid var(--divider-color);
    padding-bottom: 30px;
	margin-bottom: 30px;
}

.dark-section .appointment-hours-header{
	border-color: var(--dark-divider-color);
}

.appointment-hours-header .icon-box{
	position: relative;
    width: 30px;
    height: 30px;
    background: var(--accent-gradient);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
	overflow: hidden;
}

.appointment-hours-header .icon-box::before{
   	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--primary-color);
    border-radius: 100px;
    transform: scale(0);
    width: 100%;
    height: 100%;
    transition: all 0.4s ease-in-out;
	z-index: 0;
}

.book-appointment-hours-box:hover .appointment-hours-header .icon-box::before{
	transform: scale(1);
}

.dark-section .appointment-hours-header .icon-box::before{
	background: var(--white-color);
}

.appointment-hours-header .icon-box img{
	position: relative;
	width: 100%;
	max-width: 16px;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.dark-section .book-appointment-hours-box:hover .appointment-hours-header  .icon-box img{
    filter: brightness(0) invert(0);
}

.appointment-hours-header-content{
    width: calc(100% - 45px);
}

.appointment-hours-header-content h3{
    font-size: 20px;
}

.dark-section .appointment-hours-header-content h3{
	color: var(--white-color);
}

.appointment-hour-list ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

.appointment-hour-list ul li{
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    line-height: 1.5em;
	margin-bottom: 20px;
}

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

.appointment-hour-list ul li span{
	color: var(--primary-color);
	font-weight: 600;
}

.dark-section .appointment-hour-list ul li,
.dark-section .appointment-hour-list ul li span{
	color: var(--white-color);
}

.book-appointment-form{
	background: var(--secondary-color);
	border-radius: 14px;
	padding: 50px;
}

.dark-section .book-appointment-form{
	background-color: var(--dark-divider-color);
	backdrop-filter: blur(15px);
	-webkit-backdrop-filter: blur(15px);
	border: 1px solid var(--dark-divider-color);
}

.book-appointment-form .section-title{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 40px;
}

.dark-section .book-appointment-form .section-title{
	border-color: var(--dark-divider-color);
}

.appointmnet-form label{
	font-size: 16px;
	font-weight: 600;
	color: var(--primary-color);
	margin-bottom: 15px;
}

.dark-section .appointmnet-form label{
	color: var(--white-color);
}

.appointmnet-form .form-control{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5em;
	color: var(--primary-color);
	background-color: transparent;
	border: 1px solid var(--divider-color);
	border-radius: 10px;
	padding: 12px 20px;
	box-shadow: none;
	outline: none;
}

.dark-section .appointmnet-form .form-control{
	color: var(--white-color);
	border-color: var(--dark-divider-color);
}

.dark-section input[type="date"]::-webkit-calendar-picker-indicator{
	filter: invert(1);
}

input[type="date"]::-webkit-calendar-picker-indicator{
    cursor: pointer;
}

.appointmnet-form .form-control::placeholder{
	color: var(--primary-color);
	opacity: 60%;
}

.dark-section .appointmnet-form .form-control::placeholder{
	color: var(--white-color);
}

.appointmnet-form .form-control:focus{
	border-color: var(--accent-color);
	box-shadow: none;
}

.appointmnet-form select.form-control{
	cursor: pointer;
}

/************************************/
/***      13. Our Faqs css       ***/
/************************************/

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

.faq-image-box{
    position: relative;
    height: 100%;
	margin-right: 15px;
}

.faq-image{
    height: 100%;
}

.faq-image figure{
    display: block;
    height: 100%;
    border-radius: 14px;
}

.faq-image img{
    height: 100%;
    width: 100%;
    aspect-ratio: 1 / 1.23;
    object-fit: cover;
    border-radius: 14px;
}

.faq-cta-box{
    position: absolute;
    bottom: 30px;
    left: 30px;
	right: 30px;
    max-width: 350px;
    background-color: var(--bg-color);
    border-radius: 14px;
    padding: 30px;
    z-index: 1;
}

.faq-cta-box-title h2{
	font-size: 20px;
}

.faq-cta-contact-list{
	border-top: 1px solid var(--divider-color);
	margin-top: 25px;
	padding-top: 25px;
}

.faq-cta-contact-list ul{
	list-style: none;
	padding: 0;
    margin: 0;
}

.faq-cta-contact-list ul li{
	margin-bottom: 10px;
}

.faq-cta-contact-list ul li:last-child{
	margin-bottom: 0;
}

.faq-cta-contact-list ul li a{
	display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
	color: inherit;
    gap: 10px;
	line-height: 1.5em;
	transition: all 0.4s ease-in-out;
}

.faq-cta-contact-list ul li a:hover{
	color: var(--accent-color);
}

.faq-cta-contact-list ul li a img{
	width: 100%;
	max-width: 20px;
}

.faq-content-box{
    height: 100%;
    align-content: center;
}

/* ---- FAQ Section heading ---- */
.faq-section {
    margin-top: 52px;
}

.faq-section:first-child {
    margin-top: 0;
}

.faq-section-heading {
    font-size: 20px;
    font-weight: 700;
    color: var(--primary-color);
    padding-bottom: 12px;
    margin-bottom: 24px;
    margin-top: 0;
    border-bottom: 2px solid var(--accent-color);
    position: relative;
}

/* ---- FAQ Accordion items ---- */
.faq-accordion .accordion-item {
    position: relative;
    background: var(--white-color);
    border-radius: 12px;
    margin-bottom: 10px;
    overflow: hidden;
    border: 1px solid rgba(198, 148, 89, 0.2);
    box-shadow: 0 2px 12px rgba(40, 42, 35, 0.05);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

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

.faq-accordion .accordion-item:has(.accordion-button:not(.collapsed)) {
    border-color: var(--accent-color);
    box-shadow: 0 4px 24px rgba(198, 148, 89, 0.12);
}

/* ---- Button ---- */
.faq-accordion .accordion-header .accordion-button {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.45em;
    background: var(--white-color);
    color: var(--primary-color);
    padding: 20px 60px 20px 20px;
    box-shadow: none !important;
    border-radius: 12px !important;
    transition: color 0.3s ease, background 0.3s ease;
    position: relative;
    /* Kill Bootstrap's built-in chevron completely */
    --bs-accordion-btn-icon: none;
    --bs-accordion-btn-active-icon: none;
}

.faq-accordion .accordion-header .accordion-button::after {
    /* Override Bootstrap background-image chevron */
    background-image: none !important;
    background: none !important;
}

.faq-accordion .accordion-item .accordion-button:not(.collapsed) {
    background: var(--primary-color);
    color: var(--white-color);
    border-radius: 12px 12px 0 0 !important;
}

/* ---- +/− icon via ::before (avoids Bootstrap's ::after conflicts) ---- */
.faq-accordion .accordion-header .accordion-button::before {
    content: '+';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    font-weight: 300;
    line-height: 1;
    color: var(--accent-color);
    transition: color 0.3s ease, transform 0.3s ease;
    pointer-events: none;
}

.faq-accordion .accordion-header .accordion-button:not(.collapsed)::before {
    content: '\2212';
    color: var(--accent-color);
}

/* Hide Bootstrap's ::after icon entirely */
.faq-accordion .accordion-header .accordion-button::after {
    display: none !important;
}

/* ---- Body ---- */
.faq-accordion .accordion-item .accordion-body {
    background: var(--bg-color);
    border-top: 1px solid rgba(198, 148, 89, 0.18);
    padding: 20px 24px 22px;
}

.faq-accordion .accordion-item .accordion-body p {
    font-size: 15px;
    line-height: 1.75em;
    color: rgba(40, 42, 35, 0.82);
    margin: 0;
}

.faq-accordion .accordion-item .accordion-body p + p {
    margin-top: 12px;
}

.faq-accordion .accordion-item .accordion-body a {
    color: var(--accent-color);
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* ---- FAQ CTA box ---- */
.faq-cta-box {
    background: var(--primary-color);
    border-radius: 14px;
    padding: 48px 40px;
    text-align: center;
    margin-top: 50px;
}

.faq-cta-box h2 {
    color: var(--white-color);
    margin-bottom: 12px;
}

.faq-cta-box p {
    color: rgba(255, 255, 255, 0.72);
    margin-bottom: 28px;
    font-size: 15px;
}

.faq-cta-box .btn-default + .btn-default {
    color: var(--white-color);
    border-color: rgba(255, 255, 255, 0.4);
}

.faq-cta-box .btn-default + .btn-default::before {
    display: none;
}

/************************************/
/***   14. Our Testimonials css   ***/
/************************************/

.our-testimonials{
	background-image: url('../images/testimonial-bg-img.png');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 120px 0;
}

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

.testimonial-item{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	min-height: 420px;
	background-color: var(--bg-color);
	padding: 40px;
	border-radius: 14px;
}

.testimonial-item-rating i{
    color: var(--accent-color);
}

.testimonial-item-content{
	margin-top: 30px;
}

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

.testimonial-item-content h2{
	font-size: 20px;
}

.testimonial-item-counter-content{
	display: flex;
	align-items: center;
	gap: 15px;
	border-top: 1px solid var(--divider-color);
	padding-top: 30px;
}

.testimonial-item-counter-content h2{
	width: 34%;
	font-size: 46px;
	line-height: 1em;
}

.testimonial-item-counter-content p{
	width: 66%;
	margin-bottom: 0;
}

.our-testimonials .section-footer-text{
	margin-top: 60px;
}

.testimonial-google-badge{
	display: flex;
	align-items: center;
	gap: 8px;
	border-top: 1px solid var(--divider-color);
	padding-top: 20px;
	margin-top: auto;
}

.testimonial-google-badge span{
	font-size: 13px;
	color: #6b7280;
	font-weight: 500;
}

.testimonial-google-cta{
	display: flex;
	justify-content: center;
	margin-top: 50px;
}

.btn-google-review{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background-color: #fff;
	color: #3c4043;
	font-size: 15px;
	font-weight: 600;
	padding: 14px 28px;
	border-radius: 8px;
	border: 1px solid #dadce0;
	text-decoration: none;
	transition: box-shadow 0.2s ease, background-color 0.2s ease;
	box-shadow: 0 1px 3px rgba(0,0,0,.08);
}

.btn-google-review:hover{
	box-shadow: 0 3px 10px rgba(0,0,0,.15);
	background-color: #f8f9fa;
	color: #3c4043;
	text-decoration: none;
}

/************************************/
/***       15. Our Blog css       ***/
/************************************/

.our-blog{
	padding: 120px 0 90px;
}

.post-item{
    background-color: var(--secondary-color);
    border-radius: 14px;
	height: calc(100% - 30px);
    margin-bottom: 30px;
	padding: 10px;
    overflow: hidden;
}

.post-featured-image{
	position: relative;
}

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

.post-featured-image figure{
	display: block;
	border-radius: 14px;
}

.post-featured-image img{
	width: 100%;
    aspect-ratio: 1 / 0.733;
	border-radius: 14px;
    object-fit: cover;
    transition: all 0.6s ease-in-out;
}

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

.post-item-tags{
	display: none !important;
	position: absolute;
	top: 20px;
	left: 20px;
	right: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	z-index: 1;
}

.post-item-tags a{
	position: relative;
	font-size: 14px;
	font-weight: 500;
	line-height: normal;
	color: var(--primary-color);
	background: var(--white-color);
	border-radius: 100px;
	padding: 8px 16px 8px 31px;
	cursor: pointer;
    transition: all 0.3s ease-in-out;
}

.post-item-tags a:hover{
	background: var(--accent-gradient);
	color: var(--white-color);
}

.post-item-tags a::before{
	content: '';
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    background: var(--accent-gradient);
    border-radius: 50%;
    width: 5px;
    height: 5px;
	transition: all 0.3s ease-in-out;
}

.post-item-tags a:hover::before{
	background: var(--white-color);
}

.post-item-body{
	margin-top: 10px;
    padding: 20px;
}

.post-item-content{
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 20px;
	padding-bottom: 20px;
}

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

.post-item-content h2 a,
.post-item-content h3 a{
    color: inherit;
}

/************************************/
/***         16. Footer css       ***/
/************************************/

/* ============================================
   FOOTER
   ============================================ */

.main-footer {
    padding: 80px 0 0;
}

/* --- Top bar: logo + contact --- */
.footer-header-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    border-bottom: 1px solid rgba(198, 148, 89, 0.18);
    padding-bottom: 40px;
    margin-bottom: 60px;
}

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

.footer-contact-info ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px 50px;
}

.footer-contact-info ul li {
    font-size: 17px;
    font-weight: 600;
    color: var(--white-color);
    line-height: 1.4em;
}

.footer-contact-info ul li a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: inherit;
    transition: color 0.3s ease;
}

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

.footer-contact-info ul li a img {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}

/* --- About column --- */
.about-footer {
    padding-top: 10px;
}

.about-footer h2 {
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--white-color);
    padding-bottom: 14px;
    margin-bottom: 20px;
    position: relative;
    border-bottom: 1px solid rgba(198, 148, 89, 0.22);
}

.about-footer h2::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 36px;
    height: 2px;
    background: var(--accent-gradient);
}

.about-footer p {
    font-size: 14px;
    line-height: 1.75em;
    color: rgba(255, 255, 255, 0.62);
    margin: 0 0 20px;
}

.footer-address {
    font-size: 13px;
    font-style: normal;
    color: rgba(255, 255, 255, 0.5);
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.55em;
    margin-bottom: 0;
}

.footer-address svg {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--accent-color);
    opacity: 0.7;
}

/* --- Social icons --- */
.footer-social-links {
    margin-top: 28px;
}

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

.footer-social-links ul li a {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(198, 148, 89, 0.35);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.65);
    font-size: 15px;
    transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.footer-social-links ul li a:hover {
    background: var(--accent-gradient);
    border-color: var(--accent-color);
    color: var(--white-color);
}

/* --- Multi-column list layout for long link sections --- */
.footer-links-2col ul {
    columns: 2;
    column-gap: 8px;
}

.footer-links-2col ul li {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
}

.footer-links-2col ul li a {
    font-size: 13px;
}

/* --- Link columns --- */
.footer-links {
    padding-top: 10px;
}

.footer-links h2 {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--white-color);
    padding-bottom: 14px;
    margin-bottom: 22px;
    position: relative;
    border-bottom: 1px solid rgba(198, 148, 89, 0.22);
}

.footer-links h2::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 28px;
    height: 2px;
    background: var(--accent-gradient);
}

.footer-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links ul li {
    margin-bottom: 10px;
}

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

.footer-links ul li a {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.62);
    display: flex;
    align-items: center;
    gap: 0;
    transition: color 0.25s ease, gap 0.25s ease, padding-left 0.25s ease;
    position: relative;
}

.footer-links ul li a::before {
    content: '';
    display: inline-block;
    width: 5px;
    height: 5px;
    border-right: 1.5px solid var(--accent-color);
    border-bottom: 1.5px solid var(--accent-color);
    transform: rotate(-45deg);
    flex-shrink: 0;
    opacity: 0;
    margin-right: 0;
    transition: opacity 0.25s ease, margin-right 0.25s ease;
}

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

.footer-links ul li a:hover::before {
    opacity: 1;
    margin-right: 4px;
}

/* --- Secondary heading (Airports) within link column --- */
.footer-links-airports {
    margin-top: 32px;
}

/* --- Copyright bar --- */
.footer-copyright {
    border-top: 1px solid rgba(198, 148, 89, 0.15);
    padding: 28px 0;
    margin-top: 64px;
}

.footer-copyright-text {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.45);
    margin-bottom: 0;
}

.footer-book-btn {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    color: var(--accent-color);
    border: 1px solid rgba(198, 148, 89, 0.4);
    border-radius: 4px;
    padding: 8px 20px;
    letter-spacing: 0.03em;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.footer-book-btn:hover {
    background: var(--accent-gradient);
    border-color: var(--accent-color);
    color: var(--white-color);
}

/************************************/
/*** 	17. About Us Page css     ***/
/************************************/

.page-header{
	position: relative;
    background: url('../images/page-header-bg.jpg') no-repeat;
    background-position: center center;
    background-size: cover;
	border-radius: 14px;
    padding: 305px 0 145px;
	margin: 15px 15px 0;
	overflow: hidden;
}

.page-header:before{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: linear-gradient(rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.55)), linear-gradient(180deg, rgba(40, 42, 35, 0.80) 0%, transparent 11.75%), linear-gradient(270deg, transparent 31.93%, rgba(40, 42, 35, 0.90) 100%);
    z-index: 1;
}

.page-header-box{
    position: relative;
    z-index: 2;
}

.page-header-box h1{
    display: inline-block;
    font-size: 66px;
    line-height: 1.2em;
	letter-spacing: -0.02em;
    color: var(--white-color);
    margin-bottom: 10px;
    cursor: none;
}

.page-header-box ol{
    display: inline-flex;
    margin: 0;
}

.page-header-box ol li.breadcrumb-item{
    font-size: 16px;
    font-weight: 400;
	line-height: 1.5em;
    text-transform: capitalize;
    color: var(--white-color);
}

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

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

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

.our-approach-image{
	height: 100%;
}

.our-approach-image figure{
	display: block;
	height: 100%;
	border-radius: 14px;
}

.our-approach-image figure img{
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1.271;
	object-fit: cover;
	border-radius: 14px;
}

.our-approach-content{
	height: 100%;
	align-content: center;
	margin-left: 15px;
}

.our-approach-nav{
    text-align: center;
    margin-bottom: 40px;
}

.our-approach-nav .nav-tabs{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
    border: 1px solid var(--divider-color);
    border-radius: 30px;
    list-style: none;
    padding: 5px;
    margin: 0;
    overflow: hidden;
}

.our-approach-nav ul li{
	width: calc(33.33% - 6.67px);
}

.our-approach-nav ul li .nav-link{
    width: 100%;
    display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 10px;
    font-size: 16px;
    font-weight: 500;
	line-height: 1em;
    text-transform: capitalize;
    color: var(--primary-color);
    background: transparent;
    border-radius: 30px;
    border: none;
    padding: 15px 24px;
    transition: all 0.4s ease-in-out;
}

.our-approach-nav ul li .nav-link.active,
.our-approach-nav ul li .nav-link:hover{
    background: var(--accent-gradient);
	color: var(--white-color);
}

.our-approach-nav ul li .nav-link img{
	width: 100%;
	max-width: 20px;
	transition: all 0.4s ease-in-out;
}

.our-approach-nav ul li .nav-link.active img,
.our-approach-nav ul li .nav-link:hover img{
	filter: brightness(0) invert(1);
}

.approach-item-body{
	display: flex;
	flex-wrap: wrap;
	background-color: var(--bg-color);
	border-radius: 14px;
	gap: 10px;
	padding: 10px;
}

.approach-item-image{
	width: calc(40% - 5px);
}

.approach-item-image figure{
	display: block;
    height: 100%;
    border-radius: 10px;
}

.approach-item-image figure img{
	width: 100%;
    height: 100%;
    aspect-ratio: 1 / 0.82;
    object-fit: cover;
    border-radius: 10px;
}

.approach-item-content{
	width: calc(60% - 5px);
	padding: 20px;
	align-content: center;
}

.approach-item-content p{
	margin-bottom: 0;
}

.approach-item-content ul{
	list-style: none;
	border-top: 1px solid var(--divider-color);
	padding: 20px 0 0;
	margin: 20px 0 0;
}

.approach-item-content ul li{
	position: relative;
    line-height: 1.5em;
    padding-left: 25px;
    margin-bottom: 15px;
}

.approach-item-content ul li:last-child{
	margin-bottom: 0;
}

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

.our-benefits{
	padding: 120px 0;
}

.our-benefits .section-title.section-title-center{
	max-width: 850px;
}

.our-benefits-item{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	background-color: var(--white-color);
	border-radius: 14px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 30px;
	overflow: hidden;
}

.benefits-item-content span{
	display: inline-block;
	font-size: 14px;
	font-weight: 500;
	line-height: 1em;
	color: var(--primary-color);
	border: 1px solid var(--divider-color);
	border-radius: 100px;
	padding: 9px 14px;
	margin-bottom: 20px;
}

.benefits-item-content h3{
	font-size: 20px;
	line-height: 1.4em;
}

.benefits-item-image-box{
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
}

.benefits-item-image figure{
	display: block;
	border-radius: 14px;
}

.benefits-item-image figure img{
	width: 100%;
	object-fit: cover;
	border-radius: 14px;
}

.our-benefits-item.box-1 .benefits-item-image{
	width: 100%;
	max-width: 210px;
}

.our-benefits-item.box-1 .benefits-item-image figure img{
	aspect-ratio: 1 / 0.7239;
}

.benefits-item-btn a{
	position: relative;
    width: 50px;
    height: 50px;
    background: var(--accent-gradient);
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    transition: all 0.4s ease-in-out;
}

.benefits-item-btn a:hover{
	background-color: var(--primary-color);
}

.benefits-item-btn a img{
	position: relative;
    width: 100%;
    max-width: 22px;
	transition: all 0.4s ease-in-out;
    z-index: 1;
}

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

.our-benefits-item.box-2{
	background-color: var(--primary-color);
}

.benefits-item-header h3{
	max-width: 280px;
	font-size: 20px;
	line-height: 1.4em;
	color: var(--white-color);
}

.benefits-item-header h3 span{
	font-weight: 400;
}

.benefits-client-review-box{
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.benefits-client-review-box .satisfy-client-image img{
	max-width: 50px;
}

.benefits-client-review h3{
	font-size: 24px;
	color: var(--white-color);
}

.benefits-client-review-content{
	border-top: 1px solid var(--dark-divider-color);
	padding-top: 20px;
	margin-top: 20px;
}

.benefits-client-review-content p{
	color: var(--white-color);
}

.benefits-client-review-content p:last-child{
	margin-bottom: 0;
}

.our-benefits-item.box-3{
	text-align: center;
	padding-bottom: 0;
}

.our-benefits-item.box-3 .benefits-item-image{
	margin: 0 auto;
}

.our-benefits-item.box-3 .benefits-item-image figure{
	width: 100%;
    background-image: url('../images/our-benefits-bg-shape-image.svg');
    mask-image: url('../images/our-benefits-bg-shape-image.svg');
    mask-repeat: no-repeat;
    mask-position: center center;
	mask-size: cover;
}

.our-benefits-item.box-3 .benefits-item-image img{
	aspect-ratio: 1 / 0.597;
}

.our-benefits-footer-box{
	margin-top: 30px;
}

.our-benefits-footer-list ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px 20px;
	list-style: none;
	margin: 0 auto;
	padding: 0;
}

.our-benefits-footer-list ul li{
	position: relative;
	font-weight: 500;
	line-height: 1.5em;
    color: var(--primary-color);
	background: var(--secondary-color);
    border-radius: 100px;
    padding: 8px 16px 8px 32px;
	transition: all 0.4s ease-in-out;
}

.our-benefits-footer-list ul li::before{
	content: '';
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    background: var(--accent-gradient);
    border-radius: 50%;
    width: 6px;
    height: 6px;
}

.our-benefits-footer-list ul li:hover{
	background: var(--primary-color);
	color: var(--white-color);
}

.our-team{
	padding: 120px 0;
}

.team-item{
	background-color: var(--secondary-color);
	border-radius: 14px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 10px;
}

.team-item-image{
    position: relative;
}

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

.team-item-image a figure{
    display: block;
}

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

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

.team-item-social-list{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: center;
    max-width: 80%;
    margin: 0 auto;
    z-index: 2;
}

.team-item-social-list ul{
	position: relative;
	background: var(--secondary-color);
    border-radius: 14px 14px 0 0;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 15px;
	list-style: none;
    padding: 20px 20px 0;
	margin: 0;
}

.team-item-social-list ul::before,
.team-item-social-list ul::after{
	content: '';
    position: absolute;
	bottom: 0;
    width: 14px;
    height: 14px;
    background-color: var(--secondary-color);
	mask: url('../images/image-corner-bg-shape.svg');
	-webkit-mask: url('../images/image-corner-bg-shape.svg');
    mask-repeat: no-repeat;
	mask-size: cover;
	z-index: 1;
}

.team-item-social-list ul::before{
	left: -14px;
	transform: rotate(270deg);
}

.team-item-social-list ul::after{
	right: -14px;
}

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

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

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

.team-item-content{
	padding: 40px 30px 30px;
	text-align: center;
}

.team-item-content h2{
	font-size: 20px;
}

.team-item-content h2 a{
	color: inherit;
}

.team-item-content p{
	border-top: 1px solid var(--divider-color);
	padding-top: 20px;
	margin: 20px 0 0;
}

.team-item-content p span{
	font-weight: 700;
	color: var(--primary-color);
}

/************************************/
/*** 	18. Services Page css     ***/
/************************************/

.page-services{
    padding: 120px 0 90px;
}

.page-services .service-item{
	width: 100%;
	min-height: 420px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
	background-color: var(--secondary-color);
	margin-bottom: 30px;
}

.page-services .service-item-btn{
	position: relative;
	border-top: 1px solid var(--divider-color);
	padding-top: 20px;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.page-services .service-item:hover .service-item-btn{
	border-color: var(--dark-divider-color);
}

.page-services .service-item:hover .service-item-btn .readmore-btn{
	color: var(--white-color);
}

.page-services .service-item:hover .readmore-btn::before{
	background-color: var(--primary-color);
}

/************************************/
/************************************/
/***       Fleet Cards css        ***/
/************************************/

.page-single-section{
    padding: 80px 0;
}

.fleet-category-heading{
    font-size: 22px;
    font-weight: 700;
    color: var(--accent-color);
    padding-bottom: 12px;
    margin-bottom: 28px;
    border-bottom: 2px solid var(--accent-color);
    letter-spacing: 0.01em;
}

/* NOTE: .fleet-card / .fleet-card:hover are defined canonically below
   (see the "Fleet Card" section). The obsolete duplicate that used to live
   here conflicted on hover (it set border-color while the canonical block
   set everything else), which made the top border render inconsistently
   on hover. Removed to keep a single source of truth. */

.fleet-card-image{
    background: var(--primary-color);
    padding: 28px 24px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 140px;
}

.fleet-card-image img{
    width: 100%;
    max-width: 260px;
    height: 100px;
    object-fit: contain;
}

.fleet-card-body{
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 22px 22px 20px;
}

.fleet-card-body h3{
    font-size: 17px;
    font-weight: 700;
    margin: 0 0 8px;
    line-height: 1.3;
}

.fleet-card-body h3 a{
    color: var(--primary-color);
    text-decoration: none;
    transition: color 0.3s ease-in-out;
}

.fleet-card-body h3 a:hover{
    color: var(--accent-color);
}

.fleet-card-body p{
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin: 0 0 14px;
    flex: 1;
}

.fleet-card-meta{
    font-size: 12px;
    color: #999;
    margin-bottom: 16px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.fleet-card-meta span{
    display: flex;
    align-items: center;
    gap: 4px;
}

.fleet-card-meta span::before{
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    background: var(--accent-gradient);
    border-radius: 50%;
    flex-shrink: 0;
}

.fleet-cta-box{
    background: var(--primary-color);
    border-radius: 14px;
    padding: 50px 40px;
    text-align: center;
    margin-top: 60px;
}

.fleet-cta-box h2{
    color: var(--white-color);
    font-size: 28px;
    margin-bottom: 12px;
}

.fleet-cta-box p{
    color: rgba(255,255,255,0.75);
    margin-bottom: 28px;
}

/* ---- Vehicle specs grid (fleet vehicle pages) ---- */
.vehicle-specs-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 32px;
}

.vehicle-spec-item{
    background: var(--bg-color);
    border: 1px solid rgba(198, 148, 89, 0.22);
    border-radius: 10px;
    padding: 18px 14px;
    text-align: center;
}

.vehicle-spec-item strong{
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--accent-color);
    margin-bottom: 6px;
}

.vehicle-spec-item span{
    display: block;
    font-size: 15px;
    font-weight: 500;
    color: var(--primary-color);
    line-height: 1.3;
}

/* ---- Service page CTA button row — prevent arrow-circle collision ---- */
.service-single-cta{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 72px;
}

.service-single-cta .btn-default{
    margin-right: 0;
}

/* Hide the arrow circle on every btn that immediately follows another btn
   so it doesn't visually collide in two-button rows */
.service-single-cta .btn-default + .btn-default::before,
.fleet-cta-box .btn-default + .btn-default::before{
    display: none;
}

.fleet-cta-box .btn-default + .btn-default{
    margin-left: 0;
    padding-left: 0;
    background: transparent;
    border: 1.5px solid rgba(255,255,255,0.45);
    color: var(--white-color);
    border-radius: 100px;
    padding: 17px 30px;
}

.fleet-cta-box .btn-default + .btn-default:hover{
    background: rgba(255,255,255,0.1);
    color: var(--white-color);
    border-color: var(--white-color);
}

/* ---- Shared section category heading (fleet + services pages) ---- */
.section-category-heading{
    font-size: 20px;
    font-weight: 700;
    color: var(--primary-color);
    padding-bottom: 12px;
    margin-bottom: 28px;
    border-bottom: 2px solid var(--accent-color);
    letter-spacing: 0.01em;
}

/************************************/
/*** 	19. Service Single css    ***/
/************************************/

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

/* ---- Service page content heading rhythm ---- */
.service-single-content h2{
	margin-top: 40px;
	margin-bottom: 14px;
}
.service-single-content > h2:first-child{
	margin-top: 0;
}
.service-single-content h3{
	margin-top: 30px;
	margin-bottom: 10px;
}
.service-single-content h4{
	margin-top: 24px;
	margin-bottom: 8px;
}
/* h3 inside cards — icon-box already provides top spacing */
.service-single-content .service-item-content h3{
	margin-top: 0;
	margin-bottom: 10px;
}
/* Card grid breathing room */
.service-single-content .service-item-list{
	margin-top: 30px;
	margin-bottom: 40px;
}
/* FAQ section top gap */
.service-single-content .faq-accordion{
	margin-top: 40px;
}
/* CTA button strip top gap */
.service-single-cta{
	margin-top: 40px;
}
/* ------------------------------------------------ */

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

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

.page-category-list .page-category-list-title{
	font-size: 20px;
	background: var(--accent-gradient);
	color: var(--white-color);
	padding: 20px 40px;
}

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

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

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

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

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

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

.page-category-list ul li a:hover::before{
	transform: translateY(-50%) rotate(45deg);
}

.sidebar-cta-box{
    background-color: var(--primary-color);
    border-radius: 14px;
	padding: 40px;
	overflow: hidden;
}

.sidebar-cta-content h2{
	font-size: 20px;
	color: var(--white-color);
}

.sidebar-cta-content p{
	color: var(--white-color);
	border-top: 1px solid var(--dark-divider-color);
	padding-top: 20px;
	margin: 20px 0 0;
}

.sidebar-cta-btn{
	margin-top: 30px;
}

.sidebar-cta-image{
	max-width: 270px;
	margin: 30px -70px -90px auto;
}

.sidebar-cta-image figure{
	display: block;
    border-radius: 50%;
}

.sidebar-cta-image figure img{
    width: 100%;
    aspect-ratio: 1 / 1;
	object-fit: cover;
    border-radius: 50%;
}

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

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

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

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

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

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

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

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

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

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

.service-entry p:last-child,
.service-entry h2:last-child,
.service-entry h3:last-child,
.service-entry ul li:last-child{
    margin: 0;
}

.service-types-box,
.service-benefit-box{
    margin-top: 60px;
}

.service-types-box .service-item-list{
	margin-top: 40px;
}

.service-types-box .service-item-list .service-item{
	background: var(--secondary-color);
}

.service-entry .service-types-box .service-item-list .service-item h2{
	font-size: 20px;
	margin-bottom: 10px;
}

.service-benefit-body{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin: 40px 0;
}

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

.service-benefit-image figure{
	display: block;
    height: 100%;
    border-radius: 14px;
}

.service-benefit-image figure img{
	width: 100%;
    height: 100%;
    aspect-ratio: 1 / 0.9;
    object-fit: cover;
    border-radius: 14px;
}

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

.service-benefit-item{
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	background-color: var(--secondary-color);
	border-radius: 14px;
	padding: 20px;
	margin-bottom: 30px;
}

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

.service-benefit-item .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-gradient);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}

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

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

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

.service-benefit-item-content{
	width: calc(100% - 65px);
}

.service-benefit-content-list{
	border-top: 1px solid var(--divider-color);
	padding-top: 30px;
	margin-top: 30px;
}

/************************************/
/*** 	 20. Blog Archive css     ***/
/************************************/

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

html{
    scroll-behavior: smooth;
}

.blog-search-bar{
    max-width: 520px;
    margin: 0 auto 50px;
}

.blog-search-field{
    position: relative;
    display: flex;
    align-items: center;
}

.blog-search-field i{
    position: absolute;
    left: 20px;
    color: var(--primary-color);
    font-size: 16px;
    pointer-events: none;
}

.blog-search-field input{
    width: 100%;
    height: 56px;
    padding: 0 22px 0 50px;
    border: 1px solid rgba(40, 42, 35, 0.15);
    border-radius: 12px;
    background: var(--white-color);
    color: var(--primary-color);
    font-size: 16px;
    outline: none;
    transition: all 0.3s ease-in-out;
}

.blog-search-field input:focus{
    border-color: var(--secondary-color);
    box-shadow: 0 0 0 3px rgba(40, 42, 35, 0.06);
}

.blog-no-results{
    text-align: center;
    padding: 40px 0;
    font-size: 18px;
    color: var(--primary-color);
}

.page-pagination ul li a{
    cursor: pointer;
}

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

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

.page-pagination ul li{
    list-style: none;
}

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

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

/************************************/
/*** 	 21. Blog Single css      ***/
/************************************/

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

.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: 14px;
	overflow: hidden;
}

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

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

.post-entry{
	padding-bottom: 30px;
    margin-bottom: 30px;
}

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

.post-content-image{
    margin: 10px 0 34px;
}

.post-content-image img{
    width: 100%;
    height: auto;
    display: block;
    border-radius: 10px;
}

.post-content-image figcaption{
    margin-top: 12px;
    font-size: 15px;
    font-style: italic;
    color: var(--secondary-color, #777);
    text-align: center;
}

.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.42em;
}

.post-entry h1{
	font-size: 66px;
}

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

.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{
	list-style: none;
	padding: 0;
	margin: 20px 0 20px;
}

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

.post-entry ol li,
.post-entry ul li{
    position: relative;
	font-size: 18px;
    line-height: 1.5em;
    color: var(--text-color);
    margin-bottom: 15px;
    padding-left: 28px;
}

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

.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;
}

/* Branded comparison table inside blog posts */
.post-entry .table-responsive{
    margin: 30px 0 40px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--accent-color);
    box-shadow: 0 4px 20px rgba(40, 42, 35, 0.08);
}

.post-entry table{
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
    margin: 0;
}

.post-entry table thead tr{
    background: var(--primary-color);
}

.post-entry table thead th{
    color: #ffffff;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 14px 22px;
    border: none;
    vertical-align: middle;
}

.post-entry table thead th:first-child{
    border-right: 1px solid rgba(255,255,255,0.15);
}

.post-entry table tbody tr{
    border-bottom: 1px solid var(--divider-color);
    transition: background 0.2s ease;
}

.post-entry table tbody tr:last-child{
    border-bottom: none;
}

.post-entry table tbody tr:nth-child(even){
    background: rgba(198, 148, 89, 0.06);
}

.post-entry table tbody tr:hover{
    background: rgba(198, 148, 89, 0.12);
}

.post-entry table tbody td{
    padding: 13px 22px;
    color: var(--text-color);
    border: none;
    vertical-align: middle;
    line-height: 1.5em;
}

.post-entry table tbody td:first-child{
    border-right: 1px solid var(--divider-color);
}

.post-entry table tbody td:last-child{
    font-weight: 600;
    color: var(--accent-color);
}

/* Remove Bootstrap overrides inside post tables */
.post-entry .table-bordered{
    border: none;
}

.post-entry .table-bordered > :not(caption) > * > *{
    border: none;
}

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

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

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

.tag-links{
    font-size: 20px;
	font-weight: 600;
    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-size: 16px;
    font-weight: 500;
    text-transform: capitalize;
    line-height: 1em;
	background: var(--accent-gradient);
    color: var(--white-color);
	border-radius: 100px;
    padding: 12px 20px;
	transition: all 0.4s 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-gradient);
    color: var(--white-color);
	border-radius: 100px;
    width: 40px;
    height: 40px;
    transition: all 0.4s 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;
}

.post-share-row{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding-top: 25px;
    margin-top: 10px;
}

.post-share-row .share-label{
    font-weight: 600;
    color: var(--primary-color);
    font-size: 18px;
}

.post-share-row .post-social-sharing{
    text-align: left;
}

/************************************/
/***    22. Case Study Page css   ***/
/************************************/

.page-case-study{
	padding: 120px 0 90px;
}

/************************************/
/***   23. Case Study Single css  ***/
/************************************/

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

.case-study-category-list ul li{
    display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
}

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

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

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

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

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

.case-study-entry ul{
	display: flex;
	flex-wrap: wrap;
	gap: 15px 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.case-study-entry ul li{
	position: relative;
	width: calc(50% - 10px);
	line-height: 1.5em;
	padding-left: 28px;
}

.case-study-entry ul li:before{
	content: '';
    position: absolute;
    top: 4px;
    left: 0;
    background-image: url('../images/icon-sub-heading.svg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height: 18px;
    width: 18px;
}

.case-study-concerns-box,
.case-study-summary-box{
    margin-top: 60px;
}

.case-study-concern-list{
	background: var(--secondary-color);
	border-radius: 14px;
	padding: 40px;
	margin: 40px 0;
}

.case-study-concern-list ul{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 30px;
	margin-bottom: 30px;
}

.case-study-concern-list ul:last-child{
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

.case-study-summary-image-box{
	display: flex;
	flex-wrap: wrap;
	margin-top: 40px;
	gap: 15px;
	overflow: hidden;
}

.case-study-transformation-image{
	width: calc(50%  - 7.5px);
	border-radius: 14px;
	overflow: hidden;
}


.case-study-transformation-image img{
	width: 100%;
    aspect-ratio: 1 / 0.726;
    object-fit: cover;
}

.twentytwenty-handle,
.twentytwenty-horizontal .twentytwenty-handle:after,
.twentytwenty-horizontal .twentytwenty-handle:before{
	box-shadow: none;
}

.case-study-summary-box .section-footer-text{
	justify-content: start;
	margin-top: 40px;
}

/************************************/
/***    	24. Team Page css     ***/
/************************************/

.page-team{
	padding: 120px 0 90px;
}

/************************************/
/***  	25. Team Single css       ***/
/************************************/

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

.team-single-image{
	margin-bottom: 30px;
}

.team-single-image figure{
	display: block;
	border-radius: 14px;
}

.team-single-image figure img{
	width: 100%;
	aspect-ratio: 1 / 1.2361;
	object-fit: cover;
	border-radius: 14px;
}

.team-member-about,
.team-member-skills,
.team-member-approach{
	margin-bottom: 60px;
}

.team-contact-item-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px 60px;
	background: var(--secondary-color);
	border-radius: 14px;
	padding: 30px;
	margin-bottom: 40px;
}

.team-contact-item{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.team-contact-item::before{
	content: '';
	position: absolute;
	top: 0;
	right: -30px;
	bottom: 0;
	background: var(--divider-color);
	width: 1px;
	height: 100%;
}

.team-contact-item:nth-child(2n + 2):before,
.team-contact-item:last-child:before{
	display: none;
}

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

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

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

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

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

.team-contact-item-content p{
	margin: 0;
}

.team-contact-item-content h3{
	font-size: 20px;
	margin: 5px 0 0;
}

.team-member-info p{
	margin-bottom: 15px;
}

.team-member-info p:last-child{
	margin: 0;
}

.member-social-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 15px;
	border-top: 1px solid var(--divider-color);
	padding-top: 40px;
	margin-top: 40px;
}

.member-social-list h3{
	font-size: 20px;
}

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

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

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

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

.team-member-skill-list{
	display: flex;
	flex-wrap: wrap;
	gap: 40px 30px;
	background: var(--secondary-color);
	border-radius: 14px;
	padding: 40px;
}

.team-member-skill-list .skills-progress-bar{
	width: calc(50% - 15px);
}

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

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

.skills-progress-bar .skill-progress{
	position: relative;
	background: var(--bg-color);
	border-radius: 10px;
	width: 100%;
	height: 10px;
}

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

.team-member-approach-item-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.team-member-approach-item{
	width: calc(33.33% - 20px);
	text-align: center;
	background: var(--secondary-color);
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 30px;
	margin-bottom: 36px;
}

.team-member-approach-item .icon-box{
	margin-bottom: 30px;
}

.team-member-approach-item .icon-box img{
	width: 100%;
	max-width: 40px;
}

.team-member-approach-item-content h3{
	font-size: 20px;
}

.team-member-approach-item-content p{
	border-top: 1px solid var(--divider-color);
	padding-top: 15px;
	margin: 15px 0 0;
}

.team-member-approach-item-no{
	position: relative;
	width: 72px;
	height: 72px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 20px auto -66px;
	background: var(--accent-gradient);
	border: 6px solid var(--bg-color);
	border-radius: 50%;
}

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

.team-member-approach-item:hover .team-member-approach-item-no::before{
	transform: scale(1);
}

.team-member-approach-item-no h3{
	position: relative;
	font-size: 20px;
	color: var(--white-color);
	z-index: 1;
}

/************************************/
/*** 	26. Pricing Page css      ***/
/************************************/

.page-pricing{
	padding: 120px 0;
}

/************************************/
/***  27. Testimonials Page css   ***/
/************************************/

.page-testimonials{
	padding: 120px 0 90px;
}

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

/************************************/
/*** 	28. Image Gallery css     ***/
/************************************/

.page-gallery{
	padding: 120px 0 90px;
}

.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: 14px;
}

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

/************************************/
/*** 	29.  Video Gallery css    ***/
/************************************/

.page-video-gallery{
	padding: 120px 0 90px;
}

.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;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--primary-color);
	border-radius: 14px;
    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: 50%;
    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-gradient);
	color: var(--white-color);
    border-radius: 50%;
    height: 60px;
    width: 60px;
    cursor: none;
	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.7439;
	object-fit: cover;
	border-radius: 14px;
}

/************************************/
/*** 	  30. FAQ's Page css      ***/
/************************************/

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

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

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

/************************************/
/***   31. Contact Us Page css    ***/
/************************************/

.page-contact-us{
    padding: 120px 0 60px;
}

.contact-us-content{
	min-height: 500px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin-right: 15px;
}

.contact-us-item-list{
	display: flex;
	flex-wrap: wrap;
	gap: 20px 40px;
	border-top: 1px solid var(--divider-color);
	padding-top: 40px;
}

.contact-us-item{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.contact-us-item .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    background: var(--accent-gradient);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

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

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

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

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

.contact-us-item-content p{
	margin: 0;
}

.contact-us-item-content h3{
	font-size: 20px;
	margin: 5px 0 0;
}

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

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

.contact-us-form{
    background: var(--secondary-color);
    border-radius: 14px;
    padding: 60px;
}

.contact-us-form .section-title{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 40px;
}

.contact-form label{
	font-size: 16px;
	font-weight: 600;
	color: var(--primary-color);
	margin-bottom: 10px;
	display: block;
}

.contact-form .form-control{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.25em;
	color: var(--primary-color);
	background-color: transparent;
	border: 1px solid var(--divider-color);
	border-radius: 10px;
	padding: 14px 20px;
	box-shadow: none;
	outline: none;
}

.contact-form .form-control:focus{
	border-color: var(--accent-color);
	box-shadow: none;
}

.contact-form .form-control::placeholder{
	color: var(--primary-color);
	opacity: 50%;
}

.contact-form select.form-control{
	cursor: pointer;
}

.booking-confirm-note{
	margin-top: 15px;
	font-size: 14px;
	opacity: 0.75;
}

.google-map{
    padding: 60px 0 120px;
}

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

.google-map-iframe iframe{
	width: 100%;
	height: 100%;
	border-radius: 14px;
	overflow: hidden;
}

/************************************/
/*** 32. Book Appointment Page css***/
/************************************/

.page-book-appointment{
	padding: 120px 0;
}

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

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

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

.error-page-image img{
	width: 100%;
	max-width: 690px;
}

.error-page-content{
	text-align: center;
}

.error-page-content .section-title{
	margin-bottom: 15px;
}

/************************************/
/***      34. Responsive css      ***/
/************************************/

@media only screen and (max-width: 1850px){

    .bg-section{
        width: calc(100% - 30px);
    }
}

@media only screen and (max-width: 1024px){

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

	.section-title-content{
        margin-top: 10px;
    }

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

	.section-content-btn .section-btn{
        margin-top: 20px;
    }

	.section-btn{
        text-align: left;
        margin-top: 15px;
	}
	
	.about-us-image-box{
		max-width: 740px;
        margin: 0 auto 30px;
        height: auto;
	}

	.about-us-image.image-2,
	.about-us-image.image-2 figure,
	.about-us-image.image-2 figure img{
		height: auto;
	}

	.service-item-list{
		margin-bottom: 30px;
	}

	.service-cta-box,
	.service-cta-box-image,
	.service-cta-box-image figure,
	.service-cta-box-image figure img{
		height: auto;
	}

	.service-cta-box-image figure img{
        aspect-ratio: 1 / 0.7;
    }
	
	.why-choose-us-content{
		margin-bottom: 30px;
	}

	.why-choose-image-box{
		max-width: 740px;
		margin: 0 auto;
	}

	.why-choose-image-box-1{
		width: calc(58% - 15px);
	}

	.why-choose-image-box-2{
		width: calc(42% - 15px);
	}

	.core-feature-item{
		margin-bottom: 30px;
		padding-bottom: 30px;
	}

	.core-feature-image{
		max-width: 500px;
		margin: 30px auto 0;
	}

	.case-study-item-image figure img{
		aspect-ratio: 1 / 1.12;
	}

	.special-treatment-image-box{
		max-width: 630px;
		margin: 0 auto 30px;
	}

	.book-appointment-content{
		position: initial;
		margin-bottom: 30px;
	}

	.book-appointment-hours-box{
		margin-top: 40px;
	}

	.faq-image-box{
        height: auto;
		max-width: 740px;
        margin: 0 auto 30px;
    }

	.faq-image,
	.faq-image figure, 
	.faq-image img{
        height: auto;
    }

	.faq-image img{
        aspect-ratio: 1 / 0.85;
    }

	.footer-header-box{
		margin-bottom: 30px;
		padding-bottom: 30px;
	}

	.footer-contact-info ul{
		gap: 15px 30px;
	}

	.about-footer{
		max-width: 100%;
		margin-bottom: 30px;
	}

	.about-footer p{
		margin-top: 10px;
	}

	.footer-links-box{
		margin: 0;
	}

	.footer-links h2{
		margin-bottom: 20px;
	}

	.footer-links ul li{
		margin-bottom: 10px;
	}

	.footer-social-links{
		margin-top: 30px;
	}

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

	.our-approach-image{
		height: auto;
		margin-bottom: 30px;
	}

	.our-approach-image figure{
		height: auto;
	}

	.our-approach-image figure img{
		height: auto;
		aspect-ratio: 1 / 0.68;
	}

	.our-approach-content{
		height: auto;
		margin: 0;
	}

	.page-single-sidebar{
        margin: 0;
    }

	.page-category-list .page-category-list-title{
        padding: 15px 20px;
    }

	.page-category-list ul{
        padding: 20px;
    }

	.page-category-list ul li{
        padding-bottom: 15px;
        margin-bottom: 15px;
    }

	.page-category-list ul li a::before{
		width: 18px;
		height: 18px;
	}

	.sidebar-cta-box{
		padding: 20px;
	}

	.sidebar-cta-content p{
		padding-top: 15px;
		margin: 15px 0 0;
	}

	.sidebar-cta-image{
		max-width: 230px;
		margin: 30px -45px -60px auto;
	}

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

	.service-types-box,
	.service-benefit-box{
		margin-top: 40px;
	}

	.service-types-box .service-item-list{
		margin-top: 30px;
	}

	.service-types-box .service-item-list .service-item{
		padding: 30px;
	}

	.service-benefit-body{
		margin: 30px 0;
	}

	.service-benefit-item{
		padding: 15px;
	}

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

	.case-study-concerns-box,
	.case-study-summary-box{
		margin-top: 40px;
	}

	.case-study-concern-list{
		padding: 30px;
		margin: 30px 0;
	}

	.case-study-concern-list ul{
		padding-bottom: 20px;
		margin-bottom: 20px;
	}

	.case-study-summary-image-box{
		margin-top: 30px;
	}

	.case-study-summary-box .section-footer-text{
		margin-top: 30px;
	}

	.team-member-about,
	.team-member-skills,
	.team-member-approach{
		margin-bottom: 40px;
	}

	.team-contact-item-list{
		gap: 25px;
		padding: 20px;
		margin-bottom: 30px;
	}

	.team-contact-item{
		gap: 10px;
	}

	.team-contact-item::before{
		right: -12.5px;
	}

	.team-contact-item .icon-box{
		width: 40px;
		height: 40px;
	}

	.team-contact-item .icon-box img{
		max-width: 20px;
	}

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

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

	.member-social-list{
		padding-top: 30px;
		margin-top: 30px;
	}

	.team-member-skill-list{
		gap: 30px;
		padding: 30px;
	}

	.team-member-skill-list .skills-progress-bar{
		width: calc(50% - 15px);
	}

	.team-member-approach-item-list{
		gap: 15px;
	}

	.team-member-approach-item{
		width: calc(33.33% - 10px);
		padding: 20px;
	}
	
	.team-member-approach-item .icon-box{
		margin-bottom: 20px;
	}

	.team-member-approach-item-no{
		width: 62px;
		height: 62px;
		margin-bottom: -52px;
	}
	
	.team-member-approach-item-no h3{
		font-size: 18px;
	}

	.contact-us-content{
		min-height: auto;
		margin: 0 0 30px;
	}

	.contact-us-form{
        padding: 40px;
    }
}

@media only screen and (max-width: 991px){

	.btn-default{
		padding: 15px 20px;
	}

	.btn-default::before{
		background-size: 20px auto;
		width: 46px;
		height: 46px;
	}

	.bg-section{
		width: 100%;
		border-radius: 0;
		margin: 0;
	}

	.bg-section .container-fluid{
		padding: 0 15px;
	}

	.header-box{
		top: 0;
		right: 0;
		left: 0;
	}

	.topbar{
		padding: 10px 0;
		border-radius: 0;
	}

	.topbar-contact-info p{
		font-size: 14px;
	}

	.topbar-contact-info-list{
		display: none;
	}

	header.main-header .header-sticky.active{
		border-radius: 0;
        border-right: none;
		border-left: none;
		left: 0;
		right: 0;
	}

	.navbar{
		padding: 0px 0;
	}

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

	/* Show the Book Now button in the header bar on mobile/tablet */
	.navbar .container{
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.header-btn-mobile{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		margin-left: auto;
		margin-right: 12px;
		padding: 9px 16px;
		font-size: 14px;
		font-weight: 600;
		line-height: 1;
		white-space: nowrap;
		color: var(--primary-color);
		background: var(--accent-gradient);
		border-radius: 6px;
		text-transform: capitalize;
	}

	.header-btn-mobile:hover,
	.header-btn-mobile:focus{
		color: var(--primary-color);
		opacity: 0.9;
	}

	.slicknav_nav li,
	.slicknav_nav ul{
        display: block;
    }

	.header-btn{
		display: none;
	}

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

	.section-title.section-sub-heading,
	.section-title .section-sub-title{
		margin-bottom: 10px;
	}

	.section-title .section-sub-title{
		padding: 6px 12px 6px 34px;
	}
	
	.section-title .section-sub-title::before{
		width: 14px;
		height: 14px;
		left: 12px;
	}

	.section-title h1{
		font-size: 36px;
	}

	.section-title h2{
		font-size: 36px;
	}

	.section-title p{
		margin-top: 10px;
	}

	.hero{
		padding: 200px 0 60px;
		min-height: 780px;
		margin: 0;
		border-radius: 0;
	}
	
	.hero-content-body{
		margin-top: 50px;
		padding-top: 30px;
	}

	.video-play-button a span{
        width: 44px;
        height: 44px;
    }

	.video-play-button a span i{
		font-size: 16px;
	}

	.about-us{
		padding: 60px 0;
	}
	 
	.about-us-footer{
		margin-top: 30px;
		padding-top: 30px;
	}
	
	.our-services{
		padding: 60px 0;
	}

	.our-services::before{
		width: 115px;
		height: 135px;
	}

	.our-services::after{
        width: 116px;
        height: 180px;
    }

	.service-item{
		padding: 30px;
	}

	.service-item .icon-box{
		margin-bottom: 30px;
	}

	.service-cta-box-content{
		left: 30px;
		right: 30px;
		bottom: 30px;
	}

	.service-cta-content-title{
		margin-bottom: 20px;
	}

	.section-footer-text{
		margin-top: 10px;
	}

	.our-services .section-footer-text{
		margin-top: 40px;
	}

	.section-footer-text ul{
		margin-top: 10px;
	}

	.section-footer-text ul li{
		margin-right: 5px;
	}

	.section-footer-text ul.section-footer-border-list li{
		padding-right: 10px;
	}

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

	.why-choose-body-list ul li::before{
		font-size: 16px;
	}

	.why-choose-highlighted-box{
		margin-top: 30px;
		padding: 20px;
	}

	.why-choose-contact-box-content h3{
		font-size: 18px;
	}

	.why-choose-us-footer{
		margin-top: 30px;
	}

	.why-choose-us-contact-box .icon-box{
		width: 44px;
		height: 44px;
	}

	.why-choose-us-contact-box .icon-box img{
		max-width: 20px;
	}

	.why-choose-contact-box-content{
		width: calc(100% - 59px);
	}

	.why-choose-image-1 figure img{
		aspect-ratio: 1 / 1.17;
	}

	.why-choose-counter-list{
    	padding: 10px;
	}

	.why-choose-counter-item{
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.why-choose-counter-item h2{
		font-size: 38px;
	}

	.why-choose-counter-item p{
		margin-top: 5px;
	}
	
	.core-feature{
    	padding: 60px 0;
	}

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

	.case-study-item-content{
		right: 30px;
		bottom: 30px;
		left: 30px;
	}

	.case-study-item-content ul{
		margin-bottom: 15px;
	}

	.case-study-item-content ul li a{
		padding: 6px 12px 6px 25px;
	}

	.case-study-item-content ul li a::before{
		left: 12px;
	}

	.case-study-item-btn{
		top: 30px;
		right: 30px;
	}

	.special-treatment{
		background-size: 100px auto;
		padding: 60px 0;
	}

	.our-pricing{
    	padding: 60px 0;
	}

	.pricing-item{
        padding: 30px;
    }
	
	.pricing-item-header .icon-box,
	.pricing-item-content{
		margin-bottom: 20px;
	}

	.pricing-item-price h2{
        font-size: 38px;
    }

	.pricing-item-list h3{
		margin-bottom: 15px;
	}

	.pricing-item-list ul li{
        margin-bottom: 10px;
    }

	.pricing-item-list ul li::before{
        font-size: 16px;
    }

	.pricing-item-btn{
		margin-top: 30px;
	}

	.pricing-benefit-list{
        margin-top: 5px;
    }

	.pricing-benefit-list ul{
        gap: 15px 30px;
    }

	.pricing-benefit-list ul li img{
        max-width: 18px;
        margin-right: 10px;
    }

	.book-appointment{
		padding: 60px 0;
	}

	.book-appointment-hours-box{
        margin-top: 30px;
    }

	.appointment-hours-header{
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.appointment-hour-list ul li{
		margin-bottom: 10px;
	}

	.book-appointment-form{
        padding: 30px;
    }

	.book-appointment-form .section-title{
		padding-bottom: 30px;
	}

	.appointmnet-form label{
		margin-bottom: 10px;
	}

	.appointmnet-form .form-control{
		padding: 10px 15px;
	}

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

	.faq-cta-box{
		bottom: 20px;
		left: 20px;
		right: 20px;
		padding: 20px;
	}

	.faq-cta-contact-list{
		margin-top: 15px;
		padding-top: 15px;
	}

	.faq-cta-contact-list ul li a img{
		max-width: 18px;
	}

	.faq-accordion .accordion-item{
		margin-bottom: 20px;
	}

	.faq-accordion .accordion-header .accordion-button{
		padding: 15px 40px 15px 15px;
	}

	.faq-accordion .accordion-item .accordion-body{
		padding: 15px;
	}

	.faq-accordion .accordion-item .accordion-button::after, 
	.faq-accordion .accordion-item .accordion-button.collapsed::after{
		font-size: 16px;
		right: 15px;
	}

	.our-testimonials{
		padding: 60px 0;
	}

	.testimonial-item{
		gap: 20px;
		padding: 30px;
		min-height: 380px;
	}

	.testimonial-item-counter-content{
		padding-top: 20px;
	}

	.testimonial-item-counter-content h2{
    	font-size: 36px;
    	width: 30%;
	}

	.testimonial-item-counter-content p{
		width: 70%;
	}

	.our-testimonials .section-footer-text{
    	margin-top: 40px;
	}

	.our-blog{
		padding: 60px 0 30px;
	}

	.post-item-tags a{
		padding: 6px 12px 6px 26px;
	}

	.post-item-tags a::before{
		left: 12px;
	}

	.post-item-body{
    	padding: 10px;
	}

	.main-footer{
    	padding: 60px 0 0;
		margin: 0;
	}

	.footer-contact-info ul li{
		font-size: 16px;
	}

	.footer-contact-info ul li a img{
		max-width: 20px;
	}

	.footer-links.footer-newsletter-box{
		max-width: 310px;
	}

	.footer-newsletter-form .form-group .form-control{
        width: calc(100% - 40px);
    }

	.footer-newsletter-form .form-group .newsletter-btn{
		height: 40px;
		width: 40px;
	}

	.footer-newsletter-form .form-group .newsletter-btn i{
		font-size: 16px;
	}

	.footer-social-links ul{
		gap: 10px;
	}

	.footer-social-links ul li a{
		width: 36px;
		height: 36px;
	}

	.footer-social-links ul li a i{
		font-size: 16px;
	}

	.page-header{
		margin: 0;
		border-radius: 0;
        padding: 220px 0 80px;
	}

	.page-header-box h1{
		font-size: 48px;
	}

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

	.our-approach-nav{
		margin-bottom: 30px;
	}

	.our-approach-nav ul li .nav-link{
		padding: 10px 16px;
	}

	.our-approach-nav ul li .nav-link img{
		max-width: 18px;
	}

	.approach-item-content ul li{
		margin-bottom: 10px;
	}

	.approach-item-content ul li::before{
		font-size: 16px;
	}

	.our-benefits{
    	padding: 60px 0;
	}

	.benefits-item-content span{
		padding: 7px 12px;
		margin-bottom: 15px;
	}

	.benefits-client-review-box .satisfy-client-image img{
		max-width: 40px;
	}

	.benefits-client-review h3{
		font-size: 22px;
	}

	.our-benefits-footer-box{
    	margin-top: 10px;
	}

	.our-benefits-footer-list ul{
		gap: 10px;
	}

	.our-benefits-footer-list ul li{
		font-size: 14px;
        padding: 6px 12px 6px 28px;
	}

	.our-benefits-footer-list ul li::before{
		left: 12px;
	}

	.our-benefits-footer-box .section-footer-text{
		margin-top: 20px;
	}

	.our-team{
		padding: 60px 0;
	}

	.team-item-social-list ul{
		padding: 15px 15px 0;
	}

	.team-item-content{
		padding: 30px 20px 20px;
	}

	.team-item-content p{
		padding-top: 15px;
		margin: 15px 0 0;
	}
	
	.page-services{
    	padding: 60px 0 30px;
	}

	.page-services .service-item{
		min-height: 320px;
	}

	.page-single-section{
		padding: 50px 0;
	}

	.vehicle-specs-grid{
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.service-single-cta{
		gap: 48px;
	}

	.fleet-card-image{
		min-height: 110px;
		padding: 20px;
	}

	.fleet-cta-box{
		padding: 36px 24px;
	}

	.fleet-cta-box h2{
		font-size: 22px;
	}

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

	.service-single-content h2{
		margin-top: 28px;
		margin-bottom: 10px;
	}
	.service-single-content h3{
		margin-top: 22px;
		margin-bottom: 8px;
	}
	.service-single-content .service-item-content h3{
		margin-top: 0;
		margin-bottom: 8px;
	}
	.service-single-content .service-item-list{
		margin-top: 20px;
		margin-bottom: 28px;
	}
	.service-single-content .faq-accordion{
		margin-top: 28px;
	}

	.page-single-sidebar{
		position: inherit;
        margin-bottom: 30px;
    }

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

	.service-entry h2{
        font-size: 36px;
        margin-bottom: 15px;
    }

	.service-entry ul li{
		margin-bottom: 10px;
	}

	.service-entry ul li::before{
        font-size: 16px;
    }

	.service-benefit-content-list{
		padding-top: 20px;
		margin-top: 20px;
	}

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

	.page-pagination{
        margin-top: 10px;
    }

	.page-single-post{
        padding: 60px 0;
    }
    
    .post-image{
        margin-bottom: 20px;
    }
    
    .post-entry h2{
        font-size: 36px;
    }
    
    .post-entry p{
        margin-bottom: 15px;
    }
    
    .post-entry ol li,
    .post-entry ul li{
		font-size: 16px;
        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;
    }
    
    .post-tags .tag-links a{
        padding: 12px 15px;
    }
    
    .post-social-sharing ul{
        text-align: left;
    }

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

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

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

	.case-study-entry h2{
		font-size: 36px;
		margin-bottom: 15px;
	}

	.case-study-entry ul{
		gap: 10px 15px;
	}

	.case-study-entry ul li{
		width: calc(50% - 7.5px);
		padding-left: 25px;
	}

	.case-study-entry ul li::before{
		width: 16px;
		height: 16px;
	}

	.page-team{
		padding: 60px 0 30px;
	}

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

	.team-single-image figure img{
		aspect-ratio: 1 / 0.9;
	}

	.page-pricing{
		padding: 60px 0;
	}

	.page-testimonials{
		padding: 60px 0 30px;
	}

	.page-gallery{
        padding: 60px 0 30px;
    }

	.page-video-gallery{
        padding: 60px 0 30px;
    }

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

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

	.page-contact-us{
        padding: 60px 0 30px;
    }

	.contact-us-item-list{
		padding-top: 30px;
	}

	.contact-us-form .section-title{
		padding-bottom: 30px;
	}

    .contact-form .form-control{
        padding: 12px 15px;
    }

	.google-map{
        padding: 30px 0 60px;
    }

    .google-map-iframe{
        height: 500px;
    }

	.page-book-appointment{
		padding: 60px 0;
	}

	.error-page{
		padding: 60px 0px;
	}
	
	.error-page-image{
		margin-bottom: 20px;
	}
}

@media only screen and (max-width: 767px){

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

	.section-title h1{
		font-size: 24px;
	}

	.section-title h2{
		font-size: 26px;
	}

	.topbar-contact-info{
		text-align: center;
	}

	.topbar-contact-info p{
        font-size: 12px;
    }

	.topbar-social-links{
		display: none;
	}

	.hero-content-body{
		gap: 30px 20px;
		margin-top: 30px;
		padding-top: 30px;
	}

	.hero-content-body .video-play-button{
        margin-left: 10px;
    }

	.about-us-image.image-1{
		margin-top: 30px;
	}

	.about-us-image.image-1::before{
		right: -5px;
		width: 85px;
		height: 87px;
	}

	.about-us-image.image-1 figure{
		border-width: 5px;
		border-radius: 18px;
    	margin-right: -80px;
	}

	.about-us-item-list{
		gap: 20px;
	}

	.about-us-item{
		width: 100%;
	}

	.about-us-item-content h3{
		font-size: 18px;
	}

	.about-us-footer{
        gap: 20px;
    }

	.service-item{
		padding: 20px;
		width: 100%;
	}

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

	.service-item-content h2{
    	font-size: 18px;
	}

	.service-cta-box-image figure img{
        aspect-ratio: 1 / 1.05;
    }

	.service-cta-box-content{
        left: 20px;
        right: 20px;
        bottom: 20px;
    }

	.service-cta-content-title h3{
		font-size: 18px;
	}

	.section-footer-text ul li,
	.section-footer-text ul li i{
		font-size: 14px;
	}

	.why-choose-body-list ul{
		gap: 10px;
	}

	.why-choose-body-list ul li{
		width: 100%;
	}

	.why-choose-us-footer{
		gap: 20px;
	}

	.why-choose-us-contact-box{
		gap: 10px;
	}

	.why-choose-contact-box-content{
        width: calc(100% - 54px);
    }

	.why-choose-contact-box-content h3{
		font-size: 16px;
	}

	.why-choose-image-box-1{
		position: initial;
		width: 100%;
	}

	.why-choose-image-box-2{
		width: 100%;
		flex-direction: row;
	}

	.why-choose-counter-list{
		width: calc(50% - 10px);
		align-content: center;
		padding: 10px 0 10px 5px;
	}

	.why-choose-counter-item h2{
        font-size: 26px;
    }

	.why-choose-image-3{
		width: calc(50% - 10px);
	}

	.why-choose-image-3 figure,
	.why-choose-image-3 figure img{
		height: 100%;
	}

	.core-feature-item-content h3{
		font-size: 18px;
	}

	.core-feature-item{
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.core-feature-image{
		margin: 30px 0;
	}

	.core-feature-image::after{
		left: 0;
		width: 70px;
		height: 80px;
	}

	.case-study-item-content{
		bottom: 20px;
        left: 20px;
        right: 20px
	}

	.case-study-item-content ul{
		margin-bottom: 15px;
	}

	.case-study-item-content h2{
		font-size: 18px;
	}

	.case-study-item-btn{
        top: 20px;
        right: 20px;
    }

	.case-study-item-btn a{
		width: 40px;
		height: 40px;
	}

	.case-study-item-btn a img{
		max-width: 16px;
	}

	.special-treatment-image-box{
		padding: 50px 40px 30px 40px;
	}

	.special-treatment-image::before{
		left: 20px;
		width: 70px;
		height: 72px;
	}

	.special-treatment-image::after{
		bottom: -30px;
		width: 315px;
    	height: 263px;
	}

	.special-treatment-image{
		max-width: 245px;
	}

	.special-treatment-image-bg-border{
		bottom: -20px;
	}

	.special-treatment-image-bg-border svg{
		width: 310px;
		height: 300px;
	}

	.special-treatment-item-image{
		margin: 0 auto;
	}

	.special-treatment-item-content{
		width: 100%;
		text-align: center;
	}

	.special-treatment-item-content h3{
    	font-size: 18px;
	}

	.pricing-item{
        padding: 20px;
    }

	.pricing-item-header{
		padding-bottom: 20px;
		margin-bottom: 20px;
	}

	.pricing-item-content h2,
	.pricing-item-list h3{
    	font-size: 18px;
	}

	.pricing-item-price h2{
        font-size: 28px;
    }

	.pricing-item-price h2 sup{
		font-size: 14px;
		top: -0.5em;
	}

	.pricing-benefit-list ul{
        gap: 10px 15px;
    }

	.pricing-benefit-list ul li{
        font-size: 14px;
    }

	.pricing-benefit-list ul li img{
        max-width: 16px;
        margin-right: 5px;
    }

	.appointment-hours-header{
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

	.appointment-hours-header-content h3{
		font-size: 18px;
	}

	.book-appointment-form{
        padding: 20px;
    }

	.faq-image img{
		aspect-ratio: 1 / 1.23;
	}

	.faq-cta-box{
		left: 10px;
		bottom: 10px;
		right: 10px;
		max-width: 300px;
        padding: 15px;
	}

	.faq-cta-box-title h2{
    	font-size: 18px;
	}

	.faq-accordion .accordion-header .accordion-button{
        font-size: 16px;
        padding: 12px 38px 12px 15px;
    }

	.faq-accordion .accordion-item .accordion-body{
        padding: 12px 15px;
    }

	.testimonial-item{
        min-height: auto;
        padding: 20px;
    }

	.testimonial-item-content{
		margin-top: 20px;
	}

	.testimonial-item-content p{
		margin-bottom: 15px;
	}

	.testimonial-item-content h2{
    	font-size: 18px;
	}

	.testimonial-item-counter-content h2{
		width: 20%;
		font-size: 26px;
	}

	.post-item-tags{
		top: 15px;
		left: 15px;
		right: 15px;
	}

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

	.post-item-content h2,
	.post-item-content h3{
		font-size: 18px;
	}

	.footer-contact-info{
		max-width: 100%;
	}

	.footer-contact-info ul{
        gap: 15px 20px;
    }

	.about-footer h2{
    	font-size: 18px;
	}

	.footer-links,
	.footer-links.footer-newsletter-box{
        max-width: 100%;
    }

	.footer-links h2{
        font-size: 18px;
        margin-bottom: 15px;
    }

	.footer-social-links h3{
		font-size: 18px;
	}

	.footer-social-links{
        margin-top: 20px;
    }

	.footer-copyright{
        padding: 15px 0;
    }

	.page-header{
		padding-top: 205px;
	}

	.page-header-box h1{
        font-size: 28px;
	}

	.our-approach-image figure img{
		aspect-ratio: 1 / 1.27;
	}

	.our-approach-nav{
		margin-bottom: 20px;
	}

	.our-approach-nav .nav-tabs{
		border-radius: 14px;
	}

	.our-approach-nav ul li .nav-link{
		font-size: 14px;
		border-radius: 10px;
		padding: 9px;
	}

	.our-approach-nav ul li .nav-link img{
		max-width: 16px;
	}
	
	.approach-item-image{
		width: 100%;
	}

	.approach-item-image figure,
	.approach-item-image figure img{
		height: auto;
	}

	.approach-item-content{
		width: 100%;
		padding: 10px;
	}

	.approach-item-content ul{
		padding: 15px 0 0;
		margin: 15px 0 0;
	}

	.our-benefits-item{
        padding: 20px;
    }

	.benefits-item-content h3{
		font-size: 18px;
	}

	.benefits-item-btn a{
		width: 40px;
		height: 40px;
	}

	.benefits-item-btn a img{
		max-width: 18px;
	}

	.benefits-item-header h3{
		max-width: 100%;
		font-size: 18px;
	}

	.benefits-client-review h3{
    	font-size: 18px;
	}

	.benefits-client-review-content{
		padding-top: 15px;
		margin-top: 15px;
	}

	.team-item-content{
        padding: 25px 10px 10px;
    }

	.team-item-content h2{
    	font-size: 18px;
	}

	.page-services .service-item{
        min-height: auto;
    }

	.page-category-list .page-category-list-title,
	.sidebar-cta-content h2{
        font-size: 18px;
    }

	.sidebar-cta-btn{
        margin-top: 20px;
    }

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

	.page-single-image img{
        aspect-ratio: 1 / 0.7;
    }

	.service-entry h2{
        font-size: 26px;
    }

    .service-entry h3{
        font-size: 18px;
		margin-bottom: 5px;
    }

	.service-entry .service-types-box .service-item-list .service-item{
		padding: 20px;
	}

	.service-entry .service-types-box .service-item-list .service-item h2{
		font-size: 18px;
	}

	.service-benefit-content,
	.service-benefit-image{
    	width: 100%;
	}

	.post-single-meta ol li,
	.post-single-meta ol li i{
		font-size: 16px;
	}

	.post-image img{
		aspect-ratio: 1 / 0.7;
	}

	.post-entry blockquote{
		Background-size: 30px;
		padding: 60px 20px 20px 20px;
	}

	.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;
	}
	
	.case-study-concern-list{
		padding: 20px;
	}

	.case-study-concern-list ul{
		border-bottom: none;
		padding-bottom: 0;
		margin-bottom: 10px;
	}

	.case-study-entry ul li{
		width: 100%;
	}

	.case-study-transformation-image{
		width: 100%;
	}

	.case-study-summary-box .section-footer-text{
		justify-content: center;
	}
	
	.team-contact-item{
		width: 100%;
	}

	.team-contact-item::before{
		display: none;
	}

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

	.member-social-list{
        padding-top: 20px;
        margin-top: 20px;
    }

	.member-social-list h3{
		font-size: 18px;
	}

	.member-social-list ul{
		gap: 10px;
	}

	.member-social-list ul li a{
		width: 36px;
		height: 36px;
	}

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

	.team-member-skill-list{
		gap: 20px;
		padding: 20px;
	}

	.team-member-skill-list .skills-progress-bar{
		width: 100%;
	}

	.skills-progress-bar .skillbar .skill-data{
		margin-bottom: 10px;
	}

	.team-member-approach-item{
		width: 100%;
	}

	.team-member-approach-item-content h3{
		font-size: 18px;
	}

	.contact-us-item-list{
		gap: 20px;
	}

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

	.contact-us-form{
        padding: 20px;
    }

	.contact-us-form .section-title{
		padding-bottom: 20px;
	}

	.google-map-iframe{
        height: 350px;
    }
}

/************************************/
/***   35. Home - Version 2 css   ***/
/************************************/

.hero-royal{
	position: relative;
	background-image: url('../images/hero-bg-image-royal.jpg');
	background-position: center center;
	border-radius: 14px;
	padding: 260px 0 120px;
    margin: 15px 15px 0;
	overflow: hidden;
}

.hero-royal::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(180deg, rgba(40, 42, 35, 0.20) 0%, transparent 50%, rgba(40, 42, 35, 0.90) 95%);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.hero-royal .container{
	position: relative;
	z-index: 2;
}

.hero-content-royal{
	min-height: 670px;
	display: flex;
    flex-direction: column;
	justify-content: space-between;
	gap: 30px;
}

.hero-review-box-royal{
	max-width: 275px;
	background: var(--dark-divider-color);
	backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
	border-radius: 14px;
	margin-left: auto;
	padding: 30px;
}

.hero-review-content-royal p{
	font-size: 18px;
	color: var(--white-color);
	margin: 0;
}

.hero-review-content-royal p span{
	font-weight: 600;
}

.hero-review-body-royal{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 30px;
}

.hero-review-body-royal .satisfy-client-images .satisfy-client-image img{
	max-width: 40px;
}

span.hero-review-counter-no-royal{
	font-size: 24px;
	line-height: normal;
	font-weight: 600;
	color: var(--white-color);
}

.hero-content-body-royal{
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: 15px 30px;
}

.hero-content-body-royal .section-title{
	width: calc(60% - 15px);
	margin-bottom: 0;
}

.hero-content-body-royal .section-title .section-sub-title{
	background: var(--dark-divider-color);
	backdrop-filter: blur(50px);
    -webkit-backdrop-filter: blur(50px);
	border: 0;
}

.hero-content-body-royal .section-title .section-sub-title::before{
	filter: brightness(0) invert(1);
}

.hero-content-body-royal .section-content-btn{
	width: calc(40% - 15px);
}

.hero-content-body-royal .section-title h1{
	font-size: 60px;
	line-height: 1.1em;
}

.hero-btn-box-royal{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
    gap: 20px 25px;
    border-top: 1px solid var(--dark-divider-color);
	padding-top: 30px;
	margin-top: 30px;
}

.video-play-button-royal a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	cursor: none;
}

.video-play-button-royal a span{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-gradient);
	border-radius: 50%;
	color: var(--white-color);
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.4s ease-in-out;
}

.video-play-button-royal a:hover span{
	background: var(--white-color);
	color: var(--accent-color);
}

.video-play-button-royal a span.bg-effect:before,
.video-play-button-royal a span.bg-effect:after{
	content: '';
	position: absolute;
    width: 160%;
    height: 160%;
	border: 35px solid var(--white-color);
	opacity: 50%;
	border-radius: 50%;
	transform: scale(0.6);
	z-index: -1;
	animation: border-zooming 1.2s infinite linear;
}

.video-play-button-royal a span.bg-effect:after{
	animation-delay: .3s;
}

@keyframes border-zooming{
	100%{
		transform: scale(1);
		opacity: 0;
	}
}

.video-play-button-royal a span i{
    font-size: 16px;
    color: inherit;
    margin-left: 2px;
}

.video-play-button-royal p{
	font-weight: 600;
	color: var(--white-color);
	margin: 0;
}

.about-us-royal{
	padding: 120px 0;
}

.about-us-image-box-royal{
	display: flex;
	flex-wrap: wrap;
	margin-right: 15px;
}

.about-us-image-box-1-royal{
	width: 68%;
	background: url('../images/about-us-bg-image.png') no-repeat;
	background-size: 120px auto;
    background-position: left 120px bottom 40px;
}

.about-us-image-royal figure{
	display: block;
	border-radius: 14px;
}

.about-us-image-royal figure img{
	width: 100%;
	object-fit: cover;
	border-radius: 14px;
}

.about-us-image-box-1-royal .about-us-image-royal figure img{
	aspect-ratio: 1 / 1.265;
}

.about-us-image-box-2-royal{
	position: relative;
	width: 32%;
	z-index: 1;
}

.about-us-image-box-2-royal .about-us-image-royal figure{
	border: 6px solid var(--bg-color);
	margin-left: -177px;
	border-radius: 20px;
}

.about-us-image-box-2-royal .about-us-image-royal figure img{
	aspect-ratio: 1 / 1.094;
}

.about-us-counter-box-royal{
	position: relative;
	background: url('../images/about-counter-bg-royal.png') no-repeat, var(--accent-gradient);
    background-position: top -20px right;
    background-size: 70px auto, cover;
	border-radius: 14px;
	min-height: 210px;
	text-align: center;
	align-content: end;
	padding: 30px 25px;
	margin: 40px 6px 15px 20px;
}

.about-us-counter-box-royal h2{
	font-size: 40px;
	line-height: 1em;
	color: var(--white-color);
	display: flex;
    align-items: center;
    justify-content: center;
}

.about-us-counter-box-royal h2 i{
    font-size: 24px;
    color: var(--white-color);
    margin-left: 6px;
}

.about-us-counter-box-royal p{
	line-height: normal;
	font-weight: 600;
	color: var(--white-color);
	border-top: 1px solid var(--dark-divider-color);
	padding-top: 15px;
	margin: 15px 0 0;
}

.about-us-item-list-royal{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

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

.about-us-item-royal .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-gradient);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

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

.about-us-item-royal:hover .icon-box::before{
    transform: scale(1);
}

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

.about-us-item-title-royal{
	width: calc(100% - 65px);
}

.about-us-item-title-royal h3{
	font-size: 20px;
	line-height: 1.4em;
}

.about-content-body-royal{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 65px;
	border-top: 1px solid var(--divider-color);
	padding-top: 40px;
	margin-top: 40px;
}

.about-us-progress-bar-royal{	
	width: calc(100% - 185px);
	background-color: var(--white-color);
	border-radius: 20px;
	padding: 30px;
}

.about-us-progress-bar-royal .skills-progress-bar{
	margin-bottom: 30px;
}

.about-us-progress-bar-royal .skills-progress-bar:last-child{
	margin-bottom: 0;
}

.about-us-progress-bar-royal .skills-progress-bar .skillbar .skill-progress{
    height: 6px;
}

.about-us-circle-royal a{
	display: inline-block;
	border-radius: 50%;
}

.about-us-circle-royal a img{
	width: 100%;
	max-width: 120px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	animation: infiniterotate-royal 20s infinite linear;
}

@keyframes infiniterotate-royal{
    100%{
        transform: rotate(360deg);
    }
}

.about-us-circle-royal a:hover img{
	animation-play-state: paused;
}

.our-service-royal{
	position: relative;
	overflow: hidden;
	padding: 120px 0;
}

.our-service-royal::before{
    content: '';
    position: absolute;
	background-image: url('../images/section-bg-image-2.png');
	bottom: -20px;
    left: -20px;
    width: 206px;
    height: 270px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

.our-service-royal .container{
	position: relative;
	z-index: 1;
}

.service-item-royal{
	min-height: 400px;
	background: var(--bg-color);
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 40px;
	transition: all 0.4s ease-in-out;
}

.service-item-royal:hover{
	transform: translateY(-5px);
}

.service-item-royal .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-gradient);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

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

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

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

.service-item-content-royal ul{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	padding: 0;
	margin: 0 0 15px;
}

.service-item-content-royal ul li a{
    position: relative;
	display: inline-block;
    font-size: 14px;
    font-weight: 500;
    line-height: normal;
    color: var(--primary-color);
    border: 1px solid var(--divider-color);
    border-radius: 100px;
    padding: 7px 15px;
	transition: all 0.4s ease-in-out;
}

.service-item-royal ul li a:hover{
	background-color: var(--primary-color);
	color: var(--white-color);
}

.service-item-content-royal h2{
	font-size: 20px;
}

.service-item-content-royal h2 a{
	color: inherit;
}

.service-item-content-royal p{
	margin: 10px 0 0;
}

.service-item-btn-royal{
	border-top: 1px solid var(--divider-color);
	padding-top: 25px;
	margin-top: 25px;
}

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

.why-choose-image-box-royal{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.why-choose-image-box-1-royal{
    position: relative;
    width: calc(58% - 10px);
}

.why-choose-image-royal figure{
    display: block;
}

.why-choose-image-royal figure img{
    width: 100%;
    object-fit: cover;
}

.why-choose-image-box-1-royal .why-choose-image-royal figure,
.why-choose-image-box-1-royal .why-choose-image-royal img{
	border-radius: 140px 0 0 140px;
}

.why-choose-image-box-1-royal .why-choose-image-royal img{
    aspect-ratio: 1 / 1.717;
}

.contact-us-circle-royal{
    position: absolute;
	top: 50%;
	right: -10px;
	transform: translate(50%, -50%);
	border-radius: 50%;
    z-index: 1;
}

.contact-us-circle-royal a{
    display: inline-block;
	border: 6px solid var(--bg-color);
    border-radius: 50%;
}

.contact-us-circle-royal a img{
    width: 100%;
	aspect-ratio: 1 / 1;
    max-width: 130px;
    border-radius: 50%;
    animation: infiniterotate-royal 20s infinite linear;
}

.contact-us-circle-royal a:hover img{
	animation-play-state: paused;
}

.why-choose-image-box-2-royal{
    width: calc(42% - 10px);
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.why-choose-image-box-2-royal .why-choose-image-royal figure{
    border-radius: 0 140px 0 0;
}

.why-choose-image-box-2-royal .why-choose-image-royal img{
    border-radius: 0 140px 0 0;
    aspect-ratio: 1 / 1.12;
}

.why-choose-image-royal.image-2{
    margin: 0 20px 0 0;
}

.why-choose-image-box-2-royal .why-choose-image-royal.image-2 figure{
    border-radius: 0 0 140px 0;
}

.why-choose-image-box-2-royal .why-choose-image-royal.image-2 img{
    border-radius: 0 0 140px 0;
    aspect-ratio: 1 / 1.025;
}

.why-choose-content-royal{
    margin-left: 20px;
}

.why-choose-accordion-royal .accordion-item{
    border-bottom: 1px solid var(--divider-color);
    padding-bottom: 30px;
    margin-bottom: 30px;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
}

.why-choose-accordion-royal .accordion-item:last-child{
	border-bottom: none;
	padding-bottom: 0;
    margin-bottom: 0;
}

.why-choose-accordion-royal .accordion-header .accordion-button{
    font-size: 20px;
    font-weight: 500;
    line-height: 1.33em;
    color: var(--primary-color);
    padding: 0 34px 0 0;
    transition: all 0.3s ease-in-out;
}

.why-choose-accordion-royal .accordion-item .accordion-button::after, 
.why-choose-accordion-royal .accordion-item .accordion-button.collapsed::after{
    content: '\f13a';
    font-family: 'FontAwesome';
    position: absolute;
    right: 0px;
    top: 0px;
    font-size: 24px;
    color: var(--accent-color);
    transition: all 0.4s ease-in-out;
}

.why-choose-accordion-royal .accordion-button:not(.collapsed)::after{
	transform: rotate(180deg);
}

.why-choose-accordion-royal .accordion-item .accordion-body{
    padding: 15px 34px 0 0;
}

.why-choose-accordion-royal .accordion-item .accordion-body p{
    margin: 0;
}

.what-we-do-royal{
	padding: 120px 0;
}

.what-we-item-royal{
	background: var(--dark-divider-color);
	backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
	padding: 30px;
}

.what-we-item-royal,
.what-we-video-box-royal{
	position: relative;
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	overflow: hidden;
}

.what-we-item-royal.box-1 .what-we-item-image-royal figure{
	display: block;
	max-width: 100px;
	background-image: url("../images/what-we-item-image-bg-shape-royal.svg");
	mask-image: url("../images/what-we-item-image-bg-shape-royal.svg");
	mask-repeat: no-repeat;
	mask-position: center center;
	mask-size: cover;
}

.what-we-item-royal.box-1 .what-we-item-image-royal figure img{
	width: 100%;
	object-fit: cover;
	aspect-ratio: 1 / 1;
}

.what-we-item-content-royal h2{
	font-size: 40px;
	line-height: 1em;
	color: var(--white-color);
	border-bottom: 1px solid var(--dark-divider-color);
	padding-bottom: 20px;
	margin-bottom: 20px;
}

.what-we-item-content-royal h3{
	font-size: 20px;
	color: var(--white-color);
}

.what-we-item-content-royal p{
	color: var(--white-color);
	margin: 10px 0 0 0;
}

.what-we-item-content-royal ul{
	list-style: none;
	border-top: 1px solid var(--dark-divider-color);
	padding: 20px 0 0 0;
	margin: 20px 0 0 0;
}

.what-we-item-content-royal ul li{
	font-size: 20px;
	line-height: normal;
	color: var(--white-color);
	margin-bottom: 10px;
}

.what-we-item-content-royal ul li:last-child{
	margin-bottom: 0;
}

.what-we-item-content-royal ul li a{
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.what-we-item-content-royal ul li a:hover{
	color: var(--accent-color);
}

.what-we-video-box-royal{
	padding: 40px;
}

.what-we-video-image-royal{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.what-we-video-image-royal figure{
	position: relative;
	display: block;
	height: 100%;
}

.what-we-video-image-royal figure::before{
	content: ' ';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(180deg, transparent 50.13%, rgba(40, 42, 35, 0.80) 100%);
	width: 100%;
	height: 100%;
}

.what-we-video-image-royal figure img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.what-we-video-box-royal .video-play-button-royal{
	position: relative;
	text-align: right;
	z-index: 1;
}

.what-we-video-content-royal{
	position: relative;
	max-width: 490px;
	z-index: 1;
}

.what-we-video-content-royal h3{
	font-size: 18px;
	color: var(--white-color);
	line-height: 1.6em;
}

.what-we-video-content-royal p{
	color: var(--white-color);
	margin: 20px 0 0 0;
}

.what-we-video-content-royal p span{
	font-weight: 600;
}

.what-we-item-royal.box-3 .what-we-item-image-royal figure{
	display: block;
	max-width: 140px;
	margin: 0 auto;
    border-radius: 14px 14px 0 0;
    margin-bottom: -44px;
}

.what-we-item-royal.box-3 .what-we-item-image-royal figure img{
	width: 100%;
	aspect-ratio: 1 / 1.393;
	object-fit: cover;
	border-radius: 14px 14px 0 0;
}

.our-treatments-royal{
    padding: 120px 0 340px;
}

.treatment-item-list-royal ul{
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px 20px;
    padding: 0;
    margin: 0;
}

.treatment-item-list-royal ul li{
	position: relative;
    border: 1.5px solid var(--divider-color);
    border-radius: 100px;
    overflow: hidden;
    z-index: 1;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.treatment-item-list-royal ul li:hover{
    border-color: var(--accent-color);
    box-shadow: 0 4px 18px rgba(198, 148, 89, 0.18);
}

.treatment-item-list-royal ul li::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	background: var(--primary-color);
	border-radius: 100px;
	width: 0;
	height: 100%;
	transition: width 0.35s ease-in-out;
	z-index: -1;
}

.treatment-item-list-royal ul li:hover::before{
	width: 100%;
}

.treatment-item-list-royal ul li a{
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 7px 26px 7px 7px;
    font-size: 15px;
    font-weight: 600;
    color: var(--primary-color);
    text-decoration: none;
    line-height: 1.4em;
    z-index: 1;
    transition: color 0.3s ease;
}

.treatment-item-list-royal ul li:hover a{
    color: var(--white-color);
}

.treatment-item-list-royal ul li img{
	position: relative;
    width: 48px;
    height: 48px;
    min-width: 48px;
	aspect-ratio: 1 / 1;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(198, 148, 89, 0.3);
	z-index: 1;
}

.treatment-cta-body-royal{
	background-color: var(--secondary-color);
    border: 10px solid var(--bg-color);
    border-radius: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 30px 100px;
    padding: 50px;
	margin-top: -280px;
}

.treatment-cta-form-royal{
    width: calc(62% - 50px);
}

.treatment-cta-form-royal .section-title{
    border-bottom: 1px solid var(--divider-color);
    padding-bottom: 30px;
	margin-bottom: 30px;
}

.treatment-cta-form-royal .section-title h2{
    color: var(--primary-color);
}

.treatment-cta-image-royal{
    width: calc(38% - 50px);
    align-content: end;
}

.treatment-cta-image-royal figure{
    display: block;
    border-radius: 14px 14px 0 0;
    margin: -100px 0px -50px 0;
}

.treatment-cta-image-royal img{
    width: 100%;
    aspect-ratio: 1 / 1.61;
    object-fit: cover;
    border-radius: 14px 14px 0 0;
}

.our-transformation-royal{
	padding: 120px 0;
}

.transformation-slider-royal .transformation_image img{
    width: 100%;
    aspect-ratio: 1 / 0.726;
    object-fit: cover;
    border-radius: 20px;
}

.transformation-pagination-royal{
	text-align: center;
	margin-top: 60px;
}

.transformation-pagination-royal .swiper-pagination-bullet{
	position: relative;
	border-radius: 100px;
	height: 10px;
	width: 10px;
	background: var(--divider-color);
	opacity: 0.8;
	margin: 0 3px;
	transition: all 0.3s ease-in-out;
}

.transformation-pagination-royal .swiper-pagination-bullet-active{
	width: 40px;
	background: var(--accent-gradient);
	opacity: 1;
}

.our-transformation-royal .section-footer-text{
	margin-top: 40px;
}

.intro-video-box-royal{
	overflow: hidden;
}

.intro-video-royal{
	position: relative;
}

.intro-video-image-royal figure{
	display: block;
	overflow: hidden;
}

.intro-video-image-royal figure:before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: var(--primary-color);
    opacity: 40%;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.intro-video-image-royal img{
	width: 100%;
    aspect-ratio: 1 / 0.467;
	object-fit: cover;
	transition: all 0.8s ease-in-out;
}

.intro-video-box-royal:hover .intro-video-image-royal img{
	transform: scale(1.04);
}

.intro-video-royal .video-play-button-royal{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

.intro-video-royal .video-play-button-royal a{
	width: 100px;
	height: 100px;
	background-color: transparent;
	backdrop-filter: blur(15px);
	-webkit-backdrop-filter: blur(15px);
	border-radius: 100px;
	transition: all 0.4s ease-in-out;
}

.intro-video-royal .video-play-button-royal a:hover{
	background: var(--accent-gradient);
}

.intro-video-royal .video-play-button-royal a p{
	font-size: 20px;
}

.our-testimonials-royal{
	padding: 120px 0;
}

.testimonial-content-royal{
	margin-right: 15px;
}

.testimonial-slider-royal{
	background-color: var(--secondary-color);
	border-radius: 14px;
	padding: 50px;
}

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

.testimonial-item-content-box-royal{
	margin-top: 50px;
}

.testimonial-item-content-royal p{
	font-size: 20px;
	font-weight: 600;
	color: var(--primary-color);
	margin-bottom: 0;
}

.testimonial-author-content-royal{
	border-top: 1px solid var(--divider-color);
	padding: 30px 130px 0 0;
	margin-top: 30px;
}

.testimonial-author-content-royal h2{
	font-size: 20px;
}

.testimonial-author-content-royal p{
	margin: 5px 0 0;
}

.testimonial-slider-btn-royal{
	position: absolute;
	bottom: 0;
	right: 0;
	display: flex;
	align-items: center;
	gap: 15px;
	z-index: 1;
}

.testimonial-slider-royal .testimonial-button-next-royal,
.testimonial-slider-royal .testimonial-button-prev-royal{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--secondary-color);
	border: 1px solid var(--divider-color);
	border-radius: 50%;
	transition: all 0.4s ease-in-out;
}

.testimonial-slider-royal .testimonial-button-next-royal:hover,
.testimonial-slider-royal .testimonial-button-prev-royal:hover{
	background: var(--accent-gradient);
}

.testimonial-slider-royal .testimonial-button-next-royal::before,
.testimonial-slider-royal .testimonial-button-prev-royal::before{
    content: '';
	position: absolute;
    top: 50%;
    bottom: 0;
    left: 50%;
    right: 0;
	background: url('../images/arrow-primary.svg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 22px auto;
    transform: translate(-50%, -50%) rotate(225deg);
	transition: all 0.4s ease-in-out;
}

.testimonial-slider-royal .testimonial-button-next-royal::before{
	transform: translate(-50%, -50%) rotate(45deg);
}

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

.testimonial-image-box-royal{
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: 30px 80px;
}

.testimonial-image-box-1-royal{
	width: calc(50% - 40px);
}

.testimonial-image-box-1-royal .testimonial-image-royal{
	margin-right: -55px;
}

.testimonial-image-royal figure{
	display: block;
	height: 100%;
	border-radius: 14px;
}

.testimonial-image-royal figure img{
	width: 100%;
	object-fit: cover;
	border-radius: 14px;
}

.testimonial-image-box-1-royal .testimonial-image-royal figure img{
	aspect-ratio: 1 / 1.28;
}

.testimonial-counter-box-royal{
	background-color: var(--primary-color);
	background-image: url('../images/testimonial-counter-box-bg-image-royal.png');
	background-repeat: no-repeat;
	background-position: top -15px right -15px;
	background-size: 100px auto;
	border-radius: 14px;
	padding: 30px;
	margin: 30px 0;
}

.testimonial-counter-box-royal .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-gradient);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 30px;
	overflow: hidden;
}

.testimonial-counter-box-royal .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--white-color);
    border-radius: 50%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.testimonial-counter-box-royal:hover .icon-box::before{
    transform: scale(1);
}

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

.testimonial-counter-box-royal:hover .icon-box img{
	filter: brightness(1) invert(1);
}

.testimonial-counter-content-royal h2{
	font-size: 34px;
	color: var(--white-color);
}

.testimonial-counter-content-royal p{
	font-size: 20px;
	font-weight: 600;
	color: var(--white-color);
	margin: 5px 0 0;
}

.testimonial-rating-box-royal{
	background: var(--accent-gradient);
	border-radius: 14px;
	padding: 30px;
	margin: 30px 0;
}

.testimonial-rating-box-header-royal{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: 30px;
}

.testimonial-rating-box-header-royal .icon-box img{
	width: 100%;
	max-width: 40px;
}

.testimonial-rating-counter-royal{
	width: calc(100% - 50px);
}

.testimonial-rating-counter-royal h2{
	font-size: 26px;
	color: var(--white-color);
}

.testimonial-rating-star-royal{
	display: block;
}

.testimonial-rating-star-royal i{
	font-size: 20px;
	color: var(--white-color);
}

.testimonial-rating-content-royal p{
	color: var(--white-color);
	margin: 10px 0 0;
}

.testimonial-image-box-2-royal{
	width: calc(50% - 40px);
	display: flex;
	flex-direction: column;
}

.testimonial-image-box-2-royal .testimonial-image-royal{
	position: relative;
	margin-left: -60px;
	z-index: 1;
}

.testimonial-image-box-2-royal .testimonial-image-royal figure{
	border: 6px solid var(--bg-color);
	border-radius: 20px;
}

.testimonial-image-box-2-royal .testimonial-image-royal figure img{
	aspect-ratio: 1 / 1.292;
}

.company-supports-slider-box-royal{
    margin-top: 60px;
}

.company-supports-content-royal{
    display: flex;
    align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 40px;
	text-align: center;
}

.company-supports-content-royal hr{
    height: 1px;
	flex-grow: 1;
    color: var(--divider-color);
    opacity: 1;
    margin: 0;
}

.company-supports-content-royal h3{
	font-size: 16px;
}

.company-supports-slider-royal{
	margin: 0 3.125vw;
} 

.company-supports-logo-royal{
	text-align: center;
}

.company-supports-logo-royal img{
	width: 100%;
	max-width: 170px;
	height: 40px;
}

.our-faqs-royal{
	position: relative;	
	padding: 120px 0;
	overflow: hidden;
}

.our-faqs-royal::before{
	content: '';
	position: absolute;
	bottom: -20px;
    right: -20px;
    width: 206px;
    height: 270px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

.faq-image-box-royal{
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: 30px;
}

.faq-image-box-1-royal{
	width: calc(44% - 15px);
	margin-bottom: 75px;
}

.faq-image-royal figure{
	display: block;
	border-radius: 14px;
}

.faq-image-royal figure img{
	width: 100%;
	object-fit: cover;
	border-radius: 14px;
}

.faq-image-royal.image-1 figure{
	margin-right: -225px;
}

.faq-image-royal.image-1 figure img{
	aspect-ratio: 1 / 1.15;
}

.faq-image-royal.image-2{
	position: relative;
	max-width: 225px;
	margin: -44% 0 0 auto;
	z-index: 1;
}

.faq-image-royal.image-2 figure img{
	aspect-ratio: 1 / 0.974;
}

.faq-image-box-2-royal{
	position: relative;
	width: calc(56% - 15px);
	z-index: 2;
}

.faq-image-box-2-royal .faq-image-royal figure{
	border: 6px solid var(--white-color);
	border-radius: 20px;
}

.faq-image-box-2-royal .faq-image-royal figure img{
	aspect-ratio: 1 / 1.36;
}

.faq-content-royal{
	margin-left: 15px;
}

.faq-accordion-royal .accordion-item{
    position: relative;
    background: var(--white-color);
    border-radius: 12px;
    margin-bottom: 10px;
    border: 1px solid rgba(40, 42, 35, 0.10);
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(40, 42, 35, 0.05);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

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

.faq-accordion-royal .accordion-item:has(.accordion-button:not(.collapsed)){
    border-color: var(--accent-color);
    box-shadow: 0 4px 24px rgba(198, 148, 89, 0.12);
}

.faq-accordion-royal .accordion-header .accordion-button{
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4em;
    color: var(--primary-color);
    background: var(--white-color);
    padding: 20px 52px 20px 22px;
    transition: all 0.3s ease-in-out;
    box-shadow: none;
    --bs-accordion-btn-icon: none;
    --bs-accordion-btn-active-icon: none;
}

.faq-accordion-royal .accordion-item .accordion-button:not(.collapsed){
    background: var(--primary-color);
    color: var(--white-color);
    border-radius: 12px 12px 0 0;
}

.faq-accordion-royal .accordion-item .accordion-button::after{
    background-image: none !important;
    background: none !important;
    display: none !important;
}

.faq-accordion-royal .accordion-item .accordion-button::before{
    content: '+';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    font-weight: 300;
    line-height: 1;
    color: var(--primary-color);
    transition: color 0.3s ease;
    pointer-events: none;
}

.faq-accordion-royal .accordion-item .accordion-button:not(.collapsed)::before{
    content: '\2212';
    color: var(--accent-color);
}

.faq-accordion-royal .accordion-item .accordion-body{
    background: var(--bg-color);
    border-top: 1px solid rgba(198, 148, 89, 0.18);
    padding: 20px 22px 22px;
}

.faq-accordion-royal .accordion-item .accordion-body p{
    font-size: 15px;
    line-height: 1.75em;
    color: rgba(40, 42, 35, 0.82);
    margin-bottom: 10px;
}

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

.faq-accordion-royal .accordion-item .accordion-body a{
    color: var(--accent-color);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.main-footer-royal{
	padding: 120px 0 0;
	margin-bottom: 15px;
}

.footer-header-box-royal{
	border-bottom: 1px solid var(--dark-divider-color);
	margin-bottom: 60px;
	padding-bottom: 60px;
}

.footer-header-royal{
	width: 100%;
	max-width: 650px;
	text-align: center;
	margin: 0 auto;
}

.footer-logo-royal{
	margin-bottom: 30px;
}

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

.footer-header-royal .section-title{
	margin-bottom: 30px;
}

.footer-newsletter-form-royal .form-group{
	display: flex;
    justify-content: space-between;
	background: var(--dark-divider-color);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
	border: none;
	border-radius: 100px;
	padding: 5px;
}

.footer-newsletter-form-royal .form-group .form-control{
	font-size: 16px;
	line-height: normal;
	color: var(--white-color);
	background-color: transparent;
	background-image: url('../images/icon-mail-white.svg');
	background-repeat: no-repeat;
	background-position: left 20px center;
	background-size: 24px auto;
	border: none;
	border-radius: 0;
	outline: none;
	box-shadow: none;
	flex: 1;
	padding: 10px 10px 10px 60px;
}

.footer-newsletter-form-royal .form-group .form-control::placeholder{
	color: var(--white-color);
    opacity: 50%;
}

.footer-newsletter-form-royal .form-group button.btn-default{
	max-width: 33%;
	padding: 17px 20px;
	margin-right: 0;
}

.footer-newsletter-form-royal .form-group button.btn-default::before{
	display: none;
}

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

.footer-social-links-royal{
	margin-top: 30px;
}

.footer-social-links-royal ul{
	list-style: none;
	display: flex;
	align-items: center;
	gap: 15px;
	margin: 0;
	padding: 0;
}

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

.footer-social-links-royal ul li a:hover{
	background: var(--accent-gradient);
}

.footer-social-links-royal ul li a i{
	font-size: 18px;
	color: inherit;
	transition: all 0.4s ease-in-out;
}

.footer-links-box-royal{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 30px;
}

.footer-links-royal{
	max-width: 35%;
}

.footer-links-royal h2{
	color: var(--white-color);
	font-size: 20px;
	margin-bottom: 25px;
}

.footer-links-royal ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-links-royal ul li{
	position: relative;
	color: var(--white-color);
    line-height: 1.5em;
    margin-bottom: 15px;
	padding-left: 30px;
}

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

.footer-links-royal ul li::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
	transform: translateY(-50%);
    background-image: url('../images/icon-sub-heading.svg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    width: 18px;
    height: 18px;
}

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

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

.footer-working-hour-box-royal{
	min-width: 300px;
}

.footer-links-royal.footer-working-hour-box-royal ul li{
	display: flex;
	justify-content: space-between;
	gap: 5px 10px;
	padding: 0;
}

.footer-working-hour-box-royal ul li::before{
	display: none;
}

.footer-working-hour-box-royal ul li:last-child{
	margin-bottom: 0;
}

.footer-working-hour-box-royal ul li span{
	width: 44%;
	font-weight: 600;
}

.footer-copyright-text-royal{
	text-align: center;
	border-top: 1px solid var(--dark-divider-color);
	margin-top: 60px;
	padding: 60px 0;
}

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

@media only screen and (max-width: 1024px){

	.hero-royal::before{
		background: var(--primary-color);
		opacity: 50%;
	}

	.hero-content-royal{
		flex-direction: column-reverse;
		min-height: auto;
	}

	.hero-content-body-royal .section-title,
	.hero-content-body-royal .section-content-btn{
		width: 100%;
	}

	.hero-review-box-royal{
		margin: 0;
	}

	.about-us-image-box-royal{
		max-width: 740px;
        margin: 0 auto 30px;
	}

	.about-us-image-box-1-royal{
		background-size: 100px auto;
		background-position: left 225px bottom 40px;
	}

	.about-us-image-box-1-royal .about-us-image-royal figure img{
		aspect-ratio: 1 / 1.14;
	}

	.why-choose-image-box-royal{
        max-width: 740px;
        margin: 0 auto 30px;
    }

	.why-choose-image-box-1-royal .why-choose-image-royal img{
		aspect-ratio: 1 / 1.58;
	}

	.why-choose-image-royal.image-2{
		margin: 0 40px 0 0;
	}

    .why-choose-content-royal{
        margin-left: 0;
    }

	.what-we-video-box-royal{
		min-height: 400px;
	}

	.treatment-item-list-royal ul{
        gap: 20px;
    }

    .treatment-cta-body-royal{
        padding: 30px;
		margin-left: 30px;
		margin-right: 30px;
    }

	.treatment-cta-form-royal{
		width: 100%;
	}

    .treatment-cta-image-royal{
       display: none;
    }

	.intro-video-image-royal img{
		aspect-ratio: 1 / 0.67;
	}

	.testimonial-content-royal{
		margin: 0 0 30px;
	}

	.testimonial-image-box-royal{
		max-width: 740px;
		margin: 0 auto;
	}

	.faq-image-box-royal{
		max-width: 740px;
		height: auto;
		margin: 0 auto 30px;
	}

	.faq-image-box-2-royal .faq-image-royal figure img{
		aspect-ratio: 1 / 1.1;
	}

	.faq-content-royal{
		margin-left: 0;
	}

	.footer-header-box-royal{
		margin-bottom: 30px;
		padding-bottom: 30px;
	}

	.about-footer-royal{
		text-align: center;
		margin: 0 auto 30px;
	}

	.footer-social-links-royal{
		margin-top: 20px;
	}

	.footer-social-links-royal ul{
		justify-content: center;
	}

	.footer-links-royal h2{
		margin-bottom: 20px;
	}

	.footer-links-royal ul li{
		margin-bottom: 10px;
		padding-left: 25px;
	}

	.footer-links-royal ul li::before{
		width: 16px;
		height: 16px;
	}

	.footer-copyright-text-royal{
		margin-top: 30px;
		padding: 30px 0;
	}
}

@media only screen and (max-width: 991px){

	.hero-royal{
		border-radius: 0;
		padding: 200px 0 60px;
		margin: 0;
	}
	
	.hero-review-box-royal{
		padding: 20px;
	}
	
	span.hero-review-counter-no-royal{
		font-size: 22px;
	}

	.hero-content-body-royal .section-title h1{
    	font-size: 44px;
	}

	.video-play-button-royal a span{
		width: 46px;
		height: 46px;
	}

	.about-us-royal{
    	padding: 60px 0;
	}

	.about-us-counter-box-royal{
		padding: 20px;
	}

	.about-us-counter-box-royal h2{
		font-size: 32px;
	}

	.about-us-counter-box-royal h2 i{
		font-size: 20px;
	}

	.about-content-body-royal{
    	padding-top: 30px;
    	margin-top: 30px;
	}

	.about-us-progress-bar-royal{
		padding: 20px;
		width: calc(100% - 165px);
	}

	.about-us-circle-royal a img{
		max-width: 100px;
	}

	.our-service-royal{
		padding: 60px 0;
	}

	.our-service-royal::before{
        width: 116px;
        height: 180px;
    }

	.service-item-royal{
		min-height: initial;
		padding: 30px;
	}

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

	.contact-us-circle-royal a img{
		max-width: 110px;
	}

    .why-choose-accordion-royal .accordion-item{
        padding-bottom: 20px;
        margin-bottom: 20px;
    }

    .why-choose-accordion-royal .accordion-header .accordion-button{
		font-size: 18px;
        padding: 0 30px 0 0;
    }

    .why-choose-accordion-royal .accordion-item .accordion-body{
        padding: 10px 30px 0 0;
    }

    .why-choose-accordion-royal .accordion-item .accordion-button::after, 
    .why-choose-accordion-royal .accordion-item .accordion-button.collapsed::after{
        font-size: 20px;
    }

	.what-we-do-royal{
		padding: 60px 0;
	}

	.what-we-item-content-royal h2{
		font-size: 34px;
	}

	.what-we-video-box-royal{
        padding: 30px;
    }

	.our-treatments-royal{
        padding: 60px 0 320px;
    }

	.treatment-item-list-royal ul{
		gap: 15px;
	}

	.treatment-item-list-royal ul li a{
		padding: 5px 18px 5px 5px;
		font-size: 14px;
		gap: 10px;
	}

	.treatment-item-list-royal ul li img{
		width: 40px;
		height: 40px;
		min-width: 40px;
	}

    .treatment-cta-body-royal{
		margin-left: 15px;
        margin-right: 15px;
    }

	.our-transformation-royal{
		padding: 60px 0;
	}

	.transformation-pagination-royal{
		margin-top: 30px;
	}

	.our-transformation-royal .section-footer-text{
		margin-top: 30px;
	}

	.intro-video-box-royal .container-fluid{
		padding: 0;
	}

	.intro-video-royal .video-play-button-royal a{
		width: 80px;
		height: 80px;
	}

	.intro-video-royal .video-play-button-royal a p{
		font-size: 18px;
	}

	.our-testimonials-royal{
		padding: 60px 0;
	}

	.testimonial-slider-royal{
		padding: 30px;
	}

	.testimonial-item-content-box-royal{
		margin-top: 30px;
	}

	.testimonial-item-content-royal p{
		font-size: 18px;
	}

	.testimonial-counter-content-royal h2{
		font-size: 28px;
	}

	.testimonial-rating-counter-royal h2{
		font-size: 22px;
	}

	.company-supports-slider-box-royal{
		margin-top: 40px;
	}

	.company-supports-content-royal{
        margin-bottom: 30px;
    }

	.company-supports-slider-royal{
		margin: 0;
	}

	.company-supports-logo-royal img{
		max-width: 144px;
		height: 34px;
	}

	.our-faqs-royal{
    	padding: 60px 0;
	}

	.our-faqs-royal::before{
        width: 130px;
        height: 180px;
    }

	.faq-accordion-royal .accordion-item{
		margin-bottom: 20px;
	}

	.faq-accordion-royal .accordion-header .accordion-button{
		padding: 15px 44px 15px 16px;
        font-size: 16px;
	}

	.faq-accordion-royal .accordion-item .accordion-button::before{
		right: 15px;
		font-size: 20px;
	}

	.faq-accordion-royal .accordion-item .accordion-body{
		padding: 15px 16px;
	}

	.main-footer-royal{
		padding: 60px 0 0;
		margin-bottom: 0;
	}

	.footer-header-royal{
		max-width: 100%;
	}

	.footer-logo-royal{
		margin-bottom: 20px;
	}

	.footer-newsletter-form-royal .form-group .form-control{
		background-position: left 10px center;
		background-size: 22px auto;
		padding: 10px 10px 10px 45px;
	}

	.footer-newsletter-form-royal .form-group button.btn-default{
		padding: 15px 17px;
	}

	.about-footer-royal{
		max-width: 100%;
	}
}

@media only screen and (max-width: 767px){

	.hero-review-box-royal{
		max-width: 100%;
	}

	.hero-content-body-royal .section-title h1{
        font-size: 28px;
    }

	.hero-btn-box-royal{
		gap: 20px;
	}

	.video-play-button-royal a{
		gap: 10px;
	}

	.video-play-button-royal p{
		font-size: 14px;
	}

	.hero-review-body-royal{
		margin-top: 20px;
	}

	.hero-review-content-royal p{
		font-size: 16px;
	}

	.hero-review-body-royal{
		margin-top: 20px;
	}

	span.hero-review-counter-no-royal{
    	font-size: 20px;
	}

	.about-us-image-box-1-royal{
		width: 62%;
		background-size: 65px auto;
		background-position: center bottom 30px;
	}

	.about-us-image-box-1-royal .about-us-image-royal figure img{
		aspect-ratio: 1 / 1.26;
	}

	.about-us-counter-box-royal{
		min-height: 140px;
		background-size: 55px auto;
        padding: 10px;
		margin: 20px 3px 5px 8px;
    }

	.about-us-counter-box-royal h2{
        font-size: 24px;
    }

	.about-us-counter-box-royal p{
		font-size: 14px;
		padding-top: 10px;
		margin: 10px 0 0;
	}

	.about-us-counter-box-royal h2 i{
    	font-size: 16px;
	}
	
	.about-us-image-box-2-royal{
		width: 38%;
	}
	
	.about-us-image-box-2-royal .about-us-image-royal figure{
		margin-left: -80px;
		border-width: 3px;
	}

	.about-us-image-box-2-royal .about-us-image-royal figure img{
		aspect-ratio: 1 / 0.92;
	}

	.about-us-item-list-royal{
		gap: 20px;
	}

	.about-us-item-royal{
		width: 100%;
	}

	.about-us-item-title-royal h3{
    	font-size: 18px;
	}

	.about-content-body-royal{
        padding-top: 20px;
        margin-top: 20px;
    }

	.about-us-progress-bar-royal{
		width: 100%;
	}

	.about-us-progress-bar-royal .skills-progress-bar{
		margin-bottom: 20px;
	}

	.about-us-circle-royal{
		display: none;
	}

	.about-us-circle-royal a img{
        max-width: 85px;
    }

	.service-item-royal{
        padding: 20px;
    }

	.service-item-content-royal ul li a{
		padding: 6px 12px;
	}

	.service-item-content-royal h2{
    	font-size: 18px;
	}

	.service-item-btn-royal{
		padding-top: 20px;
		margin-top: 20px;
	}

	.why-choose-image-box-royal{
		gap: 10px;
	}

	.why-choose-image-box-1-royal{
		width: calc(57% - 5px);
	}

	.why-choose-image-box-1-royal .why-choose-image-royal figure,
	.why-choose-image-box-1-royal .why-choose-image-royal img{
		border-radius: 70px 0 0 70px;
	}

	.why-choose-image-box-1-royal .why-choose-image-royal img{
		aspect-ratio: 1 / 1.72;
	}

	.contact-us-circle-royal a{
		border-width: 3px;
	}

    .contact-us-circle-royal a img{
        max-width: 85px;
    }

	.why-choose-image-box-2-royal{
		width: calc(43% - 5px);
		gap: 10px;
	}
    
    .why-choose-image-box-2-royal .why-choose-image-royal img,
    .why-choose-image-box-2-royal .why-choose-image-royal figure{
        border-radius: 0 70px 0 0;
    }

	.why-choose-image-royal.image-2{
        margin: 0 10px 0 0;
    }
    
    .why-choose-image-box-2-royal .why-choose-image-royal.image-2 img,
    .why-choose-image-box-2-royal .why-choose-image-royal.image-2 figure{
        border-radius: 0 0 70px 0;
    }

    .why-choose-accordion-royal .accordion-header .accordion-button{
        font-size: 16px;
    }

    .why-choose-accordion-royal .accordion-item .accordion-body{
        padding: 10px 0 0;
    }

	.what-we-item-royal{
		padding: 20px;
	}

	.what-we-item-royal.box-1 .what-we-item-image-royal figure{
		max-width: 80px;
	}

	.what-we-item-content-royal h2{
		font-size: 28px;
		padding-bottom: 15px;
		margin-bottom: 15px;
	}

	.what-we-item-content-royal h3,
	.what-we-item-content-royal ul li{
		font-size: 18px;
	}

	.what-we-video-box-royal{
        min-height: 310px;
        padding: 20px;
    }

	.what-we-video-box-royal .video-play-button-royal{
		margin: 10px 10px 0 0;
	}

	.what-we-video-content-royal h3{
		font-size: 16px;
	}

	.what-we-video-content-royal p{
		margin-top: 15px;
	}

	.what-we-item-royal.box-3 .what-we-item-image-royal figure{
		margin-bottom: -34px;
	}

	.treatment-item-list-royal ul{
        gap: 8px;
    }

    .treatment-item-list-royal ul li a{
        font-size: 13px;
        gap: 8px;
        padding: 4px 14px 4px 4px;
    }

    .treatment-item-list-royal ul li img{
        width: 34px;
        height: 34px;
        min-width: 34px;
    }

    .treatment-cta-body-royal{
        padding: 20px;
        border-width: 6px;
		margin-left: 0;
		margin-right: 0;
    }

	.treatment-cta-form-royal .section-title{
		padding-bottom: 20px;
		margin-bottom: 20px;
	}
	
	.intro-video-image-royal img{
		aspect-ratio: 1 / 0.8;
	}

	.intro-video-royal .video-play-button-royal a{
		width: 70px;
		height: 70px;
	}

	.intro-video-royal .video-play-button-royal a p{
		font-size: 16px;
	}

	.testimonial-slider-royal{
		padding: 20px;
	}

	.testimonial-item-content-box-royal{
		margin-top: 20px;
	}

	.testimonial-item-content-royal p{
		font-size: 16px;
	}

	.testimonial-author-content-royal{
		padding: 20px 0 0;
		margin-top: 20px;
	}

	.testimonial-author-content-royal h2{
		font-size: 18px;
	}

	.testimonial-slider-btn-royal{
		position: initial;
		justify-content: center;
		margin-top: 20px;
	}

	.testimonial-slider-royal .testimonial-button-next-royal, 
	.testimonial-slider-royal .testimonial-button-prev-royal{
		width: 40px;
		height: 40px;
	}

	.testimonial-slider-royal .testimonial-button-next-royal::before,
	.testimonial-slider-royal .testimonial-button-prev-royal::before{
		background-size: 18px auto;
	}

	.testimonial-image-box-royal{
		gap: 30px;
	}

	.testimonial-image-box-1-royal{
		width: calc(48% - 15px);
	}

	.testimonial-image-box-1-royal .testimonial-image-royal{
		margin-right: -20px;
	}

	.testimonial-counter-box-royal{
		background-size: 70px auto;
		padding: 10px;
		margin: 10px 0 0;
	}

	.testimonial-counter-box-royal .icon-box{
		width: 40px;
		height: 40px;
		margin-bottom: 15px;
	}

	.testimonial-counter-box-royal .icon-box img{
		max-width: 20px;
	}

	.testimonial-counter-content-royal h2{
		font-size: 22px;
	}

	.testimonial-counter-content-royal p{
		font-size: 16px;
	}

	.testimonial-image-box-2-royal{
		width: calc(52% - 15px);
	}

	.testimonial-rating-box-royal{
		padding: 10px;
		margin: 0 0 10px;
	}

	.testimonial-rating-box-header-royal{
		margin-bottom: 10px;
	}

	.testimonial-rating-box-header-royal .icon-box img{
		max-width: 30px;
	}

	.testimonial-rating-counter-royal{
		width: calc(100% - 40px);
	}

	.testimonial-rating-counter-royal h2{
		font-size: 18px;
	}

	.testimonial-rating-star-royal i{
		font-size: 16px;
	}

	.testimonial-rating-content-royal p{
		font-size: 14px;
		margin: 5px 0 0;
	}

	.testimonial-image-box-2-royal .testimonial-image-royal{
		margin-left: -25px;
	}

	.company-supports-content-royal{
		justify-content: center;
		margin-bottom: 20px;
	}

	.company-supports-content-royal hr{
		display: none;
	}

	.faq-image-box-royal{
		gap: 20px;
	}

	.faq-image-box-1-royal{
		width: calc(44% - 10px);
		margin-bottom: 30px;
	}

	.faq-image-royal.image-1 figure{
		margin-right: -125px;
	}

	.faq-image-royal.image-2{
		margin-left: 20px;
	}

	.faq-image-box-2-royal{
		width: calc(56% - 10px);
	}

	.faq-accordion-royal .accordion-header .accordion-button{
        font-size: 15px;
		padding: 12px 40px 12px 15px;
    }

	.faq-accordion-royal .accordion-item .accordion-body{
        padding: 12px 15px;
    }

	.footer-newsletter-form-royal .form-group .form-control{
		background-size: 16px auto;
		padding: 8px 10px 8px 35px;
	}

	.footer-newsletter-form-royal .form-group button.btn-default{
		font-size: 12px;
		padding: 8px 10px;
	}

	.footer-links-royal{
		max-width: 100%;
	}

	.footer-links-royal h2{
		font-size: 18px;
		margin-bottom: 15px;
	}

	.footer-working-hour-box-royal{
		width: 100%;
	}

	.footer-copyright-text-royal{
		padding: 15px 0;
	}
}

/************************************/
/***   36. Home - Version 3 css   ***/
/************************************/

.main-header.main-header-prime{
	background-color: var(--white-color);
	border-radius: 14px;
	margin: 15px 15px 0;
}

.main-header.main-header-prime .navbar{
	padding: 20px 0;
}

.main-header-prime .main-menu .nav-menu-wrapper{
	text-align: left;
	margin: 0 1.042vw 0 3.125vw;
}

.main-header-prime .main-menu ul li{
	margin: 0 0.521vw;
}

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

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

.main-header-prime .main-menu ul li a{
	color: var(--primary-color);
}

.main-header-prime .main-menu ul ul li a{
	color: var(--white-color);
}

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

header.main-header.main-header-prime .header-sticky.active{
	background: var(--white-color);
	border-color: var(--divider-color);
}

.header-contact-box-prime{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 4.167vw;
}

.header-contact-item-prime{
	position: relative;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
}

.header-contact-item-prime::before{
	content: '';
	position: absolute;
	right: -2.083vw;	
	background-color: var(--divider-color);
	height: 100%;
	width: 1px;
}

.header-contact-item-prime .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--primary-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

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

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

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

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

.header-contact-item-content-prime p{
	line-height: normal;
	margin-bottom: 7px;
}

.header-contact-item-content-prime span{
	font-size: 20px;
	color: var(--primary-color);
	font-weight: 600;
}

.header-contact-item-content-prime span a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

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

.hero-prime{
	position: relative;
	margin: 15px 15px 0 15px;
}

.hero-prime .container-fluid{
	padding: 0;
}

.hero-image-box-prime{
	padding: 15px;
}

.hero-image-prime{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 14px;
	overflow: hidden;
}

.hero-image-prime figure{
	display: block;
	width: 100%;
	height: 100%;
}

.hero-image-prime figure img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-content-box-prime{
	position: relative;
	min-height: 860px;
	max-width: 800px;
	background: var(--secondary-color) url("../images/hero-content-box-bg-image-prime.png") no-repeat;
	background-position: right -25px bottom -25px;
	background-size: 200px auto;
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 50px;
	padding: 80px;
	z-index: 1;
}

.hero-body-content-prime .section-title h1{
	font-size: 50px;
}

.hero-content-list-prime ul{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.hero-content-list-prime ul li{
	position: relative;
	width: calc(50% - 10px);
	line-height: 1.5em;
	padding-left: 25px;
}

.hero-content-list-prime ul li::before{
	content: '\f058';
    position: absolute;
    font-family: 'Font Awesome 7 Free';
    font-size: 18px;
    font-weight: 900;
    line-height: 1.3em;
    color: var(--accent-color);
    top: 0;
    left: 0;
}

.header-button-box-prime{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
    gap: 15px 25px;
	margin-top: 40px;
}

.video-play-button-prime a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	cursor: none;
}

.video-play-button-prime a span{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-gradient);
	border-radius: 50%;
	color: var(--white-color);
	display: flex;
	justify-content: center;
	align-items: center;
}

.video-play-button-prime a span.bg-effect:before,
.video-play-button-prime a span.bg-effect:after{
	content: '';
	position: absolute;
    width: 160%;
    height: 160%;
	border: 35px solid var(--white-color);
	border-radius: 50%;
	transform: scale(0.6);
	opacity: 50%;
	animation: border-zooming 1.2s infinite linear;
	z-index: -1;
}

.video-play-button-prime a span.bg-effect:after{
	animation-delay: .3s;
}

@keyframes border-zooming{
	100%{
		transform: scale(1);
		opacity: 0;
	}
}

.video-play-button-prime a span i{
    color: inherit;
    margin-left: 2px;
}

.video-play-button-prime p{
	font-weight: 600;
	color: var(--primary-color);
	margin: 0;
}

.hero-client-box{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.hero-client-box-prime{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	border-top: 1px solid var(--divider-color);
	padding-top: 50px;
	gap: 10px;
}

.hero-client-content h2{
	font-size: 20px;
    display: flex;
}

.hero-client-content h2 i{
	color: var(--accent-color);
	margin-left: 5px;
}

.hero-client-content p{
	margin: 5px 0 0;
}

.about-us-prime{
	padding: 120px 0;
}

.about-us-image-box-prime{
	height: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-right: 15px;
}

.about-us-image-prime.imgae-1{
	width: 86%;
}

.about-us-image-prime figure{
	display: block;
	border-radius: 14px;
}

.about-us-image-prime img{
	width: 100%;
	object-fit: cover;
	border-radius: 14px;
}

.about-us-image-prime.imgae-1 figure{
	height: 100%;
	border-top-left-radius: 260px;
}

.about-us-image-prime.imgae-1 figure img{
	height: 100%;
	aspect-ratio: 1 / 1.21;
	border-top-left-radius: 260px;
}

.about-us-image-prime.imgae-2{
	position: relative;
    width: 14%;
	margin-bottom: 70px;
	align-content: end;
    z-index: 2;
}

.about-us-image-prime.imgae-2 figure{
	border: 5px solid var(--bg-color);
	border-radius: 20px;
    margin-left: -125px;
}

.about-us-image-prime.imgae-2 figure img{
	aspect-ratio: 1 / 1.16;
}

.about-us-content-prime{
	height: 100%;
	align-content: center;
}

.about-us-item-prime{
    border-bottom: 1px solid var(--divider-color);
    padding-bottom: 30px;
    margin-bottom: 30px;
}

.about-us-item-prime:last-child{
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.about-us-item-prime h3{
	position: relative;
    font-size: 20px;
	padding-left: 30px;
}

.about-us-item-prime h3::before{
	content: '\f058';
	position: absolute;
	font-family: 'Font Awesome 7 Free';
	font-size: 18px;
	line-height: normal;
	font-weight: 900;
	color: var(--accent-color);
	top: 2px;
	left: 0;
}

.about-us-item-prime p{
    margin: 10px 0 0;
}

.about-us-footer-prime{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 40px;
	margin-top: 40px;
}

.about-author-box-prime{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.about-author-image-prime figure{
	display: block;
	border-radius: 50%;
}

.about-author-image-prime figure img{
	width: 100%;
	max-width: 50px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
}

.about-author-content-prime h3{
	font-size: 20px;
}

.about-author-content-prime p{
	line-height: normal;
	margin: 5px 0 0;
}

.our-services-prime{
	position: relative;
	padding: 120px 0;
	overflow: hidden;
}

.our-services-prime::before, 
.our-services-prime::after{
    content: '';
    position: absolute;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

.our-services-prime::before{
	background-image: url('../images/section-bg-image-1.png');
    top: -20px;
    right: -20px;
    width: 155px;
    height: 180px;
}

.our-services-prime::after{
	background-image: url('../images/section-bg-image-2.png');
	bottom: -20px;
    left: -20px;
    width: 206px;
    height: 270px;
}

.service-item-prime{
	position: relative;
	border-radius: 999px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	overflow: hidden;
}

.service-item-image-prime figure{
	position: relative;
	display: block;
}

.service-item-image-prime figure::before{
	content: ' ';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(180deg, transparent 30%, rgba(40, 42, 35, 0.90) 95%);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.service-item-image-prime figure img{
	width: 100%;
	aspect-ratio: 1 / 1.526;
	object-fit: cover;
	transition: all 0.6s ease-in-out;
}

.service-item-prime:hover .service-item-image-prime figure img{
	transform: scale(1.06);
}

.service-item-body-prime{
	position: absolute;
	left: 40px;
	right: 40px;
	bottom: 40px;
	text-align: center;
	z-index: 1;
}

.service-item-content-prime{
	margin-bottom: 30px;
}

.service-item-content-prime h2{
	font-size: 20px;
	color: var(--white-color);
}

.service-item-content-prime h2 a{
	color: inherit;
}

.service-item-btn-prime a{
	width: 50px;
	height: 50px;
	background: var(--accent-gradient);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.4s ease-in-out;
	margin: 0 auto;
}

.service-item-btn-prime a:hover{
	background: var(--white-color);
}

.service-item-btn-prime a img{
	width: 100%;
	max-width: 20px;
	transition: all 0.4s ease-in-out;
}

.service-item-btn-prime a:hover img{
	filter: brightness(1) invert(1);
	transform: rotate(45deg);
}

.our-benefits-prime{
	padding: 120px 0;
}

.benefits-content-prime{
	height: 100%;
	align-content: center;
	margin-right: 15px;
}

.benefit-item-list-prime{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 30px;
}

.benefit-item-prime{
	width: calc(50% - 15px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.benefit-item-prime .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-gradient);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

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

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

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

.benefit-item-content-prime{
	width: calc(100% - 65px);
}

.benefit-item-content-prime h3{
	font-size: 20px;
	line-height: normal;
}

.benefit-info-list-prime{
	border-top: 1px solid var(--divider-color);
	padding-top: 40px;
	margin-top: 40px;
}

.benefit-info-list-prime ul{
	display: flex;
    flex-wrap: wrap;
    gap: 15px 20px;
	list-style: none;
    margin: 0;
    padding: 0;
}

.benefit-info-list-prime ul li{
	position: relative;
	width: calc(50% - 10px);
	padding-left: 25px;
	line-height: 1.5em;
}

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

.benefit-footer-prime{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 40px;
	margin-top: 40px;
}

.benefit-contact-box-prime{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.benefit-contact-box-prime .icon-box{
	position: relative;
    background: var(--primary-color);
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.benefit-contact-box-prime .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: var(--accent-gradient);
    border-radius: 50%;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.benefit-contact-box-prime:hover .icon-box::before{
	transform: scale(1)
}

.benefit-contact-box-prime .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
    z-index: 1;
}

.benefit-contact-box-content-prime{
	width: calc(100% - 65px);
}

.benefit-contact-box-content-prime p{
	line-height: normal;
	margin: 0px;
}

.benefit-contact-box-content-prime h3{
	font-size: 20px;
	margin-top: 5px;
}

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

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

.benefits-image-box-prime{
	display: flex;
	flex-direction: column;
	gap: 30px;
	height: 100%;
}

.benefits-image-prime{
	height: 100%;
}

.benefits-image-prime figure{
	display: block;
	height: 100%;
	border-radius: 14px;
}

.benefits-image-prime img{
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 0.625;
	object-fit: cover;
	border-radius: 14px;
}

.benefit-image-boxes-prime{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.benefits-counter-item-prime{
	width: calc(50% - 15px);
	background-color: var(--white-color);
	border-radius: 14px;
	display: flex;
    flex-wrap: wrap;
    padding: 30px;
    overflow: hidden;
}

.benefits-counter-item-content-prime{
    width: 45%;
}

.benefits-counter-item-content-prime h2{
    font-size: 46px;
	line-height: 1em;
	font-weight: 500;
}

.benefits-counter-item-content-prime p{
	margin: 5px 0 0;
}

.benefits-counter-item-content-prime ul{
	list-style: disc;
	padding-left: 20px;
	margin: 30px 0 0;
}

.benefits-counter-item-content-prime ul li{
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5em;
	color: var(--primary-color);
}

.benefits-counter-item-content-prime ul li::marker{
	color: var(--accent-color);
}

.benefits-counter-item-image-prime{
    width: 55%;
    align-content: end;
}

.benefits-counter-item-image-prime figure{
	display: block;
	margin: -25px -50px -30px 0;
	border-radius: 10px;
	overflow: hidden;
}

.benefits-counter-item-image-prime img{
	width: 100%;
    aspect-ratio: 1 / 1.02;
    object-fit: cover;
	border-radius: 10px;
}

.benefit-info-box-prime{
	position: relative;
	width: calc(50% - 15px);
	padding: 20px;
	align-content: end;
	border-radius: 14px;
	overflow: hidden;
}

.benefit-info-box-image-prime{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	height: 100%;
	width: 100%;
}

.benefit-info-box-image-prime figure{
	position: relative;
	display: block;
	height: 100%;
}

.benefit-info-box-image-prime figure:before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(270deg, transparent 31.36%, rgba(40, 42, 35, 0.90) 78.4%);
	height: 100%;
	width: 100%;
}

.benefit-info-box-image-prime img{
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.benefit-info-box-content-prime{
	position: relative;
	z-index: 2;
}

.benefit-info-box-content-prime ul{
	list-style: disc;
	padding-left: 20px;
	margin: 0;
}

.benefit-info-box-content-prime ul li{
	line-height: normal;
	color: var(--white-color);
	margin-bottom: 10px;
}

.benefit-info-box-content-prime ul li:last-child{
	margin-bottom: 0;
}

.benefit-info-box-content-prime ul li::marker{
	color: var(--accent-color);
}

.our-core-feature-prime{
	background-image: url('../images/section-bg-image-3.png');
    background-repeat: no-repeat;
    background-position: top right;
    background-size: 120px auto;
    padding: 120px 0;
}

.feature-image-box-prime{
    position: relative;
    padding: 40px;
    align-content: end;
	border-radius: 14px;
	overflow: hidden;
    height: calc(100% - 30px);
	margin-bottom: 30px;
}

.feature-image-prime{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
}

.feature-image-prime figure{
    position: relative;
    display: block;
    height: 100%;
}

.feature-image-prime figure:before{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(180deg, rgba(40, 42, 35, 0.00) 40.31%, var(--primary-color) 91.05%);
    height: 100%;
    width: 100%;
}

.feature-image-prime img{
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.feature-image-item-prime{
	position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
	margin-bottom: 20px;
    z-index: 1;
}

.feature-image-item-prime:last-child{
	margin-bottom: 0;
}

.feature-image-item-prime .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-gradient);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

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

.feature-image-box-prime:hover .icon-box:before{
	transform: scale(1);
}

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

.feature-image-box-prime:hover .icon-box img{
	filter: brightness(0) invert(0);
}

.feature-image-item-content-prime{
    width: calc(100% - 65px);
}

.feature-image-item-content-prime h3{
    font-size: 20px;
    color: var(--white-color);
}

.feature-image-item-content-prime p{
	color: var(--white-color);
    margin: 10px 0 0;
}

.feature-item-list-prime{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

.feature-item-box-prime{
    display: flex;
    flex-direction: column;
    gap: 30px;
    justify-content: space-between;
    width: calc(50% - 15px);
    min-height: 400px;
    border-radius: 14px;
}

.feature-item-box-prime.box-1{
    background-color: var(--primary-color);
    padding: 30px;
}

.feature-item-box-prime .icon-box img{
    width: 100%;
    max-width: 50px;
}

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

.feature-item-content-prime p{
    margin: 10px 0 0;
}

.feature-item-box-prime.box-1 .feature-item-content-prime h3,
.feature-item-box-prime.box-1 .feature-item-content-prime p{
    color: var(--white-color);
}

.feature-item-box-prime.box-2{
    background-color: var(--bg-color);
    padding: 10px;
}

.feature-item-header-prime{
    background-color: var(--white-color);
    border-radius: 10px;
    padding: 20px;
}

.feature-item-header-prime .satisfy-client-images{
    margin-bottom: 20px;
}

.feature-item-header-prime .satisfy-client-image img{
    max-width: 30px;
}

.feature-item-header-prime .satisfy-client-image.add-more{
    height: 32px;
    width: 32px;
}

.feature-item-header-prime .satisfy-client-image.add-more i{
    font-size: 16px;
}

.feature-header-content-prime h3{
    font-size: 20px;
	display: flex;
}

.feature-header-content-prime h3 i{
    font-size: 18px;
    margin-left: 5px;
    color: var(--accent-color);
}

.feature-header-content-prime p{
    margin: 5px 0 0;
}

.feature-item-box-prime.box-2 .feature-item-content-prime{
    padding: 0 20px 20px;
}

.feature-item-content-prime ul{
	list-style: disc;
    border-top: 1px solid var(--divider-color);
    margin: 20px 0 0;
    padding: 20px 0 0 20px;
}

.feature-item-content-prime ul li{
	line-height: normal;
	margin-bottom: 10px;
}

.feature-item-content-prime ul li:last-child{
	margin-bottom: 0;
}

.feature-item-content-prime ul li::marker{
	color: var(--accent-color);
}

/* imapact */

.our-impact-prime{
	padding: 120px 0;
}

.impact-image-box-prime{
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	margin-right: 15px;
}

.impact-image-box-1-prime{
	position: relative;
	width: 61%;
	z-index: 0;
}

.impact-image-box-1-prime::before{
	content: '';
	position: absolute;
	bottom: 20px;
    left: 50%;
    transform: translate(-65%, 100%);
	background: url('../images/about-us-bg-image.png') no-repeat;
	background-size: cover;
	background-position: center center;
	width: 180px;
	height: 180px;
}

.impact-image-prime figure{
	display: block;
	border-radius: 14px;
}

.impact-image-prime figure img{
	width: 100%;
	object-fit: cover;
	border-radius: 14px;
}

.impact-image-box-1-prime .impact-image-prime figure img{
	aspect-ratio: 1 / 1.06;
}

.impact-image-box-2-prime{
	width: 39%;
}

.impact-counter-box-prime{
	background: var(--accent-gradient);
	border-radius: 14px;
	text-align: center;
	align-content: center;
	padding: 30px 40px;
	margin: 50px 10px 15px 20px;
}

.impact-counter-box-prime h2{
	font-size: 46px;
	font-weight: 500;
	line-height: 1em;
	color: var(--white-color);
}

.impact-counter-box-prime p{
	line-height: normal;
	font-weight: 600;
	color: var(--white-color);
	margin: 10px 0 0 0;
}

.impact-image-box-2-prime .impact-image-prime figure{
	border: 6px solid var(--bg-color);
	border-radius: 20px;
	margin-left: -135px;
}
	
.impact-image-box-2-prime .impact-image-prime figure img{
	aspect-ratio: 1 / 1.08;
}

.impact-list-prime ul{
	display: flex;
    flex-wrap: wrap;
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.impact-list-prime ul li{
	position: relative;
	display: inline-block;
	width: calc(50% - 10px);
	padding-left: 25px;
	line-height: 1.5em;
}

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

.impact-counter-item-list-prime{
	display: flex;
	flex-wrap: wrap;
	gap: 30px 60px;
	margin-top: 60px;
}

.impact-counter-item-prime{
	position: relative;
	width: calc(33.33% - 40px);
}

.impact-counter-item-prime::before{
	content: ' ';
    position: absolute;
    top: 50%;
    right: -30px;
    background: var(--divider-color);
    transform: translateY(-50%);
    width: 1px;
    height: 75%;
}

.impact-counter-item-prime:nth-child(3n + 3)::before,
.impact-counter-item-prime:last-child::before{
	display: none;
}

.impact-counter-item-prime h2{
	font-size: 46px;
	color: var(--primary-color);
}

.impact-counter-item-prime p{
	margin: 5px 0 0 0;
}

.impact-footer-prime{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 40px;
	border-top: 1px solid var(--divider-color);
	padding-top: 40px;
	margin-top: 40px;
}

/* team */

.our-team-prime{
	padding: 120px 0;
}

.team-item-prime{
	background-color: var(--bg-color);
	border-radius: 14px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 40px;
}

.team-item-image-box-prime{
	position: relative;
}

.team-item-image-prime{
	max-width: 300px;
	border-radius: 50%;
	text-align: center;
	margin: 0 auto;
	overflow: hidden;
}

.team-item-image-prime a,
.team-item-image-prime figure{
	position: relative;
	display: block;
	border-radius: 50%;
	cursor: none;
}

.team-item-image-prime figure img{
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 50%;
	transition: all 0.6s ease-in-out;
}

.team-item-prime:hover .team-item-image-prime figure img{
	transform: scale(1.06);
}

.team-item-social-list-prime{
    position: absolute;
    left: 50px;
    right: 50px;
	bottom: 40px;
	margin: 0 auto;
	transform: scale(0);
    transition: all 0.5s ease-in-out;
    z-index: 2;
}

.team-item-prime:hover .team-item-social-list-prime{
	transform: scale(1);
	visibility: visible;
	opacity: 1;
}

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

.team-item-social-list-prime ul li a{
	width: 36px;
    height: 36px;
    color: var(--white-color);
	background-color: var(--divider-color);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s ease-in-out;
}

.team-item-social-list-prime ul li:hover a{
	background: var(--accent-gradient);
}

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

.team-item-content-prime{
	text-align: center;
	margin-top: 30px;
}

.team-item-content-prime h2{
	font-size: 20px;
}

.team-item-content-prime h2 a{
	color: inherit;
}

.team-item-content-prime p{
	margin: 5px 0 0;
}

/* pricing */

.our-pricing-prime{
	padding: 120px 0;
}

.pricing-item-prime{
	display: flex;
	flex-wrap: wrap;
	background-color: var(--secondary-color);
	border-radius: 14px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 40px;
	gap: 30px;
}

.pricing-box-content-prime,
.pricing-item-body-prime{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
}

.pricing-box-content-prime{
	width: calc(45% - 15px);
}

.pricing-item-header-prime .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-gradient);
	border-radius: 50%;
	margin-bottom: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.4s ease-in-out;
}

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

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

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

.pricing-item-header-content-prime h2{
	font-size: 20px;
}

.pricing-item-header-content-prime p{
	margin: 5px 0 0;
}

.pricing-item-price-prime h2{
	font-size: 50px;
	font-weight: 500;
	line-height: 1.1em;
}

.pricing-item-price-prime h2 sub{
	font-size: 16px;
	color: var(--text-color);
	bottom: 0;
}

.pricing-item-body-prime{
	width: calc(55% - 15px);
}

.pricing-item-list-prime ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.pricing-item-list-prime ul li{
	position: relative;
	line-height: 1.5em;
	padding-left: 25px;
	margin-bottom: 15px;
}

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

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

.pricing-item-btn-prime .btn-default{
	display: block;
	text-align: center;
}

.pricing-benefit-list-prime{
	margin-top: 30px;
}

.pricing-benefit-list-prime ul{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
    justify-content: center;
	gap: 20px 60px;
}

.pricing-benefit-list-prime ul li{
	color: var(--text-color);
    display: inline-flex;
    align-items: center;
}

.pricing-benefit-list-prime ul li img{
	width: 100%;
	max-width: 20px;
	margin-right: 10px;
}

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

.why-choose-item-list-prime{
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: 30px;
}

.why-choose-item-prime,
.why-choose-review-box-prime,
.why-choose-image-prime{
	width: calc(25% - 22.5px);
}

.why-choose-item-prime{
	min-height: 400px;
	background-color: var(--primary-color);
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
	padding: 30px;
}

.why-choose-item-prime.box-1{
	background-image: url('../images/why-choose-item-bg-image-prime.png');
	background-repeat: no-repeat;
	background-position: top right;
	background-size: auto;
}

.why-choose-item-prime .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-gradient);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

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

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

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

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

.why-choose-item-prime.box-1 .why-choose-item-content-prime{
	padding-top: 20px;
	border-top: 1px solid var(--dark-divider-color);
}

.why-choose-item-content-prime h3{
	font-size: 20px;
	line-height: 1.4em;
	color: var(--white-color);
}

.why-choose-item-content-prime p{
	color: var(--white-color);
	margin: 15px 0 0;
}

.why-choose-review-box-prime{
	background-color: var(--bg-color);
	border-radius: 14px;
	padding: 30px;
}

.why-choose-review-item-prime{
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 20px;
	padding-bottom: 20px;
}

.why-choose-review-item-prime .icon-box img{
	width: 100%;
	max-width: 50px;
}

.why-choose-review-content-prime{
	width: calc(100% - 65px);
}

.why-choose-review-content-prime h3{
	font-size: 20px;
}

.why-choose-review-content-prime h3 i{
	color: var(--accent-color);
}

.why-choose-review-content-prime p{
	margin: 5px 0 0;
}

.why-choose-review-box-prime .satisfy-client-images{
	width: 100%;
	justify-content: center;
}

.why-choose-review-box-prime .satisfy-client-image img{
	max-width: 40px;
}

.why-choose-review-box-prime .satisfy-client-image.add-more{
	width: 42px;
	height: 42px;
}

.why-choose-image-prime figure{
	display: block;
	mask-image: url('../images/why-choose-image-shape-prime.svg');
	background-image: url('../images/why-choose-image-shape-prime.svg');
    mask-repeat: no-repeat;
    mask-size: cover;
    mask-position: center center;
	border-radius: 30px;
}

.why-choose-image-prime figure img{
	width: 100%;
	aspect-ratio: 1 / 0.91;
	object-fit: cover;
	border-radius: 30px;
}

.why-choose-item-prime.box-2 .why-choose-item-content-prime{
	text-align: center;
}

.why-choose-item-image-prime figure{
	display: block;
	border-radius: 14px 14px 0 0;
	margin: 0 -30px -30px;
}

.why-choose-item-image-prime figure img{
	width: 100%;
	aspect-ratio: 1 / 0.977;
	object-fit: cover;
	border-radius: 14px 14px 0 0;
}

.why-choose-us-prime .section-footer-text{
	margin-top: 60px;
}

.our-faqs-prime{
	padding: 120px 0;
}

.faq-content-prime{
	position: sticky;
	top: 30px;
}

.faq-cta-box-prime{
	max-width: 575px;
	background-color: var(--white-color);
	border-radius: 14px;
	overflow: hidden;
}

.faq-cta-box-title-prime{
	background: var(--accent-gradient);
	text-align: center;
	padding: 15px 20px;
}

.faq-cta-box-title-prime h3{
	font-size: 24px;
	line-height: normal;
	color: var(--white-color);
}

.faq-cta-item-list-prime{
	display: flex;
	flex-wrap: wrap;
	gap: 30px 50px;
	padding: 30px;
}

.faq-cta-item-prime{
	position: relative;
	width: calc(50% - 25px);
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.faq-cta-item-prime::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: -25px;
	background-color: var(--divider-color);
	width: 1px;
	height: 100%;
}

.faq-cta-item-prime:nth-child(2n + 2)::before,
.faq-cta-item-prime:last-child::before{
	display: none;
}

.faq-cta-item-prime .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--primary-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.faq-cta-item-prime .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--accent-gradient);
    border-radius: 50%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.faq-cta-item-prime:hover .icon-box::before{
    transform: scale(1);
}

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

.faq-cta-item-content-prime{
	width: calc(100% - 65px);
}

.faq-cta-item-content-prime p{
	margin-bottom: 0;
}

.faq-cta-item-content-prime h3{
	font-size: 20px;
	margin-top: 5px;
}

.faq-cta-item-content-prime h3 a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

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

.faq-accordion-prime{
	margin-left: 15px;
}

.faq-accordion-prime .accordion-item{
    position: relative;
    background: var(--white-color);
    border-radius: 14px;
    margin-bottom: 25px;
    overflow: hidden;
}

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

.faq-accordion-prime .accordion-header .accordion-button{
	font-size: 18px;
    font-weight: 500;
    line-height: 1.333em;
    background: transparent;
    color: var(--primary-color);
    padding: 20px 44px 20px 20px;
    transition: all 0.4s ease-in-out;
}

.faq-accordion-prime .accordion-item .accordion-button:not(.collapsed){
	background: var(--accent-gradient);
    color: var(--white-color);
}

.faq-accordion-prime .accordion-item .accordion-button::after,
.faq-accordion-prime .accordion-item .accordion-button.collapsed::after{
    content: '\2b';
    font-family: 'Font Awesome 7 Free';
    position: absolute;
    right: 20px;
    top: 50%;
    font-size: 20px;
    font-weight: 600;
    transform: translateY(-50%);
    color: var(--primary-color);
    transition: all 0.4s ease-in-out;
}

.faq-accordion-prime .accordion-button:not(.collapsed)::after{
	content: '\f068';
    color: var(--white-color);
}

.faq-accordion-prime .accordion-item .accordion-body{  
    background-color: transparent;  
    padding: 20px;
}

.faq-accordion-prime .accordion-item .accordion-body p:last-child{
    margin: 0;
}

.main-footer-prime{
	padding: 120px 0 0;
	margin-bottom: 15px;
}

.footer-header-prime{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	border-bottom: 1px solid var(--dark-divider-color);
	margin-bottom: 60px;
	padding-bottom: 60px;
}

.footer-header-prime .section-title{
	max-width: 635px;
	margin-bottom: 0;
}

.about-footer-prime{
	max-width: 300px;
}

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

.about-footer-content-prime{
	margin-top: 30px;
}

.about-footer-content-prime p{
	color: var(--white-color);
}

.about-footer-content-prime p:last-child{
	margin: 0;
}

.footer-social-links-prime{
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
	margin-top: 30px;
}

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

.footer-social-links-prime ul a{
    width: 40px;
    height: 40px;
	color: var(--white-color);
	background-color: var(--dark-divider-color);
    border-radius: 50%;
	display: flex;
    justify-content: center;
    align-items: center;
	transition: all 0.3s ease-in-out;
}

.footer-social-links-prime ul li:hover a{
	background: var(--accent-gradient);
}

.footer-social-links-prime ul li i{
	font-size: 18px;
	color: inherit;
}

.footer-links-box-prime{
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
    gap: 30px;
}

.footer-links-prime{
	max-width: 30%;
}

.footer-links-prime h2{
	font-size: 20px;
    color: var(--white-color);
    margin-bottom: 30px;
}

.footer-links-prime ul{
	list-style: none;
    margin: 0;
    padding: 0;
}

.footer-links-prime ul li{
	color: var(--white-color);
	line-height: 1.5em;
	margin-bottom: 15px;
}

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

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

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

.footer-newsletter-form-prime{
	width: 100%;
	max-width: 340px;
}

.footer-newsletter-form-prime .form-group{
	display: flex;
	background-color: var(--dark-divider-color);
	backdrop-filter: blur(50px);
	-webkit-backdrop-filter: blur(50px);
	border-radius: 100px;
	padding: 5px;
}

.footer-newsletter-form-prime .form-group .form-control{
	width: calc(100% - 50px);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5em;
	color: var(--white-color);
	background: transparent;
	border: none;
	border-radius: 0;
	outline: none;
	box-shadow: none;
	padding: 6px 15px;
}

.footer-newsletter-form-prime .form-group .form-control::placeholder{
	color: var(--white-color);
	opacity: 50%;
}

.footer-newsletter-form-prime .form-group .newsletter-btn{
	width: 50px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--accent-gradient);
	border: none;
	border-radius: 50%;
	transition: all 0.4s ease-in-out;
}

.footer-newsletter-form-prime .form-group .newsletter-btn:hover{
	background-color: var(--white-color);
}

.footer-newsletter-form-prime .form-group .newsletter-btn i{
	font-size: 22px;
	color: var(--white-color);
	margin-right: 2px;
	transition: all 0.4s ease-in-out;
}

.footer-newsletter-form-prime .form-group .newsletter-btn:hover i{
	color: var(--primary-color);
}

.footer-copyright-prime{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 15px;
	border-top: 1px solid var(--dark-divider-color);
	padding: 60px 0;
	margin-top: 60px;
}

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

.footer-privacy-policy-prime ul{
	display: flex;
	flex-wrap: wrap;
	gap: 10px 25px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-privacy-policy-prime ul li{
	position: relative;
	line-height: 1.2em;
	color: var(--white-color);
}

.footer-privacy-policy-prime ul li::before{
	content: '';
    position: absolute;
    right: -13px;
    background: var(--white-color);
    width: 2px;
    height: 100%;
	transform: rotate(10deg);
}

.footer-privacy-policy-prime ul li:last-child:before{
	display: none;
}

.footer-privacy-policy-prime ul li a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

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

@media only screen and (max-width: 1440px){

	.header-contact-item-prime{
		display: none;
	}

	.hero-content-box-prime{
		min-height: 760px;
		max-width: 730px;
		padding: 60px 40px;
	}
}

@media only screen and (max-width: 1024px){

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

	.main-header-prime .main-menu .nav-menu-wrapper{
		text-align: center;
		margin: 0;
	}

	.hero-image-box-prime{
		padding: 0;
	}

	.hero-image-prime{
		position: initial;
		margin-bottom: 20px;
	}

	.hero-image-prime figure img{
		aspect-ratio: 1 / 0.666;
	}

	.hero-content-box-prime{
        min-height: auto;
		max-width: 100%;
    }

	.about-us-image-box-prime{
		height: auto;
		max-width: 740px;
        margin: 0 auto 30px;
	}

	.about-us-image-prime.imgae-1{
		width: 80%;
	}

	.about-us-image-prime.imgae-1 figure, 
	.about-us-image-prime.imgae-1 figure img{
		height: auto;
	}

	.about-us-image-prime.imgae-2{
		width: 20%;
	}

	.service-item-prime{
		border-radius: 14px;
	}

	.service-item-image-prime figure img{
		aspect-ratio: 1 / 0.88;
	}

	.service-item-body-prime{
		left: 30px;
		right: 30px;
		bottom: 30px;
	}

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

	.benefits-content-prime{
		height: auto;
		margin: 0 0 30px;
	}

	.benefits-image-box-prime,
	.benefits-image-prime,
	.benefits-image-prime figure,
	.benefits-image-prime img{
		height: auto;
	}

	.benefits-image-prime img{
		aspect-ratio: 1 / 0.51;
	}

	.benefits-counter-item-content-prime{
		width: 54%;
	}

	.benefits-counter-item-image-prime{
		width: 46%;
	}

	.feature-image-box-prime{
        min-height: 440px;
    }

	.feature-item-box-prime{
		min-height: auto;
	}

	.impact-image-box-prime{
        max-width: 740px;
		margin: 0 auto 30px;
	}

	.impact-image-box-1-prime::before{
		width: 140px;
		height: 140px;
		transform: translate(-30%, 100%);
	}

	.impact-counter-item-list-prime{
		margin-top: 40px;
	}

	.pricing-box-content-prime,
	.pricing-item-body-prime{
		width: 100%;
	}

	.why-choose-item-list-prime{
		align-items: initial;
	}

	.why-choose-item-prime,
	.why-choose-review-box-prime,
	.why-choose-image-prime{
		width: calc(50% - 15px);
	}

	.why-choose-item-prime{
		min-height: auto;
	}

	.why-choose-review-box-prime{
		align-content: center;
	}

	.why-choose-image-prime figure,
	.why-choose-image-prime figure img{
		height: 100%;
	}

	.why-choose-image-prime figure img{
		aspect-ratio: 1 / 0.84;
	}

	.why-choose-item-image-prime{
		max-width: 85%;
		margin: 0 auto;
	}

	.why-choose-item-image-prime figure{
		margin: 0 0 -30px;
	}

	.faq-content-prime{
		position: initial;
		margin: 0 0 30px;
	}

	.faq-accordion-prime{
		margin: 0;
	}

	.footer-header-prime{
		margin-bottom: 30px;
		padding-bottom: 30px;
	}

	.about-footer-prime{
		max-width: 100%;
		margin-bottom: 30px;
	}

	.about-footer-content-prime,
	.footer-social-links-prime{
		margin-top: 20px;
	}

	.footer-links-prime h2{
		margin-bottom: 20px;
	}

	.footer-links-prime ul li{
		margin-bottom: 10px;
	}

	.footer-copyright-prime{
		margin-top: 30px;
		padding: 30px 0;
	}
}

@media only screen and (max-width: 991px){

	.main-header.main-header-prime{
		border-radius: 0;
		margin: 0;
	}

	.hero-prime{
		margin: 0;
	}
	
	.hero-image-prime{
		border-radius: 0;
		margin: 0;
	}

	.hero-content-box-prime{
		background-size: 130px auto;
		background-position: right -10px bottom -10px;
		gap: 30px;
		padding: 60px 15px;
		border-radius: 0;
	}

	.hero-body-content-prime .section-title h1{
		font-size: 40px;
	}

	.hero-content-list-prime ul li::before{
		font-size: 16px;
	}

	.header-button-box-prime{
		margin-top: 30px;
	}

	.video-play-button-prime a span{
		width: 46px;
		height: 46px;
	}

	.hero-client-box-prime{
		padding-top: 30px;
	}

	.about-us-prime{
		padding: 60px 0;
	}

	.about-us-item-prime h3{
		padding-left: 25px;
	}

	.about-us-item-prime h3::before{
		font-size: 16px;
	}

	.about-us-footer-prime{
		margin-top: 30px;
	}

	.our-services-prime{
    	padding: 60px 0;
	}

	.our-services-prime::before{
		width: 115px;
		height: 135px;
	}

	.our-services-prime::after{
        width: 116px;
        height: 180px;
    }

	.our-benefits-prime{
		padding: 60px 0;
	}

	.benefit-info-list-prime{
		padding-top: 30px;
		margin-top: 30px;
	}

	.benefit-info-list-prime ul li::before{
		font-size: 16px;
	}

	.benefit-footer-prime{
		margin-top: 30px;
	}

	.benefit-contact-box-prime{
		gap: 10px;
	}

	.benefit-contact-box-prime .icon-box{
		width: 44px;
		height: 44px;
	}

	.benefit-contact-box-prime .icon-box img{
		max-width: 22px;
	}

	.benefit-contact-box-content-prime{
		width: calc(100% - 54px);
	}

	.benefits-counter-item-content-prime h2{
    	font-size: 36px;
	}

	.our-core-feature-prime{
		background-size: 90px auto;
        padding: 60px 0;
    }

	.feature-image-box-prime{
		padding: 30px;
	}

	.our-impact-prime{
    	padding: 60px 0;
	}

	.impact-counter-box-prime h2{
    	font-size: 36px;
	}

	.impact-list-prime ul{
		gap: 10px 20px;
	}

	.impact-list-prime ul li::before{
		font-size: 16px;
	}

	.impact-counter-item-list-prime{
		margin-top: 30px;
	}

	.impact-counter-item-prime h2{
		font-size: 36px;
	}

	.impact-footer-prime{
		padding-top: 30px;
		margin-top: 30px;
	}

    .our-team-prime{
		padding: 60px 0;
	}

	.team-item-prime{
		padding: 30px;
	}

	.team-item-image-prime{
    	max-width: 260px;
	}

	.team-item-social-list-prime ul{
		gap: 10px;
	}

	.our-pricing-prime{
		padding: 60px 0;
	}

	.pricing-item-prime{
		padding: 30px;
	}

	.pricing-box-content-prime{
		gap: 15px;
	}

	.pricing-item-header-prime .icon-box{
		margin-bottom: 20px;
	}

	.pricing-item-price-prime h2{
		font-size: 38px;
	}

	.pricing-item-list-prime ul li{
		margin-bottom: 10px;
	}

	.pricing-item-list-prime ul li::before{
		font-size: 16px;
	}

	.pricing-benefit-list-prime{
        margin-top: 5px;
    }

	.pricing-benefit-list-prime ul{
        gap: 15px 30px;
    }

	.pricing-benefit-list-prime ul li img{
        max-width: 18px;
        margin-right: 10px;
    }

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

	.why-choose-item-prime.box-1{
		background-size: 110px auto;
	}

	.why-choose-us-prime .section-footer-text{
		margin-top: 40px;
	}

	.our-faqs-prime{
		padding: 60px 0;
	}

	.faq-cta-box-title-prime h3{
		font-size: 20px;
	}

	.faq-accordion-prime .accordion-item{
		margin-bottom: 20px;
	}

	.faq-accordion-prime .accordion-header .accordion-button{
		padding: 15px 38px 15px 15px;
	}

	.faq-accordion-prime .accordion-item .accordion-body{
		padding: 15px;
	}

	.faq-accordion-prime .accordion-item .accordion-button::after, 
	.faq-accordion-prime .accordion-item .accordion-button.collapsed::after{
		font-size: 16px;
		right: 15px;
	}

	.main-footer-prime{
		padding: 60px 0 0;
		margin-bottom: 0;
	}

	.footer-header-prime .section-title{
		max-width: 450px;
	}

	.footer-newsletter-form-prime{
		max-width: 290px;
	}

	.footer-newsletter-form-prime .form-group .form-control{
		width: calc(100% - 40px);
	}

	.footer-newsletter-form-prime .form-group .newsletter-btn{
		width: 40px;
		height: 40px;
	}

	.footer-newsletter-form-prime .form-group .newsletter-btn i{
		font-size: 18px;
	}

}

@media only screen and (max-width: 767px){

	.hero-content-box-prime{
		padding: 40px 15px;
		background-size: 100px auto;
	}

	.hero-body-content-prime .section-title h1{
		font-size: 28px;
	}

	.hero-content-list-prime ul{
		gap: 10px;
	}

	.hero-content-list-prime ul li{
		width: 100%;
	}

	.hero-client-box-prime .satisfy-client-image img{
    	max-width: 40px;
	}

	.hero-client-box-prime .satisfy-client-image.add-more{
		width: 42px;
		height: 42px;
	}

	.hero-client-box-prime .satisfy-client-image.add-more i{
		font-size: 20px;
	}

	.about-us-image-prime.imgae-1 figure,
	.about-us-image-prime.imgae-1 figure img{
    	border-top-left-radius: 160px;
	}

	.about-us-image-prime.imgae-2{
		margin-bottom: 30px;
	}

	.about-us-image-prime.imgae-2 figure{
		border-width: 3px;
		border-radius: 15px;
		margin-left: -80px;
	}

	.about-us-item-prime{
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.about-us-footer-prime{
		gap: 20px;
	}

	.about-us-item-prime h3{
		font-size: 18px;
	}

	.about-author-content-prime h3{
		font-size: 18px;
	}

	.service-item-body-prime{
        left: 20px;
        right: 20px;
        bottom: 20px;
    }

	.service-item-content-prime{
        margin-bottom: 15px;
    }

	.service-item-content-prime h2{
		font-size: 18px;
	}

	.service-item-btn-prime a{
		width: 40px;
		height: 40px;
	}

	.service-item-btn-prime a img{
		max-width: 18px;
	}

	.benefit-info-list-prime{
        padding-top: 20px;
        margin-top: 20px;
    }

	.benefit-info-list-prime ul{
		gap: 10px;
	}

	.benefit-item-prime{
		width: 100%;
	}

	.benefit-item-content-prime h3{
		font-size: 18px;
	}

	.benefit-info-list-prime ul li{
		width: 100%;
	}

	.benefit-footer-prime{
		gap: 20px;
	}
	
	.benefit-contact-box-content-prime h3{
		font-size: 18px;
	}

	.benefits-image-prime img{
		aspect-ratio: 1 / 0.625;
	}
	
	.benefits-counter-item-prime{
		width: 100%;
		padding: 20px;
	}

	.benefits-counter-item-content-prime h2{
		font-size: 26px;
	}

	.benefits-counter-item-content-prime ul{
		margin: 20px 0 0;
	}
	
	.benefits-counter-item-image-prime figure{
		margin: -15px -50px -40px 0;
	}

	.benefit-info-box-prime{
		width: 100%;
		min-height: 180px;
	}
		
	.feature-image-box-prime{
        padding: 20px;
        min-height: 380px;
    }

    .feature-image-item-content-prime{
        width: 100%;
    }

    .feature-image-item-content-prime h3,
    .feature-item-content-prime h3,
    .feature-header-content-prime h3{
        font-size: 18px;
    }

    .feature-item-box-prime{
        width: 100%;
		gap: 20px;
    }

    .feature-item-box-prime.box-1{
        padding: 20px;
    }

    .feature-item-header-prime{
        padding: 15px;
    }

    .feature-item-box-prime.box-2 .feature-item-content-prime{
        padding: 0 10px 10px;
    }

    .feature-item-content-prime ul{
        margin-top: 15px;
		padding-top: 15px;
    }
	
	.impact-image-box-1-prime::before{
		width: 90px;
        height: 90px;
        bottom: 10px;
        transform: translate(-55%, 100%);
    }
	
	.impact-counter-box-prime{
		padding: 15px;
		margin: 15px 5px 10px 10px;
	}
	
	.impact-counter-box-prime h2{
		font-size: 26px;
	}
	
	.impact-image-box-2-prime .impact-image-prime figure{
		border-width: 3px;
		margin-left: -75px;
		border-radius: 16px;
	}

	.impact-image-box-2-prime .impact-image-prime figure img{
		aspect-ratio: 1 / 0.96;
	}

	.impact-list-prime ul li{
		width: 100%;
	}

	.impact-counter-item-list-prime{
		gap: 20px 30px;
	}

	.impact-counter-item-prime{
		width: calc(50% - 15px);
	}

	.impact-counter-item-prime::before{
		right: -15px;
	}

	.impact-counter-item-prime:nth-child(3n + 3)::before{
		display: block;
	}

	.impact-counter-item-prime:nth-child(2n + 2)::before,
	.impact-counter-item-prime:last-child::before{
		display: none;
	}

	.impact-counter-item-prime h2{
		font-size: 26px;
	}

	.impact-footer-prime{
		gap: 20px;
        padding-top: 20px;
        margin-top: 20px;
    }

	.team-item-prime{
        padding: 20px;
    }

	.team-item-content-prime h2{
    	font-size: 18px;
	}

	.pricing-item-prime{
		padding: 20px;
	}

	.pricing-item-header-content-prime h2{
    	font-size: 18px;
	}

	.pricing-item-price-prime h2{
        font-size: 28px;
    }

	.pricing-benefit-list-prime ul{
        gap: 10px 15px;
    }

	.pricing-benefit-list-prime ul li{
        font-size: 14px;
    }

	.pricing-benefit-list-prime ul li img{
        max-width: 16px;
        margin-right: 5px;
    }

	.why-choose-item-prime,
	.why-choose-review-box-prime,
	.why-choose-image-prime{
		width: 100%;
	}

	.why-choose-item-prime,
	.why-choose-review-box-prime{
		padding: 20px;
	}

	.why-choose-item-content-prime h3,
	.why-choose-review-content-prime h3{
		font-size: 18px;
	}

	.why-choose-item-image-prime figure{
		margin: 0 0 -20px;
	}

	.faq-cta-item-list-prime{
		padding: 20px;
	}

	.faq-cta-item-prime{
		width: 100%;
	}

	.faq-cta-item-prime::before{
		width: 100%;
		height: 1px;
		top: auto;
		right: 0;
		bottom: -15px;
	}

	.faq-cta-item-prime:nth-child(2n + 2)::before{
		display: block;
	}

	.faq-cta-item-prime:last-child::before{
		display: none;
	}

	.faq-cta-box-title-prime{
		padding: 12px 15px;
	}

	.faq-cta-box-title-prime h3,
	.faq-cta-item-content-prime h3{
		font-size: 18px;
	}

	.faq-accordion-prime .accordion-header .accordion-button{
        font-size: 16px;
        padding: 12px 38px 12px 15px;
    }

	.faq-accordion-prime .accordion-item .accordion-body{
        padding: 12px 15px;
    }

	.footer-links-prime{
		max-width: 100%;
	}

	.footer-links-prime h2{
		font-size: 18px;
		margin-bottom: 15px;
	}

	.footer-copyright-prime{
		flex-direction: column-reverse;
		padding: 15px 0;
	}	
}
h3.accordion-header {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

/************************************/
/***     Direct Answer Box        ***/
/************************************/

.answer-box {
    background: linear-gradient(135deg, rgba(198,148,89,0.09) 0%, rgba(198,148,89,0.03) 100%);
    border-left: 4px solid var(--accent-color);
    border-radius: 0 12px 12px 0;
    padding: 18px 22px;
    margin: 28px 0;
    font-size: 16px;
    line-height: 1.65em;
    color: var(--primary-color);
}

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

.answer-box strong {
    color: var(--primary-color);
}

.answer-box strong.answer-label {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: var(--accent-color);
    margin-bottom: 7px;
    font-weight: 700;
}

/************************************/
/***     Vehicle Specs Grid       ***/
/************************************/

.vehicle-specs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 14px;
    margin: 20px 0 28px;
}

.vehicle-spec-item {
    background: var(--secondary-color);
    border: 1px solid var(--divider-color);
    border-radius: 10px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.vehicle-spec-item strong {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--accent-color);
    font-weight: 700;
}

.vehicle-spec-item span {
    font-size: 15px;
    font-weight: 600;
    color: var(--primary-color);
}

/************************************/
/***     Process Steps            ***/
/************************************/

.process-steps {
    counter-reset: steps;
    list-style: none;
    padding: 0;
    margin: 16px 0 28px;
}

.process-steps li {
    counter-increment: steps;
    position: relative;
    padding: 14px 14px 14px 58px;
    margin-bottom: 12px;
    background: var(--secondary-color);
    border-radius: 10px;
    border: 1px solid var(--divider-color);
    line-height: 1.55em;
}

.process-steps li::before {
    content: counter(steps);
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    background: var(--accent-gradient);
    color: var(--white-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
}

/************************************/
/***    Content Prose Lists       ***/
/************************************/

/* Unordered lists — gold circle + white checkmark */
.service-single-content ul {
    list-style: none;
    padding: 0;
    margin: 16px 0 30px;
}

.service-single-content ul li {
    position: relative;
    padding: 10px 0 10px 38px;
    line-height: 1.65em;
    color: var(--text-color);
    border-bottom: 1px solid var(--divider-color);
}

.service-single-content ul li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.service-single-content ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 12px;
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 11'%3E%3Cpath d='M1.5 5.5L5.5 9.5L12.5 1.5' stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"), var(--accent-gradient);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px 10px, cover;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(198,148,89,0.30);
    flex-shrink: 0;
}

.service-single-content ul li strong { color: var(--primary-color); font-weight: 600; }
.service-single-content ul li a { color: var(--accent-color); font-weight: 600; }
.service-single-content ul li a:hover { color: var(--primary-color); }

/* Ordered lists — gold circle + counter number */
.service-single-content ol {
    list-style: none;
    counter-reset: content-ol;
    padding: 0;
    margin: 16px 0 30px;
}

.service-single-content ol li {
    counter-increment: content-ol;
    position: relative;
    padding: 10px 0 10px 38px;
    line-height: 1.65em;
    color: var(--text-color);
    border-bottom: 1px solid var(--divider-color);
}

.service-single-content ol li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.service-single-content ol li::before {
    content: counter(content-ol);
    position: absolute;
    left: 0;
    top: 12px;
    width: 24px;
    height: 24px;
    background: var(--accent-gradient);
    color: var(--white-color);
    border-radius: 50%;
    font-size: 11px;
    font-weight: 700;
    line-height: 24px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(198,148,89,0.30);
}

.service-single-content ol li strong { color: var(--primary-color); font-weight: 600; }
.service-single-content ol li a { color: var(--accent-color); font-weight: 600; }
.service-single-content ol li a:hover { color: var(--primary-color); }

/* Accordion body lists */
.accordion-body ul {
    list-style: none;
    padding: 0;
    margin: 10px 0 6px;
}

.accordion-body ul li {
    position: relative;
    padding: 7px 0 7px 32px;
    line-height: 1.6em;
    border-bottom: 1px solid var(--divider-color);
}

.accordion-body ul li:last-child {
    border-bottom: none;
}

.accordion-body ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 11'%3E%3Cpath d='M1.5 5.5L5.5 9.5L12.5 1.5' stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"), var(--accent-gradient);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px 8px, cover;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(198,148,89,0.25);
}

@media (max-width: 767px) {
    .vehicle-specs-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .answer-box {
        padding: 14px 16px;
    }
    .service-single-content ul li,
    .service-single-content ol li {
        padding: 8px 0 8px 34px;
    }
    .service-single-content ul li::before,
    .service-single-content ol li::before,
    .accordion-body ul li::before {
        width: 20px;
        height: 20px;
        top: 10px;
    }
    .service-single-content ol li::before {
        font-size: 9px;
        line-height: 20px;
    }
    .accordion-body ul li {
        padding: 6px 0 6px 28px;
    }
}

/************************************/
/***       Fleet Slider            ***/
/************************************/

.our-fleet-section {
    padding: 80px 0;
}

.home-blog-section {
    padding: 80px 0;
}

.fleet-slider-wrap {
    position: relative;
    padding: 0 52px;
    margin-top: 10px;
}

#fleetSwiper {
    overflow: hidden;
    width: 100%;
}

#fleetSwiper .swiper-wrapper {
    align-items: stretch;
}

#fleetSwiper .swiper-slide {
    height: auto;
}

/* Fleet Card */
.fleet-card {
    background: #ffffff;
    border-radius: 14px;
    padding: 28px 24px 24px;
    box-shadow: 0 4px 28px rgba(40,42,35,0.09);
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid rgba(198,148,89,0.30);
    transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

.fleet-card:hover {
    border-color: var(--accent-color);
    box-shadow: 0 8px 40px rgba(40,42,35,0.14);
    transform: translateY(-3px);
}

.fleet-card-name {
    font-size: 19px;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 12px;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

/* Specs row (pax + luggage) */
.fleet-card-specs {
    display: flex;
    gap: 20px;
    margin-bottom: 16px;
}

.fleet-spec {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--text-color);
}

.fleet-spec svg {
    color: var(--accent-color);
    flex-shrink: 0;
}

/* Car image area */
.fleet-card-img {
    background: #ffffff;
    border-radius: 10px;
    margin-bottom: 20px;
    padding: 0;
    height: 160px;
    overflow: hidden;
    position: relative;
}

.fleet-card-img img {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: auto;
    display: block;
    mix-blend-mode: multiply;
}

.fleet-card-img img.img-flip {
    transform: translateY(-50%) scaleX(-1);
}

.fleet-card-img img.img-brighten {
    filter: brightness(1.5);
}

/* Price rows */
.fleet-card-prices {
    flex: 1;
    margin-bottom: 8px;
}

.fleet-price-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 9px 0;
    border-bottom: 1px dashed #ddd6cc;
    gap: 12px;
}

.fleet-price-row:last-child {
    border-bottom: none;
}

.fpr-label {
    font-size: 13px;
    color: #666;
    line-height: 1.45;
    flex: 1;
}

.fpr-label em {
    font-style: normal;
    color: #999;
    font-size: 12px;
}

.fpr-amount {
    font-size: 14px;
    font-weight: 700;
    color: var(--accent-color);
    white-space: nowrap;
}

.fleet-vat {
    font-size: 11px;
    color: #aaa;
    margin: 10px 0 16px;
    font-style: italic;
}

.fleet-book-btn {
    display: block;
    text-align: center;
    margin-top: auto;
}

/* Prev / Next navigation buttons */
.fleet-nav-btn {
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    background: var(--primary-color);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    color: var(--accent-color);
    transition: background 0.25s ease, color 0.25s ease;
    box-shadow: 0 3px 14px rgba(40,42,35,0.22);
}

.fleet-nav-btn:hover {
    background: var(--accent-gradient);
    color: #fff;
}

.fleet-nav-btn.swiper-button-disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}

#fleetPrev { left: 0; }
#fleetNext { right: 0; }

/* View full fleet link */
.fleet-footer-link {
    text-align: center;
    margin-top: 44px;
}

/* Fleet page grid (no slider) */
.fleet-page-section { padding: 60px 0 80px; }
.fleet-category-block { margin-bottom: 64px; }
.fleet-category-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--primary-color);
    border-left: 4px solid var(--accent-color);
    padding-left: 14px;
    margin-bottom: 32px;
    line-height: 1.3;
}
.fleet-page-grid .fleet-card { height: 100%; }

/* Portrait/square images (Sprinter, vans) — fit by height, centre horizontally */
.fleet-card-img img.img-square {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: 100%;
}

/* Badge for category */
.fleet-card-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--accent-color);
    background: rgba(198,148,89,0.10);
    border-radius: 4px;
    padding: 2px 8px;
    margin-bottom: 8px;
}

/* Responsive */
@media (max-width: 767px) {
    .fleet-slider-wrap {
        padding: 0 42px;
    }
    .fleet-nav-btn {
        width: 36px;
        height: 36px;
    }
    .fleet-card {
        padding: 22px 18px 20px;
    }
}

@media (max-width: 480px) {
    .fleet-slider-wrap {
        padding: 0px;
    }
    .fleet-card-name {
        font-size: 17px;
    }
}

/************************************/
/***    Page Banner (inner pages)  ***/
/************************************/

/* Identical visual treatment to .hero — same card style, same image, same gradient */
.page-banner {
    position: relative;
    background-image: url('../images/hero-bg-image.jpg');
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 14px;
    min-height: 100vh;
    align-content: center;
    padding: 200px 0 80px;
    margin: 15px 15px 0;
    overflow: hidden;
}

.page-banner::before {
    content: '';
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    width: 100%; height: 100%;
    background: linear-gradient(180deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.35) 11.75%),
                linear-gradient(270deg, rgba(0,0,0,0.30) 31.93%, rgba(0,0,0,0.92) 100%),
                rgba(0,0,0,0.35);
    z-index: 1;
}

.page-banner .container {
    position: relative;
    z-index: 2;
}

/* Breadcrumb — only element not on homepage, styled to fit */
.page-banner-breadcrumb {
    margin-top: 20px;
}

.page-banner-breadcrumb .breadcrumb {
    background: transparent;
    padding: 0;
    margin: 0;
}

.page-banner-breadcrumb .breadcrumb-item,
.page-banner-breadcrumb .breadcrumb-item a {
    color: rgba(255,255,255,0.68);
    font-size: 0.84rem;
}

.page-banner-breadcrumb .breadcrumb-item a:hover {
    color: var(--accent-color);
    text-decoration: none;
}

/* ================================================================
   AEO — Answer Engine / Featured Snippet targeting
   ================================================================ */

/* Speakable / direct-answer callout block — see Direct Answer Box section above */

/* Summary stat / key-fact card — used for quick answer targets */
.fact-card {
    background: var(--white-color);
    border: 1px solid var(--border-color, #e4e4e4);
    border-top: 3px solid var(--accent-color);
    border-radius: 8px;
    padding: 18px 20px;
    margin-bottom: 20px;
    text-align: center;
}

.fact-card .fact-value {
    font-size: 2rem;
    font-weight: 800;
    color: var(--primary-color);
    line-height: 1.1;
    display: block;
}

.fact-card .fact-label {
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--text-color-muted, #888);
    margin-top: 4px;
    display: block;
}

/* Speakable block — identifies key text blocks for voice / AI engines */
.speakable-block {
    position: relative;
}

/* Table of contents — helps AEO jump links */
.aeo-toc {
    background: var(--section-bg, #f6f4f0);
    border-radius: 10px;
    padding: 20px 24px;
    margin-bottom: 36px;
}

.aeo-toc h3 {
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--primary-color);
    margin-bottom: 12px;
}

.aeo-toc ol {
    margin: 0;
    padding-left: 20px;
}

.aeo-toc ol li {
    margin-bottom: 6px;
    font-size: 0.92rem;
}

.aeo-toc ol li a {
    color: var(--primary-color);
    text-decoration: none;
}

.aeo-toc ol li a:hover {
    color: var(--accent-color);
}

.page-banner-breadcrumb .breadcrumb-item.active {
    color: var(--accent-color);
}

.page-banner-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(255,255,255,0.35);
}

@media (max-width: 1199px) {
    .page-banner {
        padding: 160px 0 70px;
    }
}

@media (max-width: 991px) {
    .page-banner {
        min-height: auto;
        padding: 130px 0 60px;
        margin: 10px 10px 0;
    }
    .page-banner .hero-booking-form {
        margin-top: 30px;
    }
}

@media (max-width: 767px) {
    .page-banner {
        padding: 180px 0 50px;
        margin: 0px;
        border-radius: 10px;
    }
}

/************************************/
/*** Inner Page Content Card      ***/
/************************************/

/* White rounded card wrapping the main content column on all service/location/vehicle pages */
.page-service-single-content {
    background: var(--secondary-color);
    border-radius: 18px;
    padding: 48px;
    border: 1px solid var(--divider-color);
    box-shadow: 0 4px 32px rgba(40, 42, 35, 0.06);
}

/* Hero image inside the content card */
.service-single-image {
    margin-bottom: 40px;
}

.service-single-image figure.image-anime {
    border-radius: 14px;
    overflow: hidden;
    display: block;
}

.service-single-image figure.image-anime img {
    width: 100%;
    display: block;
    max-height: 500px;
    object-fit: cover;
    object-position: center center;
    transition: transform 0.6s ease;
}

.service-single-image figure.image-anime:hover img {
    transform: scale(1.03);
}

/* Content heading hierarchy */
.service-single-content h2 {
    font-size: 28px;
    font-weight: 700;
    color: var(--primary-color);
    letter-spacing: -0.02em;
    line-height: 1.25em;
    margin-top: 48px;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--divider-color);
}

.service-single-content > h2:first-child {
    margin-top: 0;
    border-bottom-color: var(--accent-color);
    border-bottom-width: 2px;
}

.service-single-content h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary-color);
    margin-top: 32px;
    margin-bottom: 10px;
}

.service-single-content h4 {
    font-size: 15px;
    font-weight: 700;
    color: var(--primary-color);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-top: 22px;
    margin-bottom: 8px;
}

/* Body text inside content */
.service-single-content p {
    line-height: 1.78;
    color: var(--text-color);
    margin-bottom: 18px;
}

.service-single-content p:last-of-type {
    margin-bottom: 0;
}

/* Inline prose links within content */
.service-single-content p a,
.service-single-content li a {
    color: var(--accent-color);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid rgba(198, 148, 89, 0.35);
    transition: border-color 0.2s, color 0.2s;
}

.service-single-content p a:hover,
.service-single-content li a:hover {
    color: var(--primary-color);
    border-bottom-color: var(--primary-color);
}

/* Answer box (AEO) label */
.answer-box .answer-label {
    display: block;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--accent-color);
    margin-bottom: 10px;
}

/* Tighten CTA button strip gap */
.service-single-cta {
    gap: 20px;
}

/************************************/
/*** Inner page — responsive      ***/
/************************************/

@media (max-width: 1199px) {
    .page-service-single-content {
        padding: 36px;
    }
    .service-single-content h2 {
        font-size: 24px;
    }
}

@media (max-width: 991px) {
    .page-service-single-content {
        padding: 28px;
    }
    .service-single-image figure.image-anime img {
        max-height: 380px;
    }
    .service-single-content h2 {
        font-size: 22px;
        margin-top: 36px;
    }
}

@media (max-width: 767px) {
    .page-service-single-content {
        padding: 20px;
        border-radius: 12px;
    }
    .service-single-image figure.image-anime img {
        max-height: 260px;
    }
    .service-single-content h2 {
        font-size: 20px;
        margin-top: 28px;
        padding-bottom: 10px;
    }
    .service-single-content h3 {
        font-size: 17px;
    }
    .service-single-cta {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
}

/************************************/
/***  Blog Post Entry Overrides   ***/
/************************************/

/* Service feature card headings inside post-entry must stay compact (overrides .post-entry h2/h3) */
.post-entry .service-item-content h2,
.post-entry .service-item-content h3 {
    font-size: 20px;
    line-height: 1.4em;
    margin-top: 0;
    margin-bottom: 10px;
}

/* Card grid, FAQ, and section spacing inside blog post content */
.post-entry .service-item-list {
    margin-top: 30px;
    margin-bottom: 40px;
}

.post-entry .faq-accordion {
    margin-top: 40px;
}

/* Responsive overrides for post-entry service cards */
@media (max-width: 991px) {
    .post-entry .service-item-content h2,
    .post-entry .service-item-content h3 {
        font-size: 18px;
    }
}

@media (max-width: 767px) {
    .post-entry .service-item-content h2,
    .post-entry .service-item-content h3 {
        font-size: 16px;
    }
}

/* Blog page-header h1: match 46px size used on all other inner pages (overrides page-header-box h1 at 66px) */
.page-header-box .section-title h1 {
    font-size: 46px;
}

@media (max-width: 991px) {
    .page-header-box .section-title h1 {
        font-size: 36px;
    }
}

@media (max-width: 767px) {
    .page-header-box .section-title h1 {
        font-size: 28px;
    }
}

/* Top bar: Event Calendar highlight link */
.topbar-cal-link a {
    font-weight: 600 !important;
}
.topbar-cal-link a i {
    margin-right: 3px;
    font-size: 11px;
}

/* ========================================= */
/* Event Calendar Page                        */
/* ========================================= */
.page-event-calendar {
    background: #161812;
    padding: 250px 0 100px;
}

.event-calendar-hero {
    text-align: center;
    margin-bottom: 60px;
}

.calendar-title {
    font-size: 56px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--accent-color);
    margin: 0 0 16px;
    line-height: 1.1;
}

.calendar-tagline {
    font-size: 14px;
    letter-spacing: 0.06em;
    color: var(--accent-color);
    opacity: 0.65;
    margin: 0;
}

.month-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;
    padding: 30px 24px 26px;
    margin-bottom: 24px;
}

.month-card.is-current {
    background: rgba(198, 148, 89, 0.08);
    border-color: rgba(198, 148, 89, 0.25);
}

.month-name {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.2em;
    color: var(--accent-color);
    text-align: center;
    text-transform: uppercase;
    margin: 0 0 6px;
    font-family: var(--heading-font, inherit);
}

.event-count {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.3);
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0 0 22px;
}

.event-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.event-list .event-item {
    padding: 0;
}

.event-list .event-item:not(:last-child)::after {
    content: '\2022';
    display: block;
    text-align: center;
    color: rgba(198, 148, 89, 0.3);
    font-size: 9px;
    margin: 7px 0;
    line-height: 1;
}

.event-name {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #ddd6cc;
    line-height: 1.45;
}

.event-name a {
    color: var(--accent-color);
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.event-name a:hover {
    opacity: 0.7;
}

.event-date {
    display: block;
    font-size: 11px;
    color: rgba(198, 148, 89, 0.6);
    margin-top: 2px;
    line-height: 1.4;
}

@media (max-width: 991px) {
    .page-event-calendar { padding: 60px 0 70px; }
    .calendar-title { font-size: 38px; letter-spacing: 0.15em; }
}

@media (max-width: 767px) {
    .page-event-calendar { padding: 48px 0 60px; }
    .calendar-title { font-size: 26px; letter-spacing: 0.1em; }
    .month-name { font-size: 14px; letter-spacing: 0.15em; }
    .event-name { font-size: 12px; }
    .event-date { font-size: 10px; }
}

/* ========================================= */
/* Our Services Page                         */
/* ========================================= */
.services-page {
    padding: 60px 0 80px;
}


.services-page .service-item {
    height: auto;
    margin-bottom: 24px;
    min-height: unset;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.06);
    border-top: 3px solid var(--accent-color);
    border-radius: 6px;
    box-shadow: 0 2px 14px rgba(0,0,0,0.05);
    padding: 28px 26px 24px;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.services-page .service-item::before {
    display: none;
}

.services-page .service-item:hover {
    box-shadow: 0 10px 32px rgba(0,0,0,0.10);
    transform: translateY(-3px);
    border-color: var(--accent-color);
    border-top-color: var(--accent-color);
}

.services-page .service-item-content h3 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--primary-color);
    transition: color 0.2s;
}

.services-page .service-item-content h3 a {
    color: var(--primary-color);
    text-decoration: none;
}

.services-page .service-item:hover .service-item-content h3,
.services-page .service-item:hover .service-item-content h3 a {
    color: var(--accent-color);
}

.services-page .service-item-content p {
    font-size: 13.5px;
    color: #666;
    line-height: 1.65;
    margin-bottom: 16px;
}

.services-page .service-item:hover .service-item-content p {
    color: #444;
}


.page-our-services {
    background: #161812;
    padding: 120px 0 100px;
}

.services-hero {
    text-align: center;
    margin-bottom: 70px;
}

.services-hero-title {
    font-size: 52px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--accent-color);
    margin: 0 0 18px;
    line-height: 1.1;
}

.services-hero-sub {
    font-size: 14px;
    color: rgba(198,148,89,0.6);
    letter-spacing: 0.05em;
    max-width: 560px;
    margin: 0 auto;
    line-height: 1.7;
}

.services-category-block {
    margin-bottom: 56px;
}

.services-category-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--accent-color);
    margin-bottom: 24px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(198,148,89,0.18);
}

.svc-card {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 10px;
    padding: 28px 24px 22px;
    margin-bottom: 24px;
    transition: background 0.3s ease, border-color 0.3s ease;
    display: flex;
    flex-direction: column;
}

.svc-card:hover {
    background: rgba(198,148,89,0.07);
    border-color: rgba(198,148,89,0.28);
}

.svc-card h3 {
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 10px;
    line-height: 1.3;
}

.svc-card h3 a {
    color: var(--accent-color);
    text-decoration: none;
    transition: opacity 0.2s;
}

.svc-card h3 a:hover {
    opacity: 0.8;
}

.svc-card p {
    font-size: 13px;
    color: rgba(255,255,255,0.5);
    margin: 0 0 18px;
    line-height: 1.65;
    flex: 1;
}

.svc-more {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(198,148,89,0.55);
    text-decoration: none;
    transition: color 0.2s;
    margin-top: auto;
}

.svc-card:hover .svc-more {
    color: var(--accent-color);
}

.services-page-cta {
    text-align: center;
    margin-top: 16px;
    padding-top: 50px;
    border-top: 1px solid rgba(255,255,255,0.06);
}

.services-page-cta p {
    color: rgba(255,255,255,0.4);
    margin-top: 18px;
    font-size: 14px;
}

.services-page-cta p a[href^="tel"] {
    color: var(--accent-color);
    text-decoration: none;
}

@media (max-width: 991px) {
    .page-our-services { padding: 70px 0 70px; }
    .services-hero-title { font-size: 36px; letter-spacing: 0.14em; }
    .services-hero { margin-bottom: 50px; }
    .services-category-block { margin-bottom: 40px; }
}

@media (max-width: 767px) {
    .page-our-services { padding: 52px 0 60px; }
    .services-hero-title { font-size: 26px; letter-spacing: 0.1em; }
    .services-hero-sub { font-size: 13px; }
    .svc-card { padding: 22px 18px 18px; }
}

/*****************************************************/
/***  Banner-free page title (Contact / Get a Quote) ***/
/*****************************************************/

.page-title-bar {
    position: relative;
    background: var(--primary-color);
    border-radius: 14px;
    margin: 15px 15px 0;
    padding: 200px 0 80px;
    text-align: center;
    overflow: hidden;
}
.page-title-bar .container { position: relative; z-index: 2; }
.page-title-bar .section-title { margin-bottom: 0; }
.page-title-bar h1 { margin-bottom: 18px; }
.page-title-bar p { max-width: 760px; margin: 0 auto; }

/* White text over the dark title bar (mirrors .dark-section) */
.page-title-bar .section-title .section-sub-title {
    background: rgba(22,22,20,0.55);
    border-color: rgba(255,255,255,0.18);
    color: var(--white-color);
}
.page-title-bar .section-title .section-sub-title,
.page-title-bar h1,
.page-title-bar p { color: var(--white-color); }

/* Two-column quote / contact layout with sticky contact card */
.quote-layout { padding: 50px 0 90px; }

.quote-form-box {
    background: var(--white-color);
    border: 1px solid var(--divider-color);
    border-radius: 16px;
    padding: 40px;
}

.quote-contact-card {
    background: var(--primary-color);
    border-radius: 16px;
    padding: 40px 35px;
    position: sticky;
    top: 110px;
}
.quote-contact-card h2,
.quote-contact-card h3,
.quote-contact-card p,
.quote-contact-card a { color: var(--white-color); }
.quote-contact-card .section-sub-title { color: var(--accent-color); }
.quote-contact-card .quote-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 18px 0;
    border-bottom: 1px solid rgba(255,255,255,0.12);
}
.quote-contact-card .quote-contact-item:last-of-type { border-bottom: 0; }
.quote-contact-card .quote-contact-item .icon-box {
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--accent-gradient);
    display: flex;
    align-items: center;
    justify-content: center;
}
.quote-contact-card .quote-contact-item .icon-box svg { width: 20px; height: 20px; color: var(--primary-color); }
.quote-contact-card .quote-contact-item p { margin: 0; font-size: 13px; opacity: 0.7; }
.quote-contact-card .quote-contact-item h3 { font-size: 18px; margin: 2px 0 0; }
.quote-contact-card .quote-contact-item h3 a:hover { color: var(--accent-color); }
.quote-contact-card .quote-card-btn { margin-top: 28px; }

/* FAQ section on banner-free pages reuses .faq-accordion-royal */
.page-faq-section { padding: 70px 0 90px; }
.page-faq-section .section-title { margin-bottom: 40px; }

.form-response.hidden { display: none; }

@media (max-width: 1199px) {
    .page-title-bar { padding: 160px 0 70px; }
}

@media (max-width: 991px) {
    .page-title-bar { padding: 130px 0 60px; margin: 10px 10px 0; }
    .quote-contact-card { position: static; margin-top: 40px; }
    .quote-form-box { padding: 28px 22px; }
}

@media (max-width: 767px) {
    .page-title-bar { padding: 160px 0 50px; margin: 8px 8px 0; border-radius: 10px; }
    .quote-layout { padding: 36px 0 60px; }
}

/* Required-field asterisk */
.quote-form-box label .req { color: #d9534f; font-weight: 700; }

/* International phone input: keep full width inside Bootstrap form-control */
.quote-form-box .iti { width: 100%; display: block; }
.quote-form-box .iti .form-control { width: 100%; }
.iti__country-list { z-index: 5; }

/* Contact-preference pills */
.contact-pref-label { display: block; margin-bottom: 12px; }
.contact-pref-options { display: flex; flex-wrap: wrap; gap: 14px; }
.contact-pref-pill {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 20px;
    border: 1px solid var(--divider-color);
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
    color: var(--primary-color);
    transition: all .25s ease;
    margin: 0;
}
.contact-pref-pill input { accent-color: var(--accent-color); margin: 0; }
.contact-pref-pill:hover { border-color: var(--accent-color); }
.contact-pref-pill:has(input:checked) {
    border-color: var(--accent-color);
    background: rgba(198,148,89,0.08);
}

/* Send + WhatsApp button row */
.contact-btn-row { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.btn-whatsapp {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 15px 28px;
    border-radius: 8px;
    background: #25D366;
    color: #ffffff;
    font-weight: 600;
    line-height: 1;
    transition: background .25s ease, transform .25s ease;
}
.btn-whatsapp:hover { background: #1ebe5b; color: #ffffff; transform: translateY(-2px); }
.btn-whatsapp svg { flex: 0 0 18px; }

@media (max-width: 575px) {
    .contact-btn-row { flex-direction: column; align-items: stretch; }
    .contact-btn-row .btn-default,
    .contact-btn-row .btn-whatsapp { width: 100%; justify-content: center; text-align: center; }
}

/*****************************************************/
/***  Fix: highlighted button hover on light bg    ***/
/*****************************************************/
/* .btn-highlighted previously filled WHITE on hover, so on light
   backgrounds (form cards, header, CTA boxes) the button vanished.
   Default to a dark fill that stays readable everywhere; keep the
   original white fill only inside dark sections (e.g. the hero). */
.btn-default.btn-highlighted:hover { color: var(--white-color); }
.btn-default.btn-highlighted::after { background-color: var(--primary-color); }
.btn-default.btn-highlighted:hover::before {
    background-color: var(--primary-color);
    background-image: url('../images/arrow-white.svg');
    border-color: var(--primary-color);
}

.dark-section .btn-default.btn-highlighted:hover { color: var(--primary-color); }
.dark-section .btn-default.btn-highlighted::after { background-color: var(--white-color); }
.dark-section .btn-default.btn-highlighted:hover::before {
    background-color: var(--white-color);
    background-image: url('../images/arrow-primary.svg');
    border-color: var(--white-color);
}

/*****************************************************/
/***  Form success / error message box             ***/
/*****************************************************/
.form-response {
    display: block;
    width: 100%;
    margin-top: 20px;
    padding: 16px 20px 16px 48px;
    position: relative;
    border-radius: 10px;
    font-size: 15px !important;
    line-height: 1.55;
    font-weight: 600;
}
.form-response.hidden { display: none; }
.form-response::before {
    position: absolute;
    left: 18px;
    top: 16px;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 700;
    color: #ffffff;
}
.form-response.text-success {
    background: #e9f6ef;
    color: #1b7a44 !important;
    border: 1px solid #bfe3cd;
}
.form-response.text-success::before { content: '\2713'; background: #1f9d57; }
.form-response.text-danger {
    background: #fdeceb;
    color: #c0392b !important;
    border: 1px solid #f5c6c4;
}
.form-response.text-danger::before { content: '!'; background: #d9534f; }

/*****************************************************/
/***  Quote / contact form fields (label + input)  ***/
/*****************************************************/
.quote-form-box .section-title { margin-bottom: 28px; }
.quote-form-box .section-title p { margin-bottom: 0; }

.quote-form-box label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: var(--primary-color);
    margin-bottom: 9px;
}

.quote-form-box .form-control {
    width: 100%;
    height: 54px;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--primary-color);
    background-color: #faf8f4;
    border: 1px solid #e7e1d6;
    border-radius: 10px;
    padding: 13px 16px;
    box-shadow: none;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.quote-form-box textarea.form-control {
    height: auto;
    min-height: 130px;
    resize: vertical;
}
.quote-form-box .form-control::placeholder {
    color: var(--text-color);
    opacity: 1;
}
.quote-form-box .form-control:focus {
    background-color: #ffffff;
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(198,148,89,0.15);
}
.quote-form-box select.form-control { cursor: pointer; appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23282A23' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px;
}
.quote-form-box input[type="date"]::-webkit-calendar-picker-indicator,
.quote-form-box input[type="time"]::-webkit-calendar-picker-indicator { cursor: pointer; }

/* intl-tel-input fits the themed field */
.quote-form-box .iti { width: 100%; display: block; }
.quote-form-box .iti .form-control { padding-left: 52px; }
.quote-form-box .iti--separate-dial-code .iti__selected-flag { border-radius: 10px 0 0 10px; background-color: transparent; }

/* Validator inline error text */
.quote-form-box .help-block.with-errors {
    font-size: 13px;
    color: #c0392b;
    margin-top: 6px;
    min-height: 0;
}
.quote-form-box .form-control.invalid,
.quote-form-box .form-control:invalid:not(:placeholder-shown) { border-color: #e0a3a0; }

/* Apply the same refined field design to the CTA / appointment forms
   (footer "Book Your Chauffeur", homepage quote, book-appointment). */
.appointmnet-form label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 9px;
}
.appointmnet-form .form-control {
    height: 54px;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--primary-color);
    background-color: #faf8f4;
    border: 1px solid #e7e1d6;
    border-radius: 10px;
    padding: 13px 16px;
    box-shadow: none;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.appointmnet-form textarea.form-control { height: auto; min-height: 120px; resize: vertical; }
.appointmnet-form .form-control::placeholder { color: var(--text-color); opacity: 1; }
.appointmnet-form .form-control:focus {
    background-color: #ffffff;
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(198,148,89,0.15);
}
.appointmnet-form select.form-control {
    cursor: pointer; appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23282A23' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px;
}
/* keep CTA fields readable if ever placed on a dark section */
.dark-section .appointmnet-form .form-control { background-color: rgba(255,255,255,0.06); }

/* Optional-field hint */
.quote-form-box label .optional,
.appointmnet-form label .optional { color: var(--text-color); font-weight: 400; font-size: 13px; }

/*****************************************************/
/***  Booking-type segmented toggle                ***/
/*****************************************************/
.seg-toggle {
    display: flex;
    background: #f1ede6;
    border: 1px solid #e7e1d6;
    border-radius: 12px;
    padding: 5px;
    gap: 4px;
}
.seg-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.seg-toggle label {
    flex: 1;
    margin: 0;
    text-align: center;
    padding: 11px 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-color);
    cursor: pointer;
    transition: all .2s ease;
}
.seg-toggle input:checked + label {
    background: var(--primary-color);
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(40,42,35,0.18);
}
.seg-toggle label:hover { color: var(--accent-color); }
.seg-toggle input:checked + label:hover { color: #ffffff; }

/*****************************************************/
/***  Agreement / marketing checkboxes             ***/
/*****************************************************/
.form-check-line {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin: 0;
    font-weight: 400 !important;
    font-size: 14px;
    color: var(--text-color);
    cursor: pointer;
}
.form-check-line input[type="checkbox"] {
    appearance: none;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin: 1px 0 0;
    border: 1px solid #cfc7b8;
    border-radius: 5px;
    background: #ffffff;
    cursor: pointer;
    position: relative;
    transition: all .2s ease;
}
.form-check-line input[type="checkbox"]:checked {
    background: var(--accent-gradient);
    border-color: var(--accent-color);
}
.form-check-line input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 6px; top: 2px;
    width: 5px; height: 10px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.form-check-line a { color: var(--accent-color); font-weight: 600; }
.form-check-line .req { color: #d9534f; font-weight: 700; }

/* ----------------------------------------------------------------------------------------
   Pickup / Destination location autocomplete (js/location-autocomplete.js)
---------------------------------------------------------------------------------------- */
.loc-ac { position: relative; }
.loc-ac-list {
    position: absolute;
    z-index: 1000;
    top: 100%;
    left: 0;
    right: 0;
    margin: 4px 0 0;
    padding: 4px 0;
    list-style: none;
    background: #ffffff;
    border: 1px solid rgba(40, 42, 35, 0.15);
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(40, 42, 35, 0.18);
    max-height: 280px;
    overflow-y: auto;
}
.loc-ac-item {
    padding: 9px 14px;
    font-size: 14px;
    line-height: 1.35;
    color: var(--primary-color);
    cursor: pointer;
    white-space: normal;
}
.loc-ac-item.is-active,
.loc-ac-item:hover {
    background: var(--accent-gradient);
    color: var(--white-color);
}

/************************************/
/***   Trust Bar / Stats Counter  ***/
/************************************/
.trust-bar{
	padding: 30px;
	position: relative;
	overflow: hidden;
}

.trust-stat{
	position: relative;
	text-align: center;
	padding: 8px 18px;
}

/* icon + number sit on one line */
.trust-stat-top{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-bottom: 8px;
}

.trust-stat-icon{
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-size: 19px;
	color: var(--accent-dark);
	background: rgba(198, 148, 89, 0.10);
	border: 1px solid rgba(198, 148, 89, 0.30);
	transition: transform 0.4s ease, background 0.4s ease, color 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}

.trust-stat:hover .trust-stat-icon{
	background: var(--accent-gradient);
	color: var(--white-color);
	border-color: transparent;
	box-shadow: 0 8px 18px rgba(198, 148, 89, 0.35);
}

.trust-stat-number{
	font-family: var(--default-font);
	font-weight: 800;
	font-size: 38px;
	line-height: 1;
	letter-spacing: -1px;
	color: var(--accent-color); /* fallback for non-clip browsers */
	background: var(--accent-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.trust-stat-number--text{
	letter-spacing: 0.5px;
}

.trust-stat-label{
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4em;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--text-color);
	margin: 0;
}

/* vertical gold divider between stats */
.trust-bar-row > [class*="col-"]:not(:last-child) .trust-stat::after{
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 1px;
	height: 56px;
	background: linear-gradient(to bottom, transparent, rgba(198, 148, 89, 0.45), transparent);
}

@media (max-width: 991px){
	.trust-bar{
		padding: 26px 12px;
	}
	.trust-stat{
		padding: 8px 6px;
	}
	.trust-stat-top{
		gap: 8px;
	}
	.trust-stat-icon{
		width: 38px;
		height: 38px;
		font-size: 16px;
	}
	.trust-stat-number{
		font-size: 30px;
	}
	.trust-stat-label{
		font-size: 11px;
		letter-spacing: 0.3px;
	}
}

@media (max-width: 575px){
	/* stack icon above number so 4 columns stay on one row on phones */
	.trust-stat-top{
		flex-direction: column;
		gap: 6px;
	}
	.trust-stat-number{
		font-size: 24px;
	}
	.trust-stat-label{
		font-size: 9.5px;
		letter-spacing: 0;
	}
}


/* ===================================================================
   Partners logo marquee — slow, infinite CSS scroll (site-wide).
   Markup: includes/partners.php
=================================================================== */
.partners-section{
    padding: 70px 0 80px;
    overflow: hidden;
}
.partners-section .section-title{ margin-bottom: 44px; }

.partners-marquee{
    position: relative;
    width: 100%;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%);
            mask-image: linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%);
}
.partners-track{
    display: flex;
    align-items: center;
    width: max-content;
    animation: partners-scroll 80s linear infinite;
    will-change: transform;
}
.partners-marquee:hover .partners-track{ animation-play-state: paused; }

.partner-card{
    flex: 0 0 auto;
    width: 172px;
    height: 88px;
    margin-right: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 22px;
    background: var(--secondary-color, #fff);
    border: 1px solid rgba(198,148,89,.18);
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(40,42,35,.06);
    transition: box-shadow .3s ease, border-color .3s ease, transform .3s ease;
}
.partner-card img{
    max-width: 100%;
    max-height: 46px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .62;
    transition: filter .3s ease, opacity .3s ease;
}
.partner-card:hover{
    border-color: rgba(198,148,89,.55);
    box-shadow: 0 10px 26px rgba(40,42,35,.12);
    transform: translateY(-3px);
}
.partner-card:hover img{
    filter: none;
    opacity: 1;
}

@keyframes partners-scroll{
    from{ transform: translateX(0); }
    to  { transform: translateX(-50%); }
}

@media (max-width: 767px){
    .partners-section{ padding: 50px 0 56px; }
    .partner-card{ width: 140px; height: 76px; margin-right: 18px; padding: 12px 16px; }
    .partner-card img{ max-height: 38px; }
    .partners-track{ animation-duration: 55s; }
}

@media (prefers-reduced-motion: reduce){
    .partners-track{ animation: none; }
}

/* ============================================================
   404 / Error page
   Self-contained dark hero (no booking banner). The dark
   background gives the absolutely-positioned header its
   contrast back, and the large top padding clears it.
   ============================================================ */
.error-page-section{
    min-height: 88vh;
    padding: 175px 0 90px;
    border-radius: 14px;
    text-align: center;
}

.error-page-section .error-code{
    font-size: clamp(110px, 16vw, 200px);
    font-weight: 800;
    line-height: 0.9;
    letter-spacing: -0.02em;
    margin-bottom: 6px;
    background: var(--accent-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: var(--accent-color);
}

.error-page-section .error-title{
    color: var(--white-color);
    font-size: clamp(26px, 3.4vw, 42px);
    font-weight: 700;
    line-height: 1.15;
    margin-bottom: 16px;
}

.error-page-section .error-text{
    color: rgba(255,255,255,0.78);
    font-size: 17px;
    line-height: 1.7;
    max-width: 600px;
    margin: 0 auto 34px;
}

.error-actions{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 20px 30px;
    margin-bottom: 32px;
}

/* Primary button keeps its arrow knob — reserve room so it never
   collides with the next button. */
.error-actions .btn-default{
    margin-right: 0;
}
.error-actions .btn-default.btn-highlighted{
    margin-right: 36px;
}

/* Secondary buttons: drop the knob and use a clean outline so the
   row reads as one primary action + supporting links. */
.error-actions .btn-default:not(.btn-highlighted)::before{
    display: none;
}
.error-actions .btn-default:not(.btn-highlighted){
    background: transparent;
    border: 1.5px solid rgba(255,255,255,0.45);
    color: var(--white-color);
}
.error-actions .btn-default:not(.btn-highlighted)::after{
    background: var(--white-color);
}
.error-actions .btn-default:not(.btn-highlighted):hover{
    color: var(--primary-color);
    border-color: var(--white-color);
}

.error-help{
    color: rgba(255,255,255,0.7);
    font-size: 16px;
    margin-bottom: 0;
}
.error-help a{
    color: var(--accent-color);
    font-weight: 600;
}

@media only screen and (max-width: 767px){
    .error-page-section{
        padding: 160px 0 80px;
    }
    .error-actions{
        flex-direction: column;
        gap: 16px;
    }
    .error-actions .btn-default,
    .error-actions .btn-default.btn-highlighted{
        margin-right: 0;
    }
}
