/*---- THEME CSS STARTS ----*/

body {
    overflow-x: hidden !important;
    position: relative;
    padding: 10px;
}

.page-header {
   display: none;
}

.image-hover {
    overflow: hidden;
}
.image-hover img {
    transition: all 0.5s ease-in;
    width: 100%;
}
.image-hover:hover img {
    transform: scale(1.1);
}
.innerPopupContent a {
    color: #372567 !important;
}

/*---- THEME CSS ENDS ----*/

/*---- HEADER CSS STARTS ----*/

.mainHeader {
    position: absolute;
    z-index: 1;
    top: 20px;
    left: 20px;
    width: calc(100% - 40px);
    border: 1.067px solid rgba(255, 255, 255, 0.10);
    background: ;
    backdrop-filter: blur(17.399999618530273px);
}
.mainHeader .elementor-nav-menu li.menu-item a:before {
    content: "";
    background-color: white !important;
    width: 27px;
    height: 3px;
    border-radius: 15px !important;
    bottom: 5px;
}
.mainHeader .elementor-nav-menu li.menu-item a:after {
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 10px;
    background-color: white !important;
    right: -10px;
    bottom: 17px;
}

/*---- HEADER CSS ENDS ----*/


/*----- SECOND SECTION CSS STARTS -----*/

.signalSec:before {
    content: "";
    position: absolute !important;
    top: 0;
    left: unset;
    right: 0 !important;
    width: 418px;
    height: 418px;
    border-radius: 418px;
    opacity: 0.15;
    background: #5B54B8;
    filter: blur(100px);
}
.signalSec:after {
    content: "";
    position: absolute !important;
    bottom: 0;
    left: 0;
    width: 418px;
    height: 418px;
    border-radius: 418px;
    opacity: 0.15;
    background: #5B54B8;
    filter: blur(100px);
    z-index: -1;
}

/*----- SECOND SECTION CSS ENDS -----*/


/*---- STABLER SECTION CSS STARTS -----*/

.stablerCont {
    padding-left: max(70px, calc((100vw - 1410px) / 2));
}

/*---- STABLER SECTION CSS ENDS -----*/


/*---- WHY NOW SECTION CSS STARTS -----*/

.caneImage {
    position: absolute;
    top: 50px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 100%;
}

.caneImage:after {
    content: "";
    position: absolute;
    top: 60px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 478px;
    height: 478px;
    border-radius: 478px;
    opacity: 0.4;
    background: #5B54B8;
    filter: blur(100px);
    z-index: -1;
}

.whyiconBox:before {
    content: "01.";
    background-color: #C2D4EE;
    font-family: "SFProDisplay", sans-serif;
    color: #000;
    font-size: 20px;
    font-weight: 700;
    line-height: 30px; /* 150% */
    display: flex;
    align-items: center;
    justify-content: center;
    border: 5px solid #ffffff;
    width: 63px;
    height: 63px;
    border-radius: 40px;
}
.contentLeft .whyiconBox:before {
    margin-left: auto;
}

.whyiconBox.two:before {
    content: "02.";
}
.whyiconBox.three:before {
    content: "03.";
}
.whyiconBox.four:before {
    content: "04.";
}
.whyiconBox.five:before {
    content: "05.";
}
.whyiconBox.six:before {
    content: "06.";
}


.whyiconBox.one {
    margin-left: -240px;
}
.whyiconBox.six {
    right: -240px;
}

.whyiconBox.two {
    margin-left: -80px;
}
.whyiconBox.five {
    right: -80px;
}

.whyiconBox.three {
    margin-left: -180px;
}
.whyiconBox.four {
    right: -180px;
}


.contentRight, .contentLeft {
    padding-top: 50px;
}

/*---- WHY NOW SECTION CSS ENDS -----*/


/*----- INNER BANNER CSS STARTS ----*/
.InnerBanner {
    min-height: 714px;
    border-radius: 20px;
}
/*----- INNER BANNER CSS ENDS ----*/

/*---- TECHNOLOGY PAGE CSS STARTS ----*/
.iconBox {
    width: 27%;
}
.iconBox:not(:last-child):before {
    content: "";
    background: url(../images/ArrowStyled.svg) no-repeat;
	background-size: contain;
    width: 129px;
    height: 62px;
    position: absolute;
    right: -120px;
    top: 80px;
    transform: rotate(-25deg);
}
.iconBox:nth-child(2):before {
    top: 160px;
    transform: rotate(10deg) scaleY(-1);
}

.stepBox .elementor-icon-box-content {
    padding-left: 115px;
    color: var(--e-global-color-primary);
}

.stepBox .elementor-icon-box-content:before {
    content: "";
    background: currentColor;
    width: 96px;
    height: 2px;
    position: absolute;
    left: 0;
    top: 20px;
}

.stepBox .elementor-icon-box-content:after {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 16px;
    border: 2px solid currentColor;
    background: white;
}


.benefitIcon {
    border-radius: 30px;
    border: 1px solid #DADADA;
    padding: 0 65px 40px;
}
.benefitIcon span.elementor-icon svg {
    width: auto;
    height: auto;
}
.benefitIcon .elementor-icon-box-icon {
    margin-top: -70px;
}
/*---- TECHNOLOGY PAGE CSS ENDS ----*/

/*---- APPLICATION PAGE CSS STARTS ----*/
.metric-section::after {
    bottom: unset;
    top: 30%;
}
/*---- APPLICATION PAGE CSS ENDS ----*/


/*---- CONTACT PAGE CSS STARTS ----*/
.contactForm .elementor-field-textual {padding: 18px 17px;}
input::placeholder, textarea::placeholder {
  opacity: 1 !important;
}
.contactForm .elementor-field-type-radio .elementor-field-subgroup {
    gap: 15px;
}
.contactForm .elementor-field-type-radio span.elementor-field-option {
    border: 1px solid rgb(67 48 122 / 18%);
    padding: 15px 20px !important;
    border-radius: 17px;
    background: #FAFAFA;
    line-height: 0;
}
.contactForm .elementor-field-type-radio span.elementor-field-option input[type="radio"]{
    accent-color: #43307A;
}
.contactForm .elementor-field-type-radio span.elementor-field-option:has(input[type="radio"]:checked){
    border-color: #43307A;
    background:#F0ECFA;
    font-weight: 500;
}
.contactForm .elementor-field-type-radio span.elementor-field-option:has(input[type="radio"]:checked) label{
    color:#44338F;
    font-weight: 500;
}

.contactForm .elementor-field-type-acceptance label {
    font-weight: 500 !important;
}
.contactForm .elementor-field-type-acceptance label strong {
    color: #43307A;
}


.contactForm .elementor-field-type-submit span.elementor-button-text:before {
    content: "";
    background: url(../images/FormIcon.svg);
    display: block;
    width: 40px;
    height: 40px;
	margin-right: 10px;
}
.contactForm .elementor-field-type-submit span.elementor-button-text {
    display: flex;
    align-items: center;
}


.listcont ul.elementor-icon-list-items {
    padding: 7px 20px !important;
    background-color: rgb(255 255 255 / 18%);
    border-radius: 40px;
}

/*---- CONTACT PAGE CSS ENDS ----*/

.second-coll {
    padding: 0 5%;
}
.second-coll .mobilityBox:nth-child(odd) {
    margin-top: -130px;
}



/* Grid of cards */
.ibx-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 88px;
    margin: 40px 0;
}
 
 
@media (max-width: 767px) {
	.ibx-grid {
		grid-template-columns: 1fr;
	}
}
 
/* Card */
.ibx-card {
    display: flex;
    gap: 30px;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: #FBFAFF;
    border: 1px solid #DADADA;
    font-family: 'SFProDisplay';
    padding: 30px 38.5px;
    border-radius: 30px;
    box-sizing: border-box;
}
 

.ibx-icon img {
	display: block;
}
.ibx-title {
    font-weight: 500;
    margin: 0;
    max-width: 75%;
}
.ibx-desc {
    font-size: 22px;
}
 
button.ibx-btn {
    display: flex;
    align-items: center;
    font-size: 18px;
    font-weight: 700;
    background: white !important;
    border: 1px solid #DADADA;
    color: #333 !important;
    border-radius: 30px;
    padding: 10px 25px 10px 10px;
	margin-top: auto;
}
button.ibx-btn:before {
    content: "";
    background: url(../images/buttonIcon.svg);
    display: block;
    width: 40px;
    height: 40px;
	margin-right: 10px;
}


.missingRow h5.ibx-title {
    max-width: 100%;
}


/* -------------------------------------------------------------
   Popup / Modal
------------------------------------------------------------- */
 
.ibx-popup {
	position: fixed;
	inset: 0;
	display: flex; /* Kept flex active so transitions can render */
	align-items: center;
	justify-content: center;
	z-index: 9999;
	
	/* Hidden state by default */
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* Open State */
.ibx-popup.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

body.ibx-popup-lock {
	overflow: hidden;
}

.ibx-popup-overlay {
	position: absolute;
	inset: 0;
	cursor: pointer;
	background: #00000040;
}

.ibx-popup-panel {
	position: relative;
	width: 90%;
	max-width: 637px;
	background-color: white;
	border: 1px solid #DADADA;
	overflow-y: auto;
	border-radius: 20px;
	padding: 40px 15px 60px 40px;
	box-sizing: border-box;
	text-align: center;
	font-family: 'SFProDisplay';
	
	/* Initial zoomed-out scale */
	transform: scale(0.5);
	transition: transform 0.7s ease-in;
}

/* Zoom in when open */
.ibx-popup.is-open .ibx-popup-panel {
	transform: scale(1);
}

.ibx-popup-close {
	position: absolute;
	top: -10px;
    right: 10px;
	border: none;
	font-size: 36px;
	color: #333 !important;
	background: transparent !important;
	cursor: pointer;
}
 
.ibx-popup-icon {
	margin-bottom: 20px
}
.ibx-popup-icon img {
	width: 108px;
	display: block;
	margin: 0 auto
}
 
.ibx-popup-title {
    margin: 0 auto 40px;
    max-width: 75%;
    font-weight: 700;
}
 
.ibx-popup-desc p {
	margin: 0 0 12px;
	font-size: 22px;
}
 
.ibx-popup-desc ul, .ibx-popup-desc ol {
    margin: 0 0 12px;
    padding-left: 20px;
    font-size: 22px;
    list-style: none;
}
.ibx-popup-desc li {
	margin-bottom: 15px;
	display: flex;
	align-items: center;
}
.ibx-popup-desc ul li:before {
    content: "";
    background: url(../images/checkIcon.png);
    display: block;
    width: 18px;
    height: 18px;
	margin-right: 10px;
}
 
.innerPopupContent {
    height: 500px;
    padding-right: 35px;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: #372567 transparent;
}

/*---- FOOTER CSS STARTS -----*/

.AutoWidth {
    width: auto;
}

.mainFooter:before {
    content: "";
    background-image: url(../images/FooterIcon1.png);
    width: 196px;
    height: 161px;
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    top: 20%;
}
.mainFooter:after {
    content: "";
    background-image: url(../images/FooterIcon2.png);
    width: 380px;
    height: 380px;
    background-repeat: no-repeat;
    position: absolute;
    right: 0;
    bottom: 0;
}

/*---- FOOTER CSS ENDS -----*/


@media only screen and (max-width: 1680px){

.whyiconBox.one {
    margin-left: -170px;
}
.whyiconBox.two {
    margin-left: -30px;
}
.whyiconBox.three {
    margin-left: -90px;
}
.whyiconBox.six {
    right: -170px;
}
.whyiconBox.five {
    right: -30px;
}
.whyiconBox.four {
    right: -90px;
}

.whyiconBox:before {
    font-size: 15px;
    border: 4px solid #ffffff;
    width: 48px;
    height: 48px;
}

.InnerBanner {
    min-height: 514px;
}
.BannerContent {
    margin-top: 50px;
}
.iconBox:not(:last-child):before {
	width: 89px;
    height: 42px;
    right: -100px;
}
	
.ibx-grid {
    gap: 50px;
    margin: 20px 0;
}
.ibx-desc {
    font-size: 17px;
}
button.ibx-btn {
    font-size: 16px;
}
	
.ibx-popup-desc p, .ibx-popup-desc ul, .ibx-popup-desc ol {
	font-size: 17px;
}

}

@media only screen and (max-width: 1280px){

.whyiconBox.one {
    margin-left: -50px;
}
.whyiconBox.two {
    margin-left: 0;
}
.whyiconBox.three {
    margin-left: -50px;
}
.whyiconBox.six {
    right: -50px;
}
.whyiconBox.five {
    right: 0px;
}
.whyiconBox.four {
    right: -50px;
}
.caneImage img {
    width: 400px;
}
.caneImage:after {
    width: 288px;
    height: 288px;
}
	
.stablerCont {
    padding-left: 20px;
}
	
.iconBox figure.elementor-image-box-img img {
    width: 75%;
    margin: 0 auto;
}
.iconBox:not(:last-child):before {
	width: 69px;
	height: 32px;
	right: -80px;
}
	
.stepBox .elementor-icon-box-content {
    padding-left: 85px;
    color: var(--e-global-color-primary);
}
.stepBox .elementor-icon-box-content:before {
    width: 70px;
}
	
.ibx-grid {
    gap: 30px;
}
.ibx-card {
    gap: 20px;
}
.ibx-desc {
    font-size: 16px;
}
button.ibx-btn {
    font-size: 15px;
}
.ibx-popup-desc p, .ibx-popup-desc ul, .ibx-popup-desc ol {
	font-size: 16px;
}
	
.contactForm .elementor-field-type-radio span.elementor-field-option {
    padding: 13px 15px !important;
    border-radius: 15px;
}
	
}


@media only screen and (max-width: 1024px){

.contentRight, .contentLeft {
    padding-top: 20px;
}
.whyiconBox.one, .whyiconBox.two, .whyiconBox.three {
    margin-left: 0;
}

.whyiconBox.six, .whyiconBox.five, .whyiconBox.four {
    right: 0;
}
.caneImage img {
    width: 300px;
}
.caneImage:after {
    width: 288px;
    height: 288px;
}
	
.iconBox {
    width: 30%;
}
.iconBox:not(:last-child):before {
	width: 59px;
	height: 32px;
	right: -45px;
	top: 70px;
}
	
.stepBox .elementor-icon-box-content {
    padding-left: 55px;
    color: var(--e-global-color-primary);
}
.stepBox .elementor-icon-box-content:before {
    width: 45px;
}
	
.InnerBanner {
    min-height: 414px;
}
.BannerContent {
    margin-top: 80px;
}
	
	
.ibx-grid {
    gap: 20px;
}
.ibx-card {
    padding: 30px 18.5px;
}
.ibx-desc {
    font-size: 15px;
}
.ibx-popup-desc p, .ibx-popup-desc ul, .ibx-popup-desc ol {
	font-size: 15px;
}
button.ibx-btn {
    font-size: 14px;
}
	
.second-coll .mobilityBox:nth-child(odd) {
    margin-top: -70px;
}
.second-coll {
    padding: 0;
}

.contactForm .elementor-field-type-radio .elementor-field-subgroup {
    gap: 10px;
}
.listcont ul.elementor-icon-list-items {
    padding: 7px 10px !important;
}
	
}

@media only screen and (max-width: 767px){


.mainHeader {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    margin-bottom: 20px;
    background-color: #372567 !important;
    z-index: 9;
}

.homeBanner {
    min-height: auto !important;
    padding-top: 100px;
    padding-bottom: 60px;
}

.caneImage:after {
    width: 228px;
    height: 228px;
}
.caneImage {
    position: relative;
    top: 0;
}
.contentLeft .whyiconBox:before {
    margin-left: unset;
}



.signalSec:before, .signalSec:after{
    display: none;
}
	

.iconBox {
    width: 100%;
}
.iconBox:not(:last-child):before{
	display: none
}
	
.benefitIcon .elementor-icon-box-icon {
    margin-top: 0;
}
.benefitIcon {
    padding: 30px 45px 30px;
}
	
.InnerBanner {
    min-height: auto;
}
.BannerContent {
    margin-top: 0;
    padding: 60px 20px !important;
}
	
.ibx-popup-panel {
    padding: 20px 20px 30px;
}
.ibx-popup-title {
    margin: 0 auto 20px;
    max-width: 85%;
}
.second-coll .mobilityBox:nth-child(odd) {
    margin-top: 0;
}
.ibx-popup-desc ul, .ibx-popup-desc ol {padding: 0;}
.ibx-popup-desc p, .ibx-popup-desc ul, .ibx-popup-desc ol {
	font-size: 15px;
	line-height: normal;
}
.ibx-popup-desc li {
    margin-bottom: 8px;
    text-align: left;
}
.ibx-popup-desc ul li:before {
    background-size: contain;
    width: 15px;
    height: 15px;
    margin-right: 6px;
    flex-shrink: 0;
}

}