@font-face{
	font-family:Caveat-SemiBold;
	src:url('fonts/Caveat-SemiBold.eot');
	src:local('FCaveat-SemiBold'),
		url('fonts/Caveat-SemiBold.eot?#iefix') format('embedded-opentype'),
		url('fonts/Caveat-SemiBold.otf') format('otf'),
		url('fonts/Caveat-SemiBold.svg#Caveat-SemiBold') format('svg'),
		url('fonts/Caveat-SemiBold.ttf') format('truetype'),
		url('fonts/Caveat-SemiBold.woff') format('woff'),
		url('fonts/Caveat-SemiBold.woff2') format('woff2');
	font-weight:normal;
	font-style:normal;
	font-display:swap;
}

:root {
	--gap50:50px;
	--gap30:30px;
	--gap20:20px;
	--form-height:42px;
	--form-brd-width:2px;
	--form-brd-color:rgba(0,0,0,0.1);
	--form-color:rgb(119,119,119);
	--form-bg:transparent;
	--form-brd-radius:0;
}

html{
    -webkit-font-smoothing:antialiased;
    scroll-behavior:smooth;
}

body{
    margin:0;
    padding:0;
	font-family:"Lato", Arial, Helvetica, sans-serif;
    line-height:1.6;/*25.6px*/
    font-size:16px;
	color:#242424;
}

.container{
	width:100%;
	padding: 0 15px;
	max-width: 1220px;
	box-sizing: border-box;
    word-wrap:break-word;
	position:relative;
	margin:auto;
    z-index:1;
}

*{
    box-sizing:border-box;
    outline:none;
}

*:focus{outline:none}
*::-moz-focus-inner{
    outline:none;
    border:0
}

a{color:#0068a3}
a:hover{
    text-decoration:none;
    color:rgb(47,127,244);
}
.heading{
	width: 100%;
	margin-bottom:var(--gap30);
	padding-bottom: 15px;
	position: relative;
}
.faq .heading{margin-bottom:0}
.heading::before{
	width:120px;
	height: 2px;
	background-color: #2385B6;
	transform: translateX(-50%);
	position: absolute;
	content: "";
	left: 50%;
	bottom: 0;
}
h1,h2{
	width:100%;
	margin:0 0 var(--gap20);
	text-align:left;
	font-size:2.250em;/*36px*/
	line-height:1.000;
	font-weight:700;
}
.heading h1{
	margin:0;
	text-align: center;
	font-size:2.188em;/*35px*/
}
h2{
	text-align: center;
	font-size:2.188em;/*35px*/
}
.heading h2{margin:0}
.textBox h2{text-align:left}

h2 span{color:#2F7FF4}

.subHeading{
	width:100%;
	display: block;
	margin:0 0 var(--gap20);
	text-align: center;
	font-size:1.375em;/*22px*/
	line-height:1.000;
	font-weight:700;
}
.textBox .subHeading,
.contactBox .subHeading{text-align:left}
.smHeading{
	width:100%;
	display: block;
	margin:0 0 var(--gap20);
	text-align: center;
	text-transform: uppercase;
	font-size:1.125em;/*18px*/
	line-height:1.000;
	font-weight:600;
}

p{
	margin:var(--gap30) 0;
	color:rgb(119,119,119);
} 
p strong{
	font-weight:600;
}
p a{
	text-decoration:underline;
	color:#000;
}
p a:hover{
	text-decoration:none;
	color:#960F13;
}
.smokeColor{background-color: #F5F5F5}

.bgImg{
    width:100%;
	height:100%;
    position:absolute;
    line-height:0;
    left:0;
    top:0;
}
img{max-width:100%}
.bgImg img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}
.commBtnBox{
	width:100%;
	align-items: center;
	flex-wrap: wrap;
	display: flex;
	gap: 15px;
}
.commBtn{
	width: auto;
	padding:12px 24px;
	display: inline-flex;
	text-decoration: none;
	transition: all .2s ease-in-out;
	background-color: rgb(47,127,244);
	border:1px solid rgb(47,127,244);
	border-radius:20px;
	line-height:1.000;/*15px*/
	font-size:0.938em;/*15px*/
	font-weight:400;
	color: #fff;
}
.serviceList .commBtn{
	border-radius:4px;
	background-color:#333;
	border-color:#333;
}
.commBtn:hover{
	background-color:transparent;
	color: rgb(47,127,244);	
	transform: scale(1.1);
}
.serviceList .commBtn:hover{
	background-color: rgb(47,127,244);
	border-color: rgb(47,127,244);
	transform:none;
	color: #fff;
}

label {
	display: block;
	margin-bottom: 5px;
	vertical-align: middle;
	font-family:"Lato", Arial, Helvetica, sans-serif;
}
input[type="email"],
input[type="date"],
input[type="search"],
input[type="number"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select{
	width: 100%;
	padding: 0 15px;
	height: var(--form-height);
	font-family:"Lato", Arial, Helvetica, sans-serif;
	border: var(--form-brd-width) solid var(--form-brd-color);
	border-radius: var(--form-brd-radius);
	background-color: var(--form-bg);
	color: var(--form-color);
	transition: border-color .5s ease;
	vertical-align: middle;
	font-size:0.875em;/*14px*/
}
textarea {
	overflow: auto;
	padding: 10px 15px;
	min-height: 190px;
}

@media screen and (max-width:991px){
	:root {
		--gap50:30px;
		--gap30:15px;
		--gap20:10px;
	}
	body{font-size: 14px}
	h1{font-size:2.500em}/*35px*/
	h2{font-size:2.000em}/*28px*/
}

@media screen and (max-width:767px){
	body{font-size: 13px}
}

/********************************/
/*******      HEADER      *******/
/********************************/
#header{
    width:100%;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
	background-color: #fff;
	position:sticky;
    display:block;
    z-index:99999;
	left:0;
	top:0;
}
#header .container{
	height: 70px;
	position:static;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    display:flex;
}

#logo{
    width:130px;
    display:block;
	line-height:0;
}
#logo img,
#logo svg{
    width:100%;
	height:auto;
}
.menuTop{
	width: 100%;
	height: 60px;
	padding:0 20px;
	position: relative;
	background-color: #FFF;
	justify-content: space-between;
	align-items: center;
	display:none;
}
.meetingBtn{
	padding: 5px 20px;
	display: inline-flex;
	text-decoration: none;
	text-transform: uppercase;
	background-color: rgb(47, 127, 244);
	border-radius: 35px;
	line-height:2.461;/*32px*/
	font-size:0.813em;/*13px*/
	font-weight: 600;
	color: #fff;
}
.meetingBtn:hover{
	background-color:#000;
	color: #fff;
}
.menuOpen,
.menuClose{
	width:30px;
	height:30px;
	font-size:0;
	line-height:0;
	background:none;
	position:relative;
	cursor:pointer;
	z-index:1000;
	display:none;
	border:none;
	padding:0;
	margin:0;
}
.menuOpen svg,
.menuClose svg{
	width:100%;
	height:auto;
}
.opener{
	width: 50px;
	height: 50px;
	border-left:1px solid rgb(0, 0, 0, 0.105);
	position: relative;
	display:none;
}
.opener::after{
	width:7px;
	height:7px;
	margin: -4px 0 0 -4px;
	border-right:1px solid #242424;
	border-bottom:1px solid #242424;
	transition:all 0.15s ease-in-out;
	-webkit-transition:all 0.15s ease-in-out;
	transform-origin:66% 66%;
	transform:rotate(45deg);
	pointer-events:none;
	position:absolute;
	display:block;
	content:'';
	left: 50%;
	top:50%;
}

.menu{
	justify-content:center;
	overflow:inherit;
	list-style:none;
	flex-wrap:wrap;
	display:flex;
	padding:0;
	margin:0;
	gap:20px;
}
.menu ul{
	margin:0;
	padding:0;
	list-style:none;
}
.menu li{
	position:relative;
	font-size:1.000em;/*16px*/
	line-height:1.2;/*19.2px*/
	font-weight:700;
}
.menu > li > a{text-transform: uppercase}
.menu li a{
	text-decoration:none;
	display:block;
	color:#333;
}
.menu > li.current-menu-item > a{color:#2F7FF4}
.menu > li.menu-item-has-children > a{
	padding-right:15px;
	position:relative;
}
li.menu-item-has-children::after{
	width:8px;
	height:8px;
	border-right:2px solid #333;
	border-bottom:2px solid #333;
	transition:all 0.15s ease-in-out;
	-webkit-transition:all 0.15s ease-in-out;
	transform-origin:66% 66%;
	transform:rotate(45deg);
	pointer-events:none;
	position:absolute;
	margin-top:-5px;
	display:block;
	content:'';
	right:0;
	top:50%;
}
li li.menu-item-has-children::after {
	width: 6px;
	height: 6px;
	border-right-width:1px;
	border-bottom-width:1px;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	margin-top: -4px;
	right:20px;
}
li.menu-item-has-children:hover::after{
	border-color: #2F7FF4;
	transform:rotate(-135deg);
}
li li.menu-item-has-children:hover::after{transform:rotate(-45deg)}

.menu .sub-menu{
	width:220px;
	padding: 12px 0;
	top:calc(100% + 25px);
	background-color:#fff;
	transition:all 0.5s ease;
	box-shadow:0 0 3px rgba(0,0,0,0.15);
	transform:translate(-50%);
	visibility:hidden;
	position:absolute;
	flex-wrap:wrap;
	display:flex;
	z-index:-9;
	opacity:0;
	left:50%;
}
.menu li li .sub-menu{	
	transform:none;
	top:-12px;
	left:100%;
}
.menu li:hover > .sub-menu{
	visibility:visible;
	z-index:99;
	opacity:1;
}
.menu .sub-menu li{
	width:100%;
	padding:0 20px;
	font-size: 14px;
	line-height: 1.3;
	font-weight:400;
}
.menu .sub-menu li a{
	padding: 8px 0;
	color:#848484;
	display:block;
}
.menu li:hover > a,
.menu li > a:hover{color:#2F7FF4}

@media screen and (max-width:991px){
	#header .container{height:60px}
	#logo{
		width:160px;
		margin-right:auto;
	}	
	.menuTop{display: flex}
	.meetingBtn{display: none;}
	.menuBox .meetingBtn{display:inline-flex}
	.menuOpen,.menuClose{display:block}
	.menuBox{
		width:300px;
		height: 100vh;
		transition: all 0.5s ease;
		position:fixed;
		right:-100%;
		top: 0;
	}	
	.menuBox.show{
		z-index: 9999;
		right:0;
	}
	.menuBox::before{opacity:0}
	.menuBox.show::before{
		width:100vw;
		height: 100vh;
		transition: all 0.5s ease;
		background-color:rgba(0,0,0,0.7);
		position:fixed;
		content:'';
		z-index: 0;
		opacity:1;
		right: 0;
		top: 0;
	}
	.menu-item-has-children > .opener{display: flex;}
	.menu{
		height: calc(100% - 60px);
		border-top: 1px solid rgb(0, 0, 0, 0.105);
		background-color: #fff;
		position: relative;
		overflow-y: scroll;
		display: block;
		z-index: 1;
	}
	.menu .sub-menu{
		width:100%;
		transform:none;
		box-shadow:none;
		position:relative;
		visibility:visible;
		border-radius:0;
		display: none;
		padding: 0;
		opacity:1;
		z-index:9;
		left: 0;
		top:0;
	}
	.menu .opene + .sub-menu{display:block}
	.menu li li .sub-menu {
		transform: none;
		left: 0;
		top: 0;
	}
	.menu li{
		width:100%;
		border-top: 1px solid rgb(0, 0, 0, 0.105);
		line-height: 20px;
		font-weight: 600;
		font-size:13px;
		padding: 0;
		z-index:1;
	}
	.menu > li:first-child{border-top:none}
	.menu > li:last-child{border-bottom: 1px solid rgb(0, 0, 0, 0.105)}
	.menu .sub-menu li {
		padding:0;
		line-height: 20px;
	}
	li.menu-item-has-children{
		justify-content: space-between;
		align-items: flex-start;
		flex-wrap: wrap;
		display: flex;
	}
	li.menu-item-has-children::after{display: none}
	.menu li a{
		padding:15px 20px;
		color:#000;
	}
	li.menu-item-has-children > a{width: calc(100% - 50px)}
	.menu .sub-menu li a{padding:15px 20px}
}

/********************************/
/*******      FOOTER      *******/
/********************************/
.footer{
	width:100%;
	padding: 15px 0;
	background-color:rgb(17,17,17);
	position:relative;
	font-size: 16px;
	z-index:9999;
	color:#fff;
}
.footer .container{
	position:static;
    justify-content:space-between;
    align-items:flex-start;
	flex-wrap: wrap;
    display:flex;
}
.footer a{
	text-decoration:none;
	color:#fff;
}
.footer a:hover{color:#2F7FF4}
.ftrTitle{
	width:100%;
	display:block;
	font-weight:700;
	padding-bottom:20px;
	line-height:1.000;
	font-size:1.375em;/*22px*/
}
.footer ul{
	width: 100%;
	list-style: none;
	padding: 0;
	margin: 0;
}
.ftrBrief{
	width:calc(31.378% - 22.5px);
	padding: 15px 0;
}
.ftrBrief p{
	margin: 0 0 var(--gap20);
	color:#fff;
}
.likeFollow{
	width: 100%;
	flex-wrap: wrap;
	display: flex;
	gap:10px;
}
.likeFollow a{
	width:40px;
	height:40px;
	line-height: 0;
	border-radius: 50%;
	text-decoration: none;
	transition: all .2s ease-in-out;
	justify-content: center;
	align-items: center;
	display: flex;
}
.facebook{background-color:rgb(59, 89, 152)}
.linkedin{background-color:rgb(0, 119, 181)}
.instagram{
	background: #833ab4;
	background: linear-gradient(to right,#833ab4,#fd1d1d,#fcb045);
}
.twitter{background-color:rgb(0, 0, 0)}
.youtube{background-color:rgb(205, 32, 31)}
.whatsapp{background-color:rgb(37, 211, 102)}
.likeFollow a:hover{
	transform: scale(1.2);
	color: #fff;
}
.likeFollow svg{
	width: 24px;
	height: auto;
}

.ftrServices{
	width:calc(22.025% - 22.5px);
	padding: 15px 0;
}
.ftrServices ul{
	flex-wrap: wrap;
	display: flex;
	gap: var(--gap20);
}
.ftrServices li{
	width: 100%;
	line-height:1.000;
	font-size:1.000em;/*16px*/
}
.ftrContact{
	width:calc(23.123% - 22.5px);
	padding: 15px 0;
}
.ftrContact ul{
	flex-wrap: wrap;
	display: flex;
	gap:var(--gap20);
}
.ftrContact li{
	width: 100%;
	align-items:flex-start;
	font-size:0.875em;/*22px*/
	line-height: 1.4;
	font-weight: 700;
	display: flex;
}
.ftrContact li .icon{
	width:24px;
	min-width:24px;
	margin-right: 15px;
	line-height: 0;
}
.ftrContact li svg{
	width:100%;
	height: auto;
}
.ftrMember{
	width:calc(23.386% - 22.5px);
	padding: 15px 0;
}
.ftrMember svg{
	width:100%;
	max-width: 263px;
	height: auto;
}
@media screen and (max-width:991px){
	.footer{font-size:15px}
	.ftrTitle {padding-bottom: 15px}
	.ftrBrief {width:100%}
	.ftrServices{width:calc(35% - 20px)}
	.ftrServices ul {gap: 10px}
	.ftrContact{width:calc(35% - 20px)}
	.ftrContact ul {gap: 10px}
	.ftrMember{width:calc(30% - 20px)}
	.ftrMember svg {max-width: 180px}
}
@media screen and (max-width:767px){
	.ftrServices,
	.ftrContact,
	.ftrMember{width:100%}
}

/********************************/
/*******    imgTextSec    *******/
/********************************/
.imgTextSec{
	width:100%;
	padding:var(--gap50) 0;
	position:relative;
}
.imgTextSec .container,
.imgTextSec .container > .elementor-container,
.imgTextSec .container .elementor-inner-section > .elementor-container{
    justify-content:space-between;
    align-items:center;
	flex-wrap: wrap;
    display:flex;
}
.imgTextSec .container > .elementor-widget-wrap{width:100%;}
.faq .container{align-items:self-start}
.faq .container > .elementor-widget-wrap,
.imgTextSec .container > .elementor-container > .elementor-widget-wrap,
.imgTextSec .container .elementor-inner-section > .elementor-container{width:100%}
.fullContect{
	width:100%;
	position: relative;
}
.orderRight{order: 2;}
.imgTextSec .imgBox{
	width: calc(50% - 15px);
	text-align: center;
	line-height: 0;
}
.imgTextSec .imgBox img{
	max-width: 80%;
	border-radius:10px;
	height: auto;
	margin: auto;
}
.imgTextSec .fullImg img{max-width:100%}

.imgTextSec .textBox{width: calc(50% - 15px);}

.homeTextBox h1{
	font-size:3.438em;/*55px*/
	font-weight:600;
}
.homeTextBox h1 span{
	display: block;
	margin-top:var(--gap20);
	font-weight:500;
	color: #2F7FF4;
}
.imgTextSec p{
	margin:0 0 var(--gap20);
	word-spacing: 3px;
	letter-spacing: 0.1px;
	line-height:1.577;/*28.4px*/
	font-size:1.125em;/*18px*/
}
.font-size16 p{font-size:1.000em}/*16px*/
.homeTextBox p{
	line-height:1.777;/*32px*/
	color: #0E0E0E;
}
.textBox ul{
	width: 100%;
	list-style: disc;
	padding: 0 0 0 17px;
	margin: 0;
}
.textBox .textList{
	list-style: none;
	padding: 0;
}
.textBox li{
	padding: 0 0 10px;
	line-height:1.577;/*28.4px*/
	font-size:1.125em;/*18px*/
	color:rgb(119,119,119);
	position: relative;
}
.textList li{padding: 0 0 var(--gap20) 37px}
.textList li::before{
	width: 24px;
	line-height:24px;
	border-radius: 50%;
	transition: all .2s ease-in-out;
	background-color: #659FF5;
	position: absolute;
	text-align: center;
	content: "\2713";
	display: block;
	color: #fff;
	top:2px;
	left: 0;
}
.textList li:hover::before{transform: scale(1.2)}

.logoBox{
	width:100%;
	list-style: none;
    justify-content:center;
    align-items:flex-start;
    display:flex;
	padding: 0;
	margin: 0;
	gap:var(--gap30);
}
.logoBox li{
	width:243px;
	line-height: 0;
	flex-wrap: wrap;
    display:flex;
	gap:var(--gap30);
}
.logoBox li:nth-child(2){padding-top: 40px}

.logoBox li span{
	width:100%;
	padding:var(--gap30);
	min-height: 121px;
	border-radius: 20px;
	transition: 0.8s;
	display: block;
}
.logoBox .google{background:#F1EFF8}
.logoBox .fortinet{background:#D9FFF7}
.logoBox .microsoft{background:#FBE6D4}
.logoBox .quickbooks{background:#F8E1EB}
.logoBox li span:hover{
    background-color: #fff;
    box-shadow:0 0 20px 5px #fcd9e8;
	transition: 0.8s;
}
.imgBox .logoBox li span img{max-width:100%}

.faq .elementor-widget-tech-accordion > .elementor-widget-container{
	width:100%;
    justify-content:space-between;
    align-items:self-start;
	flex-wrap: wrap;
    display:flex;
}

.faq details{	
	width:calc(50% - 15px);
	box-shadow: 0 0 3px 0 rgba(0,0,0,0.5);
	background-color: #2F7FF4;
	margin-top:30px;
	color: #fff;
}
.faq summary{
	padding: 15px;
	cursor: pointer;
	font-weight: 700;
	line-height: 1;
	outline: none;
}
.faq p{
	padding:0 15px 15px;
    font-size:1.000em;/*16px*/
    line-height:1.6;/*25.6px*/
	color: #fff;
	margin: 0;
}

@media screen and (max-width:991px){
	.logoBox li span {
		min-height: inherit;
		border-radius:15px;
	}

	.faq details{	
		width:calc(50% - 7.5px);
		margin-top:15px;
	}
}
@media screen and (max-width:767px){
	.imgTextSec .container,
	.imgTextSec .container > .elementor-container {gap: 15px}
	.faq .container,
	.faq .container > .elementor-container{gap:0}
	.imgTextSec .imgBox,
	.imgTextSec .textBox {width:100%}
	.imgTextSec .imgBox img {max-width: 100%}
	.logoBox li span {border-radius:10px}
	.faq details{width:100%}
}
@media screen and (max-width:639px){	
	.logoBox li{width:100%}
}

/********************************/
/*******   clientSlider   *******/
/********************************/
.clientSlider{
	width: 100%;
	padding:var(--gap50) 0;
	--widthm:-238px;
	--width:238px;
	--height:180px;
	--quantity: 12;
	--duration: 15s;
}
.clientBox{	
	width: 100%;
	margin-top: 40px;
	-webkit-mask-image: linear-gradient(to right, transparent, #000 10% 90%, transparent);
	mask-image: linear-gradient(to right, transparent, #000 10% 90%, transparent);
	position: relative;
	overflow: hidden;
}
.slide-track{
	width: calc(var(--width) * var(--quantity));
	animation: slide var(--duration) linear infinite;
	align-items: center;
	display: flex;
}
.slide-track:hover{
	-webkit-animation-play-state: paused;
	animation-play-state: paused;
}
.clientLogo{
	width: var(--width);
	text-align: center;
}
.clientLogo img{
	max-width:80%;
	height: auto;
	margin: auto;
}
@keyframes slide {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(calc(var(--widthm) * 3))
	}
}

/********************************/
/*******    serviceSec    *******/
/********************************/
.serviceSec{
	width:100%;
	padding:var(--gap50) 0;
}
.serviceTop{
	width:100%;
	padding-bottom:var(--gap20);
	text-align: center;
}
.serviceTop .heading {margin-bottom:15px}
.serviceSec ul{
	width:100%;
	padding:var(--gap20) 0 0;
	list-style: none;
	flex-wrap: wrap;
    display:flex;
	margin: 0;
	gap:var(--gap30);
}
.serviceSec li{
	width:calc(33.3333% - 20px);
	padding: var(--gap20);
	box-shadow:0 0 3px 0 rgba(0,0,0,0.5);
	border-radius:var(--gap20);
	background-color: #fff;
	position: relative;
}
.serviceList li{
	min-height: 300px;
	padding: var(--gap30) 20px var(--gap30) 95px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
	border-radius:0;
}
.serviceSec li .icon{
	margin-bottom: 15px;
	text-align: center;
	line-height: 0;
}
.serviceSec li .icon svg{
	width: 50px;
	height: auto;
}
.serviceSec h3{
	margin:0 0 var(--gap20);
	font-size:1.500em;/*24px*/
	line-height:1.000;
	font-weight:700;
}
.serviceSec p{margin:0}
.serviceTop p{
	max-width:940px;
	margin: 0 auto;
	font-size:1.125em;/*18px*/
	color: #000;
}
.serviceList p{margin:0 0 var(--gap20)}
.coverBox{
	width: 100%;
	height: 100%;
	position: absolute;
	transition: all 0.5s ease-in-out;
	background-color: #2F7FF4;
    justify-content:center;
    align-items:center;
	flex-wrap: wrap;
    display:flex;
	color: #fff;
	left: 0;
	top: 0;
}
.serviceList li:hover .coverBox{
	width:80px;
	background-color: #ff1934;
}
.coverIn{text-align: center}
.coverBox a{
	display: inline-block;
	color: #fff;
	padding: 0;
}
.coverBox:hover a{
	text-decoration: none;
	color: #fff;
}
.coverBox strong{
	width: 100%;
	display: block;
	transition: all 0.5s ease-in-out;
	font-size:1.500em;/*24px*/
	line-height:1.000;
	font-weight:700;
}
.serviceList li:hover .coverBox strong{font-size:0}

@media screen and (max-width:991px){
	.serviceSec li {width: calc(50% - 7.5px)}
}
@media screen and (max-width:639px){
	.serviceSec li {width:100%}
	.serviceList li {min-height: 250px}
}

/********************************/
/*******  customerReview  *******/
/********************************/
.customerReview{
	width:100%;
	padding:var(--gap50) 0;
	text-align:center;
}
.customerReview h2{
	margin:0 0 15px;
	font-family:Caveat-SemiBold;
	font-weight:normal;
	line-height:1.157;/*44px*/
	font-size:3.438em;/*55px*/
}
.customerReview p{
	margin:15px 0;
	font-style: italic;
	font-size:1.125em;/*18px*/
}
.testim{
    width:100%;
	position:relative;
}
.testim .arrow{
    display:block;
	line-height: 0;
    transform:translateY(-50%);
    transition:all .3s ease-in-out;
    position:absolute;
    z-index:22222222;
    cursor:pointer;
    top:50%;
}
.testim .arrow:hover{color:rgb(47,127,244);}
.testim .arrow.left{left:-15px}
.testim .arrow.right{right:-15px}
.testim .arrow svg{
	width: 30px;
	height: auto;
}

.testim .dots{
    width:100%;
	padding: 0;
	margin:15px 0 0;
	list-style: none;
    text-align:center;
    display:block;
}
.testim .dots .dot{
    width:12px;
    height:12px;
    margin:0 10px;
    border-radius:50%;
    transition:all .5s ease-in-out;
    border:1px solid rgb(47,127,244);
    list-style-type:none;
    display:inline-block;
    position:relative;
    cursor:pointer;
}
.testim .dots .dot.active,
.testim .dots .dot:hover{
    background:rgb(47,127,244);
    border-color:rgb(47,127,244);
}
.testim .dots .dot.active{animation:testim-scale .5s ease-in-out forwards}
.testim .cont{
    position:relative;
    overflow:hidden;
}
.testim .cont > div{
    text-align:center;
    position:absolute;
    opacity:0;
    left:0;
    top:0;
}
.testim .cont > div.inactive{opacity:1}
.testim .cont > div.active{
    position:relative;
    opacity:1;
}
.rating{
	width:fit-content;
	width: -moz-fit-content;
	justify-content: inherit;
	margin-block-end: calc(0px - 2px);
	margin-inline-end: calc(0px - 2px);
	flex-direction: row;
	flex-wrap: wrap;
	display: flex;
    margin:auto;
}
.rating .icon {
	width:32px;
	height:32px;
	position: relative;
	margin-block-end:2px;
	margin-inline-end:2px;
}
.rating .icon svg{fill:#FFCD3C}

.testim .cont div.active .rating{animation:testim-show .5s ease-in-out forwards;}
.testim .cont div.active .ratingName{animation:testim-content-in .4s ease-in-out forwards;}
.testim .cont div.active p{animation:testim-content-in .5s ease-in-out forwards;}

.testim .cont div.inactive .rating{animation:testim-hide .5s ease-in-out forwards;}
.testim .cont div.inactive .ratingName{animation:testim-content-out .4s ease-in-out forwards;}
.testim .cont div.inactive p{animation:testim-content-out .5s ease-in-out forwards;}

@keyframes testim-scale{
    0%{
        box-shadow:0 0 0 0 #eee;
    }
    35%{
        box-shadow:0 0 10px 5px #eee;
    }
    70%{
        box-shadow:0 0 10px 5px #ea830e;
    }
    100%{
        box-shadow:0 0 0 0 #ea830e;
    }
}

@keyframes testim-content-in{
    from{
        opacity:0;
        transform:translateY(100%);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes testim-content-out{
    from{
        opacity:1;
        transform:translateY(0);
    }
    to{
        opacity:0;
        transform:translateY(-100%);
    }
}

@keyframes testim-show{
    from{
        opacity:0;
        transform:scale(0);
    }
    to{
        opacity:1;
        transform:scale(1);
    }
}

@keyframes testim-hide{
    from{
        opacity:1;
        transform:scale(1);
    }
    to{
        opacity:0;
        transform:scale(0);
    }
}
@media screen and (max-width:991px){
	.testim {
		padding-left: 30px;
		padding-right: 30px;
	}
}

/********************************/
/*******      process     *******/
/********************************/
.process{
	width:100%;
	padding:var(--gap50) 0;
}
.process h2{text-align: left}
.process p{
	margin:0 0 var(--gap20);
	word-spacing: 3px;
	letter-spacing: 0.1px;
	font-size:1.063em;/*17px*/
	line-height:1.6;/*27.2px*/
	color: #000;
}
.processIn{
	width:100%;
	padding-top: 20px;
	align-items: flex-start;
	flex-direction: row;
    display:flex;
}
.processIn .elementor-widget-wrap{
	width:100%;
	align-items: flex-start;
	flex-direction: row;
    display:flex;
}
.processIn .elementor-widget-uts-title{
	width:33%;
	flex: 0 0 auto;
	margin:0;
}
.processIn h3{
	line-height:1.000;/*30px*/
	font-size:1.875em;/*30px*/
	font-weight:700;
	margin:0;
}
.processIn .elementor-widget-esoft-content{flex-grow: 1}
.processIn p{
	margin:0;
	color:rgb(119,119,119);
	font-size:1.000em;/*16px*/
}
@media screen and (max-width:767px){
	.processIn,
	.processIn .elementor-widget-wrap{flex-wrap: wrap}
	.processIn .elementor-widget-uts-title{
		width: 100%;
		flex-grow: 1;
	}
	.processIn h3 {margin-bottom: 10px}
}


/********************************/
/*******    customSoft    *******/
/********************************/
.customSoft{
	width:100%;
	padding:var(--gap50) 0;
	background-color:#2F7FF4;
}
.customSoft .container,
.customSoft .container > .elementor-container{
	gap: var(--gap30);
	flex-wrap: wrap;
	display: flex;
}
.customSoftIn{
	width:calc(33.3333% - 20px);
	box-shadow:0 0 3px 0 rgba(0,0,0,0.5);
	background-color: #fff;
	text-align: center;
	padding:30px 20px;
}
.customSoftIn p{margin: 0}

@media screen and (max-width:991px){
	.customSoftIn{
		width:calc(33.3333% - 10px);
		padding:20px 15px;
	}
}
@media screen and (max-width:767px){
	.customSoftIn{width:100%}
}


/********************************/
/*******     contact      *******/
/********************************/
.contactTop{
	width:100%;
	padding:var(--gap50) 0 0;
}
.contactTop .container,
.contactTop .container > .elementor-container{
	gap:20px;
    flex-wrap:wrap;
    display:flex;
}
.contactTop .container > .elementor-container{width:100%}
.contactBox{
	width: calc(33.3333% - 13.3333px);
	box-shadow:0 0 10px 0 rgba(0,0,0,0.5);
	padding: 50px 20px 50px 40px;
	align-items: flex-start;
	flex-direction: row;
	border-radius: 10px;
    display:flex;
}
.contactBox > .elementor-widget-wrap{
	width:100%;
	align-items: flex-start;
	flex-direction: row;
    display:flex;
}
.contactBox .icon{
	width:46px;
	height: 46px;
	line-height: 0;
	margin-right:15px;
	border-radius: 50%;
	transition: all .3s ease-in-out;
	border:1px solid #28406D;
	justify-content: center;
	display: inline-flex;
	align-items: center;
	color: #28406D;
  	flex: 0 0 auto;
}
.contactBox .icon:hover{
	background-color: #2F7FF4;
	border-color: #2F7FF4;
	transform: scale(1.1);
	color: #fff;
}
.contactBox .icon svg{
	width:auto;
	height:22px;
}
.contactBox .text{flex-grow: 1}
.contactBox p,
.contactBox p a{
	margin: 0;
	color:#4B4B4B;
	text-decoration: none;
}
.contactBox p br + br{display: none}

.contact{
	width:100%;
	padding:var(--gap50) 0;
}
.contact .container,
.contact .container > .elementor-container{
	gap: var(--gap30);
    flex-wrap:wrap;
    display:flex;
}
.contactMap{width: calc(50% - 15px)}
.contactMap iframe{width: 100%;}
.contactForm{width: calc(50% - 15px)}
.contact h1{
	width:100%;
	margin:0 0 var(--gap20);
	text-align: center;
	font-size:1.500em;/*24px*/
	line-height:1.000;
	font-weight:700;
}
.contact .row{
	width:100%;
	justify-content: space-between;
    flex-wrap:wrap;
    display:flex;
}
.contact .inputBox{
	width:100%;
	margin-bottom:var(--gap20);
	position: relative;
}
.contact .row .inputBox{width:calc(50% - 15px);}
.contact .wpcf7-form p{
	padding: 0;
	margin: 0;
}

.contact input[type="submit"]{
	margin:0;
	border: none;
	padding:12px 24px;
	border-radius: 4px;
	display: inline-flex;
	transition: all .2s ease-in-out;
	background-color:rgb(243, 243, 243);
	text-transform:uppercase;
	color:rgb(62, 62, 62);
	font-family: inherit;
	text-align:center;
	font-weight: 600;
	font-size: 13px;
	cursor:pointer;
}
.contact input[type="submit"]:hover{
	background-color:#2F7FF4;
	color:#fff;
}
.screen-reader-response{display: none;}

@media screen and (max-width:991px){
	.contactTop .container,
	.contactTop .container > .elementor-container {gap: 15px}
	.contactBox {
		width: calc(33.3333% - 10px);
		padding: 15px;
	}
	.contactMap,
	.contactForm,
	.contact .row .inputBox {width: calc(50% - 7.5px)}
}
@media screen and (max-width:767px){
	.contactBox,
	.contactMap,
	.contactForm,
	.contact .row .inputBox{width: 100%}
	.contactMap iframe {height: 100vw}
}

/********************************/
/********    getAquote    *******/
/********************************/
.getAquote{
	width:100%;
	padding:var(--gap50) 0;
	background-color:#DFDFDF;
}
.getAquote .container {
	width:calc(100% - 30px);
	background-color:#fff;
	border-radius: 20px;
	max-width:1190px;
	padding: 40px;
}
.getAquote form{
	width:100%;
	padding-top: 20px;
}
.getAquote .row{
	width:100%;
	justify-content: space-between;
    flex-wrap:wrap;
    display:flex;
}
.getAquote .inputBox{
	width:100%;
	margin-bottom:30px;
	position: relative;
}
.getAquote .row .inputBox{width:calc(50% - 15px);}

.getAquote .inputBox label {
	width: 100%;
	margin-bottom:0;
	pointer-events: none;
	-webkit-transition: .2s linear;
	transition: .2s linear;
	background-color:#fff;
	font-size:1.000em;/*16px*/
	color:#9e9e9e;
	position: absolute;
	display: none;
	top: 5px;
	left: 0;
}

.getAquote .inputBox p{margin: 0}
.getAquote .inputBox input:focus ~ label,
.getAquote .inputBox textarea:focus ~ label {
	-webkit-transition: .2s linear;
	transition: .2s linear;
	background-color:transparent;
	font-size:0.750em;/*12px*/
	color:#1f69ea;
	top: -20px;
}
.getAquote .inputBox.error input:focus ~ label,
.getAquote .inputBox.error textarea:focus ~ label {color:#E04562}
.getAquote sup{color:#E04562}

.getAquote input[type="email"],
.getAquote input[type="text"],
.getAquote input[type="tel"],
.getAquote input[type="url"],
.getAquote textarea{
	padding: 10px 0 9px;
	height:auto;
	border:none;
	border-bottom: 1px solid #333;
	font-size:1.000em;/*16px*/
	border-radius:0;
	color:#9e9e9e;
}
.getAquote span[data-type="characters"]{
	text-align: right;
	margin-top: 5px;
	font-size: 12px;
	font-weight: 500;
	display: block;
}
.getAquote input:focus{
	border-bottom: 1px solid #1f69ea;
	outline: ;
}
.wpcf7-not-valid-tip,
.wpcf7-response-output{
	margin-top: 5px;
	font-size: 12px;
	display: block;
	font-family: inherit;
	font-weight: 500;
	color: #E04562;
}
.wpcf7-response-output{font-weight: 700;}

.checkbox-group{
	width: 100%;
	position: relative;
	margin-bottom: 30px;
}
.checkbox-group strong{
	width: 100%;
	display: block;
	font-weight: 400;
	font-size:1.000em;/*16px*/
	color:#9e9e9e;
}
.checkbox-group input[type="checkbox"]{
	width:20px;
	height:20px;
	margin:0 10px 0 0;
	vertical-align:top;
	background-color:#F4F7FF;
	-webkit-print-color-adjust:exact;
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
	border:1px solid #A8ADB3;
	color-adjust:exact;
	border-radius:4px;
	appearance:none;
	float:left;
}
.checkbox-group input[type="checkbox"]:checked{
	background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
    box-shadow:0 0 0 3px rgba(21, 156, 228, 0.4);
	background-color:#0d6efd;
	border-color:#0d6efd;
}

.checkbox-group label {
	width:auto;
	cursor: pointer;
	display: inline-flex;
	margin:10px 20px 0 0;
	line-height: 20px;
	font-size:0.875em;/*14px*/
}

.getAquote input[type="submit"]{
	margin:0;
	border: none;
	padding:12px 24px;
	border-radius: 4px;
	display: inline-flex;
	transition: all .2s ease-in-out;
	background-color:rgb(243, 243, 243);
	text-transform:uppercase;
	color:rgb(62, 62, 62);
	font-family: inherit;
	text-align:center;
	font-weight: 600;
	font-size: 13px;
	cursor:pointer;
}
.getAquote input[type="submit"]:hover{
	background-color:#2F7FF4;
	color:#fff;
}
.getAquote br{display: none}

@media screen and (max-width:767px){
	.getAquote .container {padding: 30px}
	.getAquote .row .inputBox{width: 100%}
	.getAquote textarea {min-height: 150px}
}



/********************************/
/*******     notFound     *******/
/********************************/
.notFound{
	width:100%;
	text-align: center;
	padding:var(--gap50) 0;
}
.notFound h1{
	min-height: 200px;
	text-align:center;
	text-transform: uppercase;
	font-size:3.585em;/*57.3667px*/
	position: relative;
	color:#2F7FF4;
	justify-content:center;
	align-items: center;
    flex-wrap:wrap;
    display:flex;
}
.notFound h1::before {
	display: block;
	position:absolute;
	transform:translate(-50%, -50%);
	color:rgb(241, 241, 241);
	font-size:5.000em;/*286.833px*/
	line-height:1.00;
	font-weight:700;
	content:"404";
	z-index: -1;
	left:50%;
	top:50%;
}
.notFound h2{
	text-align:center;
	font-size:1.750em;/*28px*/
}
.notFound p{
	text-align:center;
	font-size:1.100em;/*17.6px*/
}
.notFound .searchform{
	width:100%;
	max-width: 400px;
	position: relative;
	margin: auto;
	padding: 0;
}
.notFound button[type="submit"]{
	width: 24px;
	height: 24px;
	display: inline-block;
	color: rgb(119, 119, 119);
	transform:translateY(-50%);
	--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2.5 -2.5 24 24'%3E%3Cpath fill='%23000' d='M8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12m6.32-1.094l3.58 3.58a1 1 0 1 1-1.415 1.413l-3.58-3.58a8 8 0 1 1 1.414-1.414z'/%3E%3C/svg%3E");
	background-color: currentColor;
	-webkit-mask-image: var(--svg);
	mask-image: var(--svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	position: absolute;
	cursor:pointer;
	line-height: 0;
	border: none;
	font-size: 0;
	right: 15px;
	padding: 0;
	margin: 0;
	top: 50%;
}
.notFound button[type="submit"]:hover{color: rgba(119, 119, 119, 0.5)}

@media screen and (max-width:639px){
	.notFound h1 {
		min-height: 140px;
		font-size: 2.8em;
	}
	.notFound h2 {font-size: 1.4em;}
}