@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');
:root {
  --baseFont: 'Plus Jakarta Sans', sans-serif;
  --baseColor: #000229;
  --bodyBg: #F7F7FF;
  --primaryColor: #1831A9;
  --primaryLight: #72BBFF;
  --primaryDark: #152A7E;
  --secondaryColor: #3FCFDB;
  --white: #fff;
  --skewShape: -1.5deg;
  --trfYBtm: 75%;
  --trfYTop: -75%;
  --skewBannerShape: -3deg;
  --trfYBannerBtm: 30%;
}
body {
  background-color: var(--bodyBg);
  font-family: var(--baseFont);
  color: var(--baseColor);
}
ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
}
a, .btn {
  -webkit-transition: all 300ms ease-in-out 0s;
  -o-transition: all 300ms ease-in-out 0s;
  transition: all 300ms ease-in-out 0s;
}
a, a:hover {
  color: inherit;
  text-decoration: none;
}
img {
  max-width: 100%;
}
.btn {
  padding: 14px 20px;
  font-weight: 600;
  border-radius: 30px;
}
.btnPrimaryLight {
  background-color: var(--primaryLight);
  color: var(--white);
}
.btnPrimaryLight:hover {
  background-color: var(--primaryLight);
  color: var(--white);
  opacity: 0.9;
}
.btnSecondary {
  background-color: var(--secondaryColor);
  color: var(--white);
}
.btnSecondary:hover {
  background-color: var(--secondaryColor);
  color: var(--white);
  opacity: 0.9;
}
.formLabel {
  display: block;
  font-size: 16px;
  font-weight: 500;
  color: #000229;
  margin-bottom: 16px;
}
.formLabel.themeWhite {
  color: #fff;
}
.form-control {
  height: 60px;
  border-radius: 12px;
  border: 1px solid rgba(24, 25, 69, 0.2);
  padding: 10px 18px;
  font-size: 15px;
  font-weight: 400;
}
.form-control::placeholder {
  color: #5F6368;
}
.form-control:focus {
  box-shadow: none;
  outline: none;
  border-color: rgba(24, 25, 69, 0.2);
}
textarea.form-control {
  height: 150px;
  -webkit-appearance: none;
  resize: none;
}
.formGroup {
  margin-bottom: 28px;
}
.btnPrimary {
  background-color: var(--primaryColor);
  color: var(--white);
}
.btnPrimary:hover {
  background-color: var(--primaryColor);
  color: var(--white);
  opacity: 0.9;
}
.minWdBtn {
  min-width: 190px;
}
.xlTitle {
  font-size: 70px;
  line-height: 1.08;
  font-weight: 700;
}
.headerSection {
  position: fixed;
  z-index: 99;
  left: 0;
  right: 0;
  top: 0;
  padding: 17px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--white);
  -webkit-transition: all 200ms ease-in-out 0s;
  -o-transition: all 200ms ease-in-out 0s;
  transition: all 200ms ease-in-out 0s;
}
.fixedHeader .headerSection {
  background-color: var(--primaryDark);
}
.hPhoneNumber {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  font-weight: 700;
  padding-left: 25px;
}
.hPhoneNumber>span+span {
  padding-left: 10px;
}
.hPhoneNumber>span img {
  display: block;
}
.menuCol {
  text-align: right;
  font-weight: 500;
}
.menuCol a.active {
  /* color: red; */
}
.menuCol>ul>li {
  display: inline-block;
}
.menuCol>ul>li+li {
  padding-left: 40px;
}
.menuColMain {
  padding-left: 40px;
}
/* menu toggle */
.hamburger {
  width: 30px;
  height: 20px;
  position: relative;
  cursor: pointer;
}
.hamburger .bar {
  padding: 0;
  width: 30px;
  height: 2px;
  background-color: var(--white);
  display: block;
  border-radius: 4px;
  transition: all 0.4s ease-in-out;
  position: absolute;
}
.bar1 {
  top: 0;
}
.bar2, .bar3 {
  top: 9px;
}
.bar3 {
  right: 0;
}
.bar4 {
  bottom: 0;
}
.actNav .hamburger>.bar1 {
  transform: translateX(40px);
  background-color: transparent;
}
.actNav .hamburger>.bar2 {
  transform: rotate(45deg);
}
.actNav .hamburger>.bar3 {
  transform: rotate(-45deg);
}
.actNav .hamburger>.bar4 {
  transform: translateX(-40px);
  background-color: transparent;
}
/* menu toggle */
.bannerSection {
  background-color: var(--primaryDark);
  color: var(--white);
  padding: 180px 0 10px;
  overflow: hidden;
  position: relative;
}
.featureBanner {
  background-image: url('../images/featbanner.jpg');
  padding: 360px 0 520px;
}
.featureBanner:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background-color: rgba(0,0,0,0.4);
}
.pRelative {
  position: relative;
}
.btmShape, .topShape {
  position: absolute;
  left: 0;
  right: 0;
  height: 100px;
  background-color: var(--bodyBg);
}
.btmShape {
  bottom: 0;
  -webkit-transform: skewY(var(--skewShape)) translateY(var(--trfYBtm));
  -ms-transform: skewY(var(--skewShape)) translateY(var(--trfYBtm));
  transform: skewY(var(--skewShape)) translateY(var(--trfYBtm));
}
.topShape {
  top: 0;
  -webkit-transform: skewY(var(--skewShape)) translateY(var(--trfYTop));
  -ms-transform: skewY(var(--skewShape)) translateY(var(--trfYTop));
  transform: skewY(var(--skewShape)) translateY(var(--trfYTop));
}
.bannerContentCol {
  margin: 0 auto;
  max-width: 850px;
  text-align: center;
}
.bannerContent .xlTitle+p {
  padding-top: 25px;
}
.bannerContent p {
  font-size: 20px;
  line-height: 1.6;
}
.bannerContent+.bannerImg {
  padding-top: 30px;
}
.bannerSection .btmShape {
  height: 280px;
  -webkit-transform: skewY(var(--skewBannerShape)) translateY(var(--trfYBannerBtm));
  -ms-transform: skewY(var(--skewBannerShape)) translateY(var(--trfYBannerBtm));
  transform: skewY(var(--skewBannerShape)) translateY(var(--trfYBannerBtm));
}
.bannerImg {
  position: relative;
  z-index: 2;
}
.aboutTopCol {
  padding-top: 130px;
}
.aboutVideoCol {
  margin: 0 auto;
  max-width: 1030px;
}
.aboutVideoCol video {
  border-radius: 35px;
}
.lgTitle {
  font-size: 50px;
  font-weight: 600;
}
.titleCol {
  padding-bottom: 60px;
}
.titleCol p {
  font-size: 18px;
}
.aboutTitleText {
  margin: 0 auto;
  max-width: 910px;
}
.aboutBtmColMain {
  padding: 80px 0;
}
.aboutBtmCol {
  margin: 0 auto;
  max-width: 840px;
  text-align: center;
}
.aboutBtmCol>h4 {
  font-size: 24px;
  font-weight: 500;
}
.aboutCardCols {
  padding-top: 40px;
}
.cardStyle1 {
  padding: 45px 20px 35px;
  background-color: var(--primaryDark);
  color: var(--white);
  border-radius: 30px;
  height: 100%;
  position: relative;
  box-shadow: 0 20px 40px rgba(198, 206, 255, 0.8);
  overflow: hidden;
  z-index: 2;
}
.cardStyle1::before {
  content: "";
  position: absolute;
  left: 20%;
  right: 20%;
  height: 150px;
  border-radius: 50%;
  background-color: #18B8FD;
  bottom: 0;
  transform: translateY(70%);
  filter: blur(200px);
  z-index: -1;
}
.cs1IconCol+.cs1ContentCol {
  padding-top: 30px;
}
.cs1ContentCol h4+p {
  padding-top: 10px;
}
.cs1ContentCol p {
  line-height: 1.75;
}
.darkShapeCol {
  position: relative;
  background-color: var(--primaryDark);
  color: var(--white);
  overflow: hidden;
  padding: 160px 0 175px;
}
.lightSection {
  padding: 120px 0;
}
.processColMain {
  margin: 0 auto;
  max-width: 1170px;
  position: relative;
  z-index: 2;
}
/******** Filter Css *******/
.filterMain {
  margin-top: 50px;
}
.filterMain .mix {
  display: none;
}
.filterTabs button.filter {
  border: 1px solid rgba(24, 25, 69, 0.1);
  background: rgb(235,239,255);
  background: -moz-linear-gradient(45deg,  rgba(235,239,255,1) 0%, rgba(249,249,255,1) 100%);
  background: -webkit-linear-gradient(45deg,  rgba(235,239,255,1) 0%,rgba(249,249,255,1) 100%);
  background: linear-gradient(45deg,  rgba(235,239,255,1) 0%,rgba(249,249,255,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ebefff', endColorstr='#f9f9ff',GradientType=1 );
  padding: 18px 40px;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 500;
  color: #181945;
}
.filterTabs button.filter + button.filter {
  margin-left: 20px;
}
.filterTabs button.filter.active {
  background: #000308;
  color: #fff;
}
.cardStyle4 {
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.05);
  border-radius: 20px;
  background-color: #fff;
}
.cardStyle4 .cardDesc {
  padding:34px 32px 54px 32px;
}
.cardStyle4 .cardImg img {
  aspect-ratio:62/40;
  object-fit: cover;
  width: 100%;
  border-radius: 20px 20px 0 0;
}
.cardStyle4 .cardDesc h3 {
  color: var(--baseColor);
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 15px;
}
.cardStyle4 .cardDesc p {
  color: #5F6368;
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
  margin-bottom: 0;
}
.cardStyle4 .cardDesc .cardInfo {
  margin-top: 30px;
}
.cardStyle4 .cardDesc .cardInfo .infoIcon {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background-color: #E2E6FC;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cardStyle4 .cardDesc .cardInfo .infoText {
  color: var(--baseColor);
  font-size: 14px;
  font-weight: 500;
}
/******** Filter Css *******/
.processColMain::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 120px;
  bottom: 200px;
  background-image: url('../images/process-line.svg');
  background-repeat: no-repeat;
  background-position: center top;
  z-index: -1;
}
.processIcon {
  box-shadow: 0 0 35px rgba(40, 234, 233, 0.4);
  border-radius: 50%;
}
.processContentCol h4 {
  font-size: 20px;
  font-weight: 700;
}
.processContentCol h4+p {
  padding-top: 10px;
}
.processContentCol p {
  line-height: 1.75;
}
.processIconCol {
  width: 230px;
  padding: 10px;
}
.processRow+.processRow {
  padding-top: 110px;
}
.processContentCol>p:last-child {
  margin-bottom: 0;
}
.bgCircle {
  width: 750px;
  height: 750px;
  border-radius: 50%;
  opacity: 0.05;
  -webkit-filter: blur(60px);
  filter: blur(60px);
  position: absolute;
  pointer-events: none;
}
.bgCircleColor1 {
  background-color: #00EAFF;
}
.bgCircleColor2 {
  background-color: #9716FC;
}
.bgC1, .bgC3 {
  right: 0;
  -webkit-transform: translateX(40%);
  -ms-transform: translateX(40%);
  transform: translateX(40%);
}
.bgC2 {
  left: 0;
  -webkit-transform: translateX(-48%);
  -ms-transform: translateX(-48%);
  transform: translateX(-48%);
}
.ourProcessSection .bgC1 {
  top: 100px;
}
.ourProcessSection .bgC2 {
  top: 30%;
}
.ourProcessSection .bgC3 {
  bottom: 100px;
}
.getQuoteCol {
  text-align: center;
  padding: 140px 20px;
  background-image: url('../images/get-quote-bg.jpg');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  border-radius: 48px;
  position: relative;
  overflow: hidden;
  color: var(--white);
  background-color: var(--primaryDark);
}
.getQuoteCol::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #172e8c;
  background: -moz-linear-gradient(-45deg, #172e8c 0%, #1935d9 100%);
  background: -webkit-linear-gradient(-45deg, #172e8c 0%, #1935d9 100%);
  background: linear-gradient(135deg, #172e8c 0%, #1935d9 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#172e8c', endColorstr='#1935d9', GradientType=1);
  opacity: 0.7;
}
.getQuoteCol>* {
  position: relative;
  z-index: 1;
}
.getQuoteCol>.titleCol {
  padding-bottom: 20px;
}



.cardStyle2 {
  --borderRadius: 20px;
	background-color: var(--white);
	padding: 20px;
	border-radius: var(--borderRadius);
	color: #5F6368;
	text-align: center;
	height: 100%;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
.cs2ImgCol {
	position: relative;
	padding-top: 78.38%;
}
.cs2ImgCol img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
  border-radius: var(--borderRadius);
}
.cs2IconCol > span {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  margin: -30px auto 12px;
  width: 82px;
  height: 72px;
  border-radius: 16px;
  background-color: var(--white);
  position: relative;
}
.cs2ContentCol h4 {
	font-size: 20px;
	font-weight: 600;
	color: var(--baseColor);
	margin: 0 auto 15px;
	max-width: 280px;
}
.cs2ContentCol p {
	line-height: 1.75;
}
.cs2ContentCol {
	/* margin-top: auto; */
}

.servBtmCol {
	padding-top: 55px;
}
.cardStyle3 {
	--cs3bRadius: 30px;
	text-align: center;
	padding: 16px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	background-color: rgba(255, 255, 255, 0.1);
	border-radius: var(--cs3bRadius);
	height: 100%;
}
.cs3IconCol, .cs3IconInnerCol, .cs3IconInnerCol > span {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
}
.cs3IconCol {
	height: 200px;
	padding: 10px;
	background-color: #1E2887;
	border-radius: var(--cs3bRadius);
}
.cs3IconInnerCol {
	width: 96px;
	height: 96px;
  padding: 12px;
	border: 1px solid rgba(255,255,255,0.5);
	border-radius: calc(var(--cs3bRadius) / 2);
}
.cs3IconInnerCol > span {
	width: 100%;
	height: 100%;
  padding: 10px;
	background-color: var(--white);
  border-radius: calc(var(--cs3bRadius) / 2);
}
.cs3IconInnerCol > span > img {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.cs3ContentCol {
	padding: 25px 15px 0;
}
.cs3ContentCol h4 {
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 14px;
}
.cs3ContentCol p {
	font-size: 15px;
	line-height: 1.46;
}


/********* Footer Css Start *********/
.footerLogo img {
  max-width: 88px;
}
.footerDesc {
  margin-top: 40px;
}
.footerDesc p {
  font-size: 16px;
  line-height: 28px;
  color: rgba(255,255,255,0.9);
}
.footerCol h3 {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 50px;
}
.contactInfo {
  margin-left: 55px;
}
.footerMenu ul li + li ,
.footerIconMenu ul li + li {
  margin-top: 20px;
}
.footerMenu ul li a,
.footerIconMenu ul li a {
  font-size: 15px;
  font-weight: 500;
}
.footerMenu ul li a {
  color: rgba(255,255,255,0.8);
}
.footerIconMenu ul li a {
  color: rgba(255,255,255,0.9);
}
.footerIconMenu ul li {
  padding-left: 38px;
  position: relative;
  font-size: 15px;
  font-weight: 500;
}
.footerIconMenu ul li a img ,
.footerIconMenu ul li a span {
  display: inline-block;
  vertical-align: middle;
}
.footerIconMenu ul li .menuIcon {
  position: absolute;
  left: 0;
  top: 1px;
}
.footerBtm {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 63px;
  margin-top: 73px;
}
.copyRight p {
  margin: 0;
}
.socialMenus ul li {
  display: inline-block;
  vertical-align: middle;
}
.socialMenus ul li a {
  display: inline-block;
  vertical-align: middle;
}
.socialMenus ul li + li {
  margin-left: 30px;
}
.socialMenus ul li a img {
  display: block;
}
.footerSection {
  padding-bottom: 76px;
}
.footerAddress {
  max-width: 228px;
}
.copyRight {
  font-size: 16px;
  color: rgba(255,255,255,0.9);
  font-weight: 400;
}
/********* Footer Css end *********/
/********* Partner Css start *********/
.partnerCol {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  display: grid;
  column-gap: 16px;
  grid-row-gap: 27px;
}
.cardLogo {
  background-color: #fff;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 143px;
  border-radius: 15px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03);
}
.cardLogo img {
  object-fit: contain;
}
/********* Partner Css end *********/
/********* Contact Section Css start *********/
.formOuter {
  max-width: 560px;
}
.mapCol iframe {
  height: 100%;
  min-height: 400px;
  border-radius: 30px;
}
/********* Contact Section Css end *********/

@media (min-width:768px) {
  .processRow:nth-child(2n)>.row {
    flex-direction: row-reverse;
  }
  .processRow:nth-child(2n - 1) .processIconCol, .processRow:nth-child(2n - 1) .processImgCol {
    text-align: right;
  }
  .processRow:nth-child(2n - 1) .processContentCol {
    padding-left: 30px;
  }
  .processRow:nth-child(2n) .processContentCol {
    padding-right: 30px;
  }
}
@media (min-width:992px) {
  .processRow:nth-child(2n - 1) .processContentCol {
    padding-left: 60px;
  }
  .processRow:nth-child(2n) .processContentCol {
    padding-right: 60px;
  }
}
@media (max-width:1199px) {
  .xlTitle {
    font-size: 60px;
  }
  .featureBanner {
    padding: 200px 0 350px;
  }
  .contactInfo {
    margin-left: 0;
  }
  .footerIconMenu ul li {
    padding-left: 30px;
  }
  .footerIconMenu ul li a,
  .footerIconMenu ul li,
  .footerMenu ul li a {
    font-size: 14px;
  }
  .footerDesc p {
    font-size: 14px;
    line-height: 24px;
  }
  .footerDesc {
    margin-top: 20px;
  }
  .partnerCol {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .menuColMain {
    padding-left: 20px;
  }
  .menuCol>ul>li+li {
    padding-left: 20px;
  }
  .headerSection, .headerSection .btn {
    font-size: 15px;
  }
}
@media (max-width:991px) {
  .xlTitle {
    font-size: 50px;
  }
  .cardStyle4 .cardDesc {
    padding: 24px 20px 24px 20px;
  }
  .cardStyle4 .cardDesc .cardInfo .infoText {
    font-size: 12px;
  }
  .cardStyle4 .cardDesc p {
    font-size: 14px;
    line-height: 22px;
  }
  .lgTitle {
    font-size: 35px;
  }
  .copyRight {
    font-size: 14px;
  }
  .footerBtm {
    padding-top: 33px;
    margin-top: 53px;
  }
  .footerSection.darkShapeCol {
    padding-bottom: 36px;
    padding-top: 120px;
  }
  .bannerContent p {
    font-size: 16px;
  }
  .footerCol h3 {
    margin-bottom: 30px;
  }
  .formOuter {
    max-width: 100%;
    margin-top: 50px;
  }
  .menuColMain {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    background-color: var(--primaryDark);
    width: 270px;
    padding: 20px;
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: all 300ms ease-in-out 0s;
    -o-transition: all 300ms ease-in-out 0s;
    transition: all 300ms ease-in-out 0s;
  }
  .menuCol {
    text-align: left;
    padding-bottom: 20px;
  }
  .menuCol>ul>li {
    display: block;
  }
  .menuCol>ul>li+li {
    padding-left: 0;
    padding-top: 10px;
  }
  .actNav .menuColMain {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
  }
  .processColMain::before {
    display: none;
  }
  .aboutVideoCol video {
    border-radius: 20px;
  }
}
@media (max-width: 767px) {
  .filterTabs button.filter {
      padding: 12px 25px;
      font-size: 14px;
    }
  .socialMenus {
    margin-top: 20px;
  }
  .darkShapeCol {
    padding: 120px 0 135px;
  }
  .xlTitle {
    font-size: 40px;
  }
  .bannerContent p {
    font-size: 14px;
  }
  .lgTitle {
    font-size: 30px;
  }
  .copyRight {
    font-size: 14px;
  }
  .partnerCol {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 575px) {
  .partnerCol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .xlTitle {
    font-size: 32px;
  }
  .lgTitle {
    font-size: 25px;
  }
  .filterTabs button.filter {
    font-size: 14px;
    display: block;
    width: 100%;
  }
  .filterTabs.text-center {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .filterTabs button.filter + button.filter {
    margin-left: 0;
  }
  .featureBanner {
    padding: 200px 0 220px;
  }
  .featureBanner .btmShape {
    height: 140px;
  }
}
