/*======================
   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&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');

/*======================
   01. Root
========================*/
:root {
	--primary: #FFD161;
	--secondary: #AD0000;
	--dark: #323232;
	--gray: #797979;
	--offwhite: #FAFAFA;
	--white: #fff;
	--gray2: #DFDFDF;
	--gray3: #868686;
	--gray4: #D0D0D0;
	--gray5: #DFDFDF;
	
}

/*======================
   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: "Montserrat", sans-serif;
	background-color: var(--offwhite);
	color: #797979;
	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;
}

/* 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(--primary);
	-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(--primary);
	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.5rem;
	font-weight: 700;
	background-color: var(--secondary);
	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.6rem;
	border-radius: 1rem;
	position: relative;
}

.common_btn img {
	width: 3rem;
}

.section_title {
	text-align: center;
}

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

.section_title p, .para {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--gray);
}

/*======================
   Banner 
========================*/
.banner_sec {
	background-color: #FFFAEF;
	padding: 5rem 0 4rem 0;
	position: relative;
	z-index: 2;
}
.home_images {
    position: absolute;
    right: 0;
    top: 4rem;
    -webkit-transform: rotate(12deg);
        -ms-transform: rotate(12deg);
            transform: rotate(12deg);
    width: 50%;
    max-width: 75rem;
}
.banner_left  img.logo_img{
	width: 35rem;
}
.banner_left  h1 {
    font-size: 4.5rem;
    font-weight: 700;
    color: var(--dark);
    margin: 3rem 0 1.8rem 0;
    max-width: 55rem;
}
.banner_left  p{
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--gray);
	margin-bottom: 1.8rem;
	max-width: 57rem;
}
.banner_img {
    width: 100%;
    border-radius: 2.5rem;
    background-color: #fff;
    margin-bottom: 3rem;
    -webkit-box-shadow: 0.2rem 0.3rem 0.8rem rgba(0,0,0,0.1);
            box-shadow: 0.2rem 0.3rem 0.8rem rgba(0,0,0,0.1);
}
.banner_text {
    background-color: var(--secondary);
    border-radius: 3rem;
    text-align: center;
    max-width: 20rem;
    padding: 1rem;
    margin-bottom: 11rem;
}
.banner_text h4 {
    font-size: 2.5rem;
    font-weight: 900;
    color: var(--primary);
    margin: 0;
    line-height: 1;
    font-family: "Lato", sans-serif;
}
.banner_text h3{
	font-size: 9rem;
	font-weight: 900;
	color: var(--primary);
	margin: 0;
	font-family: "Lato", sans-serif;
	line-height: 1;
}
.banner_text h5{
	font-size: 3rem;
	font-weight: 900;
	color: var(--primary);
	margin: 0;
	font-family: "Lato", sans-serif;
}
/*======================
   Features
========================*/
.features_sec{
	padding: 1rem 0 4rem;
	position: relative;
	z-index: 1;
}
.features_sec::before{
	position: absolute;
	content: '';
	top: 0;
	height: 100%;
	width: 100%;
	background-color: var(--primary);
	z-index: -1;
	right: 6%;
}
.features_box{
	text-align: center;
}
.features_box img {
    margin-bottom: 1.6rem;
    height: 5.2rem;
    max-width: 6.4rem;
    -o-object-fit: contain;
       object-fit: contain;
}
.features_box h3 {
    font-weight: 800;
    font-size: 1.6rem;
    color: var(--secondary);
    max-width: 20rem;
    margin: auto;
}
/*======================
   Solution
========================*/
.assurances_sec{
	padding: 4rem 0 7rem 0;
}
.assurances_sec p {
    max-width: 85.5rem;
	margin-bottom: 5rem;
}
.assurances_sec h2{
	max-width: 60rem;
}
.assurance_img{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-column-gap: 6.5rem;
	   -moz-column-gap: 6.5rem;
	        column-gap: 6.5rem;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.assurance_img img {
	width: 100%;
	margin-top: 3rem;
}
/*======================
   Service Range
========================*/
.service_range_sec {
	background-color: var(--primary);
	padding: 6rem 0 7rem 0;
}
.service_range_sec .section_title p {
    color: var(--secondary);
    max-width: 76rem;
}
.service_item_wrap {
	border-radius: 2.8rem;
	background-color: var(--white);
	height: 100%;
	padding: 1.4rem 1.4rem 2rem 1.4rem;
}
.service_img img {
	width: 100%;
	border-radius: 2.5rem;
	margin-bottom: 1.8rem;
}
.service_text h3 {
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 1rem;
}
.service_text p {
	font-size: 1.8rem;
	font-weight: 500;
	color: var(--gray);
}
.custom_service_row {
	margin-right: -1.3rem;
	margin-left: -1.3rem;
}
.custom_service_row>div {
	padding-left: 1.3rem;
	padding-right: 1.3rem;
}
/*======================
   Review
========================*/
.review_sec {
	padding: 7rem 0;
}
.review_box {
	background-color: #fff;
	border-radius: 2.8rem;
	padding:2.4rem 1.4rem;
	height: 100%;
}
.review_box img{
	border-radius: 2.5rem;
	margin-bottom: 1.6rem;
}
.rating {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	color: var(--primary);
	-webkit-column-gap: 0.3rem;
	   -moz-column-gap: 0.3rem;
	        column-gap: 0.3rem;
	font-size: 2rem;
}
.rating .gray_star{
	color: #E0DED6;
}
.review_box p {
	font-size: 1.8rem;
	font-weight: 500;
	color: var(--gray);
	font-style: italic;
}
.review_box h5 {
	font-size: 2.2rem;
	color: var(--dark);
	font-weight: 700;
	margin: 1rem 0 1rem 0;
}
.custom_review_row {
	margin-right: -1.3rem;
	margin-left: -1.3rem;
}
.custom_review_row>div {
	padding-left: 1.3rem;
	padding-right: 1.3rem;
}
.five_col>div{
	max-width: 20%;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 20%;
	        flex: 0 0 20%;
}
/*======================
  Cta
========================*/
.cta_sec{
	position: relative;
	margin-bottom: 6rem;
}
.cta_sec::after {
    position: absolute;
    content: "";
    left: 0;
    width: 100%;
    height: 48rem;
    background-color: var(--primary);
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
}
.cta_left, .cta_right{
	position: relative;
	z-index: 99;
}
.cta_left img{}
.cta_right{
	text-align: center;
	position: relative;
}
.cta_float {
    position: absolute;
    top: -7.3rem;
    left: 0;
    width: 57rem;
}
.cta_right h2 {
    font-size: 3.6rem;
    font-weight: 700;
    color: var(--dark);
    max-width: 50rem;
    line-height: 1.6;
    margin: auto;
	position: relative;
	z-index: 99;
}
.cta_right h2 span{
	color: #351DBC;
}
.cta_right a{
	margin-top: 2rem;
}
/*======================
   Foter
========================*/
footer {
	color: var(--white);
}
.footer_top {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-column-gap: 5rem;
	   -moz-column-gap: 5rem;
	        column-gap: 5rem;
}
.footer_logo img{
	width: 22rem;
}
.footer_copyright {
	padding-bottom: 1.6rem;
	padding-top: 2.4rem;
}
.footer_copyright p,
.footer_copyright p a {
	font-size: 1.2rem;
	font-family: "Montserrat", sans-serif;
	color: var(--secondary);
}

/* 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: 15rem;
}

.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: 2rem;
	line-height: 1.22;
	color: #000;
	padding-bottom: 2.5rem;
}

.legales_wap h2 {
	font-size: 2.2rem;
	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: 2.2rem;
	line-height: 1.22;
	color: #000;
}