/* 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 Features css
09. What We Do css
10. Our Expertise css
11. Our Pricing css
12. Our Appointment css
13. Our Testimonials css
14. Our FAQs 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. Team Page css
23. Team Single css
24. Pricing Page css
25. Testimonials Page css
26. Image Gallery css
27. Video Gallery css
28. FAQ's Page css
29. Contact Us Page css
30. Book Appointment css
31. 404 Error Page css
32.	Responsive css
-------------------------------------------------------------------------------------- */

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

:root{
	--primary-color				: #000000;
	--secondary-color			: #FFFFFF;
	--bg-color					: #F5F5F5;
	--text-color				: #000000;
	--accent-color				: #d7151d;
	--white-color				: #FFFFFF;
	--divider-color				: #15224D1A;
	--dark-divider-color		: #FFFFFF1A;
	--error-color				: rgb(230, 87, 87);
	--default-font				: 'General Sans';
}

/************************************/
/*** 	   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(--accent-color);
}

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

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

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

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

figure{
	margin: 0;
}

img{
	max-width: 100%;
}

a{
	text-decoration: none;
}
strong {
  font-weight: 600 !important;
}

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

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

.container{
	max-width: 1400px;
}

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

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

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

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

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

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

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

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

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

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

.btn-default{
	position: relative;
	display: inline-block;
	font-size: 16px;
	font-weight: 600;
	line-height: 1em;
	text-transform: capitalize;
	background: var(--accent-color);
	color: var(--white-color);
	border-radius: 100px;
	padding: 17px 55px 17px 24px;
	border: 1px solid var(--accent-color);
	overflow: hidden;
	box-shadow: none;
	outline: none;
	transition: all 0.4s ease-in-out;
	z-index: 0;
}

.btn-default:hover{
	color: var(--white-color);
	border: 1px solid #fff;
}

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

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

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

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

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

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

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

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

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

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

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

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

.loading-container,
.loading{
	height: 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: 66px;
	transform: translate(-50%, -50%);
}

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

.bg-section{
	width: 100%;
	max-width: 1820px;
	background-color: transparent;
	border-radius: 20px;
	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: center center;
	background-size: cover;
}

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

.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: 16px;
	font-weight: 500;
	text-transform: capitalize;
	line-height: normal;
	color: var(--primary-color);
    padding-left: 16px;
    margin-bottom: 15px;
}

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

.section-title h1{
	font-size: 68px;
	font-weight: 500;
	letter-spacing: -0.01em;
	margin-bottom: 0;
	cursor: none;
}

.section-title h2{
	font-size: 52px;
	font-weight: 500;
	letter-spacing: -0.01em;
	margin-bottom: 0;
	cursor: none;
}

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

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

header.main-header .header-sticky{
	position: relative;
	max-width: 1300px;
	top: 0;
	background: var(--white-color);
	border-radius: 100px;
	margin: 0 auto;
	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: 45px;
	left: 0;
	right: 0;
    transform: translateY(0);
	background: var(--white-color);
	border: 1px solid var(--divider-color);
}

.navbar{
	padding: 25px 10px;
	align-items: center;
}

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

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

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

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

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

.main-menu .nav-menu-wrapper > ul > li > a:before{
	content: '';
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 5px;
	height: 2px;
	background: var(--accent-color);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.35s ease-in-out;
}

.main-menu .nav-menu-wrapper > ul > li > a:hover:before,
.main-menu .nav-menu-wrapper > ul > li > a:focus:before,
.main-menu .nav-menu-wrapper > ul > li > a.active:before{
	transform: scaleX(1);
	transform-origin: left;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.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%;
	padding: 0;
	background: var(--accent-color);
}

.slicknav_menu ul{
	margin: 5px 0;
}

.slicknav_menu ul ul{
	margin: 0;
}

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

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

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

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

.slicknav_arrow:after{
	content: '\f107';
	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);
}

body.home-page header.main-header{
	position: relative;
	top: 0;
	left: 0;
	right: 0;
	background: var(--white-color);
	box-shadow: 0 10px 30px rgba(21, 34, 77, 0.08);
}

body.home-page header.main-header .header-sticky,
body.home-page header.main-header .header-sticky.active{
	max-width: 100%;
	width: 100%;
	border-radius: 0;
	border: none;
	border-bottom: 1px solid var(--divider-color);
}

body.home-page header.main-header .header-sticky.active{
	top: 0;
}

body.home-page header.main-header .navbar{
	min-height: 86px;
	padding: 0;
}

body.home-page header.main-header .navbar > .container{
	/*max-width: 100%;*/
	padding: 0 24px;
}

body.home-page header.main-header .navbar-brand img{
	width: 100%;
	max-width: 260px;
}

body.home-page header.main-header .main-menu{
	justify-content: flex-end;
}

body.home-page header.main-header .main-menu .nav-menu-wrapper{
	flex: initial;
	margin: 0 2.2vw 0 auto;
}

body.home-page header.main-header .main-menu .nav-menu-wrapper > ul{
	gap: 28px;
}

body.home-page header.main-header .main-menu ul li{
	margin: 0;
}

body.home-page header.main-header .main-menu ul li a{
	position: relative;
	color: #333333;
	font-size: 15px;
	font-weight: 600;
	text-transform: uppercase;
	padding: 34px 0 !important;
	z-index: 1;
	transition: color 0.3s ease, transform 0.3s ease;
}

body.home-page header.main-header .main-menu .nav-menu-wrapper > ul > li > a:before{
	left: 0;
	right: 0;
	bottom: 25px;
	height: 3px;
	border-radius: 30px;
	background: var(--accent-color);
}

body.home-page header.main-header .main-menu .nav-menu-wrapper > ul > li:not(.submenu) > a:after{
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: calc(100% + 22px);
	height: 34px;
	background: rgba(215, 21, 29, 0.08);
	transform: translate(-50%, -50%) scale(0.82);
	opacity: 0;
	z-index: -1;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

body.home-page header.main-header .main-menu ul li a:hover, 
body.home-page header.main-header .main-menu ul li a:focus, 
body.home-page header.main-header .main-menu ul li a.active{
	color: var(--accent-color);
	transform: translateY(-2px);
}

body.home-page header.main-header .main-menu .nav-menu-wrapper > ul > li:not(.submenu) > a:hover:after,
body.home-page header.main-header .main-menu .nav-menu-wrapper > ul > li:not(.submenu) > a:focus:after,
body.home-page header.main-header .main-menu .nav-menu-wrapper > ul > li:not(.submenu) > a.active:after{
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

body.home-page header.main-header .header-btn .btn-default{
	color: var(--white-color);
	background: var(--accent-color);
	border-radius: 100px;
    box-shadow: 0 12px 28px rgba(217, 21, 29, 0.26);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.50px;
    line-height: 1em;
    text-transform: uppercase;
    padding: 19px 30px 19px 54px;
}

body.home-page header.main-header .header-btn .btn-default::before{
	content: '\f095';
	left: 28px;
	right: auto;
	width: auto;
	height: auto;
	color: var(--white-color);
	background: transparent;
	font-family: 'FontAwesome';
	font-size: 14px;
	font-weight: 900;
	transform: translateY(-50%);
}

body.home-page header.main-header .header-btn .btn-default::after{
	display: none;
}

body.home-page header.main-header .header-btn .btn-default:hover{
	background: var(--primary-color);
	transform: translateY(-3px);
}

.header-top-strip{
	background: linear-gradient(90deg, #9d1815 0%, #bd241f 55%, #9d1815 100%);
	border-bottom: none;
}

.header-top-inner{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 40px;
}

.header-social-links,
.header-top-contact{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 28px;
}

.header-social-links a,
.header-top-contact a,
.header-top-contact span{
	color: var(--white-color);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 1.4px;
	line-height: 1.2em;
	text-transform: uppercase;
	transition: all 0.3s ease-in-out;
}

.header-social-links a{
	color: var(--white-color);
	font-size: 12px;
}

.header-social-links a:hover,
.header-top-contact a:hover{
	color: rgba(255, 255, 255, 0.75);
}

.header-social-links a[href^="tel:"]::before,
.header-top-contact a[href^="mailto:"]::before,
.header-top-contact span::before{
	font-family: 'FontAwesome';
	font-weight: 400;
	margin-right: 8px;
}

.header-social-links a[href^="tel:"]::before{
	content: '\f095';
}

.header-top-contact a[href^="mailto:"]::before{
	content: '\f0e0';
}

.header-top-contact span::before{
	content: '\f017';
}

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

.home-banner-slider{
	width: 100%;
	position: relative;
	overflow: hidden;
	background: var(--white-color);
}

.home-banner-slider .swiper,
.home-banner-slider .swiper-slide{
	width: 100%;
	/*height: clamp(360px, 42vw, 680px);*/
}

.home-banner-slider .swiper-slide{
	position: relative;
	overflow: hidden;
}

.home-banner-slider .swiper-slide:before{
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	/*background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.02) 42%, rgba(255, 255, 255, 0.42) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.08));*/
	pointer-events: none;
}

.home-banner-slider .swiper-slide img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-banner-content{
	position: absolute;
	top: 50%;
	z-index: 2;
	max-width: 560px;
	padding: 34px 0;
	transform: translateY(-50%);
	transition: transform 0.45s ease;
}
.home-banner-content.left{
	left: clamp(70px, 8vw, 150px) !important;
}

.home-banner-content.right{
	right: clamp(70px, 8vw, 150px) !important;
}

.home-banner-content:before{
	content: "";
	position: absolute;
	left: -28px;
	top: 24px;
	width: 4px;
	height: 112px;
	background: var(--accent-color);
	border-radius: 999px;
	box-shadow: 0 18px 40px rgba(215, 21, 29, 0.28);
}

.home-banner-kicker{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--primary-color);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.06em;
	margin-bottom: 14px;
	text-transform: uppercase;
	opacity: 0;
	transform: translateY(18px);
}

.home-banner-kicker:before{
	content: "";
	width: 28px;
	height: 2px;
	background: var(--accent-color);
}

.home-banner-content h1{
	color: var(--primary-color);
	font-size: 45px;
    font-weight: 500;
	line-height: 1.02em;
	margin: 18px 0 30px;
	opacity: 0;
	transform: translateY(24px);
}

.home-banner-content p{
	color: #303030;
	font-size: 18px;
	line-height: 1.65em;
	max-width: 510px;
	margin: 0 0 26px;
	opacity: 0;
	transform: translateY(24px);
}

.home-banner-actions{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px 22px;
	opacity: 0;
	transform: translateY(24px);
}

.home-banner-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 15px 24px;
	color: var(--white-color);
	background: var(--accent-color);
	border: 1px solid var(--accent-color);
	border-radius: 14px;
	font-size: 16px;
	font-weight: 600;
	box-shadow: 0 18px 40px rgba(215, 21, 29, 0.28);
	transition: transform 0.35s ease, background 0.35s ease, color 0.35s ease, box-shadow 0.35s ease;
}

.home-banner-btn i{
	transition: transform 0.35s ease;
}

.home-banner-btn:hover{
	color: var(--accent-color);
	background: var(--white-color);
	transform: translateY(-4px);
	box-shadow: 0 22px 50px rgba(17, 17, 17, 0.16);
}

.home-banner-btn:hover i{
	transform: translateX(4px);
}

.home-banner-link{
	position: relative;
	color: var(--primary-color);
	font-weight: 800;
}

.home-banner-link:after{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -5px;
	height: 2px;
	background: var(--accent-color);
	transform: scaleX(0.4);
	transform-origin: left;
	transition: transform 0.3s ease;
}

.home-banner-link:hover{
	color: var(--accent-color);
}

.home-banner-link:hover:after{
	transform: scaleX(1);
}

.home-banner-slider .swiper-slide-active .home-banner-kicker,
.home-banner-slider .swiper-slide-active .home-banner-content h1,
.home-banner-slider .swiper-slide-active .home-banner-content p,
.home-banner-slider .swiper-slide-active .home-banner-actions{
	animation: bannerTextReveal 0.75s ease forwards;
}

.home-banner-slider .swiper-slide-active .home-banner-content h1{
	animation-delay: 0.12s;
}

.home-banner-slider .swiper-slide-active .home-banner-content p{
	animation-delay: 0.24s;
}

.home-banner-slider .swiper-slide-active .home-banner-actions{
	animation-delay: 0.36s;
}

.home-banner-slider .swiper-slide:hover .home-banner-content{
	transform: translateY(-52%);
}

@keyframes bannerTextReveal{
	to{
		opacity: 1;
		transform: translateY(0);
	}
}

.home-banner-arrow{
	position: absolute;
	top: 50%;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	color: var(--primary-color);
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 50%;
	box-shadow: 0 12px 28px rgba(21, 34, 77, 0.16);
	transform: translateY(-50%);
	transition: all 0.3s ease-in-out;
}

.home-banner-arrow:hover{
	color: var(--white-color);
	background: var(--accent-color);
	border-color: var(--accent-color);
}

.home-banner-prev{
	left: 30px;
}

.home-banner-next{
	right: 30px;
}

.home-banner-pagination{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 24px !important;
	z-index: 2;
	text-align: center;
}

.home-banner-pagination .swiper-pagination-bullet{
	width: 12px;
	height: 12px;
	background: var(--white-color);
	opacity: 0.8;
}

.home-banner-pagination .swiper-pagination-bullet-active{
	background: var(--accent-color);
	opacity: 1;
}

.cmax-experience-section{
	margin: 0;
	padding: 48px;
	background: linear-gradient(135deg, #a41117 0%, #d7151d 45%, #1f1f1f 100%);
	border-radius: 0;
	overflow: hidden;
}

.cmax-experience-section .container-fluid{
	padding: 0;
}

.cmax-experience-content{
	color: var(--white-color);
	padding: 24px 0 24px 8px;
}

.cmax-experience-content span{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--white-color);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 1.3px;
	line-height: 1.2em;
	text-transform: uppercase;
	margin-bottom: 20px;
}

.cmax-experience-content span i{
	width: 26px;
	height: 26px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--primary-color);
	background: var(--white-color);
	border-radius: 50%;
}

.cmax-experience-content h2{
	color: var(--white-color);
	font-size: 40px;
	font-weight: 500;
	line-height: 1.08em;
	margin-bottom: 22px;
}

.cmax-experience-content p{
	color: rgba(255, 255, 255, 0.9);
	font-size: 18px;
	line-height: 1.65em;
	margin-bottom: 22px;
}

.cmax-experience-btn{
	display: inline-flex;
	align-items: center;
	gap: 16px;
	color: var(--white-color);
	background: var(--primary-color);
	border-radius: 14px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1em;
	padding: 20px 22px 20px 28px;
	margin-top: 16px;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.24);
	transition: all 0.35s ease-in-out;
}

.cmax-experience-btn i{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	background: rgba(255, 255, 255, 0.16);
	border-radius: 50%;
	transition: all 0.35s ease-in-out;
}

.cmax-experience-btn:hover{
	color: var(--primary-color);
	background: var(--white-color);
	transform: translateY(-4px);
}

.cmax-experience-btn:hover i{
	color: var(--white-color);
	background: var(--accent-color);
	transform: translateX(3px);
}

.cmax-experience-main,
.cmax-experience-small{
	position: relative;
	overflow: hidden;
	border-radius: 24px;
	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.26);
}

.cmax-experience-main{
	min-height: 620px;
}

.cmax-experience-small{
	min-height: 290px;
}

.cmax-experience-main img,
.cmax-experience-small img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.65s ease, filter 0.35s ease;
}

.cmax-experience-main:hover img,
.cmax-experience-small:hover img{
	transform: scale(1.06);
	filter: saturate(1.08) contrast(1.03);
}

.cmax-experience-info{
	position: absolute;
	right: 24px;
	bottom: 24px;
	left: 24px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	z-index: 2;
}

.cmax-experience-info a{
	display: grid;
	grid-template-columns: 1fr 42px;
	align-items: center;
	gap: 12px;
	color: var(--white-color);
	background: rgba(0, 0, 0, 0.16);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 16px;
	padding: 22px 24px;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	transition: all 0.35s ease-in-out;
}

.cmax-experience-info a span,
.cmax-experience-info a small{
	display: block;
	grid-column: 1;
}

.cmax-experience-info a span{
	font-size: 19px;
	font-weight: 500;
	line-height: 1.25em;
}

.cmax-experience-info a small{
	color: rgba(255, 255, 255, 0.82);
	font-size: 13px;
	line-height: 1.3em;
	margin-top: 6px;
}

.cmax-experience-info a i{
	grid-column: 2;
	grid-row: 1 / span 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255, 255, 255, 0.75);
	border-radius: 50%;
	transition: all 0.35s ease-in-out;
}

.cmax-experience-info a:hover{
	background: var(--white-color);
	color: var(--primary-color);
	transform: translateY(-5px);
}

.cmax-experience-info a:hover small{
	color: var(--text-color);
}

.cmax-experience-info a:hover i{
	color: var(--white-color);
	background: var(--accent-color);
	border-color: var(--accent-color);
}

.cmax-experience-side{
	display: grid;
	gap: 24px;
	height: 100%;
}

.cmax-services-showcase{
	position: relative;
	padding: 90px 0;
	background: linear-gradient(180deg, var(--white-color) 0%, #fff5f5 100%);
	overflow: hidden;
}

.cmax-services-showcase:before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 42%;
	height: 100%;
	background: linear-gradient(135deg, rgba(215, 21, 29, 0.1), rgba(17, 17, 17, 0.04));
	clip-path: polygon(28% 0, 100% 0, 100% 100%, 0 100%);
	pointer-events: none;
}

.cmax-services-showcase .container{
	position: relative;
	z-index: 1;
}

.cmax-services-showcase .section-title{
	margin-bottom: 34px;
}

.cmax-services-showcase .section-sub-title{
	color: var(--accent-color);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 10px;
	display: inline-block;
}

.cmax-services-showcase .section-title h2{
	font-size: 40px;
	line-height: 1.08em;
	margin-bottom: 0;
}

.cmax-services-intro{
	color: var(--text-color);
	font-size: 17px;
	line-height: 1.7em;
	margin: 0 0 38px;
}

.cmax-services-arrows{
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: flex-end;
	gap: 14px;
	margin-bottom: 34px;
}

.cmax-service-arrow{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	color: var(--white-color);
	background: var(--accent-color);
	border: 1px solid var(--accent-color);
	border-radius: 50%;
	transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}

.cmax-service-arrow:hover{
	color: var(--accent-color);
	background: var(--white-color);
	transform: translateY(-3px);
	box-shadow: 0 16px 36px rgba(215, 21, 29, 0.25);
}

.cmax-services-slider{
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.cmax-services-slider .swiper{
	overflow: visible;
}

.cmax-services-slider .swiper-slide{
	position: relative;
	transition: opacity 0.35s ease;
}

.cmax-services-list{
	display: flex;
	gap: 18px;
	min-height: 430px;
}

.cmax-services-slider .cmax-services-list{
	gap: 0;
}

.cmax-services-slider .swiper-slide{
	height: auto;
}

.cmax-services-slider .cmax-service-card{
	display: block;
	height: 100%;
	min-height: 430px;
	transform-origin: center center;
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease, filter 0.35s ease;
}

.cmax-services-slider .cmax-services-list:hover .swiper-slide:not(:hover){
	opacity: 0.92;
}

.cmax-services-slider .swiper-slide:hover{
	z-index: 4;
	opacity: 1;
}

.cmax-services-slider .swiper-slide:hover .cmax-service-card{
	transform: translateY(-8px) scale(1.025);
	box-shadow: 0 30px 70px rgba(17, 17, 17, 0.24);
}

.cmax-services-slider .cmax-services-list:hover .cmax-service-card,
.cmax-services-slider .cmax-services-list .cmax-service-card:hover{
	flex: none;
}

.cmax-service-card{
	position: relative;
	flex: 1;
	min-width: 0;
	overflow: hidden;
	border-radius: 18px;
	background: var(--primary-color);
	box-shadow: 0 18px 45px rgba(17, 17, 17, 0.12);
	transition: flex 0.55s cubic-bezier(0.22, 1, 0.36, 1), transform 0.35s ease, box-shadow 0.35s ease;
}

.cmax-services-list:hover .cmax-service-card{
	flex: 0.82;
}

.cmax-services-list .cmax-service-card:hover{
	flex: 1.55;
	transform: translateY(-8px);
	box-shadow: 0 28px 65px rgba(17, 17, 17, 0.2);
}

.cmax-service-card:before{
	content: '';
	position: absolute;
	inset: 0;
	/*background: linear-gradient(180deg, rgba(17, 17, 17, 0.05) 0%, rgba(17, 17, 17, 0.2) 45%, rgba(17, 17, 17, 0.86) 100%);*/
	z-index: 1;
	transition: background 0.35s ease;
}

.cmax-service-card:hover:before{
	background: linear-gradient(180deg, rgba(215, 21, 29, 0.02) 0%, rgba(17, 17, 17, 0.16) 42%, rgba(164, 17, 23, 0.88) 100%);
}

.cmax-service-card img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.01);
	transition: transform 0.65s ease, filter 0.35s ease;
}

.cmax-service-card:hover img{
	transform: scale(1.08);
	filter: saturate(1.08) contrast(1.04);
}

.cmax-service-card video{
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
	transform: scale(1.01);
	transition: transform 0.65s ease, filter 0.35s ease;
}

.cmax-service-card:hover video{
	transform: scale(1.08);
	filter: saturate(1.08) contrast(1.04);
}

.cmax-service-overlay{
	position: absolute;
	right: 18px;
	bottom: 18px;
	left: 18px;
	z-index: 2;
	display: grid;
	grid-template-columns: 1fr 44px;
	gap: 8px 14px;
	align-items: end;
	color: var(--white-color);
	padding: 22px;
	border-left: 4px solid var(--accent-color);
	background:linear-gradient(180deg, rgba(17, 17, 17, 0.05) 0%, rgba(17, 17, 17, 0.2) 45%, rgba(17, 17, 17, 0.86) 100%);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	transition: transform 0.35s ease, background 0.35s ease;
}

.cmax-service-card:hover .cmax-service-overlay{
	background: rgba(17, 17, 17, 0.62);
	transform: translateY(-6px);
}

.cmax-service-overlay span{
	grid-column: 1 / -1;
	color: rgba(255, 255, 255, 0.82);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 1.6px;
	line-height: 1em;
}

.cmax-service-overlay h3{
	color: var(--white-color);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.1em;
	margin: 0;
}

.cmax-service-overlay small{
	grid-column: 1;
	color: rgba(255, 255, 255, 0.78);
	font-size: 13px;
	line-height: 1.3em;
}

.cmax-service-overlay i{
	grid-column: 2;
	grid-row: 2 / span 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: var(--white-color);
	border: 1px solid rgba(255, 255, 255, 0.75);
	border-radius: 50%;
	transition: all 0.35s ease-in-out;
}

.cmax-service-card:hover .cmax-service-overlay i{
	background: var(--accent-color);
	border-color: var(--accent-color);
	transform: rotate(-35deg);
}

.watch-explore-section{
	padding: 80px 12px;
	background: var(--white-color);
}

.watch-explore-section .section-title{
	margin-bottom: 35px;
}

.watch-explore-section .section-sub-title{
	color: var(--accent-color);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 8px;
	display: inline-block;
}

.watch-explore-section .section-title h2{
	font-size: 42px;
	font-weight: 500;
}

.watch-explore-section .section-title h2 span{
	color: var(--accent-color);
}

.watch-explore-list{
	--bs-gutter-x: 24px;
	--bs-gutter-y: 24px;
}

.explore-card{
	position: relative;
	min-height: 550px;
	height: 100%;
	overflow: hidden;
	background: var(--primary-color);
	/*box-shadow: 0 20px 45px rgba(21, 34, 77, 0.12);*/
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.explore-card:hover{
	transform: translateY(-8px);
	box-shadow: 0 28px 60px rgba(21, 34, 77, 0.22);
}

.explore-card figure{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}

.explore-card figure::after{
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.08) 42%, rgba(0, 0, 0, 0.55) 100%);
	z-index: 1;
	pointer-events: none;
}

.explore-card figure img,
.explore-card figure video{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease, filter 0.35s ease;
}

.explore-card:hover figure img,
.explore-card:hover figure video{
	transform: scale(1.06);
	filter: saturate(1.08);
}

.explore-view-badge{
	position: absolute;
	top: 28px;
	left: 28px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--white-color);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.8px;
	line-height: 1em;
	border: 1px solid rgba(255, 255, 255, 0.35);
	background: rgba(0, 0, 0, 0.28);
	padding: 13px 16px;
	z-index: 2;
	transition: background 0.35s ease, border-color 0.35s ease;
}

.explore-card:hover .explore-view-badge{
	background: var(--accent-color);
	border-color: var(--accent-color);
}

.explore-brand-title{
	position: absolute;
	top: 50%;
	left: 50%;
	color: var(--white-color);
	font-size: clamp(28px, 3vw, 58px);
	font-weight: 500;
	line-height: 1em;
	text-transform: uppercase;
	transform: translate(-50%, -50%);
	z-index: 2;
	text-align: center;
	white-space: nowrap;
}

.explore-product-box{
	position: absolute;
	right: 28px;
	bottom: 28px;
	left: 28px;
	display: flex;
	align-items: center;
	gap: 18px;
	background: var(--white-color);
	border-left: 4px solid var(--accent-color);
	padding: 16px 18px;
	z-index: 2;
	transition: transform 0.35s ease;
}

.explore-card:hover .explore-product-box{
	transform: translateY(-6px);
}

.explore-product-image{
	width: 52px;
	height: 52px;
	flex: 0 0 52px;
	background: var(--bg-color);
	overflow: hidden;
}

.explore-product-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.explore-product-content span{
	display: block;
	color: var(--text-color);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.2em;
	text-transform: uppercase;
	margin-bottom: 7px;
}

.explore-product-content h3{
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2em;
	text-transform: uppercase;
}

.featured-brands-strip{
	position: relative;
	padding: 62px 0;
	background: var(--white-color);
	overflow: hidden;
}

.featured-brands-strip:before{
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(17, 17, 17, 0.12), transparent);
}

.featured-brands-list{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 18px 24px;
}

.featured-brands-slider{
	overflow: hidden;
	margin-left: 40px;
}

.featured-brands-slider .featured-brands-list{
	flex-wrap: nowrap;
	gap: 0;
	justify-content: flex-start;
}

.featured-brands-slider .swiper-slide{
	display: flex;
	justify-content: center;
	height: auto;
}

.featured-brand-item{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 200px;
	height: 100px;
	padding: 10px 24px;
	border: 1px solid rgba(17, 17, 17, 0.14);
	border-radius: 7px;
	background: rgba(255, 255, 255, 0.86);
	overflow: hidden;
	animation: featuredBrandRise 0.7s ease both;
	animation-delay: var(--brand-delay);
	margin: 10px 0;
	transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease;
}

.featured-brand-item:before{
	content: '';
	position: absolute;
	top: 0;
	left: -120%;
	width: 70%;
	height: 100%;
	background: linear-gradient(110deg, transparent, rgba(215, 21, 29, 0.12), transparent);
	transform: skewX(-20deg);
	transition: left 0.5s ease;
}

.featured-brand-item img{
	position: relative;
	z-index: 1;
	display: block;
	max-width: 100%;
	/*max-height: 28px;*/
	object-fit: contain;
	transition: transform 0.35s ease, filter 0.35s ease;
}

.featured-brand-item:hover{
	background: var(--white-color);
	border-color: rgba(215, 21, 29, 0.35);
	box-shadow: 0 16px 36px rgba(17, 17, 17, 0.1);
	transform: translateY(-5px);
}

.featured-brand-item:hover:before{
	left: 130%;
}

.featured-brand-item:hover img{
	transform: scale(1.06);
	filter: contrast(1.08);
}

.featured-brand-all{
	color: var(--white-color);
	background: var(--primary-color);
	border-color: var(--primary-color);
	font-size: 16px;
	font-weight: 500;
	text-transform: capitalize;
}

.featured-brand-all span{
	position: relative;
	z-index: 1;
}

.featured-brand-all:hover{
	color: var(--white-color);
	background: var(--accent-color);
	border-color: var(--accent-color);
}

@keyframes featuredBrandRise{
	0%{
		opacity: 0;
		transform: translateY(18px);
	}

	100%{
		opacity: 1;
		transform: translateY(0);
	}
}

.legendary-brands-section{
	padding: 42px 0 72px;
	background: var(--white-color);
	overflow: hidden;
}

.legendary-brands-frame{
	width: min(1820px, calc(100% - 30px));
	max-width: 1820px;
	overflow: hidden;
}

.legendary-brands-header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border-bottom: 1px solid rgba(17, 17, 17, 0.14);
	margin: 0 0 30px;
	padding: 0 18px 20px;
}

.legendary-brands-header .section-title{
	margin: 0;
}

.legendary-brands-header h2{
	color: var(--primary-color);
	font-family: var(--default-font);
	font-size: 50px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1em;
	text-transform: uppercase;
	margin: 0;
}

.legendary-brands-arrows{
	display: flex;
	align-items: center;
	gap: 14px;
	flex: 0 0 auto;
}

.legendary-brand-arrow{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: var(--primary-color);
	background: transparent;
	border: 1px solid var(--primary-color);
	border-radius: 0;
	transition: all 0.35s ease-in-out;
}

.legendary-brand-arrow:hover{
	color: var(--white-color);
	background: var(--accent-color);
	border-color: var(--accent-color);
	transform: translateY(-3px);
}

.legendary-brands-slider{
	padding: 0 18px;
}

.legendary-brands-slider .swiper{
	overflow: hidden;
}

.legendary-brand-card{
	position: relative;
	display: block;
	height: 610px;
	/*border-left: 1px solid var(--primary-color);
	border-right: 1px solid var(--primary-color);*/
	background: var(--primary-color);
	overflow: hidden;
	color: inherit;
}

.legendary-brand-card figure{
	position: relative;
	height: calc(100% - 56px);
	margin: 0;
	overflow: hidden;
}

.legendary-brand-card figure:after{
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.1) 90%, rgba(0, 0, 0, 0.42) 100%);
	pointer-events: none;
}

.legendary-brand-card img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.65s ease, filter 0.35s ease;
}

.legendary-brand-card:hover img{
	transform: scale(1.08);
	filter: saturate(1.1) contrast(1.05);
}

.legendary-brand-logo{
	position: absolute;
	left: 28px;
	right: 28px;
	bottom: 88px;
	z-index: 2;
	color: rgba(255, 255, 255, 0.82);
	font-family: var(--accent-font);
	font-size: clamp(38px, 4vw, 72px);
	font-weight: 500;
	line-height: 1em;
	text-align: center;
	text-shadow: 0 8px 30px rgba(0, 0, 0, 0.32);
	transition: transform 0.35s ease, opacity 0.35s ease;
}

.legendary-brand-card:hover .legendary-brand-logo{
	opacity: 0.95;
	transform: translateY(-12px);
}

.legendary-brand-card a,
.legendary-brand-card .legendary-brand-label{
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	color: var(--white-color);
	background: var(--accent-color);
	font-size: 18px;
  font-weight: 500;
  letter-spacing: 2px;
	line-height: 1em;
	text-transform: uppercase;
	transition: background 0.35s ease, min-height 0.35s ease;
}

.legendary-brand-card:hover a,
.legendary-brand-card:hover .legendary-brand-label{
	background: #a41117;
	min-height: 68px;
}

.store-destination-section{
	padding: 0 18px 80px;
	background: var(--white-color);
	overflow: hidden;
}

.store-destination-section .container-fluid{
	padding: 0;
}

.store-destination-card{
	position: relative;
	min-height: 390px;
	height: 100%;
	overflow: hidden;
	background: var(--primary-color);
	box-shadow: 0 18px 42px rgba(17, 17, 17, 0.12);
}

.store-destination-card:before{
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(17, 17, 17, 0.18) 0%, rgba(126, 8, 14, 0.08) 92%, rgba(17, 17, 17, 0.3) 100%);
	z-index: 1;
	transition: background 0.35s ease;
}

.store-location-card:before{
	background: linear-gradient(180deg, rgba(17, 17, 17, 0.0) 50%, rgba(17, 17, 17, 0.85) 70%);
}

.store-destination-card img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.75s ease, filter 0.35s ease;
}

.store-destination-card:hover img{
	transform: scale(1.08);
	filter: saturate(1.08) contrast(1.04);
}

.store-destination-card:hover:before{
	background: linear-gradient(90deg, rgba(17, 17, 17, 0.82) 0%, rgba(126, 8, 14, 0.52) 86%, rgba(17, 17, 17, 0.3) 100%);
}

.store-location-card:hover:before{
	background: linear-gradient(180deg, rgba(164, 17, 23, 0.18) 0%, rgba(17, 17, 17, 0.88) 100%);
}

.store-destination-content{
	position: absolute;
	left: 38px;
	right: 38px;
	bottom: 34px;
	z-index: 2;
	color: var(--white-color);
	transition: transform 0.35s ease;
}

.store-destination-card:hover .store-destination-content{
	transform: translateY(-8px);
}

.store-destination-content span{
	display: inline-block;
	color: var(--white-color);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 1.8px;
	line-height: 1em;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.store-destination-content h2{
	color: var(--white-color);
	font-size: 35px;
	font-weight: 500;
	line-height: 1em;
	margin-bottom: 18px;
}

.store-destination-content h3{
	color: var(--white-color);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2em;
	margin-bottom: 8px;
}

.store-destination-content p{
	max-width: 520px;
	color: rgba(255, 255, 255);
	font-size: 17px;
	line-height: 1.55em;
	margin-bottom: 0;
}

.store-destination-content a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--white-color);
	font-size: 16px;
	font-weight: 600;
	line-height: 1em;
	margin-top: 18px;
	padding: 14px 22px;
	border: 1px solid rgba(255, 255, 255, 0.38);
	transition: all 0.35s ease-in-out;
}

.store-destination-content a:hover{
	color: var(--white-color);
	background: var(--accent-color);
	border-color: var(--accent-color);
}

.hero{
    position: relative;
    align-content: end;
    border-radius: 20px;
    height: calc(100vh - 30px);
	min-height: 900px;
    align-content: end;
    padding: 230px 0 100px;
    margin: 15px 15px 0 15px;
    overflow: hidden;
}

.hero::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
    background: linear-gradient(180deg, transparent 0%, rgba(21, 34, 77, 0.80) 81.76%);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.hero.hero-video .hero-bg-video{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

.hero.hero-video .hero-bg-video video{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

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

.hero-content{
    margin-right: 2.604vw;
}

.hero-sub-heading{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

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

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

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

.satisfy-client-image figure{
	display: block;
	border-radius: 50%;
}

.satisfy-client-image figure img{
	width: 100%;
	max-width: 40px;
	border-radius: 50%;
}

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

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

.satisfy-client-image.add-more h3{
	color: var(--white-color);
	font-size: 14px;
	line-height: 1em;
}

.satisfy-client-content p{
    color: var(--white-color);
    margin: 0;
}

.hero-sub-heading .satisfy-client-content p{
    color: var(--white-color);
    font-weight: 500;
}

.hero-info-list{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.hero-info-item.trusted-patients-box{
    width: calc(45% - 15px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 30px;
    background: var(--dark-divider-color);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);    
    border-radius: 20px;
    padding: 20px;
}

.hero-info-item.trusted-patients-box .satisfy-client-content{
    margin-top: 10px;
}

.hero-info-counter-box{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
}

.circle{
	position: relative;
	display: inline-block;
	color: var(--accent-color);
	text-align: center;
	background: transparent;
	border-radius: 50%;
}

.circle .progress_value{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -52%);
    width: 65px;
    height: 65px;
    color: var(--white-color);
    font-weight: 500;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    background: var(--dark-divider-color);
    border-radius: 50%;
}

.hero-info-counter-list{
    width: calc(100% - 120px);
    display: flex;
    flex-direction: column;
    align-items: end;
    gap: 10px;
}

.hero-info-counter-list p{
    display: inline-block;
    color: var(--white-color);
    font-size: 12px;
	font-weight: 500;
    line-height: normal;
    text-align: center;
    background: var(--dark-divider-color);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 10px;
    padding: 5px 10px;
	margin: 0;
}

.hero-info-item-image{
    width: calc(55% - 15px);
}

.hero-info-item-image figure{
    display: block;
	height: 100%;
    border-radius: 20px;
}

.hero-info-item-image img{
    width: 100%;
	height: 100%;
    aspect-ratio: 1 / 1.065;
    object-fit: cover;
    border-radius: 20px;
}

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

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

.about-us-image-content-box{
    display: flex;
    flex-wrap: wrap;
	gap: 20px 0;
}

.about-image-box{
	width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 50px;
}

.about-image-box.box-1{
	background-image: url('../images/about-image-content-box-bg-1.png');
	background-repeat: no-repeat;
	background-position: bottom 70px left;
	background-size: auto;
}

.about-image-box.box-2{    
	position: relative;
	background-image: url('../images/about-image-content-box-bg-2.png');
	background-repeat: no-repeat;
	background-position: top 100px left 50px;
	background-size: auto;
	z-index: 1;
}

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

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

.about-image-box.box-1 .about-us-image img{
    aspect-ratio: 1 / 1.614;
}

.about-cta-item{
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	background: var(--white-color);
	border-radius: 20px;
	margin-right: 60px;
	padding: 15px;
}

.about-cta-item .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    background: var(--primary-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
	overflow: hidden;
	transition: all 0.4s ease-in-out;
}

.about-cta-item:hover .icon-box{
	background: var(--accent-color);
}

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

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

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

.about-cta-item-content p{
	margin: 5px 0 0;
}

.about-cta-item-content p a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

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

.about-google-rating-box{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	background: var(--white-color);
	border-radius: 20px;
	margin-left: 30px;
	padding: 20px;
}

.about-google-rating-box .icon-box img{
	width: 100%;
	max-width: 40px;
}

.about-google-rating-content{
	width: calc(100% - 55px);
}

.about-google-rating-content p{
	font-size: 20px;
	font-weight: 500;
	line-height: normal;
	color: var(--primary-color);
	margin: 0;
}

.about-google-rating-content .about-google-rating{
	margin-top: 10px;
	display: block;
}

.about-google-rating-content .about-google-rating i{
	color: var(--accent-color);
}

.about-image-box.box-2 .about-us-image figure{
    margin-left: -30px;
	border: 8px solid var(--bg-color);
	border-radius: 30px;
}

.about-image-box.box-2 .about-us-image img{
    aspect-ratio: 1 / 1.353;
}

.about-us-content{
	margin-left: 15px;
}

.about-us-body{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	background-color: var(--white-color);
	border-radius: 20px;
	padding: 10px;
}

.about-us-body-image-box{
	position: relative;
	width: 26%;
}

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

.about-us-body-image img{
	width: 100%;
    aspect-ratio: 1 / 0.88;
    object-fit: cover;
	border-radius: 10px;
}

.about-us-body-image-box .icon-box{
	position: absolute;
	top: 50%;
	transform: translate(50%, -50%);
	right: 0;
	height: 56px;
	width: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--accent-color);
	border: 3px solid var(--white-color);
	border-radius: 50%;
	z-index: 1;
}

.about-us-body-image-box .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;
}

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

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

.about-us-body-content{
	width: 74%;
	padding: 20px 20px 20px 50px;
}

.about-us-body-content h3{
	font-size: 18px;
	line-height: 1.4em;
	font-weight: 500;
}

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

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

.about-author-name{
	margin-top: 5px;
}

.about-author-name p{
	margin: 0;
}

.about-story-section{
	padding: 90px 0;
	background: var(--white-color);
	overflow: hidden;
}

.about-story-section .container-fluid{
	padding: 0 42px;
}

.about-story-row{
	margin-bottom: 80px;
}

.about-story-image,
.about-history-image{
	position: relative;
	overflow: hidden;
	box-shadow: 0 24px 70px rgba(21, 34, 77, 0.11);
}

.about-story-image{
	border-radius: 20px;
}

.about-history-image{
	border-radius: 46% 46% 28px 28px;
	max-width: 650px;
	margin-left: auto;
}

.about-story-image img,
.about-history-image img{
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1.1;
	object-fit: cover;
	transition: transform 0.65s ease, filter 0.35s ease;
}

.about-story-image:hover img,
.about-history-image:hover img{
	transform: scale(1.05);
	filter: saturate(1.04) contrast(1.03);
}

.about-story-badge{
	position: absolute;
	top: 0;
	right: -8px;
	width: 150px;
	height: 150px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: var(--white-color);
	background: var(--accent-color);
	border: 12px solid var(--white-color);
	border-radius: 50%;
	box-shadow: 0 18px 40px rgba(215, 21, 29, 0.28);
	z-index: 2;
}

.about-story-badge:before{
	content: '';
	position: absolute;
	inset: 12px;
	border: 1px dashed rgba(255, 255, 255, 0.82);
	border-radius: 50%;
}

.about-story-badge strong{
	position: relative;
	z-index: 1;
	font-size: 52px;
	font-weight: 500;
	line-height: 0.9em;
}

.about-story-badge span{
	position: relative;
	z-index: 1;
	color: var(--primary-color);
	font-size: 22px;
	font-weight: 500;
	line-height: 1em;
	transform: rotate(-8deg);
}

.about-story-content,
.about-history-content{
	max-width: 760px;
}

.about-story-content span,
.about-history-content span{
	display: inline-block;
	color: var(--accent-color);
	font-size: 22px;
	font-weight: 500;
	line-height: 1.2em;
	margin-bottom: 12px;
}

.about-story-content h2,
.about-history-content h2{
	color: var(--primary-color);
	font-size: clamp(34px, 3vw, 48px);
	font-weight: 500;
	line-height: 1.18em;
	text-transform: uppercase;
	margin-bottom: 22px;
}

.about-story-content h2{
	max-width: 700px;
}

.about-story-content p,
.about-history-content p{
	color: #000;
	font-size: 17px;
	line-height: 1.75em;
	margin-bottom: 20px;
}

.about-story-content p:last-child,
.about-history-content p:last-child{
	margin-bottom: 0;
}

.about-story-content strong,
.about-history-content strong{
	color: var(--primary-color);
	font-weight: 500;
}

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

.our-services{
	background-image: url('../images/section-bg-image-1.png');
	background-position: top 40px left -10px;
	background-repeat: no-repeat;
	background-size: auto;
	padding: 100px 0;
}

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

.service-item-image a{
	display: block;
	cursor: none;
}

.service-item-image figure{
	position: relative;
	display: block;
	border-radius: 20px;
	overflow: hidden;
}

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

.service-item-image figure img{
	width: 100%;
	aspect-ratio: 1 / 1.116;
	object-fit: cover;
	border-radius: 20px;
	transition: all 0.6s ease-in-out;
}

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

.service-item-body{
	position: absolute;
	right: 40px;
	bottom: 40px;
	left: 40px;
	transform: translateY(70px);
	transition: all 0.4s ease-in-out;
	z-index: 2;
}

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

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

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

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

.service-readmore-btn{
	opacity: 0;
	visibility: hidden;
	border-top: 1px solid var(--dark-divider-color);
	margin-top: 20px;
	padding-top: 20px;
	transition: all 0.4s ease-in-out;
}

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

.service-item:hover .service-readmore-btn{
	visibility: visible;
	opacity: 1;
}

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

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

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

.section-footer-text p a{
	font-weight: 600;
	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);
}

.seasonal-drop-section{
	background: #bd241f;
	overflow: hidden;
}

.seasonal-drop-content{
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 520px;
	height: 100%;
	padding: 80px 2vw 80px 5vw;
	color: var(--white-color);
}

.seasonal-drop-content span{
	order: 2;
	display: block;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2em;
	text-transform: uppercase;
	margin: 0 0 24px;
}

.seasonal-drop-content h2{
	order: 1;
	color: var(--white-color);
	font-size: 40px;
	font-weight: 600;
	line-height: 1em;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.seasonal-drop-content p{
	order: 3;
	color: var(--white-color);
	font-size: 23px;
	font-weight: 500;
	line-height: 1.5em;
	margin: 0 0 40px;
}

.seasonal-drop-btn{
	order: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-height: 74px;
	color: var(--white-color);
	background: var(--primary-color);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.2em;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 20px 45px;
	transition: all 0.35s ease-in-out;
}

.seasonal-drop-btn:hover{
	color: var(--primary-color);
	background: var(--white-color);
	transform: translateY(-4px);
}

.seasonal-drop-gallery{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	height: 100%;
	min-height: 520px;
}

.seasonal-drop-image{
	position: relative;
	overflow: hidden;
	min-height: 520px;
	background: var(--primary-color);
}

.seasonal-drop-image::before{
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 42%, rgba(0, 0, 0, 0.32) 100%);
	opacity: 0;
	z-index: 1;
	transition: opacity 0.35s ease-in-out;
}

.seasonal-drop-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.65s ease, filter 0.35s ease;
}

.seasonal-drop-image:hover::before{
	opacity: 1;
}

.seasonal-drop-image:hover img{
	transform: scale(1.08);
	filter: brightness(0.88) saturate(1.08);
}

.vision-compare-section{
	background: var(--white-color);
	overflow: hidden;
}

.vision-compare-section .row{
	min-height: 640px;
}

.vision-compare-content{
	display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 65px;
}

.vision-compare-content span{
	display: block;
	color: var(--accent-color);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2em;
	text-transform: uppercase;
	margin-bottom: 22px;
}

.vision-compare-content h2{
	max-width: 760px;
	font-size: 50px;
	font-weight: 600;
	line-height: 1.08em;
	text-transform: uppercase;
	margin-bottom: 30px;
}

.vision-compare-content p{
	max-width: 620px;
	color: var(--text-color);
	font-size: 18px;
	line-height: 1.6em;
	margin-bottom: 45px;
}

.vision-compare-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	width: fit-content;
	color: var(--primary-color);
	border: 1px solid var(--primary-color);
	background: transparent;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2em;
	padding: 20px 28px;
	transition: all 0.35s ease-in-out;
}

.vision-compare-btn:hover{
	color: var(--white-color);
	background: var(--primary-color);
	transform: translateY(-4px);
}

.vision-compare-slider{
	position: relative;
	height: 100%;
	min-height: 640px;
	overflow: hidden;
	background: var(--bg-color);
	cursor: ew-resize;
	border-radius: 0 30px 30px 0;
}

.vision-compare-image{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vision-compare-before-wrap{
	position: absolute;
	inset: 0;
	width: 100%;
	overflow: hidden;
	clip-path: inset(0 calc(100% - var(--compare-position)) 0 0);
	z-index: 2;
}

.vision-compare-before{
	max-width: none;
}

.vision-compare-label{
	position: absolute;
	top: 28px;
	z-index: 4;
	color: var(--primary-color);
	background: rgba(255, 255, 255, 0.82);
	border-radius: 6px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1em;
	padding: 12px 18px;
	box-shadow: 0 10px 28px rgba(21, 34, 77, 0.12);
}

.vision-compare-label.before{
	left: 28px;
}

.vision-compare-label.after{
	right: 28px;
}

.vision-compare-divider{
	position: absolute;
	top: 0;
	bottom: 0;
	left: var(--compare-position);
	width: 2px;
	background: rgba(255, 255, 255, 0.9);
	transform: translateX(-50%);
	z-index: 3;
	pointer-events: none;
}

.vision-compare-divider span{
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 82px;
	height: 82px;
	color: var(--white-color);
	background: var(--accent-color);
	border-radius: 50%;
	box-shadow: 0 16px 35px rgba(22, 156, 220, 0.35);
	transform: translate(-50%, -50%);
}

.vision-compare-divider span i{
	font-size: 34px;
	line-height: 1em;
}

.vision-compare-range{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: ew-resize;
	z-index: 5;
}

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

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

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

.section-footer-text ul li i{
	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;
}

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

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

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

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

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

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

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

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

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

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

.why-choose-image-box{
	position: relative;
	height: 100%;
	padding-left: 45px;
	margin-right: 10px;
}

.why-choose-cta-box{
	max-width: 260px;
	position: absolute;
	top: 70px;
	left: 0;
	background-color: var(--white-color);
	border-radius: 20px;
	padding: 20px;
	z-index: 2;
}

.why-choose-cta-header{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

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

.why-choose-cta-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;
}

.why-choose-cta-box:hover .why-choose-cta-header .icon-box::before{
    transform: scale(1);
}

.why-choose-cta-header .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
    z-index: 1;
	transition: all 0.4s ease-in-out;
}

.why-choose-cta-title h3{
	font-size: 30px;
	font-weight: 500;
}

.why-choose-cta-body{
	margin-top: 20px;
}

.why-choose-cta-body p{
	margin: 0;
}

.why-choose-image{
	height: 100%;
}

.why-choose-image figure{
	display: block;
	height: 100%;
	border-radius: 20px;
}

.why-choose-image img{
	width: 100%;
	height: 100%;
    aspect-ratio: 1 / 1.031;
	object-fit: cover;
	border-radius: 20px;
}

.why-choose-content{
	height: 100%;
	align-content: center;
}

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

.why-choose-body-item{
	width: calc(50% - 15px);
}

.why-choose-body-item-header{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

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

.why-choose-body-item-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;
}

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

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

.why-choose-body-item-title{
	width: calc(100% - 55px);
}

.why-choose-body-item-title h3{
	font-size: 20px;
}

.why-choose-body-item-content{
	margin-top: 20px;
}

.why-choose-body-item-content p{
	margin: 0;
}

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

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

.why-choose-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;
	transition: all 0.4s ease-in-out;
}

.why-choose-contact-box:hover .icon-box{
    background: var(--accent-color);
}

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

.why-choose-contact-content h3{
	font-size: 20px;
	line-height: normal;
}

.why-choose-contact-content p{
	margin: 5px 0 0;
}

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

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

.why-choose-footer-list{
	border-top: 1px solid var(--divider-color);
	margin-top: 60px;
	padding-top: 60px;
}

.why-choose-footer-list ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 15px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.why-choose-footer-list ul li{
	position: relative;
    line-height: 1.5em;
    padding-left: 25px;
}

.why-choose-footer-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;
}

/************************************/
/*** 	 08. Core Features css    ***/
/************************************/

.our-core-features{
	padding: 100px 0;
}

.core-features-item{
    position: relative;
	background: var(--dark-divider-color);
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
    border-radius: 20px;
    min-height: 210px;
    height: calc(100% - 30px);
    margin-bottom: 30px;
    padding: 30px;
    overflow: hidden;
}

.core-feature-item-image{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    transition: all 0.5s ease-in-out;
}

.core-features-item.active .core-feature-item-image,
.core-features-item:hover .core-feature-item-image{
	opacity: 1;
}

.core-feature-item-image figure{
	display: block;
	height: 100%;
}

.core-feature-item-image figure::before{
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--primary-color);
	opacity: 60%;
    border-radius: 20px;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.core-feature-item-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.core-feature-content-box{
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 30px;
    height: 100%;
    z-index: 1;
}

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

.core-feature-content-box .icon-box img{
    width: 100%;
    max-width: 24px;
}

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

/************************************/
/*** 	  09. What We Do css      ***/
/************************************/

.what-we-do{
	padding: 100px 0;
}

.what-we-do-content-box{
	height: 100%;
	align-content: center;
}

.what-we-do-body{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.what-we-do-client-box{
	width: calc(62% - 15px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	background: var(--secondary-color);
	border-radius: 20px;
	padding: 30px;
}

.what-we-client-box-header{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
}

.what-we-client-header-content{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px;
}

.what-we-client-header-content h2{
	font-size: 30px;
}

.what-we-client-header-content p{
	margin: 0;
}

.what-we-client-box-header .satisfy-client-image figure img{
	max-width: 30px;
}

.what-we-do-skill-list{
	border-top: 1px solid var(--divider-color);
	padding-top: 30px;
}

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

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

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

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

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

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

.what-we-do-counter-box{
	width: calc(38% - 15px);
	background: var(--primary-color);
	border-radius: 20px;
	padding: 30px;
	align-content: center;
	text-align: center;
}

.what-we-do-counter-content{
	margin-top: 30px;
}

.what-we-do-counter-content h3{
	font-size: 16px;
	color: var(--white-color);
}

.what-we-do-images-box{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	height: 100%;
}

.what-we-image-box-1{
	width: calc(59% - 15px);
}

.what-we-do-image figure{
	display: block;
	border-radius: 20px;
}

.what-we-do-image img{
	width: 100%;
	object-fit: cover;
	border-radius: 20px;
}

.what-we-image-box-1 .what-we-do-image,
.what-we-image-box-1 .what-we-do-image figure,
.what-we-image-box-1 .what-we-do-image img{
	height: 100%;
}

.what-we-image-box-1 .what-we-do-image img{
	aspect-ratio: 1 / 1.711;
}

.what-we-image-box-2{
	width: calc(41% - 15px);
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.what-we-do-info-box{
	min-height: 285px;
	height: 100%;
	background: var(--secondary-color);
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	padding: 25px;
}

.what-we-do-info-image figure{
	display: block;
	border-radius: 20px;
}

.what-we-do-info-image img{
	width: 100%;
	max-width: 150px;
	border-radius: 20px;
}

.what-we-do-info-content span{
	display: inline-block;
}

.what-we-do-info-content i{
	color: var(--accent-color);
}

.what-we-do-info-content p{
	margin: 15px 0 0;
}

.what-we-image-box-2 .what-we-do-image img{
	aspect-ratio: 1 / 1.205;
}

/************************************/
/*** 	 10. Our Expertise css    ***/
/************************************/

.our-expertise{
	background-image: url('../images/section-bg-image-2.png');
    background-position: top -10px right -15px;
    background-repeat: no-repeat;
    background-size: auto;
	padding: 100px 0;
}

.expertise-image-box{
	position: relative;
	padding: 10px;
	margin-right: 10px;
}

.expertise-image{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

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

.expertise-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 20px;
}

.expertise-counter-item-list{
	position: relative;
	max-width: 250px;
	background: var(--secondary-color);
	border-radius: 20px;
	text-align: center;
	padding: 30px;
	z-index: 1;
}

.expertise-counter-item{
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 40px;
	padding-bottom: 40px;
}

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

.expertise-counter-item h2{
	font-size: 40px;
	line-height: 1em;
}

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

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

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

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

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

.pricing-item-header{
	position: relative;
}

.pricing-item-image figure{
	display: block;
	border-radius: 10px;
}

.pricing-item-image img{
	width: 100%;
	aspect-ratio: 1 / 0.522;
	object-fit: cover;
	border-radius: 10px;
}

.pricing-item-price{
	position: relative;
	width: 80px;
	height: 80px;
	background: var(--primary-color);
	border: 4px solid var(--secondary-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: -40px 40px 0 auto;
	transition: all 0.4s ease-in-out;
}

.pricing-item:hover .pricing-item-price{
	background: var(--accent-color);
}

.pricing-item-price h2{
	font-size: 24px;
	color: var(--white-color);
}

.pricing-item-body{
	padding: 10px 30px 30px;
}

.pricing-item-content span{
	position: relative;
	display: inline-block;
	font-size: 14px;
	font-weight: 500;
	border: 1px solid var(--divider-color);
	border-radius: 100px;
	line-height: 1.3em;
	padding: 6px 16px 6px 32px;
    margin-bottom: 15px;
}

.pricing-item-content span::before{
	content: '';
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background: var(--accent-color);
    border-radius: 50%;
}

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

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

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

.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{
    display: inline-flex;
    align-items: center;
	gap: 10px;
	line-height: normal;
}

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

/************************************/
/*** 	12. Our Appointment css   ***/
/************************************/

.our-appointment{
	position: relative;
	background: #050505;
	padding: 0;
	overflow: hidden;
}

.our-appointment::before{
	display: none;
}

.our-appointment .container-fluid{
	position: relative;
}

.appointment-layout{
	min-height: 680px;
}

.appointment-image{
	height: 100%;
	min-height: 680px;
	overflow: hidden;
}

.appointment-image img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1.01);
	transition: transform 0.7s ease, filter 0.4s ease;
}

.our-appointment:hover .appointment-image img{
	transform: scale(1.05);
	filter: saturate(1.05) contrast(1.03);
}

.appointment-form{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	min-height: 680px;
    background: #050505;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 0;
    padding: 70px 72px;
	box-shadow: none;
}

.appointment-form:before{
	display: none;
}

.appointment-form-header{
	position: relative;
	margin-bottom: 34px;
	padding-left: 26px;
}

.appointment-form-header:before{
	content: '';
	position: absolute;
	top: 7px;
	left: 0;
	width: 2px;
	height: 40px;
	background: var(--accent-color);
}

.appointment-form-header h2{
	color: var(--white-color);
	font-family: var(--default-font);
	font-size: 42px;
	font-weight: 500;
	line-height: 1.05em;
	text-transform: uppercase;
	margin: 0;
}

.appointment-form form{
	position: relative;
}

.appointment-form label{
	display: block;
	color: var(--white-color);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 3px;
	line-height: 1em;
	text-transform: uppercase;
	margin-bottom: 14px;
}

.appointment-form .form-control{
    font-size: 17px;
    font-weight: 400;
    line-height: 1.5em;
    color: var(--white-color);
	border: 1px solid rgba(255, 255, 255, 0.2);
    background-color: transparent;
    border-radius: 0;
    padding: 18px 20px;
    outline: none;
    box-shadow: none;
	transition: all 0.3s ease-in-out;
}

.appointment-form textarea.form-control{
	resize: vertical;
	min-height: 84px;
}

.appointment-form .form-control::placeholder,
.appointment-form .form-control.form-select option{
	color: rgba(255, 255, 255, 0.34);
	font-weight: 400;
}

.appointment-form .form-control::-webkit-calendar-picker-indicator{
	filter: invert(1);
	opacity: 0.45;
}

.appointment-form .form-control:focus{
	border-color: var(--accent-color);
	background: rgba(255, 255, 255, 0.04);
	box-shadow: 0 0 0 1px rgba(215, 21, 29, 0.4);
}

.appointment-form-btn{
	text-align: center;
	margin-top: 16px;
}

.appointment-form-btn .btn-default{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	width: auto;
	min-width: 300px;
	color: var(--white-color);
	background: var(--accent-color);
	padding: 22px 48px;
	border: none;
	border-radius: 0;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 5px;
	text-transform: uppercase;
	transition: all 0.35s ease-in-out;
}

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

.appointment-form-btn .btn-default i{
	transition: transform 0.35s ease-in-out;
}

.appointment-form-btn .btn-default:hover{
	color: var(--white-color);
	background: #a41117;
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(215, 21, 29, 0.28);
}

.appointment-form-btn .btn-default:hover i{
	transform: translateX(5px);
}

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

.our-testimonials{
	position: relative;
	background: url('../images/testimonial-bg.jpg') no-repeat center top/cover;
	padding: 100px 0;
	overflow: hidden;
}

.testimonial-featured{
	position: relative;
	text-align: center;
}

.testimonial-featured-slider{
	position: relative;
	padding-bottom: 0;
}

.testimonial-featured-card{
	position: relative;
	background: var(--white-color);
	border-radius: 14px;
	min-height: 360px;
	padding: 48px 54px;
	z-index: 2;
}

.testimonial-featured-quote{
	color: #df101c;
	font-size: 58px;
	line-height: 1em;
	margin-bottom: 18px;
}

.testimonial-featured-card p{
	max-width: 780px;
	color: var(--primary-color);
	font-size: 16px;
    font-weight: 400;
	line-height: 26px;
	margin: 0 auto 38px;
}

.testimonial-featured-card h3{
	color: var(--primary-color);
	font-size: 19px;
	font-weight: 600;
	line-height: 1.3em;
}

.testimonial-featured-image{
	position: relative;
	max-width: 430px;
	margin: 0 auto;
	text-align: center;
}

.testimonial-featured-image img{
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
	filter: grayscale(1);
}

.testimonial-featured-arrows{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 86px;
	left: 0;
	z-index: 4;
	pointer-events: none;
}

.testimonial-featured-arrow{
	position: absolute;
	top: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	color: var(--primary-color);
	background: var(--white-color);
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: 50%;
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);
	transform: translateY(-50%);
	transition: all 0.3s ease-in-out;
	pointer-events: auto;
}

.testimonial-featured-prev{
	left: -29px;
}

.testimonial-featured-next{
	right: -29px;
}

.testimonial-featured-arrow:hover{
	color: #df101c;
	transform: translateY(-50%) scale(1.08);
}

/************************************/
/*** 	   14. Our FAQs css       ***/
/************************************/

.our-faqs{
	background-color: rgba(255, 255, 255, 0.78);
	background-image: url('../images/section-bg-image-3.png');
	background-repeat: no-repeat;
	background-size: 200px auto;
	background-position: bottom -15px left -30px;
	padding: 100px 0;
}

.faqs-content{
	width: 100%;
	height: 100%;
	align-content: center;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid var(--divider-color);
	border-radius: 18px;
	box-shadow: 0 24px 60px rgba(21, 34, 77, 0.08);
	padding: 42px;
}

.faqs-content .section-title{
	margin-bottom: 34px;
}

.faqs-content .section-title .section-sub-title{
	color: var(--accent-color);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.faqs-content .section-title h2{
	font-size: 42px;
	line-height: 1.12em;
	text-transform: capitalize;
}

.faqs-content .section-title p{
	max-width: 520px;
	margin: 14px 0 0;
}

.faq-accordion .accordion-item{
	position: relative;
	background: rgba(255, 255, 255, 0.7);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	margin-bottom: 14px;
    padding: 0;
	overflow: hidden;
	transition: all 0.3s ease-in-out;
}

.faq-accordion .accordion-item:hover,
.faq-accordion .accordion-item:has(.accordion-button:not(.collapsed)){
	border-color: rgba(215, 21, 29, 0.28);
	box-shadow: 0 14px 34px rgba(21, 34, 77, 0.08);
	transform: translateY(-3px);
}

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

.faq-accordion .accordion-header .accordion-button{
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4em;
    background: transparent;
    color: var(--primary-color);
	border-bottom: none;
	border-radius: 0 !important;
	box-shadow: none;
	padding: 22px 58px 22px 24px;
	transition: all 0.3s ease-in-out;
}

.faq-accordion .accordion-item:last-child .accordion-header .accordion-button.collapsed{
	border-bottom: none;
}

.faq-accordion .accordion-item .accordion-button::after, 
.faq-accordion .accordion-item .accordion-button.collapsed::after{
    content: '\f13a';
    font-family: 'FontAwesome';
    position: absolute;
    right: 22px;
    top: 22px;
	font-size: 22px;
	color: var(--accent-color);
    transition: all 0.4s ease-in-out;
}

.faq-accordion .accordion-button:not(.collapsed)::after{
	transform: rotate(180deg);
	color: var(--accent-color);
}

.faq-accordion .accordion-item .accordion-body{
	padding: 0 24px 24px;
}

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

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

.faq-image{
	height: 100%;
}

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

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

.faq-cta-box{
	position: absolute;
	bottom: 40px;
	left: 40px;
	max-width: 260px;
	background: var(--white-color);
	border-radius: 20px;
	padding: 20px;
	z-index: 1;
}

.faq-cta-box .icon-box{
	margin-bottom: 20px;
}

.faq-cta-box .icon-box img{
	width: 100%;
	max-width: 50px;
}

.faq-cta-content h3{
	font-size: 20px;
	line-height: 1.3em;
}

.faq-brands-box{
	width: 100%;
	height: 100%;
	align-content: center;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid var(--divider-color);
	border-radius: 18px;
	box-shadow: 0 24px 60px rgba(21, 34, 77, 0.08);
	margin-left: 24px;
	padding: 42px;
}

.faq-brands-header{
	margin-bottom: 30px;
}

.faq-brands-header span{
	display: inline-block;
	color: var(--accent-color);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2em;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.faq-brands-header h3{
	font-size: 32px;
	line-height: 1.2em;
	text-transform: capitalize;
}

.faq-brands-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.faq-brand-item{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 92px;
	background: transparent;
	border: 1px solid var(--divider-color);
	border-radius: 12px;
	padding: 18px;
	overflow: hidden;
	transition: all 0.35s ease-in-out;
}

.faq-brand-item::before{
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(215, 21, 29, 0.08), rgba(255, 255, 255, 0));
	opacity: 0;
	transition: opacity 0.35s ease-in-out;
}

.faq-brand-item img{
	position: relative;
	width: 100%;
	max-width: 150px;
	max-height: 58px;
	object-fit: contain;
	filter: grayscale(0);
	opacity: 0.78;
	transition: all 0.35s ease-in-out;
	z-index: 1;
}

.faq-brand-item:hover{
	border-color: rgba(215, 21, 29, 0.45);
	box-shadow: 0 18px 38px rgba(21, 34, 77, 0.12);
	transform: translateY(-6px);
}

.faq-brand-item:hover::before{
	opacity: 1;
}

.faq-brand-item:hover img{
	filter: grayscale(1);
	opacity: 1;
	transform: scale(1.06);
}

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

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

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

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

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

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

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

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

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

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

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

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

.main-footer{
	padding: 50px 0;
	margin-bottom: 0;
}

.about-footer{
	background: var(--dark-divider-color);
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
	border-radius: 20px;
	overflow: hidden;
}

.about-footer-content-box{
	padding: 30px;
}

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

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

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

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

.about-footer-content ul li{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 5px;
	line-height: 1.4em;
	color: var(--white-color);
	border-bottom: 1px solid var(--dark-divider-color);
	margin-bottom: 10px;
	padding-bottom: 10px;
}

.about-footer-content ul li:last-child{
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.about-footer-content ul li span{
	font-size: 18px;
	font-weight: 500;
}

.footer-social-links{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	background: var(--accent-color);
	padding: 20px 30px;
}

.footer-social-links h2{
	font-size: 18px;
	color: var(--white-color);
}

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

.footer-social-links ul li a{
	width: 36px;
	height: 36px;
	color: var(--white-color);
	border: 1px solid var(--white-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.3s ease-in-out;
}

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

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

.footer-links-box{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 30px;
	margin-left: 3.125vw;
}

.footer-links{
	max-width: 32%;
}

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

.footer-links p{
	color: var(--white-color);
	margin-bottom: 30px;
}

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

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

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

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

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

.footer-newsletter-form{
	max-width: 42%;
}

.footer-newsletter-form .form-group{
	display: flex;
	flex-wrap: wrap;
	background: var(--dark-divider-color);
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
	border-radius: 30px;
	padding: 5px;
}

.footer-newsletter-form .form-group .form-control{
	width: calc(100% - 50px);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4em;
	color: var(--white-color);
	background: transparent;
	border: none;
	border-radius: 0;
	outline: none;
	box-shadow: none;
	padding: 5px 20px;
}

.footer-newsletter-form .form-group .form-control::placeholder{
	color: var(--white-color);
}

.footer-newsletter-form .form-group .newsletter-btn{
	width: 50px;
	height: 50px;
	background: var(--accent-color);
	border-radius: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: none;
	box-shadow: none;
	outline: none;
	padding: 0;
	transition: all 0.3s ease-in-out;
}

.footer-newsletter-form .form-group .newsletter-btn:hover{
	background: var(--white-color);
}

.footer-newsletter-form .form-group .newsletter-btn i{
	font-size: 24px;
	color: var(--white-color);
	margin-right: 2px;
	transition: all 0.3s ease-in-out;
}

.footer-newsletter-form .form-group .newsletter-btn:hover i{
	color: var(--primary-color);
}

.footer-contact-details{
	max-width: 42%;
}

.footer-contact-details h3{
	color: var(--accent-color);
	font-size: 24px;
	margin-bottom: 24px;
}

.footer-contact-location{
	position: relative;
	padding-left: 34px;
	margin-bottom: 24px;
}

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

.footer-contact-location-title{
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}

.footer-contact-location-title i{
	position: absolute;
	top: 2px;
	left: 0;
	color: var(--accent-color);
	font-size: 19px;
}

.footer-contact-location-title h4{
	color: var(--accent-color);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.25em;
}

.footer-contact-location p,
.footer-contact-location a{
	color: var(--white-color);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.55em;
	margin: 0;
}

.footer-contact-location a{
	display: inline-block;
	margin-top: 4px;
	transition: all 0.3s ease-in-out;
}

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

.footer-copyright-text{
	width: 100%;
	text-align: center;
	border-top: 1px solid var(--dark-divider-color);
	margin-top: 40px;
	padding-top: 40px;
}

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

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

.page-header{
	position: relative;
	background-image: url('../images/page-header-bg.jpg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 295px 0 160px;
	margin-top: 15px;
	overflow: hidden;
}

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

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

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

.page-header-box h1 span{
    font-style: italic;
}

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

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

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

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

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

.approach-item{
    position: relative;
    background: var(--bg-color);
    border-radius: 20px;
    min-height: 490px;
    height: calc(100% - 30px);
    margin-bottom: 30px;
    padding: 40px;
    overflow: hidden;
}

.approach-item:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--bg-color);
    border-radius: 20px;
    width: 100%;
    height: 100%;
    transition: all 0.5s ease-in-out;
    z-index: 1;
}

.approach-item.active::before, 
.approach-item:hover::before{
    transform: translate(100%, -100%);
}

.approach-item-image{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: all 0.4s ease-in-out;
}

.approach-item.active .approach-item-image,
.approach-item:hover .approach-item-image{
    opacity: 1;
}

.approach-item-image::after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;	
	background: var(--primary-color);
	opacity: 40%;
}

.approach-item-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.approach-item-image::after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;	
	background-color: var(--primary-color);
	opacity: 50%;
}

.approach-item-box-content{
    position: relative;
    display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 40px;
	height: 100%;
    z-index: 1;
}

.approach-item-header ul{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.approach-item-header ul li{
    position: relative;
    border: 1px solid var(--divider-color);
    line-height: normal;
    padding: 5px 16px 5px 32px;
    border-radius: 100px;
    transition: all 0.4s ease-in-out;
}

.approach-item-header ul li::before{
    content: '';
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background: var(--accent-color);
    border-radius: 50%;
}

.approach-item.active .approach-item-header ul li,
.approach-item:hover .approach-item-header ul li{
    border-color: var(--dark-divider-color);
}

.approach-item-header h2{
    font-size: 20px;
    line-height: 1.4em;
    margin-top: 15px;
    transition: all 0.4s ease-in-out;
}

.approach-item-body{
    padding-top: 40px;
    border-top: 1px solid var(--divider-color);
    transition: all 0.4s ease-in-out;
}

.approach-item.active .approach-item-body,
.approach-item:hover .approach-item-body{
    border-color: var(--dark-divider-color);
}

.approach-item-content p{
    transition: all 0.4s ease-in-out;
}

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

.approach-item-counter-box{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    margin-top: 40px;
}

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

.approach-item-counter-box .icon-box img{
    width: 100%;
    max-width: 24px;
}

.approach-item-counter-content{
    width: calc(100% - 65px);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
}

.approach-item-counter-content h3{
    font-size: 30px;
    transition: all 0.4s ease-in-out;
}

.approach-item-counter-content p{
    margin: 0;
    transition: all 0.4s ease-in-out;
}

.approach-item.active .approach-item-header ul li,
.approach-item:hover .approach-item-header ul li,
.approach-item.active .approach-item-header h2,
.approach-item:hover .approach-item-header h2,
.approach-item.active .approach-item-content p,
.approach-item:hover .approach-item-content p,
.approach-item.active .approach-item-counter-content h3,
.approach-item:hover .approach-item-counter-content h3,
.approach-item.active .approach-item-counter-content p,
.approach-item:hover .approach-item-counter-content p{
    color: var(--white-color);
}

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

.cta-box-content{
    position: sticky;
    top: 30px;
}

.schedule-box{
    width: 100%;
    max-width: 410px;
    background: var(--dark-divider-color);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    border-radius: 20px;
    margin: 0 0 auto auto;
}

.schedule-box-header{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    border-bottom: 1px solid var(--dark-divider-color);
    padding: 30px  30px 40px 30px;
}

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

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

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

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

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

.schedule-box-header-content{
    width: calc(100% - 55px);
}

.schedule-box-header-content h3{
    color: var(--white-color);
    font-size: 20px;
}

.schedule-box-body{
    padding: 40px 30px 30px;
}

.schedule-box-list ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

.schedule-box-list ul li{
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    font-size: 18px;
    font-weight: 600;
    color: var(--white-color);
    line-height: 1.5em;
    border-bottom: 1px solid var(--dark-divider-color);
    margin-bottom: 20px;
    padding-bottom: 20px;
}

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

.schedule-box-list ul li span{
    font-size: 16px;
    font-weight: 400;
}

.schedule-box-btn{
    margin-top: 50px;
}

.cta-box-footer-list{
    display: flex;
    flex-wrap: wrap;
    gap: 30px 5.208vw;
    border-top: 1px solid var(--dark-divider-color);
    margin-top: 80px;
    padding-top: 80px;
}

.cta-box-footer-item{
    position: relative;
    width: calc(25% - 3.906vw);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
}

.cta-box-footer-item:before{
    content: '';
    position: absolute;
    top: 0;
    right: -2.604vw;
    bottom: 0;
    width: 1px;
    height: 100%;
    background-color: var(--dark-divider-color);
}


.cta-box-footer-item:nth-child(4n + 4):before{
    display: none;
}

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

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

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

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

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

.cta-box-footer-item-content{
    width: calc(100% - 65px);
}

.cta-box-footer-item-content h3{
	font-size: 20px;
	line-height: 1.3em;
    color: var(--white-color);
}

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

.team-item{
	position: relative;
	background: var(--secondary-color);
	border-radius: 20px;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 40px;
	height: calc(100% - 30px);
    margin-bottom: 30px;
	padding: 40px 30px 0;
    overflow: hidden;
}

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

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

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

.team-item-image figure{
	display: block;
	border-radius: 20px 20px 0 0;
}

.team-item-image img{
	width: 100%;
	max-width: 260px;
    aspect-ratio: 1 / 1.385;
    object-fit: cover;
	border-radius: 20px 20px 0 0;
}

.team-social-list{
    position: absolute;
    right: 30px;
    bottom: 30px;
    left: 30px;
    transform: translateY(30px);
	opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease-in-out;
    z-index: 1;
}

.team-item:hover .team-social-list{
    transform: translateY(0);
	opacity: 1;
    visibility: visible;
}

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

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

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

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

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

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

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

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

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

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

.page-category-list .page-category-list-title{
	font-size: 20px;
	color: var(--white-color);
	background: var(--primary-color);
	padding: 25px 30px;
}

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

.page-category-list ul li{
	font-weight: 500;
	line-height: 1.5em;
    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: 2px;
    right: 0;
    transform: translateX(-2px);
	background: url('../images/arrow-primary.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: translateX(0);
}

.sidebar-cta-box{
    background: var(--primary-color);
    border-radius: 20px;
    text-align: center;
    overflow: hidden;
}

.sidebar-cta-content-box{
    padding: 40px;
}

.sidebar-cta-content-box .icon-box{
    margin-bottom: 40px;
}

.sidebar-cta-content-box .icon-box img{
    width: 100%;
    max-width: 149px;
}

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

.sidebar-cta-content ul{
    margin: 0;
    padding: 0;
    list-style: none;
}

.sidebar-cta-content ul li{
    line-height: 1.5em;
    color: var(--white-color);
    margin-bottom: 20px;
}

.sidebar-cta-content ul li:last-child{
    margin-bottom: 0;
}

.sidebar-cta-content ul li a{
    font-size: 20px;
    font-weight: 600;
    text-decoration: underline;
    color: inherit;
    transition: all 0.3s ease-in-out;
}

.sidebar-cta-content ul li a:hover{
    color: var(--accent-color);
}

.sidebar-cta-contact-btn a{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    font-size: 20px;
    font-weight: 600;
    color: var(--white-color);
    background: var(--accent-color);
    transition: all 0.4s ease-in-out;
    padding: 20px;
}

.sidebar-cta-contact-btn a img{
    width: 100%;
    max-width: 30px;
    transition: all 0.4s ease-in-out;
}

.sidebar-cta-contact-btn a:hover{
    background: var(--white-color);
    color: var(--primary-color);
}

.sidebar-cta-contact-btn a:hover img{
    filter: brightness(0) invert(0);
}

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

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

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

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

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

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

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

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

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

.service-entry ul li{
    border: 1px solid var(--divider-color);
    border-radius: 100px;
	line-height: 1.5em;
    padding: 4px 16px;
}

.service-facility-box,
.service-usage-box,
.service-benefits-box{
    margin-top: 60px;
}

.service-facility-info-box{
    margin-top: 40px;
}

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

.service-facility-item-list:nth-child(2n + 2){
    flex-direction: row-reverse;
}

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

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

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

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

.service-facility-content-box{
    background: var(--secondary-color);
    align-content: center;
	border-radius: 20px;
    padding: 40px;
}

.service-facility-content-header{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}

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

.service-facility-content-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;
}

.service-facility-content-box:hover .service-facility-content-header .icon-box::before{
	transform: scale(1);
}

.service-facility-content-header .icon-box img{
	position: relative;
	width: 100%;
	max-width: 20px;
	z-index: 1;
}

.service-facility-content-title{
    width: calc(100% - 55px);
}

.service-entry-counter-item-list{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-top: 40px;
}

.service-entry-counter-item{
    width: calc(33.33% - 20px);
    min-height: 270px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 30px;
    background: var(--secondary-color);
    border-radius: 20px;
    padding: 30px;
}

.service-entry-counter-item-header h3{
    font-size: 40px;
    font-weight: 500;
    line-height: 1em;
}

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

.service-usage-box .section-footer-text{
    margin-top: 40px;
}

.service-benefits-box{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-top: 40px;
}

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

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

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

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

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

.service-benefit-item{
    position: relative;
    border-bottom: 1px solid var(--divider-color);
    margin-bottom: 30px;
    padding: 0 0 30px 25px;
}

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

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

.service-benefit-item h3{
    margin-bottom: 5px;
}

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

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

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

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

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

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

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

.page-single-post{
	padding: 100px 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: 20px;
	overflow: hidden;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.post-entry blockquote p{
	font-size: 20px;
	font-weight: 500;
	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-color);
    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-color);
    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;
}

/************************************/
/***      22. Team Page css       ***/
/************************************/

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

/************************************/
/***   23. Team Single Page css   ***/
/************************************/

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

.team-single-image{
    background-color: var(--white-color);
    border-radius: 20px;
    text-align: center;
    padding: 50px 40px 0;
	margin-bottom: 60px;
}

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

.team-single-image img{
    width: 100%;
    max-width: 300px;
    aspect-ratio: 1 / 1.356;
    object-fit: cover;
    border-radius: 20px 20px 0 0;
}

.team-member-about,
.team-member-personal-info,
.team-member-education,
.team-member-specializations{
    margin-bottom: 60px;
}

.team-member-about-body{
    display: flex;
    flex-wrap: wrap;
    gap: 30px 50px;
    background-color: var(--white-color);
    border-radius: 20px;
    padding: 10px;
}

.team-contact-list{
    width: calc(58% - 25px);
    align-content: center;
    padding: 40px 0 40px 40px;
}

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

.team-contact-list ul li{
    color: var(--primary-color);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 25px;
	padding-bottom: 25px;
}

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

.team-contact-list ul li span{
    font-size: 20px;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 15px;
	max-width: 70%;
}

.team-contact-list ul li span img{
    width: 100%;
    max-width: 24px;
}

.team-about-body-image{
    width: calc(42% - 25px);
}

.team-about-body-image figure{
    display: block;
    height: 100%;
    border-radius: 10px;
}

.team-about-body-image img{
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1.09;
    object-fit: cover;
    border-radius: 10px;
}

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

.team-member-personal-info-list ul li{
    position: relative;
    width: calc(33.33% - 13.33px);
    line-height: 1.5em;
    padding-left: 25px;
}

.team-member-personal-info-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;
}

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

.team-education-item{
    width: calc(50% - 15px);
    background-color: var(--white-color);
    border-radius: 20px;
    padding: 30px;
}

.team-education-item h3{
    position: relative;
    font-size: 20px;
    padding-left: 30px;
}

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

.team-education-item h3 span{
    font-size: 16px;
    font-weight: 400;
}

.team-education-item p{
    margin: 15px 0 0;
}

.member-skill-list{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

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

.member-skill-list .skills-progress-bar .skill-data .skill-title,
.member-skill-list .skills-progress-bar .skill-data .skill-no{
    color: var(--text-color);
    font-weight: 400;
}

.member-skill-list .skills-progress-bar .skillbar .skill-progress{
    height: 10px;
}

.member-skill-list .skills-progress-bar .skillbar .skill-progress .count-bar{
    background-color: var(--primary-color);
}

.contact-us-form.team-contact-form{
    width: 100%;
    background-color: var(--white-color);
    border-radius: 20px;
    padding: 50px;
}

.contact-us-form.team-contact-form .contact-form .form-control{
    background: var(--bg-color);
}

/************************************/
/***     24. Pricing Page css     ***/
/************************************/

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

/************************************/
/***  25. Testimonials Page css   ***/
/************************************/

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

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

/************************************/
/***  	26. Image Gallery css	  ***/
/************************************/

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

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

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

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

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

/************************************/
/***  	27. Video Gallery css	  ***/
/************************************/

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

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

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

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

.video-gallery-image:hover a::before{
    opacity: 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-color);
	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.829;
	object-fit: cover;
	border-radius: 20px;
}

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

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

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

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

/************************************/
/***    29. Contact Us Page css   ***/
/************************************/

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

.contact-info-item{
    background-color: var(--white-color);
    border-radius: 20px;
    height: calc(100% - 30px);
    margin-bottom: 30px;
    padding: 30px;
}

.contact-info-item .icon-box{
    margin-bottom: 30px;
}

.contact-info-item .icon-box img{
    width: 100%;
    max-width: 40px;
}

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

.contact-info-item-content p{
    color: var(--primary-color);
    margin: 10px 0 0;
}

.contact-info-item-content p a{
    color: inherit;
    transition: all 0.4s ease-in-out;
}

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

.contact-info-item-btn{
    margin-top: 30px;
}

.contact-info-item-btn .btn-default{
    width: 100%;
    text-align: center;
    padding: 17px;
}

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

.map-contact-form-box{
	display: flex;
	flex-wrap: wrap;
	gap: 30px 60px;
    margin-top: 70px;
}

.google-map-iframe{
	width: calc(50% - 30px);
}

.google-map-iframe iframe{
	width: 100%;
	height: 100%;
	min-height: 660px;
	border-radius: 20px;
}

.contact-us-form{
	width: calc(50% - 30px);
	align-content: center;
}

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

.contact-form .form-control::placeholder{
	color: var(--primary-color);
	font-weight: 400;
}

/************************************/
/***  30. Book Appointment css    ***/
/************************************/

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

.page-appointment .appointment-info-item-list{
    background-color: var(--white-color);
}

.page-appointment .appointment-info-item-list .appointment-info-item .icon-box::before{
    background-color: var(--primary-color);
}

.page-appointment .appointment-info-item:hover .icon-box img{
    filter: none;
}

.page-appointment .appointment-info-item-list .appointment-info-item-content h3{
    color: var(--primary-color);
}

.page-appointment .appointment-info-item-list .appointment-info-item-content p{
    color: var(--text-color);
}

.page-appointment .appointment-info-item::before{
	background: var(--divider-color);
}

.page-appointment .appointment-info-item.location-item{
    border-color: var(--divider-color);
}

/************************************/
/***    31. 404 Error Page css    ***/
/************************************/

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

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

.error-page-image img{
	width: 100%;
	max-width: 610px;
}

.error-page-content{
	text-align: center;
}

.error-page-content .section-title{
	margin-bottom: 15px;
}

/************************************/
/***      32. Responsive css      ***/
/************************************/

@media only screen and (max-width: 1850px){
	
	.bg-section{
		width: calc(100% - 30px);
	}
}

@media only screen and (max-width: 1360px){

	header.main-header .header-sticky{
		width: calc(100% - 30px);
	}
}

@media only screen and (max-width: 1024px){

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

	.section-content-btn .section-btn{
		margin-top: 20px;
	}
	
	.section-title-content{
        margin-top: 10px;
    }

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

	.hero{
		height: auto;
	}

	.explore-card{
		min-height: 480px;
	}

	.cmax-experience-section{
		padding: 34px;
	}

	.cmax-experience-content{
		padding: 10px 0 0;
	}

	.cmax-experience-main{
		min-height: 520px;
	}

	.cmax-experience-side{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cmax-experience-small{
		min-height: 260px;
	}

	.cmax-services-showcase{
		padding: 70px 0;
	}

	.cmax-services-list{
		gap: 12px;
		min-height: 360px;
	}

	.cmax-service-overlay{
		right: 14px;
		bottom: 14px;
		left: 14px;
		padding: 18px;
	}
	.seasonal-drop-content{
		min-height: auto;
		padding: 60px 40px;
	}

	.seasonal-drop-gallery{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		min-height: auto;
	}

	.seasonal-drop-image{
		min-height: 360px;
	}

	.vision-compare-section .row{
		min-height: auto;
	}

	.vision-compare-content{
		min-height: auto;
		padding: 70px 40px;
	}

	.vision-compare-slider{
		min-height: 560px;
		border-radius: 0 0 24px 24px;
	}

    .hero-content{
        margin: 0 0 30px;
    }

    .hero-info-item-image img{
        aspect-ratio: 1 / 0.55;
    }

	.about-us-image-content-box{
		max-width: 740px;
		margin: 0 auto 30px;
	}

	.about-us-content{
		margin: 0;
	}

	.service-item-image figure img{
		aspect-ratio: 1 / 0.98;
	}

	.why-choose-image-box{
		max-width: 740px;
		margin: 0 auto 30px;
		height: auto;
	}

	.why-choose-content,
	.why-choose-image,
	.why-choose-image figure,
	.why-choose-image img{
		height: auto;
	}

	.why-choose-footer-list{
		margin-top: 40px;
		padding-top: 40px;
	}

	.what-we-do-content-box{
		height: auto;
		margin-bottom: 30px;
	}

	.what-we-do-images-box{
		height: auto;
		max-width: 750px;
		margin: 0 auto;
	}
 
	.what-we-image-box-1 .what-we-do-image img{
		aspect-ratio: 1 / 1.211;
	}

	.expertise-image-box{
		margin: 0 0 30px;
	}

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

	.our-appointment-content{
		margin-bottom: 30px;
	}

	.testimonial-item{
		min-height: 340px;
		gap: 30px;
		padding: 30px;
	}
	
	.testimonial-slider .swiper-wrapper .testimonial-item{
		transform: scale(1);
	}

	.testimonial-item-author{
		padding-top: 30px;
	}

	.our-testimonials{
		padding: 60px 0 0;
	}

	.testimonial-featured{
		max-width: 860px;
		margin: 0 auto 30px;
	}

	.testimonial-featured-card{
		min-height: 330px;
		padding: 42px;
	}

	.testimonial-featured-card p{
		font-size: 26px;
	}

	.testimonial-featured-image{
		max-width: 360px;
	}

	.faqs-content{
		height: auto;
		margin: 0 0 30px;
		padding: 32px;
	}

	.faqs-content .section-title h2{
		font-size: 38px;
	}

	.faq-accordion .accordion-item{
		margin-bottom: 14px;
	}

	.faq-accordion .accordion-header .accordion-button{
		padding: 20px 56px 20px 22px;
	}

	.faq-accordion .accordion-item .accordion-button::after,
	.faq-accordion .accordion-item .accordion-button.collapsed::after{
		font-size: 20px;
	}

	.faq-accordion .accordion-item .accordion-body{
		padding-top: 15px;
	}

	.faq-image-box{
		height: auto;
		margin: 0 auto;
		max-width: 740px;
	}

	.faq-image,
	.faq-image figure{
		height: auto;
	}
	
	.faq-image img{
		height: auto;
		aspect-ratio: 1 / 0.95;
	}

	.faq-cta-box{
		bottom: 30px;
		left: 30px;
	}

	.faq-brands-box{
		height: auto;
		margin: 0 auto;
		max-width: 740px;
		padding: 32px;
	}

	.faq-brands-grid{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.main-footer{
		padding: 50px 0 30px;
	}

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

	.footer-links-box{
		margin: 0;
	}

	.footer-copyright-text{
		margin: 0;
		padding-top: 30px;
	}

	.approach-item{
        min-height: 400px;
        padding: 30px;
    }

    .approach-item-box-content{
        gap: 30px;
    }

    .approach-item-header ul li{
        padding: 5px 12px 5px 28px;
    }

    .approach-item-header ul li::before{
        left: 12px;
    }

    .approach-item-body{
        padding-top: 30px;
    }

    .approach-item-counter-box{
        margin-top: 30px;
    }

    .cta-box-content{
        position: initial;
        margin-bottom: 30px;
    }

    .schedule-box{
		max-width: 100%;
        margin: 0;
    }

    .cta-box-footer-list{
        gap: 30px;
        margin-top: 50px;
        padding-top: 50px;
    }

    .cta-box-footer-item{
        width: calc(25% - 22.5px);
    }

    .cta-box-footer-item:before{
        right: -15px;
    }

    .page-single-sidebar{
        margin: 0;
    }

    .page-category-list .page-category-list-title,
    .page-category-list ul,
    .sidebar-cta-content-box{
        padding: 20px;
    }

    .sidebar-cta-content-box .icon-box,
    .sidebar-cta-content p{
        margin-bottom: 30px;
    }

    .sidebar-cta-content ul li{
        margin-bottom: 10px;
    }
    
    .sidebar-cta-contact-btn a{
        padding: 15px;
    }

    .sidebar-cta-contact-btn a img{
        max-width: 24px;
    }

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

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

    .service-facility-box,
    .service-usage-box,
    .service-benefits-box{
        margin-top: 40px;
    }

    .service-facility-info-box{
        margin-top: 30px;
    }

	.service-facility-content-box{
        padding: 25px;
    }

    .service-entry-counter-item-list{
        margin-top: 30px;
    }

    .service-entry-counter-item{
        width: calc(50% - 15px);
    }

    .service-usage-box .section-footer-text{
        margin-top: 30px;
    }

    .service-benefit-image,
    .service-benefit-content{
        width: 100%;
    }

    .service-benefit-image img{
        aspect-ratio: 1 / 0.83;
    }

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

    .service-benefit-item{
        margin-bottom: 20px;
        padding-bottom: 20px;
    }

    .team-single-image{
        padding: 30px 20px 0;
    }

	.team-member-about,
	.team-member-personal-info,
	.team-member-education,
	.team-member-specializations{
		margin-bottom: 40px;
	}

    .team-member-about-body{
        gap: 30px;
    }

    .team-contact-list{
        width: calc(58% - 15px);
		padding: 20px 0 20px 20px;
    }

    .team-contact-list ul li{
        margin-bottom: 20px;
        padding-bottom: 20px;
    }

    .team-contact-list ul li span{
        gap: 10px;
    }

    .team-about-body-image{
        width: calc(42% - 15px);
    }

    .team-education-item{
        padding: 20px;
    }

    .map-contact-form-box{
        flex-direction: column-reverse;
    }

    .google-map-iframe,
    .contact-us-form{
        width: 100%;
    }

    .contact-us-form.team-contact-form{
        padding: 30px;
    }
}

@media only screen and (max-width: 991px){

	.btn-default{
        padding: 15px 50px 15px 15px;
    }

	.about-story-section{
		padding: 60px 0;
	}

	.about-story-section .container-fluid{
		padding: 0 24px;
	}

	.about-story-row{
		margin-bottom: 60px;
	}

	.about-story-image,
	.about-history-image{
		max-width: 640px;
		margin: 0 auto;
	}

	.about-story-content,
	.about-history-content{
		max-width: 100%;
	}

	.btn-default::before{
		width: 36px;
		height: 36px;
		background-size: 18px auto;
	}
	
	header.main-header{
		top: 0px;
		right: 0px;
		left: 0px;
	}

	header.main-header .header-sticky{
		width: 100%;
		border-radius: 0;
	}
	
	header.main-header .header-sticky.active{
        width: 100%;
		border-radius: 0;
        top: 0;
	}

	.navbar{
		padding: 20px 0;
	}

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

	.slicknav_nav li,
	.slicknav_nav ul{
        display: block;
    }

	.header-btn{
		display: none;
	}

	body.home-page header.main-header .navbar{
		min-height: 74px;
	}

	body.home-page header.main-header .navbar > .container{
		padding: 0 15px;
	}

	body.home-page header.main-header .navbar-brand img{
		max-width: 220px;
	}

	.header-top-inner{
		justify-content: center;
		padding: 10px 0;
		text-align: center;
	}

	.header-social-links,
	.header-top-contact{
		justify-content: center;
		gap: 12px 20px;
	}

	.bg-section{
		width: 100%;
		border-radius: 0;
		margin: 0;
	}

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

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

	.section-title .section-sub-title{
		margin-bottom: 10px;
	}

	.section-title h1{
		font-size: 48px;
	}

	.section-title h2{
		font-size: 38px;
	}

	.section-title p{
		margin-top: 10px;
	}

	.hero{
		min-height: 800px;
        border-radius: 0;
        padding: 140px 0 50px;
        margin: 0;
    }

	.hero-info-item-image img{
        aspect-ratio: 1 / 0.66;
    }

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

	.about-us-body-content{
		padding: 10px 10px 10px 40px;
	}

	.about-us-footer{
		margin-top: 30px;
		padding-top: 30px;
		gap: 20px 30px;
	}

	.our-services{
		padding: 50px 0;
		background-position: top 20px left;
		background-size: 110px auto;
	}

	.service-item-body{
		position: absolute;
		right: 20px;
		bottom: 20px;
		left: 20px;
		transform: translateY(55px);
	}

	.service-readmore-btn{
		margin-top: 15px;
		padding-top: 15px;
	}

	.section-footer-text{
		margin-top: 10px;
	}

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

	.why-choose-cta-title h3{
		font-size: 26px;
	}

	.why-choose-body-item-content{
		margin-top: 10px;
	}

	.why-choose-footer{
		margin-top: 30px;
		padding-top: 30px;
	}

	.why-choose-footer-list{
		margin-top: 30px;
		padding-top: 30px;
	}

	.why-choose-footer-list ul li::before{
		font-size: 16px;
	}

	.our-core-features{
		padding: 50px 0;
	}

	.what-we-do{
		padding: 50px 0;
	}

	.what-we-do-client-box{
		gap: 20px;
	}

	.what-we-client-header-content h2{
		font-size: 26px;
	}

	.what-we-do-skill-list{
		padding-top: 20px;
	}

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

	.our-expertise{
		background-position: top -10px right -15px;
    	background-repeat: no-repeat;
    	background-size: 110px auto;
		padding: 50px 0;
	}

	.expertise-counter-item h2{
		font-size: 34px;
	}

	.expertise-footer-box{
		margin-top: 30px;
		padding-top: 30px;
	}

	.our-pricing{
		padding: 50px 0;
	}
	
	.pricing-item-price{
		width: 70px;
		height: 70px;
		margin-top: -35px;
	}
	
	.pricing-item-price h2{
		font-size: 22px;
	}

	.pricing-item-content span{
		padding: 5px 12px 5px 28px;
	}

	.pricing-item-content span::before{
		left: 12px;
	}
	
	.pricing-item-body{
		padding: 10px;
	}

	.pricing-item-list{
		margin-top: 20px;
		padding-top: 20px;
	}

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

	.pricing-benefit-list ul{
		gap: 15px 30px;
	}

	.pricing-benefit-list ul li img{
        max-width: 18px;
    }

	.our-appointment{
		padding: 0;
	}

	.appointment-layout{
		min-height: auto;
	}

	.appointment-image,
	.appointment-form{
		min-height: 560px;
	}

	.appointment-form{
		padding: 50px 32px;
	}

	.appointment-form-header h2{
		letter-spacing: 5px;
	}

	.appointment-form .form-control{
		padding: 14px 16px;
	}

	.appointment-form-btn{
		margin-top: 4px;
	}

	.appointment-form-btn .btn-default{
		min-width: 260px;
		padding: 18px 34px;
	}

	.our-testimonials{
		min-height: 640px;
		padding: 50px 0 0;
	}

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

	.our-faqs{
		background-size: 120px auto;
		padding: 50px 0;
	}

	.our-blog{
		padding: 50px 0 20px;
	}

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

	.main-footer{
		margin: 0;
	}

	.about-footer-content-box{
		padding: 20px;
	}

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

	.about-footer-content p{
		margin-bottom: 30px;
	}

	.about-footer-content ul li{
		margin-bottom: 15px;
		padding-bottom: 15px;
	}

	.footer-social-links{
		padding: 15px 20px;
	}

	.footer-links h3,
	.footer-links p{
		margin-bottom: 20px;
	}

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

	.footer-newsletter-form .form-group .form-control{
		width: calc(100% - 42px);
		padding: 5px 15px;
	}

	.footer-newsletter-form .form-group .newsletter-btn{
		width: 42px;
		height: 42px;
	}

	.footer-newsletter-form .form-group .newsletter-btn i{
		font-size: 18px;
	}

	.footer-contact-details h3{
		margin-bottom: 20px;
	}

	.footer-contact-location{
		margin-bottom: 18px;
	}

	.page-header{
        padding: 180px 0 90px;
    }

    .page-header-box h1{
        font-size: 48px;
    }

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

    .approach-item-counter-content h3{
        font-size: 26px;
    }

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

    .schedule-box-header{
        padding: 20px;
    }

    .schedule-box-body{
        padding: 20px;
    }
	
    .schedule-box-list ul li{
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

    .schedule-box-btn{
        margin-top: 30px;
    }

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

    .cta-box-footer-item:nth-child(4n + 4):before{
        display: block;
    }

    .cta-box-footer-item:nth-child(2n + 2):before,
    .cta-box-footer-item:last-child:before{
        display: none;
    }

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

    .team-item{
        gap: 20px;
        padding: 30px 20px 0;
    }

    .page-services{
        padding: 50px 0 20px;
    }

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

    .page-single-sidebar{
        position: initial;
    }

    .page-category-list,
    .page-single-sidebar{
        margin-bottom: 30px;
    }

	.page-category-list ul li{
		margin-bottom: 15px;
		padding-bottom: 15px;
	}

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

    .service-entry h2{
        font-size: 38px;
        margin-bottom: 15px;
    }

    .service-entry-counter-item-header h3{
        font-size: 34px;
    }

    .service-benefit-item::before{
        font-size: 16px;
    }
        
    .page-blog{
        padding: 50px 0;
    }

    .page-pagination{
        margin-top: 10px;
    }

    .page-single-post{
        padding: 50px 0;
    }
    
    .post-image{
        margin-bottom: 20px;
    }
    
    .post-entry h2{
        font-size: 38px;
    }
    
    .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-team{
        padding: 50px 0 20px;
    }

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

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

    .team-member-personal-info-list ul li::before{
        font-size: 16px;
    }

    .team-education-item h3{
        padding-left: 25px;
    }

    .team-education-item h3:before{
        font-size: 18px;
    }

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

    .page-testimonials{
        padding: 50px 0 20px;
    }

    .page-gallery{
        padding: 50px 0 20px;
    }
   
    .page-video-gallery{
        padding: 50px 0 20px;
    }

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

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

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

    .contact-info-item{
        padding: 20px;
    }

    .contact-info-item .icon-box{
        margin-bottom: 20px;
    }

    .contact-info-item-btn{
        margin-top: 20px;
    }

    .contact-info-item-btn .btn-default{
        padding: 15px;
    }

    .map-contact-form-box{
        margin-top: 20px;
    }

    .contact-form .form-control{
        padding: 13px 15px;
    }

	.google-map-iframe iframe{
        min-height: 500px;
    }

    .page-appointment{
        padding: 50px 0;
    }   
    
	.error-page{
		padding: 50px 0px;
	}
	
	.error-page-image{
		margin-bottom: 20px;
	}
}

@media only screen and (max-width: 767px){

	.about-story-section{
		padding: 46px 0;
	}

	.about-story-section .container-fluid{
		padding: 0 16px;
	}

	.about-story-row{
		margin-bottom: 44px;
	}

	.about-story-image,
	.about-history-image{
		border-radius: 34% 34% 20px 20px;
	}
	.about-story-image{
		display: none;
	}

	.about-story-image img,
	.about-history-image img{
		aspect-ratio: 1 / 0.95;
	}

	.about-story-badge{
		width: 112px;
		height: 112px;
		border-width: 8px;
		right: -4px;
	}

	.about-story-badge strong{
		font-size: 38px;
	}

	.about-story-badge span{
		font-size: 17px;
	}

	.about-story-content span,
	.about-history-content span{
		font-size: 18px;
	}

	.about-story-content h2,
	.about-history-content h2{
		font-size: 28px;
	}

	.about-story-content p,
	.about-history-content p{
		font-size: 16px;
		line-height: 1.65em;
	}

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

	.section-title h1{
		font-size: 28px;
	}

	.section-title h2{
		font-size: 26px;
	}

	.header-top-contact{
		gap: 8px 14px;
	}

	.header-top-contact a,
	.header-top-contact span{
		font-size: 11px;
		letter-spacing: 0.8px;
	}

	.watch-explore-section{
		padding: 50px 0;
	}

	.watch-explore-section .section-title{
		margin-bottom: 25px;
	}

	.watch-explore-section .section-title h2{
		font-size: 32px;
	}

	.featured-brands-strip{
		padding: 42px 0;
	}

	.featured-brands-list{
		gap: 12px;
	}

	.featured-brand-item{
		/*width: calc(50% - 6px);
		max-width: 180px;
		height: 48px;
		padding: 9px 18px;*/
	}
	.featured-brand-all{
		display: none;
	}

	.legendary-brands-section{
		padding: 34px 0 54px;
	}

	.legendary-brands-header{
		padding: 0 12px 18px;
	}

	.legendary-brands-slider{
		padding: 0 12px;
	}

	.legendary-brand-card{
		height: 520px;
	}

	.legendary-brand-card a,
	.legendary-brand-card .legendary-brand-label{
		font-size: 15px;
		letter-spacing: 3px;
	}

	.store-destination-section{
		padding: 0 12px 56px;
	}

	.store-destination-card{
		min-height: 340px;
	}

	.store-destination-card-large{
		min-height: 420px;
	}

	.store-destination-content{
		left: 26px;
		right: 26px;
		bottom: 26px;
	}

	.store-destination-content h2{
		font-size: 46px;
	}

	.store-destination-content h3{
		font-size: 22px;
	}

	.cmax-experience-section{
		margin-top: 0;
		padding: 24px;
		border-radius: 0 0 24px 24px;
	}

	.cmax-experience-content{
		text-align: center;
	}

	.cmax-experience-content span,
	.cmax-experience-btn{
		margin-left: auto;
		margin-right: auto;
	}

	.cmax-experience-content p{
		font-size: 16px;
	}

	.cmax-experience-main{
		min-height: 430px;
	}

	.cmax-experience-info{
		right: 16px;
		bottom: 16px;
		left: 16px;
		grid-template-columns: 1fr;
	}

	.cmax-experience-info a{
		padding: 16px 18px;
	}

	.cmax-experience-side{
		gap: 16px;
	}

	.cmax-experience-small{
		min-height: 210px;
	}

	.cmax-services-showcase{
		padding: 50px 0;
	}

	.cmax-services-showcase:before{
		width: 100%;
		clip-path: none;
		opacity: 0.7;
	}

	.cmax-services-showcase .section-title{
		margin-bottom: 18px;
		text-align: center;
	}

	.cmax-services-showcase .section-title h2{
		font-size: 32px;
	}

	.cmax-services-intro{
		font-size: 15px;
		line-height: 1.6em;
		text-align: center;
		margin-bottom: 28px;
	}

	.cmax-services-list{
		display: grid;
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.cmax-services-list:hover .cmax-service-card,
	.cmax-services-list .cmax-service-card:hover{
		flex: 1;
	}

	.cmax-service-card{
		min-height: 300px;
		border-radius: 16px;
	}

	.cmax-service-overlay{
		grid-template-columns: 1fr 40px;
		padding: 16px;
	}

	.cmax-service-overlay i{
		width: 40px;
		height: 40px;
	}
	.explore-card{
		min-height: 430px;
	}

	.explore-view-badge{
		top: 20px;
		left: 20px;
	}

	.explore-product-box{
		right: 20px;
		bottom: 20px;
		left: 20px;
	}

	.seasonal-drop-content{
		padding: 50px 24px;
		text-align: center;
		align-items: center;
	}

	.seasonal-drop-content p{
		margin-bottom: 30px;
	}

	.seasonal-drop-btn{
		min-height: 62px;
		padding: 18px 30px;
		font-size: 14px;
		letter-spacing: 2px;
	}

	.seasonal-drop-image{
		min-height: 320px;
	}

	.vision-compare-content{
		padding: 50px 24px;
		text-align: center;
		align-items: center;
	}

	.legendary-brands-header{
		align-items: flex-start;
	}

	.legendary-brands-header h2{
		font-size: 34px;
	}

	.legendary-brands-arrows{
		gap: 8px;
	}

	.legendary-brand-arrow{
		width: 38px;
		height: 38px;
	}

	.legendary-brand-card{
		height: 430px;
	}

	.legendary-brand-logo{
		bottom: 78px;
		font-size: 38px;
	}

	.store-destination-section{
		padding-bottom: 44px;
	}

	.store-destination-card,
	.store-destination-card-large{
		min-height: 320px;
	}

	.store-destination-card:before,
	.store-destination-card:hover:before{
		background: linear-gradient(180deg, rgba(17, 17, 17, 0.12) 0%, rgba(17, 17, 17, 0.86) 100%);
	}

	.store-destination-content{
		left: 20px;
		right: 20px;
		bottom: 22px;
	}

	.store-destination-content h2{
		font-size: 34px;
	}

	.store-destination-content h3{
		font-size: 20px;
	}

	.store-destination-content p{
		font-size: 15px;
	}

	.vision-compare-content h2{
		font-size: 34px;
		margin-bottom: 20px;
	}

	.vision-compare-content p{
		font-size: 16px;
		margin-bottom: 30px;
	}

	.vision-compare-slider{
		min-height: 420px;
		border-radius: 0 0 20px 20px;
	}

	.vision-compare-label{
		top: 18px;
		font-size: 12px;
		padding: 10px 14px;
	}

	.vision-compare-label.before{
		left: 18px;
	}

	.vision-compare-label.after{
		right: 18px;
	}

	.vision-compare-divider span{
		width: 62px;
		height: 62px;
	}

	.vision-compare-divider span i{
		font-size: 26px;
	}

	.home-banner-slider .swiper,
	.home-banner-slider .swiper-slide{
		/*height: 280px;*/
	}

	.home-banner-arrow{
		width: 42px;
		height: 42px;
	}

	.home-banner-prev{
		left: 12px;
	}

	.home-banner-next{
		right: 12px;
	}

	.hero-sub-heading .satisfy-client-image figure img{
		max-width: 30px;
	}

	.hero-info-list{
		gap: 20px;
	}

    .hero-info-item.trusted-patients-box{
		width: calc(58% - 10px);
		gap: 20px;
        padding: 15px;
	}

    .hero-info-item-image{
        width: calc(42% - 10px);
    }
	
	.about-us-image-content-box,
	.about-image-box{
		gap: 20px;
	}

	.about-image-box.box-1{
		width: calc(50% - 10px);
		background: transparent;
	}

	.about-image-box.box-2{
		width: calc(50% - 10px);
		background: transparent;
	}

	.about-cta-item{
		margin: 0;
	}

	.about-google-rating-box{
		margin: 0;
		padding: 15px;
	}

	.about-google-rating-content,
	.about-cta-item-content{
		width: 100%;
	}

	.about-cta-item-content h2,
	.about-google-rating-content p{
		font-size: 18px;
	}

	.about-image-box.box-2 .about-us-image figure{
		margin: 0;
		border: none;
		border-radius: 20px;
	}	

	.about-image-box.box-2 .about-us-image img{
		aspect-ratio: 1 / 1.68;
	}

	.about-us-body-image-box{
		width: 100%;
	}

	.about-us-body-image-box .icon-box{
		top: auto;
        right: auto;
        left: 50%;
		transform: translate(-50%, -50%);
	}

	.about-us-body-content{
		width: 100%;
		padding: 40px 10px 10px;
	}

	.about-us-body-content h3{
		font-size: 16px;
	}

	.about-us-footer{
		gap: 20px;
	}

	.about-author-name p{
		font-size: 14px;
	}

	.service-item-content h2{
		font-size: 18px;
	}

	.service-item-content p{
		margin: 5px 0 0;
	}

	.why-choose-image-box{
		padding: 0 0 70px;
	}
	
	.why-choose-cta-box{
		max-width: 100%;
		width: 300px;
		top: auto;
		left: 50%;
		bottom: 0;
		transform: translateX(-50%);
	}

	.why-choose-cta-body{
		margin-top: 10px;
	}

	.why-choose-body{
		gap: 20px;
	}

	.why-choose-body-item{
		width: 100%;
	}

	.why-choose-body-item-title h3{
		font-size: 18px;
	}

	.why-choose-footer{
		gap: 20px;
	}

	.why-choose-contact-box{
		gap: 10px;
	}

	.why-choose-contact-box .icon-box{
		width: 44px;
		height: 44px;
	}

	.why-choose-contact-box .icon-box img{
		max-width: 20px;
	}

	.why-choose-contact-content h3{
		font-size: 18px;
	}
	
	.why-choose-footer-list ul{
		gap: 10px;
	}

	.core-features-item{
		min-height: 170px;
		padding: 15px;
	}

	.core-feature-item-content h3{
		font-size: 16px;
	}

    .what-we-do-body{
        gap: 20px;
    }

	.what-we-do-client-box,
	.what-we-do-counter-box{
		width: 100%;
		padding: 20px;
	}

	.what-we-client-header-content h2{
        font-size: 22px;
    }

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

	.skills-progress-bar .skill-data{
		margin-bottom: 10px;
	}

	.skills-progress-bar .skill-data .skill-title,
	.skills-progress-bar .skill-data .skill-no{
		font-size: 16px;
	}

	.what-we-do-counter-content{
		margin-top: 15px;
	}

	.what-we-do-images-box{
		gap: 20px;
	}

	.what-we-image-box-1{
		width: 100%;
	}

	.what-we-image-box-2{
		width: 100%;
        flex-direction: initial;
		gap: 20px;
	}

	.what-we-image-box-1 .what-we-do-image,
	.what-we-image-box-1 .what-we-do-image figure,
	.what-we-image-box-1 .what-we-do-image img{
		height: auto;
	}

	.what-we-image-box-1 .what-we-do-image img{
        aspect-ratio: 1 / 1.01;
    }

    .what-we-image-box-2 .what-we-do-image{
        width: calc(50% - 10px);
    }

	.what-we-image-box-2 .what-we-do-image figure{
		height: 100%;
	}

	.what-we-do-info-box{
		min-height: auto;
        width: calc(50% - 10px);
		gap: 20px;
		padding: 15px;
	}

	.what-we-do-info-image img{
		max-width: 120px;
	}

	.what-we-do-info-content p{
        font-size: 14px;
		margin-top: 10px;
	}

	.expertise-counter-item{
		margin-bottom: 15px;
		padding-bottom: 15px;
	}

	.expertise-counter-item-list{
		max-width: 155px;
		padding: 15px;
	}

	.expertise-counter-item h2{
        font-size: 26px;
    }

	.expertise-counter-item p{
		font-size: 14px;
		margin: 5px 0 0;
	}

	.expertise-footer-box{
		gap: 20px;
	}

	.pricing-item-content h3{
		font-size: 18px;
	}

	.pricing-item-list{
        margin-top: 15px;
        padding-top: 15px;
    }

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

	.pricing-benefit-list ul{
        gap: 10px 20px;
    }

	.pricing-benefit-list ul li{
        font-size: 14px;
    }

	.pricing-benefit-list ul li img{
        max-width: 16px;
    }

	.appointment-info-item-list{
		gap: 12px;
		padding: 14px;
	}

	.appointment-info-item{
		width: 100%;
		gap: 12px;
		padding: 14px;
	}

	.appointment-info-item::before{
		display: none;
	}

	.appointment-info-item.location-item{
		padding: 14px;
		border: none;
	}

	.appointment-info-item .icon-box{
		flex-basis: 46px;
		width: 46px;
		height: 46px;
		border-radius: 14px;
	}

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

	.appointment-info-item-content h3{
		font-size: 18px;
	}
	
	.appointment-image{
		min-height: 360px;
	}

	.appointment-form{
        min-height: auto;
        padding: 38px 18px;
		border-left: none;
    }

	.appointment-form-header{
		margin-bottom: 20px;
		padding-left: 18px;
	}

	.appointment-form-header:before{
		height: 30px;
	}

	.appointment-form-header h2{
		font-size: 24px;
		letter-spacing: 3px;
	}

	.appointment-form label{
		font-size: 12px;
		letter-spacing: 2px;
	}

	.appointment-form-btn .btn-default{
		width: 100%;
		min-width: 0;
		gap: 16px;
		padding: 17px 20px;
		letter-spacing: 3px;
	}
	
	.testimonial-item{
		min-height: initial;
		gap: 20px;
		padding: 20px;
	}

	.testimonial-item-rating{
		margin-bottom: 15px;
	}

	.testimonial-item-content p{
		font-size: 16px;
	}

	.testimonial-item-author{
        padding-top: 20px;
    }

	.testimonial-author-content h2{
		font-size: 18px;
	}

	.our-testimonials{
		padding-top: 40px;
	}

	.testimonial-featured{
		margin-bottom: 24px;
	}

	.testimonial-featured-card{
		border-radius: 10px;
		min-height: 315px;
		padding: 34px 22px;
	}

	.testimonial-featured-quote{
		font-size: 44px;
		margin-bottom: 14px;
	}

	.testimonial-featured-card p{
		font-size: 20px;
		line-height: 1.28em;
		margin-bottom: 26px;
	}

	.testimonial-featured-card h3{
		font-size: 15px;
	}

	.testimonial-featured-image{
		width: min(330px, 78vw);
	}

	.testimonial-featured-slider{
		padding-bottom: 74px;
	}

	.testimonial-featured-arrows{
		top: auto;
		right: auto;
		bottom: 0;
		left: 50%;
		display: flex;
		gap: 14px;
		transform: translateX(-50%);
	}

	.testimonial-featured-arrow{
		position: relative;
		top: auto;
		bottom: auto;
		width: 50px;
		height: 50px;
		transform: none;
	}

	.testimonial-featured-prev,
	.testimonial-featured-next{
		left: auto;
		right: auto;
	}

	.testimonial-featured-arrow:hover{
		transform: translateY(-3px);
	}

	.faq-accordion .accordion-header .accordion-button{
		font-size: 16px;
		padding: 0px 25px 10px 0px;
	}

	.faq-accordion .accordion-item .accordion-button::after,
	.faq-accordion .accordion-item .accordion-button.collapsed::after{
        font-size: 18px;
    }

	.faq-accordion .accordion-item .accordion-body{
        padding: 0 20px 20px;
    }

	.faq-cta-box{
		max-width: 210px;
        bottom: 15px;
        left: 15px;
		border-radius: 12px;
		padding: 15px;
    }

	.faq-cta-box .icon-box{
		margin-bottom: 10px;
	}

	.faq-cta-box .icon-box img{
		max-width: 40px;
	}

	.faq-cta-content h3{
		font-size: 18px;
	}

	.faq-brands-header{
		text-align: center;
		margin-bottom: 24px;
	}

	.faqs-content{
		padding: 24px;
	}

	.faqs-content .section-title{
		text-align: center;
		margin-bottom: 24px;
	}

	.faqs-content .section-title h2{
		font-size: 28px;
	}

	.faqs-content .section-title p{
		margin: 10px auto 0;
	}

	.faq-accordion .accordion-header .accordion-button{
		font-size: 16px;
		padding: 18px 46px 18px 18px;
	}

	.faq-accordion .accordion-item .accordion-button::after,
	.faq-accordion .accordion-item .accordion-button.collapsed::after{
		right: 18px;
		top: 18px;
	}

	.faq-brands-box{
		padding: 24px;
	}

	.faq-brands-header h3{
		font-size: 24px;
	}

	.faq-brands-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.faq-brand-item{
		min-height: 78px;
		padding: 14px;
	}

	.faq-brand-item img{
		max-width: 125px;
		max-height: 46px;
	}

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

	.post-item-content h2{
		font-size: 18px;
	}

	.main-footer{
		padding-bottom: 15px;
	}

	.about-footer-content p{
        margin-bottom: 20px;
    }

	.footer-links h3{
		font-size: 18px;
		margin-bottom: 15px;
	}

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

	.footer-links{
		max-width: 100%;
	}

	.footer-contact-details{
		max-width: 100%;
	}

	.footer-copyright-text{
		padding-top: 15px;
	}

	.page-header-box h1{
        font-size: 28px;
    }

    .approach-item{
        min-height: 350px;
        padding: 20px;
    }

    .approach-item-box-content{
        gap: 20px;
    }

	.approach-item-header h2{
        font-size: 18px;
    }

    .approach-item-body{
        padding-top: 20px;
    }

    .approach-item-counter-box{
        margin-top: 20px;
    }

    .approach-item-counter-content h3{
        font-size: 22px;
    }

    .cta-box-footer-list{
        margin-top: 30px;
        padding-top: 30px;
    }

    .cta-box-footer-item{
        width: 100%;
    }

    .cta-box-footer-item:before{
        top: auto;
        right: 0;
        bottom: -15px;
        left: 0;
        width: 100%;
        height: 1px;
    }

    .cta-box-footer-item:nth-child(2n + 2):before{
        display: block;
    }

    .cta-box-footer-item:last-child:before{
        display: none;
    }

    .cta-box-footer-item-content h3{
        font-size: 18px;
    }

    .page-category-list .page-category-list-title{
        font-size: 18px;
        padding: 15px 20px;
    }

    .page-category-list ul li{
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

    .sidebar-cta-content-box .icon-box,
    .sidebar-cta-content p{
        margin-bottom: 20px;
    }

    .sidebar-cta-content ul li a,
    .sidebar-cta-contact-btn a{
        font-size: 18px;
    }

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

    .page-single-image img{
        aspect-ratio: 1 / 0.65;
    }

    .service-entry h2{
        font-size: 26px;
    }

    .service-entry h3{
        font-size: 18px;
    }

    .service-entry ul li{
        padding: 4px 12px;
    }

    .service-facility-item-list{
        gap: 20px;
        margin-bottom: 20px;
    }
    
    .service-facility-image,
    .service-facility-content-box{
        width: 100%;
    }

    .service-facility-content-box{
        padding: 20px;
    }

    .service-entry-counter-item-list{
        gap: 20px;
    }

    .service-entry-counter-item{
        width: 100%;
        min-height: auto;
        padding: 20px;
        gap: 20px;
    }

    .service-entry-counter-item-header h3{
        font-size: 28px;
    }

    .service-usage-list{
        padding-top: 20px;
    }

    .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{
		padding: 65px 20px 20px 20px;
	}

	.post-entry blockquote p{
		font-size: 16px;
	}

	.post-entry h2{
		font-size: 26px;
	}
	
	.tag-links{
		font-size: 18px;
	}

	.team-contact-list,
    .team-about-body-image{
        width: 100%;
    }

    .team-contact-list{
        padding: 20px 10px 0px 10px;
    }

    .team-contact-list ul li{
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

    .team-contact-list ul li span{
        font-size: 18px;
    }

    .team-contact-list ul li span img{
        max-width: 20px;
    }

    .team-about-body-image figure,
    .team-about-body-image img{
        height: auto;
    }

	.team-member-personal-info-list ul{
		gap: 10px;
	}

    .team-member-personal-info-list ul li{
        width: 100%;
    }

	.team-education-item-list{
		gap: 20px;
	}

    .team-education-item{
        width: 100%;
    }

    .team-education-item h3{
        font-size: 18px;
    }

    .team-education-item p{
        margin: 10px 0 0;
    }

	.member-skill-list{
		gap: 20px;
	}

    .member-skill-list .skills-progress-bar{
        width: 100%;
    }

    .contact-us-form.team-contact-form{
        padding: 20px;
    }

    .contact-info-item-content h2{
        font-size: 18px;
    }

    .contact-info-item-content p{
        margin-top: 5px;
    }

    .google-map-iframe iframe{
        min-height: 350px;
    }
}

/************************************/
.featured-video-clip {
  display: block;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
  width: 100%;
}
.page-services .legendary-brand-card{
	height: 415px;
}
.list-style li{
	line-height: 28px;
}

/* Contact locations */
.contact-locations-panel{
	position: relative;
	z-index: 1;
}

.contact-locations-header{
	margin-bottom: 28px;
}

.contact-locations-header span{
	display: inline-block;
	color: var(--accent-color);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.16em;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.contact-locations-header h2{
	font-size: 30px;
    font-weight: 500;
	letter-spacing: 0;
	margin-bottom: 14px;
}

.contact-locations-header p{
	color: #555;
	font-size: 16px;
	line-height: 1.7em;
	margin: 0;
}

.contact-location-card{
	display: grid;
	grid-template-columns: 0.92fr 1fr;
	gap: 22px;
	align-items: stretch;
	padding: 18px;
	margin-bottom: 22px;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(17, 17, 17, 0.08);
	border-radius: 24px;
	box-shadow: 0 22px 60px rgba(0, 0, 0, 0.08);
	transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.contact-location-card:last-child{
	margin-bottom: 0;
}

.contact-location-card:hover{
	transform: translateY(-6px);
	border-color: rgba(215, 21, 29, 0.22);
	box-shadow: 0 30px 72px rgba(0, 0, 0, 0.13);
}

.contact-location-map{
	position: relative;
	min-height: 280px;
	overflow: hidden;
	border-radius: 18px;
	background: #ededed;
}

.contact-location-map iframe{
	display: block;
	width: 100%;
	height: 100%;
	min-height: 280px;
	border: 0;
	filter: saturate(0.95) contrast(1.02);
}

.contact-location-content{
	padding: 12px 4px 10px;
}

.contact-location-title{
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
}

.contact-location-title i{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: var(--secondary-color);
	background: var(--accent-color);
	border-radius: 50%;
	box-shadow: 0 12px 28px rgba(215, 21, 29, 0.28);
}

.contact-location-title h3{
	font-size: 24px;
	font-weight: 500;
}

.contact-location-content ul{
	list-style: none;
	padding: 0;
	margin: 0;
}

.contact-location-content ul li{
	display: grid;
	grid-template-columns: 96px 1fr;
	gap: 8px;
	color: #000;
	font-size: 15px;
	line-height: 1.55em;
	margin-bottom: 12px;
}

.contact-location-content ul li strong{
	color: var(--primary-color);
	font-weight: 500;
}

.contact-location-content ul li a{
	color: #000;
}

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

.contact-directions-link{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--accent-color);
	font-weight: 500;
	margin-top: 10px;
	padding-top: 16px;
	border-top: 1px solid rgba(17, 17, 17, 0.1);
	width: 100%;
	transition: color 0.3s ease;
}

.contact-directions-link i{
	transition: transform 0.3s ease;
}

.contact-directions-link:hover{
	color: var(--primary-color);
}

.contact-directions-link:hover i{
	transform: translateX(5px);
}

@media only screen and (max-width: 1399px){
	.contact-location-card{
		grid-template-columns: 1fr;
	}
}

@media only screen and (max-width: 991px){
	.contact-locations-panel{
		margin-bottom: 10px;
	}

	.contact-location-card{
		grid-template-columns: 0.9fr 1fr;
	}
}

@media only screen and (max-width: 767px){
	.contact-locations-header h2{
		font-size: 30px;
	}

	.contact-location-card{
		grid-template-columns: 1fr;
		padding: 14px;
		border-radius: 18px;
	}

	.contact-location-map,
	.contact-location-map iframe{
		min-height: 240px;
	}

	.contact-location-content ul li{
		grid-template-columns: 1fr;
		gap: 3px;
	}
}

/* Brands directory page */
.brand-directory-section{
	padding: 95px 0 105px;
	background:
		radial-gradient(circle at 8% 10%, rgba(215, 21, 29, 0.08), transparent 28%),
		linear-gradient(180deg, #f7f7f7 0%, #ffffff 100%);
	overflow: hidden;
}

.brand-directory-layout{
	display: grid;
	grid-template-columns: 330px 1fr;
	gap: 70px;
	align-items: flex-start;
}

.brand-directory-media{
	position: sticky;
	top: 130px;
	display: grid;
	gap: 24px;
}

.brand-directory-image{
	position: relative;
	overflow: hidden;
	min-height: 260px;
	background: #111;
	border-radius: 6px;
	box-shadow: 0 22px 55px rgba(0, 0, 0, 0.12);
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.brand-directory-image::after{
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, 0.32));
	pointer-events: none;
}

.brand-directory-image img{
	width: 100%;
	height: 100%;
	min-height: 260px;
	object-fit: cover;
	transition: transform 0.7s ease, filter 0.35s ease;
}

.brand-directory-image:hover{
	transform: translateY(-6px);
	box-shadow: 0 28px 70px rgba(0, 0, 0, 0.18);
}

.brand-directory-image:hover img{
	transform: scale(1.07);
	filter: saturate(1.08) contrast(1.04);
}

.brand-directory-header{
	max-width: 780px;
	margin-bottom: 42px;
}

.brand-directory-header span{
	display: inline-block;
	color: var(--accent-color);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.16em;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.brand-directory-header h2{
	font-size: 40px;
	font-weight: 600;
	letter-spacing: 0;
	margin-bottom: 16px;
}

.brand-directory-header p{
	color: #555;
	font-size: 17px;
	line-height: 1.7em;
	margin: 0;
}

.brand-directory-grid{
	column-count: 2;
	column-gap: 70px;
}

.brand-letter-group{
	display: inline-block;
	width: 100%;
	margin-bottom: 34px;
	padding: 0 0 6px;
	break-inside: avoid;
	transition: transform 0.35s ease;
}

.brand-letter-group:hover{
	transform: translateX(6px);
}

.brand-letter-group h3{
	display: flex;
	align-items: center;
	gap: 18px;
	color: #888;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0.06em;
	margin-bottom: 17px;
}

.brand-letter-group h3::after{
	content: "";
	flex: 1;
	height: 2px;
	background: linear-gradient(90deg, rgba(215, 21, 29, 0.35), rgba(0, 0, 0, 0.12));
}

.brand-letter-group ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.brand-letter-group ul li{
	position: relative;
	display: flex;
	align-items: center;
	gap: 9px;
	width: fit-content;
	color: #000;
	font-size: 19px;
    font-weight: 500;
	line-height: 1.45em;
	margin-bottom: 8px;
	transition: color 0.25s ease, transform 0.25s ease;
}

.brand-letter-group ul li::before{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background: var(--accent-color);
	transition: width 0.3s ease;
}

.brand-letter-group ul li:hover{
	color: var(--accent-color);
	transform: translateX(4px);
}

.brand-letter-group ul li:hover::before{
	width: 100%;
}

.brand-letter-group ul li span{
	display: inline-flex;
	align-items: center;
	min-height: 22px;
	padding: 3px 10px;
	color: var(--secondary-color);
	font-size: 11px;
	font-weight: 500;
	line-height: 1;
	background: #000;
	border-radius: 999px;
	text-transform: none;
	white-space: nowrap;
}

@media only screen and (max-width: 991px){
	.brand-directory-section{
		padding: 70px 0;
	}

	.brand-directory-layout{
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.brand-directory-media{
		position: static;
		grid-template-columns: repeat(2, 1fr);
	}

	.brand-directory-image,
	.brand-directory-image img{
		min-height: 220px;
	}

	.brand-directory-grid{
		column-gap: 40px;
	}
}

@media only screen and (max-width: 767px){
	.brand-directory-section{
		padding: 55px 0;
	}

	.brand-directory-media{
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.brand-directory-image,
	.brand-directory-image img{
		min-height: 240px;
	}

	.brand-directory-header h2{
		font-size: 30px;
	}

	.brand-directory-header p{
		font-size: 15px;
	}

	.brand-directory-grid{
		column-count: 1;
	}

	.brand-letter-group{
		margin-bottom: 26px;
	}

	.brand-letter-group h3{
		font-size: 22px;
	}

	.brand-letter-group ul li{
		font-size: 18px;
	}
}

/* Book eye exam page */
.book-exam-section{
	position: relative;
	padding: 60px 0;
	background:
		radial-gradient(circle at 12% 18%, rgba(215, 21, 29, 0.1), transparent 30%),
		linear-gradient(135deg, #ffffff 0%, #f6f6f6 100%);
	overflow: hidden;
}

.book-exam-section::before{
	content: "";
	position: absolute;
	right: -180px;
	top: 90px;
	width: 420px;
	height: 420px;
	border: 60px solid rgba(215, 21, 29, 0.06);
	border-radius: 50%;
	pointer-events: none;
}

.book-exam-content{
	position: relative;
	z-index: 1;
	padding-right: 10px;
}

.book-exam-content > span,
.book-exam-form-header span{
	display: inline-block;
	color: var(--accent-color);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.16em;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.book-exam-content h2{
	font-size: 40px;
	font-weight: 500;
	letter-spacing: 0;
	margin-bottom: 24px;
}

.book-exam-content p{
	color: #000;
	font-size: 16px;
	line-height: 1.78em;
}

.book-exam-highlights{
	display: grid;
	gap: 16px;
	margin: 34px 0;
}

.book-exam-highlight{
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 18px;
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(17, 17, 17, 0.08);
	border-radius: 18px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.06);
	transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.book-exam-highlight:hover{
	transform: translateX(8px);
	border-color: rgba(215, 21, 29, 0.25);
	box-shadow: 0 22px 50px rgba(0, 0, 0, 0.1);
}

.book-exam-highlight i{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	color: var(--secondary-color);
	background: var(--accent-color);
	border-radius: 50%;
}

.book-exam-highlight h3{
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 6px;
}

.book-exam-highlight p{
	font-size: 16px;
	line-height: 1.55em;
	margin: 0;
}

.book-exam-image{
	position: relative;
	overflow: hidden;
	border-radius: 28px 120px 28px 28px;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.16);
}

.book-exam-image::after{
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, 0.35));
	pointer-events: none;
}

.book-exam-image img{
	display: block;
	width: 100%;
	min-height: 300px;
	object-fit: cover;
	transition: transform 0.7s ease, filter 0.35s ease;
}

.book-exam-image:hover img{
	transform: scale(1.07);
	filter: saturate(1.08) contrast(1.04);
}

.book-exam-form-wrap{
	position: relative;
	z-index: 1;
	padding: 42px;
	color: var(--secondary-color);
	background:
		linear-gradient(145deg, rgba(35, 35, 35, 0.98), rgba(0, 0, 0, 0.98)),
		var(--primary-color);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 30px;
	box-shadow: 0 35px 85px rgba(0, 0, 0, 0.22);
	overflow: hidden;
}

.book-exam-form-wrap::before{
	content: "";
	position: absolute;
	top: -120px;
	right: -120px;
	width: 260px;
	height: 260px;
	background: rgba(215, 21, 29, 0.24);
	border-radius: 50%;
	filter: blur(4px);
}

.book-exam-form-header{
	position: relative;
	z-index: 1;
	margin-bottom: 28px;
	padding-left: 20px;
	border-left: 3px solid var(--accent-color);
}

.book-exam-form-header h3{
	color: var(--secondary-color);
	font-size: 38px;
  font-weight: 500;
}

.book-exam-form{
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px 22px;
}

.book-exam-field.full-field,
.book-exam-submit{
	grid-column: 1 / -1;
}

.book-exam-field label{
	display: block;
	color: rgba(255, 255, 255, 0.86);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.14em;
	margin-bottom: 9px;
	text-transform: uppercase;
}

.book-exam-form .form-control{
	width: 100%;
	min-height: 54px;
	color: var(--secondary-color);
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 10px;
	box-shadow: none;
	padding: 14px 16px;
	transition: border-color 0.35s ease, background 0.35s ease, transform 0.35s ease;
}

.book-exam-form textarea.form-control{
	min-height: 118px;
	resize: vertical;
}

.book-exam-form .form-control::placeholder{
	color: rgba(255, 255, 255, 0.45);
}

.book-exam-form .form-control:focus{
	color: var(--secondary-color);
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(215, 21, 29, 0.85);
	transform: translateY(-2px);
}

.book-exam-form select.form-control option{
	color: var(--primary-color);
}

.book-exam-choice-group,
.book-exam-time-group{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.book-exam-choice,
.book-exam-time-group label{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	margin: 0;
	cursor: pointer;
}

.book-exam-choice input,
.book-exam-time-group input{
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.book-exam-choice span,
.book-exam-time-group span{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 12px 18px;
	color: rgba(255, 255, 255, 0.82);
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	transition: transform 0.35s ease, border-color 0.35s ease, background 0.35s ease, color 0.35s ease;
}

.book-exam-time-group{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.book-exam-time-group span{
	width: 100%;
	border-radius: 12px;
}

.book-exam-choice:hover span,
.book-exam-time-group label:hover span,
.book-exam-choice input:checked + span,
.book-exam-time-group input:checked + span{
	color: var(--secondary-color);
	background: var(--accent-color);
	border-color: var(--accent-color);
	transform: translateY(-3px);
}

.book-exam-submit{
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 6px;
}

.book-exam-submit .btn-default{
	border: none;
	background: var(--accent-color);
}

.book-exam-submit .btn-default:hover{
	background: var(--secondary-color);
	color: var(--primary-color);
	transform: translateY(-4px);
}

.book-exam-submit .btn-default i{
	margin-left: 8px;
	transition: transform 0.35s ease;
}

.book-exam-submit .btn-default:hover i{
	transform: translateX(5px);
}

.book-exam-submit p{
	color: rgba(255, 255, 255, 0.58);
	font-size: 13px;
	line-height: 1.5em;
	margin: 0;
}

@media only screen and (max-width: 991px){
	.book-exam-section{
		padding: 70px 0;
	}

	.book-exam-content{
		padding-right: 0;
	}

	.book-exam-form-wrap{
		padding: 32px;
	}
}

@media only screen and (max-width: 767px){
	.book-exam-section{
		padding: 55px 0;
	}

	.book-exam-content h2{
		font-size: 30px;
	}

	.book-exam-form-wrap{
		padding: 24px 18px;
		border-radius: 22px;
	}

	.book-exam-form{
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.book-exam-time-group{
		grid-template-columns: 1fr;
	}

	.book-exam-submit{
		align-items: flex-start;
		flex-direction: column;
	}

	.book-exam-image{
		border-radius: 22px;
	}
}

/* Eyeglasses lifestyle section */
.eyeglass-lifestyle-section{
	padding: 100px 0 90px;
	background:
		radial-gradient(circle at 8% 12%, rgba(215, 21, 29, 0.08), transparent 28%),
		linear-gradient(180deg, #ffffff 0%, #f7f7f7 100%);
	overflow: hidden;
}

.eyeglass-lifestyle-header{
	max-width: 780px;
	margin: 0 auto 55px;
}

.eyeglass-lifestyle-header span{
	display: inline-block;
	color: var(--accent-color);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.16em;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.eyeglass-lifestyle-header h2{
	font-size: 40px;
	font-weight: 600;
	margin-bottom: 16px;
}

.eyeglass-lifestyle-header p{
	color: #666;
	font-size: 18px;
	margin: 0;
}

.eyeglass-audience-card{
	position: relative;
	display: grid;
	grid-template-columns: minmax(300px, 0.82fr) 1fr;
	align-items: start;
	gap: 46px;
	margin-bottom: 46px;
	padding: 34px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(17, 17, 17, 0.08);
	border-radius: 34px;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.07);
	overflow: hidden;
	transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.eyeglass-audience-card:last-child{
	margin-bottom: 0;
}

.eyeglass-audience-card::before{
	content: "";
	position: absolute;
	inset: 18px;
	/*border: 1px solid rgba(215, 21, 29, 0.12);*/
	border-radius: 26px;
	pointer-events: none;
	opacity: 0;
	transform: scale(0.985);
	transition: opacity 0.35s ease, transform 0.35s ease;
}

.eyeglass-audience-card:hover{
	transform: translateY(-8px);
	border-color: rgba(215, 21, 29, 0.22);
	box-shadow: 0 34px 85px rgba(0, 0, 0, 0.12);
}

.eyeglass-audience-card:hover::before{
	opacity: 1;
	transform: scale(1);
}

.eyeglass-audience-media{
	position: relative;
	height: 100%;
	min-height: 380px;
	overflow: hidden;
	background: #111;
}

.eyeglass-audience-media img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.55s ease, filter 0.55s ease;
}

.eyeglass-audience-card:hover .eyeglass-audience-media img{
	transform: scale(1.06);
	filter: saturate(1.08) contrast(1.04);
}

.eyeglass-audience-content{
	position: relative;
	z-index: 1;
}

.eyeglass-audience-content span{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--accent-color);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.14em;
	margin-bottom: 16px;
	text-transform: uppercase;
}

.eyeglass-audience-content span::after{
	content: "";
	width: 42px;
	height: 1px;
	background: currentColor;
}

.eyeglass-audience-content h3{
	font-size: 40px;
	font-weight: 500;
	letter-spacing: 0;
	margin-bottom: 18px;
	text-transform: uppercase;
}

.eyeglass-audience-content p{
	color: #000;
	font-size: 16px;
	line-height: 1.78em;
	margin-bottom: 16px;
}

.eyeglass-audience-content p:last-child{
	margin-bottom: 0;
}

.senior-card .eyeglass-audience-media{
	border-radius: 130px 34px 34px 34px;
	box-shadow: inset 0 0 0 8px rgba(255, 255, 255, 0.5);
}

.senior-card::after{
	/*content: "Personal Fit";*/
	position: absolute;
	top: 36px;
	left: 36px;
	z-index: 2;
	padding: 11px 18px;
	color: var(--secondary-color);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.12em;
	background: var(--accent-color);
	border-radius: 999px;
	text-transform: uppercase;
}

.parent-card{
	grid-template-columns: 1.1fr minmax(300px, 0.78fr);
	background:
		linear-gradient(135deg, rgba(215, 21, 29, 0.08), transparent 36%),
		#ffffff;
}

.parent-card .eyeglass-audience-media{
	border-radius: 34px 130px 34px 34px;
}

.parent-card:hover .eyeglass-audience-media{
	animation: eyeglassSoftContract 0.7s ease both;
}

.student-card{
	grid-template-columns: minmax(320px, 0.9fr) 1fr;
	color: var(--secondary-color);
	background: linear-gradient(135deg, #111 0%, #1d1d1d 62%, #b4171e 100%);
}

.student-card::before{
	border-color: rgba(255, 255, 255, 0.16);
}

.student-card .eyeglass-audience-content h3,
.student-card .eyeglass-audience-content p{
	color: var(--secondary-color);
}

.student-card .eyeglass-audience-content p{
	opacity: 0.78;
}

.student-card .eyeglass-audience-content span{
	color: #ffffff;
}

.eyeglass-mosaic{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	min-height: 430px;
	padding: 10px;
	background: rgba(255, 255, 255, 0.08);
	border-radius: 26px;
}

.eyeglass-mosaic img{
	min-height: 0;
	border-radius: 18px;
}

.eyeglass-mosaic img:first-child{
	grid-row: span 2;
}

.student-card:hover .eyeglass-mosaic img:nth-child(even){
	transform: scale(0.96);
}

.warrior-card{
	grid-template-columns: 1fr minmax(300px, 0.72fr);
	background: #fff;
	border-left: 6px solid var(--accent-color);
}

.warrior-card .eyeglass-audience-media{
	border-radius: 34px 130px 34px 34px;
}

.warrior-card .eyeglass-audience-content{
	column-count: 1;
}

.warrior-card:hover .eyeglass-audience-media img{
	transform: scale(1.03) translateY(-8px);
}

@keyframes eyeglassSoftContract{
	0%{ transform: scale(1); }
	45%{ transform: scale(0.965); }
	100%{ transform: scale(1); }
}

@media only screen and (max-width: 991px){
	.eyeglass-lifestyle-section{
		padding: 70px 0;
	}

	.eyeglass-lifestyle-header{
		margin-bottom: 36px;
	}

	.eyeglass-audience-card,
	.parent-card,
	.student-card,
	.warrior-card{
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 24px;
		margin-bottom: 30px;
	}

	.parent-card .eyeglass-audience-media,
	.warrior-card .eyeglass-audience-media{
		order: -1;
	}

	.eyeglass-audience-media{
		min-height: 340px;
	}

	.eyeglass-mosaic{
		min-height: 360px;
	}
}

@media only screen and (max-width: 767px){
	.eyeglass-lifestyle-section{
		padding: 55px 0;
	}

	.eyeglass-lifestyle-header h2{
		font-size: 30px;
	}

	.eyeglass-lifestyle-header p{
		font-size: 15px;
	}

	.eyeglass-audience-card,
	.parent-card,
	.student-card,
	.warrior-card{
		padding: 18px;
		border-radius: 22px;
	}

	.eyeglass-audience-card::before{
		inset: 10px;
		border-radius: 17px;
	}

	.eyeglass-audience-media,
	.eyeglass-mosaic{
		min-height: 280px;
	}

	.senior-card .eyeglass-audience-media,
	.parent-card .eyeglass-audience-media,
	.warrior-card .eyeglass-audience-media{
		border-radius: 22px;
	}

	.senior-card::after{
		top: 26px;
		left: 26px;
		padding: 9px 14px;
		font-size: 10px;
	}

	.eyeglass-audience-content h3{
		font-size: 24px;
	}

	.eyeglass-audience-content p{
		font-size: 15px;
		line-height: 1.68em;
	}
}

/* CMAX services slider responsive safeguards */
.cmax-services-slider .cmax-services-list{
	display: flex;
	gap: 0;
}

.cmax-services-slider .cmax-service-card{
	flex: none;
}

@media only screen and (max-width: 991px){
	.cmax-services-arrows{
		justify-content: center;
		margin: 0 0 26px;
	}

	.cmax-services-slider .cmax-service-card{
		min-height: 360px;
	}
}

@media only screen and (max-width: 767px){
	.cmax-services-slider .cmax-services-list{
		display: flex;
		grid-template-columns: none;
		min-height: auto;
	}

	.cmax-services-slider .cmax-services-list:hover .swiper-slide:not(:hover),
	.cmax-services-slider .swiper-slide:hover{
		opacity: 1;
	}

	.cmax-services-slider .cmax-service-card{
		min-height: 300px;
	}
}

@media only screen and (max-width: 991px){
	.home-banner-content{
		right: 70px;
		left: 70px;
		max-width: 520px;
	}

	.home-banner-content h1{
		font-size: 42px;
	}

	.home-banner-content p{
		font-size: 16px;
	}
}

@media only screen and (max-width: 767px){
	.home-banner-slider .swiper-slide:before{
		/*background: linear-gradient(90deg, rgba(255, 255, 255, 0.76), rgba(255, 255, 255, 0.32));*/
	}

	.home-banner-content{
		left: 56px;
		right: 56px;
		padding: 0;
	}

	.home-banner-content:before{
		left: -14px;
		top: 2px;
		width: 3px;
		height: 78px;
	}

	.home-banner-kicker{
		font-size: 10px;
		margin-bottom: 8px;
	}

	.home-banner-kicker:before{
		width: 18px;
	}

	.home-banner-content h1{
		font-size: 24px;
		line-height: 1.08em;
		margin-bottom: 10px;
	}

	.home-banner-content p{
		display: none;
	}

	.home-banner-actions{
		gap: 10px;
	}

	.home-banner-btn{
		min-height: 38px;
		padding: 10px 14px;
		border-radius: 10px;
		font-size: 13px;
	}

	.home-banner-link{
		display: none;
	}
}
.backbtn{
	color: var(--accent-color);
}

/* FAQ page sticky left panel */
.faq-sticky-section{
	overflow: visible;
}

.faq-sticky-section .bg-section,
.faq-sticky-section .container,
.faq-sticky-section .row{
	overflow: visible;
}

.faq-sticky-section .faq-sticky-column{
	position: sticky;
	top: 120px;
	align-self: flex-start;
	height: max-content;
	z-index: 2;
}

.faq-sticky-section .book-exam-content{
	position: relative;
	top: auto;
	z-index: 2;
}

.faq-sticky-section .book-exam-content h2{
	margin-bottom: 28px;
}

.faq-sticky-section .book-exam-image{
	margin-top: 0;
}

@media only screen and (max-width: 991px){
	.faq-sticky-section{
		overflow: hidden;
	}

	.faq-sticky-section .faq-sticky-column{
		position: static;
		top: auto;
		height: auto;
	}
}

.home-promo-section{
	padding: 100px 0 0;
	background:url("../images/promotions.jpg") no-repeat center center/cover;
	overflow: hidden;
}

.home-promo-panel{
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1fr);
	align-items: stretch;
	min-height: 650px;
	/*! background:
		linear-gradient(110deg, #ffffff 0%, #ffffff 46%, rgba(227, 6, 19, 0.06) 46.2%, rgba(227, 6, 19, 0.14) 100%); */
	overflow: hidden;
	isolation: isolate;
}

.home-promo-panel:before,
.home-promo-panel:after{
	/*! content: ''; */
	/*! position: absolute; */
	/*! z-index: 0; */
	/*! pointer-events: none; */
}

.home-promo-panel:before{
	/*! inset: -22% 34% -28% auto; */
	/*! width: 420px; */
	/*! border: 1px solid rgba(0, 0, 0, 0.08); */
	/*! transform: rotate(28deg); */
}

.home-promo-panel:after{
	inset: 0 0 0 auto;
	width: 46%;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.84), rgba(255, 255, 255, 0.2)),
		radial-gradient(circle at 24% 35%, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0) 34%);
}

.home-promo-content{
	/*position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 720px;*/
	padding: 0px 0 0px 56px;
}

.home-promo-content .section-sub-title{
	color: var(--accent-color);
	font-size: 13px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-weight: 800;
	margin-bottom: 18px;
}

.home-promo-content .section-sub-title:before{
	background-color: var(--accent-color);
}

.home-promo-content h2{
	color: #000;
	font-size: 40px;
	line-height: 0.95em;
	font-weight: 600;
	margin-bottom: 24px;
}

.home-promo-content h2 span{
	/*! display: block; */
	color: #000;
}

.home-promo-content h2{
	color: var(--accent-color);
}

.home-promo-content p{
	color: #000;
	font-size: 16px;
	line-height: 1.45em;
	margin-bottom: 18px;
}

.home-promo-benefits{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 22px;
	max-width: 690px;
	margin: 22px 0 36px;
}

.home-promo-benefit{
	display: flex;
	align-items: start;
	gap: 14px;
	min-height: 62px;
	padding: 10px 14px;
	border-left: 2px solid rgba(227, 6, 19, 0.55);
	background: rgba(227, 6, 19, 0.10);
	transition: transform 0.35s ease, background-color 0.35s ease, box-shadow 0.35s ease;
}

.home-promo-benefit:hover{
	transform: translateX(8px);
	background: #ffffff;
	box-shadow: 0 14px 34px rgba(17, 17, 17, 0.08);
}

.home-promo-benefit i{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	color: var(--accent-color);
	background: rgba(227, 6, 19, 0.09);
	font-size: 18px;
}

.home-promo-benefit span{
	color: #151515;
	font-size: 18px;
	line-height: 1.25em;
	font-weight: 500;
}
.home-promo-benefit h5{
	color: var(--accent-color);
	padding--bottom: 5px;
}

.home-promo-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	align-self: flex-start;
	min-height: 64px;
	padding: 18px 34px;
	border-radius: 999px;
	color: #ffffff;
	background: var(--accent-color);
	font-size: 15px;
	line-height: 1em;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	box-shadow: 0 18px 42px rgba(227, 6, 19, 0.24);
	transition: transform 0.35s ease, box-shadow 0.35s ease, background-color 0.35s ease;
}

.home-promo-btn:hover{
	color: #ffffff;
	background: #111111;
	transform: translateY(-4px);
	box-shadow: 0 22px 48px rgba(17, 17, 17, 0.22);
}

.home-promo-btn i{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	color: var(--accent-color);
	background: #ffffff;
	transition: transform 0.35s ease;
}

.home-promo-btn:hover i{
	transform: translateX(5px);
}

.home-promo-visual{
	position: relative;
	z-index: 1;
	min-height: 650px;
	overflow: hidden;
}

.home-promo-main-image{
	position: absolute;
	inset: 0 0 0 18%;
	clip-path: ellipse(72% 88% at 65% 50%);
}

.home-promo-main-image:before{
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.05) 40%, rgba(0, 0, 0, 0.08));
}

.home-promo-main-image img,
.home-promo-product img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-promo-product{
	position: absolute;
	z-index: 3;
	width: 265px;
	height: 265px;
	border: 8px solid #ffffff;
	border-radius: 50%;
	overflow: hidden;
	background: #ffffff;
	/*! box-shadow: 0 24px 65px rgba(17, 17, 17, 0.18); */
	animation: promoFloat 5s ease-in-out infinite;
}

.home-promo-product-top{
	top: 5%;
	left: 2%;
}

.home-promo-product-bottom{
	left: 10%;
	bottom: 3%;
	animation-delay: 1.1s;
}

.home-promo-product-bottom img{
	object-fit: contain;
	padding: 0;
	background: #fafafa;
}

.home-promo-savings{
	position: absolute;
	right: 7%;
	bottom: 9%;
	z-index: 4;
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: 260px;
	padding: 18px 20px;
	color: #ffffff;
	background: rgba(17, 17, 17, 0.9);
	border-left: 4px solid var(--accent-color);
	box-shadow: 0 20px 50px rgba(17, 17, 17, 0.22);
}

.home-promo-savings strong{
	color: #ffffff;
	font-size: 54px;
	line-height: 0.9em;
	font-weight: 800;
}

.home-promo-savings span{
	color: #ffffff;
	font-size: 15px;
	line-height: 1.25em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

@keyframes promoFloat{
	0%, 100%{
		transform: translateY(0);
	}

	50%{
		transform: translateY(-14px);
	}
}

@media only screen and (max-width: 1199px){
	.home-promo-content h2{
		font-size: 62px;
	}

	.home-promo-content p{
		font-size: 18px;
	}

	.home-promo-product{
		width: 220px;
		height: 220px;
	}
}

@media only screen and (max-width: 991px){
	.home-promo-section{
		padding: 70px 0;
	}

	.home-promo-panel{
		grid-template-columns: 1fr;
		background: linear-gradient(180deg, #ffffff 0%, #fff8f8 100%);
	}

	.home-promo-content{
		max-width: 100%;
		padding: 56px 36px 36px;
	}

	.home-promo-visual{
		min-height: 520px;
	}

	.home-promo-main-image{
		inset: 0;
		clip-path: none;
	}

	.home-promo-product-top{
		top: 30px;
		left: 34px;
	}

	.home-promo-product-bottom{
		left: auto;
		right: 34px;
		bottom: 34px;
	}
}

@media only screen and (max-width: 767px){
	.home-promo-section{
		padding: 50px 0;
	}

	.home-promo-content{
		padding: 42px 22px 30px;
	}

	.home-promo-content h2{
		font-size: 44px;
	}

	.home-promo-content p{
		font-size: 16px;
	}

	.home-promo-benefits{
		grid-template-columns: 1fr;
		gap: 12px;
		margin-bottom: 28px;
	}

	.home-promo-benefit span{
		font-size: 16px;
	}

	.home-promo-btn{
		width: 100%;
		min-height: 56px;
		padding: 16px 24px;
		font-size: 15px;
	}

	.home-promo-visual{
		min-height: 430px;
		display: none;
	}
	.home-banner-content.left, .home-banner-content.right {
  display: none;
}

	.home-promo-product{
		width: 160px;
		height: 160px;
		border-width: 6px;
	}

	.home-promo-savings{
		right: 20px;
		left: 20px;
		bottom: 20px;
		max-width: none;
	}

	.home-promo-savings strong{
		font-size: 42px;
	}
}

/* Final home promotions feature timeline overrides */
.home-promo-section .home-promo-panel{
	grid-template-columns: minmax(420px, 0.9fr) minmax(420px, 1fr);
	min-height: 640px;
}

.home-promo-section .home-promo-content{
	position: relative;
	z-index: 4;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 30px 74px 72px;
	overflow: hidden;
}

.home-promo-section .home-promo-content:before{
	content: '';
	position: absolute;
	left: -190px;
	top: 58px;
	width: 410px;
	height: 520px;
	border: 0px solid rgba(227, 6, 19, 0.18);
	border-left: 0;
	border-radius: 0 100% 100% 0;
	pointer-events: none;
}

.home-promo-section .home-promo-content:after{
	content: '';
	position: absolute;
	left: -245px;
	top: -120px;
	width: 500px;
	height: 820px;
	background:transparent;
	transform: skewX(-12deg);
	pointer-events: none;
}

.home-promo-copy{
	position: relative;
	z-index: 2;
	max-width: 520px;
	margin: 0 0 30px 118px;
}

.home-promo-copy h2{
	color: var(--accent-color);
	font-size: 54px;
	line-height: 1em;
	font-weight: 800;
	margin-bottom: 14px;
}

.home-promo-copy h2 span{
	display: block;
	color: #111111;
}

.home-promo-copy p{
	color: #292929;
	font-size: 17px;
	line-height: 1.55em;
	margin: 0;
}

.home-promo-section .home-promo-benefits{
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 26px;
	max-width: 560px;
	margin: 0 0 34px 68px;
}

.home-promo-section .home-promo-benefit{
	position: relative;
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	align-items: center;
	gap: 26px;
	min-height: 92px;
	padding: 0;
	border-left: 0;
	background: transparent;
	box-shadow: none;
	transition: transform 0.35s ease;
}

.home-promo-section .home-promo-benefit:nth-child(2),
.home-promo-section .home-promo-benefit:nth-child(3){
	margin-left: 62px;
}

.home-promo-section .home-promo-benefit:nth-child(4){
	margin-left: 10px;
}

.home-promo-section .home-promo-benefit:before{
	content: '';
	position: absolute;
	left: -18px;
	top: 50%;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: none;
	box-shadow: none;
	transform: translateY(-50%);
}

.home-promo-section .home-promo-benefit:hover{
	transform: translateX(10px);
	background: transparent;
	box-shadow: none;
}

.home-promo-section .home-promo-benefit i{
	width: 88px;
	height: 88px;
	flex: 0 0 88px;
	color: var(--accent-color);
	background: #ffffff;
	border: 1px solid rgba(227, 6, 19, 0.22);
	border-radius: 50%;
	font-size: 31px;
	box-shadow: 0 18px 40px rgba(17, 17, 17, 0.12);
	transition: transform 0.35s ease, box-shadow 0.35s ease, color 0.35s ease, background-color 0.35s ease;
}

.home-promo-section .home-promo-benefit:hover i{
	color: #ffffff;
	background: var(--accent-color);
	transform: scale(1.07);
	box-shadow: 0 22px 45px rgba(227, 6, 19, 0.22);
}

.home-promo-section .home-promo-benefit h5{
	position: relative;
	display: inline-block;
	color: #171717;
	font-size: 20px;
	line-height: 1.18em;
	font-weight: 500;
	margin: 0 0 8px;
	padding: 0 0 10px;
}

.home-promo-section .home-promo-benefit h5:after{
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 72px;
	height: 2px;
	background: var(--accent-color);
	transition: width 0.35s ease;
}

.home-promo-section .home-promo-benefit:hover h5:after{
	width: 120px;
}

.home-promo-section .home-promo-benefit span{
	display: block;
	color: #5b5b5b;
	font-size: 15px;
	line-height: 1.4em;
	font-weight: 500;
}

.home-promo-section .home-promo-btn{
	position: relative;
	z-index: 2;
	margin-left: 25px;
}

@media only screen and (max-width: 1199px){
	.home-promo-section .home-promo-content{
		padding-left: 42px;
	}

	.home-promo-copy{
		margin-left: 92px;
	}

	.home-promo-copy h2{
		font-size: 46px;
	}

	.home-promo-section .home-promo-benefits{
		margin-left: 46px;
	}

	.home-promo-section .home-promo-benefit:nth-child(2),
	.home-promo-section .home-promo-benefit:nth-child(3){
		margin-left: 34px;
	}

	.home-promo-section .home-promo-btn{
		margin-left: 92px;
	}
}

@media only screen and (max-width: 991px){
	.home-promo-section .home-promo-panel{
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.home-promo-section .home-promo-content{
		padding: 58px 34px 42px;
	}

	.home-promo-section .home-promo-content:before{
		left: -230px;
		top: 90px;
		height: 470px;
	}

	.home-promo-copy{
		max-width: 620px;
		margin: 0 0 28px 96px;
	}

	.home-promo-section .home-promo-benefits{
		max-width: 620px;
		margin-left: 48px;
	}

	.home-promo-section .home-promo-btn{
		margin-left: 96px;
	}
}

@media only screen and (max-width: 767px){
	.home-promo-section .home-promo-content{
		padding: 38px 18px 34px;
	}

	.home-promo-section .home-promo-content:before,
	.home-promo-section .home-promo-content:after{
		display: none;
	}

	.home-promo-copy{
		margin: 0 0 24px;
	}

	.home-promo-copy h2{
		font-size: 38px;
	}

	.home-promo-copy p{
		font-size: 15px;
	}

	.home-promo-section .home-promo-benefits{
		gap: 14px;
		margin: 0 0 26px;
	}

	.home-promo-section .home-promo-benefit,
	.home-promo-section .home-promo-benefit:nth-child(2),
	.home-promo-section .home-promo-benefit:nth-child(3),
	.home-promo-section .home-promo-benefit:nth-child(4){
		grid-template-columns: 62px minmax(0, 1fr);
		gap: 16px;
		min-height: 78px;
		margin-left: 0;
		padding: 12px;
		background: rgba(255, 255, 255, 0.86);
		box-shadow: 0 12px 30px rgba(17, 17, 17, 0.08);
	}

	.home-promo-section .home-promo-benefit:before{
		display: none;
	}

	.home-promo-section .home-promo-benefit i{
		width: 58px;
		height: 58px;
		flex-basis: 58px;
		font-size: 22px;
	}

	.home-promo-section .home-promo-benefit h5{
		font-size: 19px;
		margin-bottom: 5px;
		padding-bottom: 7px;
	}

	.home-promo-section .home-promo-benefit span{
		font-size: 13px;
	}

	.home-promo-section .home-promo-btn{
		width: 100%;
		margin-left: 0;
	}
}
