
:root{
	--primary-color				: #0F2060;
	--secondary-color			: #F5F7F2;
	--text-color				: #3D5A6A;
	--accent-color				: #E63946;
	--white-color				: #FFFFFF;
	--divider-color				: #002F471A;
	--dark-divider-color		: #FFFFFF24;
	--error-color				: rgb(230, 87, 87);
	--default-font				: "Onest", sans-serif;
}

/* Fixed Promo Bar Styles */
.fixed-promo-bar {
	background-color: var(--primary-color);
	color: var(--white-color);
	padding: 10px 0;
	text-align: center;
	font-size: 15px;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1001;
	box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

.fixed-promo-bar p {
	margin: 0;
	/* line-height: 1.2; */
}

.fixed-promo-bar a {
	color: #FFD700;
	text-decoration: underline;
	font-weight: 700;
	margin-left: 10px;
}

.fixed-promo-bar a:hover {
	color: var(--white-color);
}

/* Floating Offer Badge */
.floating-offer-badge {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 100px;
    height: 100px;
    background-color: var(--accent-color);
    color: var(--white-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    cursor: pointer;
    z-index: 999;
    box-shadow: 0 10px 30px rgba(230, 57, 70, 0.4);
    animation: pulse-badge 2s infinite;
    border: 2px solid var(--white-color);
}

.badge-content {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.offer-text {
    font-size: 10px;
    font-weight: 600;
}

.discount-text {
    font-size: 20px;
    font-weight: 900;
}

@keyframes pulse-badge {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

/* Hero Form Offer Subtitle */
.offer-sub-title {
    background: var(--accent-color);
    color: var(--white-color);
    display: inline-block;
    padding: 5px 15px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 14px;
    margin-top: 10px;
    text-transform: uppercase;
}

/* Adjust Header for Promo Bar */
.header-fixed {
    top: 40px !important; /* promo bar height */
}

@media (max-width: 767px) {
    .fixed-promo-bar {
        font-size: 12px;
    }
    .header-fixed {
        top: 44px !important;
    }
}

.offer-badge {
	display: inline-block;
	background: var(--accent-color);
	color: var(--white-color);
	padding: 5px 15px;
	border-radius: 4px;
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	box-shadow: 0 4px 10px rgba(230, 57, 70, 0.3);
}

/************************************/
/*** 	   02. General css		  ***/
/************************************/

body{
	font-family: var(--default-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 1em;
	background-color: var(--white-color);
	color: var(--text-color);
}

::-webkit-scrollbar-track{
	background-color: var(--primary-color);
	border-left: 1px solid var(--primary-color);
}
::-webkit-scrollbar{
	width: 7px;
	background-color: var(--primary-color);
}
::-webkit-scrollbar-thumb{
	background: var(--accent-color);
}

::selection{
	color: var(--primary-color);
	background-color: var(--accent-color);
	filter: invert(1);
}

p{
	line-height: 1.6em;
	margin-bottom: 1.4em;
}

h1,
h2,
h3,
h4,
h5,
h6{
	margin : 0;
	font-weight: 700;
	line-height: 1.2em;
	color: var(--primary-color);
}

figure{
	margin: 0;
}

img{
	max-width: 100%;
}

a{
	text-decoration: none;
}

a:hover{
	text-decoration: none;
	outline: 0;
}

a:focus{
	text-decoration: none;
	outline: 0;
}

html,
body{
	width: 100%;
	overflow-x: clip;
}

.container{
	max-width: 1300px;
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl{
    padding-right: 15px;
    padding-left: 15px;
}

.image-anime{
	position: relative;
	overflow: hidden;
}

.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: 700;
	line-height: 1em;
	text-transform: capitalize;
	background: var(--accent-color);
	color: var(--white-color);
	border-radius: 100px;
	padding: 17px 30px;
	margin-right: 20px;
	border: none;
	transition: all 0.3s ease-in-out;
	z-index: 1;
	overflow: hidden;
}

.btn-default::after{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
  	left: 50%;
  	right: 50%;
  	opacity: 0;
	background: var(--primary-color);
	border-radius: 100px;
	transition: all 0.4s ease-in-out;
	z-index: -1;
}

.btn-default:hover{
	color: var(--white-color);
}
  
.btn-default:hover::after{
	left: 0;
  	right: 0;
	opacity: 1;
}

.btn-default:active{
	transform: scale(0.95);
}

.btn-default.btn-highlighted:hover{
	background: var(--white-color);
	color: var(--primary-color);
}

.btn-default.btn-highlighted::after{
	background: var(--white-color);
}

.btn-default.btn-highlighted:hover::after{
	left: 0;
  	right: 0;
	opacity: 1;
}

.readmore-btn{
	position: relative;
	display: inline-block;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6em;
	color: var(--accent-color);
	text-transform: capitalize;
	padding-right: 36px;
	transition: all 0.4s ease-in-out;
}

.readmore-btn:hover{
	color: var(--primary-color);
}

.readmore-btn:active{
	transform: scale(0.95);
}

.readmore-btn::before{
	content: '';
	position: absolute;
	display: block;
	right: 0;
	top: 0;
	width: 26px;
	height: 26px;
	background-color: var(--accent-color);
	background-image: url(../img/arrow-white.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 16px auto;
	border-radius: 50%;
	transform: translateX(-3px);
	transition: all 0.4s ease-in-out;
}

.readmore-btn:hover::before{
	color: var(--primary-color);
	background-color: var(--primary-color);
	transform: translateX(0px);
}


.section-row{
	margin-bottom: 80px;
}

.section-row .section-title{
	margin-bottom: 0;
}

.section-row .section-title.section-title-center{
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
	text-align: center;
}

.section-title{
	margin-bottom: 40px;
}

.section-title h3{
	position: relative;
	display: inline-block;
	font-size: 14px;
    font-weight: 500;
	line-height: 1.6em;
    text-transform: capitalize;
    color: var(--accent-color);
	background: var(--secondary-color);
	border-radius: 24px;
	padding: 4px 20px 4px 36px;
    margin-bottom: 15px;
}

.section-title h3::before{
	content: '';
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    background: var(--accent-color);
	border-radius: 50%;
    width: 6px;
    height: 6px;
}

.section-title h1{
	font-size: 50px;
	line-height: 1.1em;
	letter-spacing: -0.02em;
	margin-bottom: 0;
	
}

.section-title h2{
	font-size: 44px;
	line-height: 1.1em;
	letter-spacing: -0.02em;
	margin-bottom: 0;
	
}

.section-title h1 span,
.section-title h2 span{
	color: var(--accent-color);
}

.section-title p{
	margin-top: 20px;
	margin-bottom: 0;
}

.light-bg-section{
	background-color: var(--secondary-color);
}

.light-bg-section .section-title h3{
	background: var(--white-color);
	color: var(--accent-color);
}

.light-bg-section .section-title h3::before{
	background: var(--accent-color);
}

.dark-section{
	background-color: var(--primary-color);
}

.dark-section .section-title p,
.dark-section .section-title h1,
.dark-section .section-title h2{
	color: var(--white-color);
}



header.main-header{
	position: relative;
	z-index: 100;
}

header.main-header .header-fixed{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	background-color: var(--white-color);
	border-bottom: 1px solid var(--divider-color);
}

.navbar{
	margin: 8px 0 0;
	align-items: center;
}

.navbar-brand{
	padding: 0;
	margin: 0;
}

.main-menu .nav-menu-wrapper{
	flex: 1;
	text-align: center;
	margin: 0 20px;
}

.main-menu .nav-menu-wrapper > ul{
	align-items: center;
	display: inline-flex;
}

.main-menu ul li{
	margin: 0;
	position: relative;
}

.main-menu ul li.nav-item a{
    font-size: 14px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: bold;
    line-height: normal;
    padding: 15px !important;
    color: var(--text-color);
    transition: all 0.3s ease-in-out;
}

.main-menu ul li a:hover,
.main-menu ul li a:focus{
	color: var(--accent-color);
}

.main-menu ul li.highlighted-menu{
    display: none;
}

.responsive-menu,
.navbar-toggle,
.header-mobile-cta{
	display: none;
}

.responsive-menu{
	top: 0;
	position: relative;
}

.slicknav_btn{
	background: var(--accent-color);
	background-size: 200% auto;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin: 0;
	border-radius: 8px;
	transition: all 0.3s ease-in-out;
}

.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;
	letter-spacing: 0.02em;
	text-transform: capitalize;
	padding: 6px 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: 6px 20px 6px 30px;
}

.slicknav_arrow{
	font-size: 0 !important;
}

.slicknav_arrow:after{
	content: '\f107';
	font-family: 'FontAwesome';
	font-weight: 900;
	font-size: 12px;
	margin-left: 8px;
	color: var(--white-color);
	position: absolute;
	right: 15px;
    top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s ease-out;
}

.slicknav_open > a .slicknav_arrow:after{
    transform: translateY(-50%) rotate(-180deg);
	color: var(--primary-color);
}

/************************************/
/***         04. Hero css	      ***/
/************************************/

.hero{
	position: relative;
	background: url('../img/hero-bg-1.webp') no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 280px 0 140px;
}

.hero::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(270deg, rgba(0, 47, 71, 0.18) 21.87%, rgba(0, 47, 71, 0.9) 100%);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.hero-content{
	position: relative;
	z-index: 2;
}

.hero-content .section-title p{
	font-size: 18px;
}

.hero-btn{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px 30px;
}

.hero-features-body {
    margin-bottom: 30px;
}

.hero-features-list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.hero-features-list ul li {
    position: relative;
    color: var(--white-color);
    line-height: 1.5em;
    text-transform: capitalize;
    padding-left: 30px;
    margin-bottom: 15px;
}

.hero-features-list ul li::before {
    content: '\f058';
    position: absolute;
    font-family: 'FontAwesome';
    font-weight: 900;
    left: 0;
    top: 0;
    font-size: 16px;
    color: var(--accent-color);
}

.hero-form-box {
	position:relative;
	z-index:1;
    background: var(--white-color);
    padding: 40px;
    border-radius: 24px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.1);
}

.hero-contact-form .section-title h3,
.contact-us-form .section-title h3 {
    font-size: 24px;
    margin-bottom: 25px;
    color: var(--primary-color);
}

.hero-contact-form .form-control{
    background: var(--secondary-color);
    border: 1px solid transparent;
    border-radius: 12px;
    padding: 15px 20px;
    height: auto;
    font-size: 15px;
}
.contact-us-form .form-control {
    background: var(--white-color);
    border: 1px solid transparent;
    border-radius: 12px;
    padding: 15px 20px;
    height: auto;
    font-size: 15px;
}

.hero-contact-form .form-control:focus,
.contact-us-form .form-control:focus {
    border-color: var(--accent-color);
    box-shadow: none;
    background: var(--white-color);
}

.hero-contact-form textarea.form-control,
.contact-us-form textarea.form-control {
    height: auto;
}

.hero-contact-form .btn-default,
.contact-us-form .btn-default {
    width: 100%;
    margin-right: 0;
    text-align: center;
}

.hero-contact-form .form-label,
.contact-us-form .form-label {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 5px;
    display: block;
    color: var(--primary-color);
}

.hero-contact-form .form-label span,
.hero-contact-form .form-label .required_indc,
.contact-us-form .form-label span,
.contact-us-form .form-label .required_indc {
    color: #ff0000;
}

.hero-contact-form .form-label .muted,
.contact-us-form .form-label .muted {
    font-weight: 400;
    color: #888;
    font-size: 12px;
}

/* Form Validation Styles */
.form-control.error {
    border-color: #ff0000 !important;
}

label.error {
    color: #ff0000;
    font-size: 13px;
    font-weight: 500;
    margin-top: 5px;
    display: block;
    width: 100%;
}

.best-services .container-fluid{
	padding: 0;
}

.best-services-box{
	display: flex;
	flex-wrap: wrap;
}

.best-service-item{
	width: 25%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	border-right: 1px solid var(--divider-color);
	border-bottom: 1px solid var(--divider-color);
	padding: 40px 2.604vw;
}

.best-service-item:nth-child(4n + 4){
	border-right: none;
}

.best-service-item .icon-box{
	position: relative;
	width: 60px;
	height: 60px;
	background: var(--accent-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 20px;
}

.best-service-item .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: var(--primary-color);
    border-radius: 50%;
    height: 100%;
    width: 100%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
}

.best-service-item:hover .icon-box::before{
	transform: scale(1);
}

.best-service-item .icon-box img{
	position: relative;
	width: 100%;
	max-width: 30px;
	z-index: 1;
}

.best-service-item-content{
	width: calc(100% - 80px);
}

.best-service-item-content h3{
	font-size: 20px;
	text-transform: capitalize;
	margin-bottom: 10px;
}

/************************************/
/***       05. About Us css	      ***/
/************************************/

.about-us{
	padding: 100px 0;
}

.about-us-images{
    position: relative;
    padding: 0 55px 0 65px;
	margin-right: 10px;
}

.about-us-image,
.about-us-image figure{
    display: block;
    border-radius: 999px;
	overflow: hidden;
}

.about-us-image figure:before{
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--primary-color);
    opacity: 20%;
	border-radius: 999px;
    z-index: 0;
}

.about-us-image img{
    width: 100%;
    aspect-ratio: 1 / 1.58;
    object-fit: cover;
    border-radius: 999px;
}

.about-us-circle-img-1{
    position: absolute;
    bottom: 70px;
    left: 0;
	z-index: 1;
}

.about-us-circle-img-2{
    position: absolute;
    top: 70px;
    right: 0;
	z-index: 1;
}

.about-us-circle-img-1 figure,
.about-us-circle-img-2 figure{
	width: 100%;
    max-width: 160px;
    border-radius: 50%;
}

.about-us-circle-img-1 img,
.about-us-circle-img-2 img{
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border: 8px solid var(--white-color);
    border-radius: 50%;
}

.about-counter-list{
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	margin-top: 40px;
}

.about-counter-item{
	width: calc(25% - 30px);
}

.about-counter-item h2{
	font-size: 44px;
	margin-bottom: 4px;
}

.about-counter-item p{
	text-transform: capitalize;
	margin: 0;
}

/************************************/
/***     06. Our Services css     ***/
/************************************/

.our-services{
	padding: 100px 0;
}

.service-item{
	background: var(--white-color);
	border-radius: 24px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	overflow: hidden;
}

.service-image a{
	display: block;
	
}

.service-image img{
	width: 100%;
	aspect-ratio: 1 / 0.65;
	object-fit: cover;
	transition: all 0.4s ease-in-out;
}

.service-item:hover .service-image img{
	transform: scale(1.1);
}

.service-body{
	text-align: center;
	padding: 30px 18px;
}

.service-body .icon-box{
	position: relative;
	background: var(--accent-color);
	border: 4px solid var(--white-color);
	border-radius: 50%;
	width: 80px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	margin-top: -70px;
	margin-bottom: 20px;
	transition: all 0.3s ease-in-out;
	z-index: 1;
}

.service-body .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: var(--primary-color);
    border-radius: 50%;
    height: 100%;
    width: 100%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
}

.service-item:hover .service-body .icon-box::before{
	transform: scale(1);
}

.service-body .icon-box img,
.service-body .icon-box i{
	position: relative;
	max-width: 40px;
	font-size: 32px;
	color: var(--white-color);
	z-index: 1;
}

.service-content{
	margin-bottom: 20px;
}

.service-content h3{
	font-size: 20px;
	text-transform: capitalize;
	margin-bottom: 10px;
}

.service-content h3 a{
	color: inherit;
}

.service-content p{
	margin-bottom: 0;
}


.section-footer-text{
	margin-top: 30px;
	text-align: center;
}

.section-footer-text p{
	margin: 0;
}

.section-footer-text p span{
	font-weight: 500;
	color: var(--white-color);
	background: var(--accent-color);
	border-radius: 4px;
	padding: 4px 12px;
	margin-right: 10px;
}

.section-footer-text p a{
	color: var(--accent-color);
	font-weight: 600;
	text-transform: capitalize;
	text-decoration: underline;
	transition: all 0.3s ease-in-out;
}

.section-footer-text p a:hover{
	color: var(--primary-color);
}

/************************************/
/***     07. Our Features css     ***/
/************************************/

.our-features{
	padding: 100px 0;
}

.our-features-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.features-item{
	width: calc(50% - 15px);
	display: flex;
}

.features-item .icon-box{
	position: relative;
	background: var(--accent-color);
	border-radius: 50%;
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 10px;
	transition: all 0.3s ease-in-out;
	z-index: 1;
}

.features-item .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: var(--primary-color);
    border-radius: 50%;
    height: 100%;
    width: 100%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
}

.features-item:hover .icon-box::before{
	transform: scale(1);
}

.features-item .icon-box img,
.features-item .icon-box i{
	position: relative;
	max-width: 30px;
	font-size: 24px;
	color: var(--white-color);
	z-index: 1;
}

.features-item-content{
	width: calc(100% - 70px);
}

.features-item-content h3{
	font-size: 20px;
	text-transform: capitalize;
	margin-bottom: 10px;
}

.features-item-content p{
	margin: 0;
}

.features-image{
	position: relative;
	padding: 0 0 20px 45px;
	margin-left: 20px;
}

.features-image figure{
	display: block;
	border-radius: 24px;
}

.features-image figure img{
	width: 100%;
	aspect-ratio: 1 / 0.8937;
	object-fit: cover;
	border-radius: 24px;
}


@keyframes infiniterotate{
	from{
		transform: rotate(0deg);
	  }
	to{
		transform: rotate(360deg);
	}
}

/************************************/
/***    10. Why Choose Us css     ***/
/************************************/

.why-choose-us{
	padding: 100px 0;
}

.why-choose-box{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.why-choose-item{
	position: relative;
	width: calc(25% - 22.5px);
	background: var(--white-color);
	border-radius: 24px;
	overflow: hidden;
	padding: 30px 25px;
}

.why-choose-item::before{
	content: '';
    position: absolute;
    top: 100%;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: var(--primary-color);
    height: 100%;
    width: 100%;
    transition: all 0.4s ease-in-out;
}

.why-choose-item:hover::before{
	top: 0;
}

.why-choose-item .icon-box{
	position: relative;
	background: var(--accent-color);
	border-radius: 50%;
	width: 70px;
	height: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 40px;
	transition: all 0.3s ease-in-out;
	z-index: 1;
}

.why-choose-item .icon-box img{
	position: relative;
	max-width: 40px;
	z-index: 1;
}

.why-choose-item .icon-box span{
	position: relative;
	font-size: 26px;
	font-weight: 700;
	color: var(--white-color);
	z-index: 1;
}

.why-choose-item-content{
	position: relative;
	z-index: 1;
}

.why-choose-item-content h3{
	font-size: 20px;
	text-transform: capitalize;
	margin-bottom: 10px;
	transition: all 0.3s ease-in-out;
}

.why-choose-item-content p{
	margin: 0;
	transition: all 0.3s ease-in-out;
}

.why-choose-item:hover .why-choose-item-content h3,
.why-choose-item:hover .why-choose-item-content p{
	color: var(--white-color);
}

.page-cta-box{
	position: relative;
	width: calc(25% - 22.5px);
	background-color:var(--primary-color);
    background-size: cover;
	align-content: center;
    border-radius: 24px;
    padding: 50px 30px;
	overflow: hidden;
}

.page-cta-box::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: var(--primary-color);
	opacity: 70%;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.page-cta-box-info,
.page-cta-box .cta-contact-box{
	position: relative;
	z-index: 1;
}

.page-cta-box-info{
	margin-bottom: 40px;
}

.page-cta-box-info h3{
	font-size: 20px;
	line-height: 1.4em;
	color: var(--white-color);
}

.cta-contact-box p{
	font-weight: 600;
	text-transform: uppercase;
	color: var(--white-color);
	margin-bottom: 5px;
}

.cta-contact-item{
	display: flex;
	align-items: center;
}

.cta-contact-item .icon-box{
	width: 30px;
	height: 30px;
	background: var(--accent-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 8px;
}

.cta-contact-item .icon-box img{
	width: 100%;
	max-width: 16px;
}

.cta-contact-item-content h3{
	font-size: 20px;
	color: var(--white-color);
}

.cta-contact-item-content h3 a{
	color: inherit;
}

.why-choose-us .section-footer-text{
	margin-top: 50px;
}

/************************************/
/***       11. Our FAQs css	      ***/
/************************************/

.our-faqs{
	padding: 100px 0;
}

.our-faqs-images{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	margin-right: 20px;
}

.faqs-img-2,
.faqs-img-1{
	width: 100%;
}

.faqs-img-1{
	padding-right: 242px;
}

.faqs-img-2{
	max-width: 353px;
	margin: 0 auto;
	margin-right: 0;
	margin-top: -254px;
}

.faqs-img-3{
	position: absolute;
	top: 80px;
	right: 0;
	width: 100%;
	max-width: 222px;
}

.faqs-img-3 figure,
.faqs-img-2 figure,
.faqs-img-1 figure{
	display: block;
	border-radius: 18px;
}

.faqs-img-3 img,
.faqs-img-2 img,
.faqs-img-1 img{
	width: 100%;
	object-fit: cover;
	border-radius: 18px;
}

.faqs-img-1 figure img{
	aspect-ratio: 1 / 1.514;
}

.faqs-img-2 figure img{
	aspect-ratio: 1 / 1.02;
}

.faqs-img-3 figure img{
	aspect-ratio: 1 / 0.847;
}

.faq-accordion .accordion-item{
    border-bottom: 1px solid var(--dark-divider-color);
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.faq-accordion .accordion-item:last-child{
    margin-bottom: 0;
	padding-bottom: 0;
    border-bottom: none;
}

.faq-accordion .accordion-header .accordion-button{
    font-size: 20px;
	font-weight: 700;
    line-height: 1.4em;
    color: var(--white-color);
    padding-right: 30px;
    transition: all 0.3s ease-in-out;
}

.faq-accordion .accordion-button:not(.collapsed){
    margin-bottom: 10px;
}

.faq-accordion .accordion-item .accordion-button::after, 
.faq-accordion .accordion-item .accordion-button.collapsed::after{
    content: '';
    position: absolute;
    right: 0;
    top: 0;
	background: url('../img/arrow-white.svg') no-repeat;
	background-position: right center;
	background-size: cover;
    height: 24px;
    width: 24px;
	transform: rotate(90deg);
    transition: all 0.3s ease-in-out;
}

.faq-accordion .accordion-button:not(.collapsed)::after{
    transform: rotate(-90deg);
}

.faq-accordion .accordion-item .accordion-body{
	padding-right: 30px;
}

.accordion-item .accordion-body p{
	color: var(--white-color);
    margin-bottom: 15px;
}

.accordion-item .accordion-body p:last-child{
    margin-bottom: 0;
}

/************************************/
/*** 	  12. Testimonials Css 	  ***/
/************************************/	

.our-testimonials{
    background: url('../img/testimonial-bg-img.png') no-repeat;
    background-position: center center;
    background-size: auto;
    padding: 100px 0;
}

.testimonial-item{
    background: var(--white-color);
    border: 1px solid var(--divider-color);
    border-radius: 24px;
    padding: 40px;
    position: relative;
    transition: all 0.3s ease-in-out;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.testimonial-item:hover{
    /* transform: translateY(-5px); */
    border-color: var(--accent-color);
    box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}

.testimonial-rating{
    margin-bottom: 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.google-review-img{
    max-width: 40px;
    height: auto;
}

.rating-stars-img{
    max-width: 100px;
    height: auto;
}

.testimonial-content{
    flex: 1;
    margin-bottom: 30px;
}

.testimonial-content p{
    font-size: 18px;
    line-height: 1.6;
    color: var(--text-color);
    font-style: italic;
    margin-bottom: 0;
}

.testimonial-author{
    display: flex;
    align-items: center;
    gap: 15px;
    padding-top: 25px;
    border-top: 1px solid var(--divider-color);
}

.author-image{
    margin-bottom: 0;
}

.author-image figure{
    border-radius: 50%;
    display: block;
    margin: 0;
    overflow: hidden;
    border: 2px solid var(--accent-color);
}

.author-image img{
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: 50%;
}

.author-content h3{
    font-size: 18px;
    font-weight: 700;
    text-transform: capitalize;
    margin-bottom: 0;
    color: var(--primary-color);
}

.testimonial-pagination{
	position: relative;
	text-align: center;
	margin-top: 50px;
}

.testimonial-pagination .swiper-pagination-bullet{
    height: 10px;
    width: 10px;
    background: var(--text-color);
    opacity: 1;
    margin: 0 3px;
    transition: all 0.4s ease-in-out;
}

.testimonial-pagination .swiper-pagination-bullet-active{
	width: 20px;
    background: var(--accent-color);
	border-radius: 12px;
}

/************************************/
/*** 	   13. CTA Box Css    	  ***/
/************************************/

.cta-box{
	position: relative;
	background: url('../img/cta-box-bg.webp') no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 60px 0;
}

.cta-box::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: var(--primary-color);
    opacity: 80%;
	z-index: 0;
}



.cta-box-content{
    position: relative;
    z-index: 1;
}

.cta-btn .btn-default:last-child{
	margin-right: 0;
}

.cta-box-content .section-title p{
	color: var(--white-color);
	margin-bottom: 30px;
}

.cta-box-content .section-title{
	margin-bottom: 25px;
}


/************************************/
/*** 	    15. Footer Css   	  ***/
/************************************/

.main-footer{
    padding: 80px 0 0;
}

.main-footer{
	padding: 30px 0 20px;
}

.footer-logo{
    width: 100%;
}

.footer-logo img{
    width: 100%;
    max-width: 150px;
}

.footer-cta .btn-default{
    margin-right: 0;
}

.footer-copyright{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    border-top: 1px solid var(--dark-divider-color);
    padding-top: 20px;
    margin-top: 20px;
}

.footer-copyright-text{
    width: 100%;
    text-align: center;
}

.footer-copyright-text p{
    color: var(--white-color);
    margin-bottom: 0;
    font-size: 15px;
}


.navbar-brand img{
	max-width: 90px;
}
.hero-contact-form .section-title h2{
	color:var(--primary-color);
	text-align:center;
}


.contact-form-section{
    padding: 50px 0 100px;
}

.contact-us-box{
    background-color: var(--secondary-color);
    border-radius: 24px;
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
}

.contact-us-form,
.contact-us-image{
    width: 50%;
}

.contact-us-form{
    padding: 40px;
}

.contact-form .form-control{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
    color: var(--text-color);
    background-color: var(--white-color);
    border: 1px solid var(--divider-color);
    border-radius: 12px;
    padding: 15px 20px;
    box-shadow: none;
    outline: none;
}

.contact-form .form-control::placeholder{
    color: var(--text-color);
}

.contact-us-image figure{
    display: block;
    height: 100%;
}

.contact-us-image img{
    height: 100%;
    width: 100%;
    aspect-ratio: 1 / 0.99;
    object-fit: cover;
}
@media only screen and (max-width: 991px) {
    .contact-form-section {
        padding: 25px 0 50px;
    }
}
@media only screen and (max-width: 991px) {
    .contact-us-form, .contact-us-image {
        width: 100%;
    }
}
@media only screen and (max-width: 991px) {
    .section-title {
        margin-bottom: 30px;
    }
}
@media only screen and (max-width: 767px) {
    .section-title h2 {
        font-size: 24px;
    }
}

/************************************/
/***      32. Responsive css      ***/
/************************************/

@media only screen and (max-width: 991px){

	.btn-default{
		padding: 15px 20px;
		margin-right: 46px;
	}

	.btn-default::before{
		right: -46px;
		width: 46px;
		height: 46px;
	}



	.navbar{
		padding: 20px 0 5px;
		/* margin: 4px 0; */
	}

	.main-menu ul li.highlighted-menu{
		display: block;
	}
	
	.slicknav_nav li,
	.slicknav_nav ul{
        display: block;
    }

	.responsive-menu,
    .navbar-toggle,
    .header-mobile-cta{
        display: block;
    }

    .navbar > .container {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
    }

    .navbar-brand {
        margin-right: 0;
    }

    .header-mobile-cta {
        margin-left: auto;
        margin-right: 10px;
    }

    .header-mobile-cta .btn-default {
        padding: 8px 12px;
        font-size: 13px;
        line-height: 1;
        min-height: auto;
        height: 38px;
        display: flex;
        align-items: center;
        text-transform: uppercase;
        margin-right: 0;
    }

    .btn-default i {
        margin-right: 5px;
    }



	.section-row{
		margin-bottom: 40px;
	}

	.section-row .section-title.section-title-center{
		max-width: 100%;
	}

	.section-title{
		margin-bottom: 30px;
	}

	.section-title h3{
		padding: 4px 15px 4px 31px;
	}

	.section-title h3::before{
		left: 15px;
	}

	.cta-btn,
    .hero-btn {
        display: flex;
        flex-direction: column;
        gap: 15px;
        align-items: center;
    }

    .cta-btn .btn-default,
    .hero-btn .btn-default,
    .footer-cta .btn-default {
        margin-right: 0 !important;
        width: 100%;
        max-width: 400px; /* Limit width on larger mobile/tablets */
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 54px;
        padding: 15px 20px;
    }

    .cta-btn .btn-default::before,
    .hero-btn .btn-default::before,
    .footer-cta .btn-default::before {
        display: none !important;
    }

    .footer-cta {
        margin-top: 20px;
        text-align: center;
        display: flex;
        justify-content: center;
    }

	.section-title h1{
		font-size: 44px;
	}

	.section-title h2{
		font-size: 34px;
	}

	.section-title p{
		margin-top: 10px;
	}

	
	.hero{
		padding: 240px 0 70px;
	}


	.hero-content{
		margin-bottom: 30px;
	}

	.hero-content .section-title p{
		font-size: 16px;
	}

	

	.best-service-item{
		width: 50%;
		padding: 25px;
	}

	.best-service-item:nth-child(2n + 2){
		border-right: none;
	}

	.best-service-item .icon-box{
		width: 50px;
		height: 50px;
		margin-right: 10px;
	}

	.best-service-item .icon-box img{
		max-width: 26px;
	}

	.best-service-item-content{
		width: calc(100% - 60px);
	}

	.about-us{
		background-position: right bottom -20px;
		background-size: 80px auto;
		padding: 50px 0;
	}

	.about-us-images{
		position: relative;
		padding: 0 35px 0 45px;
		max-width: 60%;
		margin: 0 auto;
		margin-bottom: 30px;
	}

	.about-us-circle-img-1 figure,
	.about-us-circle-img-2 figure{
		max-width: 120px;
	}

	.about-us-circle-img-1 img,
	.about-us-circle-img-2 img{
		border-width: 4px;
	}

	.about-counter-list{
		margin-top: 30px;
	}

	.about-counter-item h2{
		font-size: 34px;
	}

	.our-services{
		padding: 50px 0;
	}


	.section-footer-text{
		margin-top: 20px;
	}

	.section-footer-text p span{
		padding: 2px 8px;
		margin-right: 5px;
	}

	.our-features{
		background-position: left -20px bottom -7px;
    	background-size: 90px auto;
		padding: 50px 0;
	}


	.features-image{
		margin-left: 0px;
	}

	.features-image figure img{
		aspect-ratio: 1 / 0.75;
	}

	.why-choose-us{
		padding: 50px 0;
	}

	.why-choose-item{
		width: calc(50% - 15px);
		padding: 20px;
	}

	.why-choose-item .icon-box{
		width: 60px;
		height: 60px;
		margin-bottom: 30px;
	}

	.page-cta-box{
		width: calc(50% - 15px);
		padding: 30px 20px;
	}

	.page-cta-box-info{
		margin-bottom: 30px;
	}

	.why-choose-us .section-footer-text{
		margin-top: 30px;
	}

	.our-faqs{
		padding: 50px 0;
	}

	.our-faqs-images{
        width: 100%;
        max-width: 81%;
        margin: 0 auto;
        margin-bottom: 30px;
    }

	.faq-accordion .accordion-item{
		margin-bottom: 15px;
		padding-bottom: 15px;
	}

	.faq-accordion .accordion-header .accordion-button{
		padding-right: 25px;
	}

	.faq-accordion .accordion-button:not(.collapsed){
		margin-bottom: 6px;
	}

	.faq-accordion .accordion-item .accordion-button::after,
	.faq-accordion .accordion-item .accordion-button.collapsed::after{
		width: 20px;
		height: 20px;
	}

	.our-testimonials{
        padding: 50px 0;
    }

    .testimonial-item{
        padding: 30px;
    }

    .testimonial-author{
        margin-bottom: 20px;
    }

    .author-image{
        margin-bottom: 15px;
    }

    .testimonial-rating{
        margin-bottom: 10px;
    }

    .testimonial-content p{
        font-size: 18px;
    }

    .testimonial-pagination{
        margin-top: 30px;
    }

	

	.main-footer{
        padding: 40px 0 0;
    }

	

    .footer-copyright{
        padding: 30px 0;
        margin-top: 0;
    }

	
    .footer-copyright-text{
        width: calc(42% - 13.33px);
    }

}

@media only screen and (max-width: 767px){

	

	.section-title h1{
		font-size: 26px;
	}

	.section-title h2{
		font-size: 24px;
	}

	.hero-btn{
		gap: 15px;
	}


	.best-service-item{
        width: 100%;
		border-right: none;
        padding: 15px;
    }

	.best-service-item-content h3{
		font-size: 18px;
	}

	.about-us-images{
		max-width: 100%;
	}

	.about-us-circle-img-1 figure,
	.about-us-circle-img-2 figure{
        max-width: 90px;
    }


	.about-counter-list{
		gap: 20px;
	}

	.about-counter-item{
		width: calc(50% - 10px);
	}

	.about-counter-item h2{
        font-size: 24px;
    }

	.service-content h3{
		font-size: 18px;
	}


	.our-features-list{
		gap: 20px;
	}

	.features-item{
		width: 100%;
	}

	.features-item-content h3{
		font-size: 18px;
		margin-bottom: 5px;
	}

	.features-image{
		padding: 0 0 20px 20px;
	}


	.why-choose-item{
        width: 100%;
        padding: 20px;
    }

	.why-choose-item-content h3{
		font-size: 18px;
	}

	.page-cta-box{
        width: 100%;
    }

	.cta-contact-item-content h3,
	.page-cta-box-info h3{
		font-size: 18px;
	}

	.our-faqs-images{
		background-position: left 75px bottom 45px;
        max-width: 100%;
        margin-bottom: 30px;
    }

	.faqs-img-1{
		padding-right: 152px;
	}

	.faqs-img-2{
		max-width: 210px;
		margin: 0 auto;
		margin-right: 0;
		margin-top: -110px;
	}

	.faqs-img-3{
		top: 50px;
		max-width: 140px;
	}

	.faq-accordion .accordion-header .accordion-button{
		font-size: 18px;
	}

	.faq-accordion .accordion-item .accordion-body{
		padding-right: 0px;
	}

	.testimonial-item{
        padding: 20px;
    }

    .author-content h3{
        font-size: 18px;
    }

	.testimonial-rating i{
		font-size: 16px;
	}

    .testimonial-content p{
        font-size: 16px;
    }

	.cta-box-content{
		height: auto;
	}


    .footer-copyright{
        gap: 15px;
		padding: 20px 0;
        margin-top: 30px;
    }

    .footer-logo{
        text-align: center;
        margin-bottom: 30px;
    }

    .footer-logo img{
        max-width: 150px;
    }

    .footer-cta{
        text-align: center;
        margin-bottom: 30px;
    }

	.footer-copyright-text{
		width: 100%;
        text-align: center;
	}

}
