/*======================
   Google fonts
========================*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Rubik:ital,wght@0,300..900;1,300..900&family=Tinos:ital,wght@0,400;0,700;1,400;1,700&display=swap');
/*======================
   01. Root
========================*/
:root {
	--blue: #014D9C;
	--red: #FC3D3D;
	--dark: #313131;
	--gray: #959595;
	--gray2: #9A9A9A;
	--offwhite: #F4F4F4;
	--white: #fff;
}

/*======================
   Basic css
========================*/
html {
	font-size: 62.5%;
}

a,
button,
img {
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}

html,
body,
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
strong,
i,
ol,
ul,
li,
form,
label,
footer,
header,
menu,
nav,
section {
	margin: 0;
	padding: 0;
}

body {
	line-height: 1.5;
	font-family: "Tinos", serif;
	background-color: var(--white);
	color: var(--gray);
	font-weight: 400;
	font-size: 1.6rem;
}

ol,
ul {
	list-style: none;
}

a:hover {
	text-decoration: none;
}

button:focus,
a:focus,
input:focus,
textarea:focus {
	outline: none;
}

p {
	font-family: "Rubik", sans-serif;
}

/* page loader  */
#preloader {
	position: fixed;
	background: var(--white);
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99999;
	height: 100vh;
	width: 100vw;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.loader3 {
	width: 6.0rem;
	height: 6.0rem;
	display: inline-block;
	padding: .0rem;
	text-align: left;
}

.loader3 span {
	position: absolute;
	display: inline-block;
	width: 6.0rem;
	height: 6.0rem;
	border-radius: 100%;
	background: var(--blue);
	-webkit-animation: loader3 1.5s linear infinite;
	animation: loader3 1.5s linear infinite;
}

.loader3 span:last-child {
	animation-delay: -0.9s;
	-webkit-animation-delay: -0.9s;
}

@keyframes loader3 {
	0% {
		-webkit-transform: scale(0, 0);
		transform: scale(0, 0);
		opacity: 0.8;
	}

	100% {
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		opacity: 0;
	}
}

@-webkit-keyframes loader3 {
	0% {
		-webkit-transform: scale(0, 0);
		opacity: 0.8;
	}

	100% {
		-webkit-transform: scale(1, 1);
		opacity: 0;
	}
}

/*return-to-top START CSS*/
.back-to-top {
	font-size: 2.4rem;
	width: 4.5rem;
	height: 4.5rem;
	line-height: 4.5rem;
	text-align: center;
	display: none;
	position: fixed;
	bottom: 3.0rem;
	right: 2.0rem;
	border-radius: 50%;
	background: var(--blue);
	z-index: 1000;
}

.back-to-top i {
	color: #fff;
}

.blinking {
	-webkit-animation: blinking 1.3s infinite linear;
	animation: blinking 1.3s infinite linear;
}

@-webkit-keyframes blinking {

	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: 0;
	}
}

@keyframes blinking {

	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: 0;
	}
}

.common_btn {
	color: var(--white) !important;
	font-size: 2.2rem;
	font-weight: 700;
	font-family: "Montserrat", sans-serif;
	background-color: var(--red);
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-column-gap: 1rem;
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	padding: 1.2rem 1.8rem 1.2rem 1.2rem;
	border-radius: 1rem;
	position: relative;
	flex-shrink: 0;
	line-height: 1;
}
.common_btn img {
	width: 3.15rem;
}

.section_title {
	text-align: center;
}

.section_title h2 {
	font-size: 4.8rem;
	font-weight: 700;
	color: var(--dark);
	margin-bottom: 2rem;
}

.section_title p {
	font-size: 1.6rem;
	font-weight: 400;
	color: var(--gray3);
}

/*======================
   Banner 
========================*/
.banner_sec {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border-bottom: 2.5rem solid var(--gray2);
}

.banner_content {
	padding: 6rem 0 8rem;
}
.banner_content img {
   width: 54rem;
   margin-bottom: 3.5rem;
}
.banner_content h1 {
	font-size: 4.5rem;
	font-weight: 700;
	color: var(--blue);
	text-transform: uppercase;
	max-width: 48rem;
	margin-top: 1rem;
	line-height: 1.1;
}
.banner_content h1 + h1{
	font-size: 5rem;
}
.banner_content p {
	font-family: "Arial", sans-serif;
	font-size: 1.8rem;
	max-width: 48rem;
	font-weight: 900;
	color: var(--dark);
	line-height: 1.3;
	margin-top: 3.5rem;
}

.banner_cta {
	background-color: var(--white);
	box-shadow: 0 .4rem 3.8rem rgba(0, 0, 0, 0.05);
	border-radius: 1rem;
	max-width: 68rem;
	padding: 1.6rem 3rem;
	margin-top: -6rem;
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	column-gap: 1.7rem;
}
.banner_cta p{
	font-family: "Arial", sans-serif;
	font-size: 1.8rem;
	font-weight: 700;
	color: var(--gray2);
}
.banner_cta p:first-child{
	flex-shrink: 0;
}
.circle_box {
	height: 23.6rem;
	width: 23.6rem;
	border-radius: 50%;
	background-color: #fff;
	box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.29);
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 0 3rem;
	color: var(--red);
	text-transform: uppercase;
	position: absolute;
	right: 5rem;
	bottom: -8.5rem;
	transform: rotate(12deg);
}
.circle_box p{
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.1;
	font-family: "Tinos", serif;
}
.circle_box h2{
	font-size: 9rem;
	font-weight: 700;
	line-height: 1.1;
}
.circle_box p:last-child{
	font-size: 3rem;
}
/*======================
   Solution
========================*/
.solution_sec {
    padding-top: 2rem;
}
.solution_left h2 {
	font-size: 4.5rem;
	font-weight: 700;
	color: var(--blue);
	max-width: 59rem;
	line-height: 1.1;
}
.solution_left ul li {
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--dark);
	margin-bottom: 1.5rem;
	display: flex;
	align-items: center;
	line-height: 1.15;
	margin-top: 0.8rem;
}
.solution_left ul li img {
	margin-right: 1.4rem;
	width: 3.6rem;
	height: 3.6rem;
	object-fit: contain;
	flex-shrink: 0;
}
.partner h3 {
	font-size: 3rem;
	font-weight: 700;
	color: var(--dark);
	margin-top: 3rem;
	font-family: "Arial", sans-serif;
}
.partner_img {
	display: flex;
	align-items: center;
	column-gap: 6.2rem;
	flex-wrap: wrap;
}
.partner_img img {
	width: 100%;
	margin-top: 3rem;
}

/*======================
   About
========================*/
.about_sec {
	padding: 10rem 0;
}
.about_left img {
	width: 100%;
	border-radius: 4rem;
}
.about_right {
	padding-left: 2rem;
}
.about_right h2 {
	font-size: 3rem;
	color: var(--dark);
	font-weight: 700;
	max-width: 48rem;
	margin-bottom: 1rem;
}
.about_right>p {
	color: var(--gray);
	font-family: inherit;
	font-weight: 700;
	font-size: 2.2rem;
	max-width: 36rem;
	line-height: 1.2;
}
.about_right .contact_wrap a {
	margin: 1rem 0;
}

.about_right .contact_wrap p {
	color: var(--gray2);
}
.about_right .contact_wrap p:last-child{
	font-size: 1.7rem;
	font-family: "Tinos", serif;
}

/*======================
   Service Range
========================*/
.service_range_sec {
	background-color: var(--gray2);
	padding: 7rem 0;
}

.service_range_sec .section_title h2 {
	color: var(--white);
}
.service_range_sec .section_title p {
    color: #fff;
    max-width: 109rem;
    margin: auto;
    font-size: 1.7rem;
    font-weight: 700;
    font-family: 'Tinos', serif;
}

.service_range_sec .section_title h2 {
	color: var(--white);
}

.service_range_sec .contact_wrap p {
	color: var(--white) !important;
}

.range_item_wrap {
	border-radius: 1rem;
	box-shadow: 0 .3rem 3.2rem rgb(0 0 0 / 5%);
	background-color: var(--white);
	height: 100%;
}
.range_img img {
   width: 100%;
   border-radius: 1rem;
}
.range_text {
    padding: 1.6rem 1.6rem 2rem;
}

.range_text h3 {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--gray2);
	margin-bottom: 1rem;
	font-family: 'Montserrat', sans-serif;
}

.range_text p {
	font-size: 1.3rem;
	color: var(--gray);
}

.custom_service_row {
	margin-right: -3.2rem;
	margin-left: -3.2rem;
}

.custom_service_row>div {
	padding-left: 3.2rem;
	padding-right: 3.2rem;
}

/*======================
   Commitment
========================*/
.commitment_sec {
   padding: 8rem 0 8rem 0;
}
.commitment_sec .section_title h2 {
	font-size: 4.8rem;
	color: var(--red);
}
.commitment_sec .section_title p {
	max-width: 91rem;
	margin: auto;
	font-size: 2rem;
	color: var(--dark);
	font-family: inherit;
	font-weight: 700;
	line-height: 1.2;
}
.commitment_box {
	text-align: center;
}
.commitment_box img {
	height: 5rem;
}
.commitment_box h4 {
	font-size: 2rem;
	font-weight: 700;
	margin: 1.6rem 0 1rem;
	color: var(--blue);
	white-space: nowrap;
}
.commitment_box p {
	font-size: 1.55rem;
	color: #838383;
	max-width: 25rem;
	margin: auto;
}

.contact_wrap.full_width {
	display: flex;
	align-items: center;
	column-gap: 2rem;
	justify-content: center;
}

.contact_wrap.full_width p {
	max-width: 24rem;
	color: var(--gray2);
}

/*======================
   gallery_sec
========================*/
.gallery_sec{
	padding-bottom: 6.5rem;
}
.gallery_sec h2{
	font-size: 4rem;
	color: var(--red);
	margin-bottom: 0;
	padding-bottom: 1rem;
}
.service_item img {
	width: 100%;
	border-radius: 1rem;
	max-height: 28.7rem;
	object-fit: cover;
}

.service_slider_wrap button.owl-dot {
	height: 1rem;
	width: 1rem;
	border-radius: 50%;
	background-color: var(--red);
	padding: .1rem;
}

.service_slider_wrap .owl-dots {
	display: flex;
	column-gap: 1rem;
	justify-content: center;
	margin-top: 3rem;
}

.service_slider_wrap button.owl-dot.active {
	background-color: var(--blue);
}

/*======================
   Review
========================*/
.review_sec {
	padding: 6.5rem 0;
	background-color: var(--gray2);
}
.review_sec h2{
	font-size: 4rem;
	color: #fff;
}
.review_sec .section_title p{
	font-size: 1.7rem;
	color: #fff;
}
.review_box {
	background-color: #fff;
	border-radius: 1.6rem;
	box-shadow: 0 .3rem 3.2rem rgba(0, 0, 0, 0.05);
	padding: 2.5rem 2.5rem 2rem;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.rating {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	color: #FFCC21;
	column-gap: 0.3rem;
	margin-bottom: 1.8rem;
	font-size: 1.5rem;
}
.rating .gray_star{
	color: #E0DED6;
}
.review_box p {
	font-size: 1.3rem;
}

.review_box h5 {
	font-size: 1.7rem;
	color: var(--dark);
	font-weight: 700;
	margin-top: 1rem;
	font-family: "Montserrat", sans-serif;
}

.custom_review_row {
	margin-right: -3.2rem;
	margin-left: -3.2rem;
}

.custom_review_row>div {
	padding-left: 3.2rem;
	padding-right: 3.2rem;
}

/*======================
   Intervention
========================*/
.intervention_sec {
   padding: 9rem 0;
}
.intervention_left h2{
	font-size: 3.5rem;
	color: var(--dark);
	font-weight: 700;
	line-height: 1.1;
}
.intervention_left h3{
	font-size: 2.5rem;
	color: var(--dark);
	font-weight: 700;
	line-height: 1.1;
	margin-top: 1.5rem;
}
.intervention_img{
	padding-right: 5rem;
}
.intervention_img img{
	border-radius: 3.8rem;
}
.intervention_left {
	max-width: 46rem;
}
.intervention_left p{
	font-family: "Tinos", serif;
}
.intervention_left>p{
	font-weight: 700;
	margin-top: 1.6rem;
	line-height: 1.2;
}
.intervention_left .contact_wrap{
	display: flex;
	align-items: flex-start;
	column-gap: 1rem;
	margin-top: 3rem;
}
.intervention_left .contact_wrap h4{
	font-size: 4.5rem;
	font-weight: 700;
	color: var(--blue);
	font-family: "Montserrat", sans-serif;
	line-height: 1;
}
.intervention_left .contact_wrap p {
	color: var(--blue);
	font-family: "Tinos", serif;
	line-height: 1.15;
}
.intervention_left .contact_wrap p:first-child{
	font-size: 1.9rem;
}



/*======================
   Foter
========================*/
footer {
	overflow: hidden;
	background-color: var(--gray2);
	color: var(--white);
	padding-top: 2.5rem;
}
.footer_logo{
	max-width: 25.8rem;
	margin-bottom: 2.5rem;
}
.contact_inner{
	display: flex;
	align-items: center;
	column-gap: 2rem;
}
.contact_inner p{
	max-width: 23rem;
}
.contact_wrap a {
	margin: 1.2rem 0;
}
.contact_wrap p {
	font-family: "Montserrat", sans-serif;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.3;
}
.footer_copyright {
	padding-bottom: 1.6rem;
	padding-top: 2rem;
}
.footer_copyright p,
.footer_copyright p a {
	font-size: 1.2rem;
	font-family: "Montserrat", sans-serif;
	color: var(--white);

}

/* Legales page  */
.header_area {
	background-color: #ffffff;
	padding: 4rem 0;
}

.head_wap h2 {
	font-size: 3.5rem;
	line-height: 1.2;
	font-weight: 700;
	text-transform: uppercase;
	color: #1C2A3F;
}

.head_wap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.head_wap a img {
	max-width: 22rem;
}

.legales_wap {
	padding: 8rem 0;
	background-color: #FAFAFA;
}
.legales_wap h1{
	font-size: 3.5rem;
	line-height: 1.22;
	font-weight: 700;
	color: #000;
	padding-bottom: 4rem;
}

.legales_wap p {
	font-size: 1.8rem;
	line-height: 1.22;
	color: #000;
	padding-bottom: 2.5rem;
}

.legales_wap h2 {
	font-size: 2.4rem;
	line-height: 1.22;
	font-weight: 700;
	color: #000;
	padding-bottom: 2.5rem;
}

.legales_wap ul {
	padding-bottom: 2.5rem;
}

.legales_wap ul li {
	font-size: 1.8rem;
	line-height: 1.22;
	color: #000;
	font-family: "Rubik", sans-serif;
}