/*
00. Library override(ex. bootstrap etc) --------------------
01. Text and Typography ------------------------------------
02. Common element(ul,ol,li,body,div etc.) -----------------
03. Common class(padding, margin etc.) ---------------------
04. Header styles ------------------------------------------
05. Footer styles-------------------------------------------
06. Common content------------------------------------------
07. Pages and Posts-----------------------------------------
08. Extra styles--------------------------------------------
09. Media Query---------------------------------------------
*/
/* End Table of Contents */

/* 00. Library override(ex. bootstrap etc) start*/
:root {
    --primary-font: 'Bricolage Grotesque', sans-serif;
    --secondary-font: 'Sora', sans-serif;
    --font-58: 58px;
    --font-48: 48px;
    --font-32: 32px;
    --font-24: 24px;
    --font-20: 20px;
    --font-18: 18px;
    --font-16: 16px;
    --black-color: #000000;
}

@media screen and (max-width: 1280px) {
    :root {
        --font-58: 44px;
        --font-48: 40px;
        --font-32: 28px;
        --font-24: 20px;
        --font-20: 18px;
        --font-18: 16px;
    }
}

@media screen and (max-width: 767px) {
    :root {
        --font-58: 40px;
        --font-48: 30px;
        --font-32: 24px;
        --font-24: 18px;
        --font-20: 16px;
        --font-18: 14px;
    }
}

/* 00. Library override(ex. bootstrap etc)   end*/

/* ccs- client-slider */
.dark-slider .clients-slider-section .client-image{
	opacity: 1 !important;
}
/* css end  */

/* css- our-strategy start  */
.our-strategy .service-wrapper .nav-tabs .nav-link {
 
    padding: 15px 0px;
  
}
/* css end */
/* blog- fetaure-img css start  */
.blog-feature-img img{
    width: 100%;
    height: 520px;
    object-fit: cover;
    display: block;
}

/* blog feature img css end */


/* 01. Text and Typography start */
.gradient-text .elementor-heading-title,
.gradient-text2,
.gradient-text3,
.gradient-text4,
.gradient-text5,
.gradient-text6,
.grey-gradient-text .elementor-heading-title,
.contact-gradient-text .elementor-heading-title,
.cta-btn .elementor-button-text{
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent;
}

.title-gradient{
	 background:linear-gradient(90deg, #F7C833 15.38%, #7B33F7 82.69%);
   -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent;
}

.gradient-text .elementor-heading-title,
.cta-btn .elementor-button-text{
    /* background: linear-gradient(90deg, #F7C833 0%, #7B33F7 100%); */


    background: linear-gradient(82.94deg, #C40C0C -48.31%, #F6CE71 104.39%);
}

.gradient-text2 {
    /* background: linear-gradient(90deg, #F7C833 29.81%, #7B33F7 63.46%); */

    background: linear-gradient(82.94deg, #C40C0C -48.31%, #F6CE71 104.39%);
}
/* gradient-start */
.gradient-text2 {
    background: linear-gradient(
        82.94deg,
        #C40C0C,
        #F6CE71,
        #C40C0C
    );

    background-size: 200% auto; 
    

    background-clip: text;
    color: transparent;

    animation: gradientMove 5s linear infinite;
}


@keyframes gradientMove {
    0% {
        background-position: 0% center;
    }
    100% {
        background-position: 200% center;
    }
}
/* gradient-end */
.gradient-text3 {
    /* background: linear-gradient(90deg, #F7C833 14.42%, #7B33F7 55.29%); */
    background: linear-gradient(82.94deg, #C40C0C -48.31%, #F6CE71 104.39%);
}

.gradient-text4 {
    /* background: linear-gradient(90deg, #F7C833 0%, #7B33F7 80.77%); */
    background: linear-gradient(82.94deg, #C40C0C -48.31%, #F6CE71 104.39%);
}

.gradient-text5{
    /* background: linear-gradient(90deg, #F7C833 0%, #7B33F7 43.75%); */
    background: linear-gradient(82.94deg, #C40C0C -48.31%, #F6CE71 104.39%);
}

.gradient-text6{
    /* background: linear-gradient(90deg, #F7C833 0%, #7B33F7 51.92%); */
    background: linear-gradient(82.94deg, #C40C0C -48.31%, #F6CE71 104.39%);
}
.title-gradient{
	  background:linear-gradient(90deg, #F7C833 15%, #7B33F7 90.64%);
}
.grey-gradient-text .elementor-heading-title {
    background: linear-gradient(180deg, #EEEEEE 0%, rgba(255, 255, 255, 0) 155.56%);
}

.contact-gradient-text .elementor-heading-title{
    background: linear-gradient(180deg, #DADADA 0%, rgba(255, 255, 255, 0) 155.56%);
}

.border-text {
    text-shadow:
        1px 1px #000000,
        -1px 1px #000000,
        1px -1px #000000,
        -1px -1px #000000,
        1px 1px 5px #ffffff;
    color: #ffffff;
}

/* 01. Text and Typography end */


/* 02. Common element(ul,ol,li,body,div etc.) start*/
a:focus{
    outline: none;
    background-color: transparent !important;
}

.elementor-nav-menu--dropdown .elementor-item.highlighted{
    background-color: #ffffff !important;
    color: #33373d !important;
}


/* 02. Common element(ul,ol,li,body,div etc.) end*/


/*03. Common class(padding, margin etc.) start*/
.post,
.page {
    margin: 0;
}

/*03. Common class(padding, margin etc.) end*/


/*04. Header styles start*/
.sticky-header {
    position: fixed !important;
    top: 0;
    left: 0;
    z-index: 999 !important;
    background-color: #ffffff;
    box-shadow: 0 6px 10px 1px rgb(159 159 159 / 0.1);
    width: 100%;

    transition: 0.3s ease-in-out !important;
    backdrop-filter: saturate(0%) blur(50px);
    animation: slideDown 0.35s ease-out;
}

.main-header .menu-item:not(.contact-btn) .elementor-item-active,
.quick-links .elementor-item-active {
    background: linear-gradient(90deg, #F7C833 0%, #7B33F7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.main-header .menu-item:not(.contact-btn) .elementor-item,
.quick-links .menu-item .elementor-item,
.main-gradient-btn {
    transition: 0.3s ease all !important;
}

.main-header .menu-item:not(.contact-btn) .elementor-item:hover,
.quick-links .menu-item .elementor-item:hover{
    background: linear-gradient(90deg, #F7C833 0%, #7B33F7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: 0.3s ease all !important;
}

.main-header .menu-item.contact-btn a,
.gradient-btn .elementor-button-link,
.main-gradient-btn a {
    padding: 14px 50px 14px 25px !important;
    position: relative;
    z-index: 1;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-direction: row-reverse;
    color: #ffffff !important;
    border-radius: 30px !important;
    font-weight: 500 !important;
    background: linear-gradient(90deg, #F7C833, #7B33F7, #F7C833);
    background-size: 200% 100%;
    background-position: left center;
    transition: background-position 0.5s ease;
}

.main-header .menu-item.contact-btn a{
    font-weight: 500;
}

.gradient-btn .elementor-button-link {
    padding: 14px 25px !important;
}

.main-header .menu-item.contact-btn a::before,
.gradient-btn .elementor-button-link::before,
.main-gradient-btn a::before {
    content: "";
    width: 14px;
    height: 14px;
    display: inline-block;
    background-image: url('../images/white-arrow.svg');
    background-size: contain;
    background-repeat: no-repeat;
    right: 25px;
    background-color: transparent !important;
    opacity: 1 !important;
}

.main-header .menu-item.contact-btn a::after,
.gradient-btn .elementor-button-link::after,
.main-gradient-btn a::after {
    content: "";
    position: absolute;
    top: 1px;
    left: 1px;
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    border-radius: 30px;
    z-index: -1;
    background: linear-gradient(90deg, #F7C833, #7B33F7, #F7C833);
    background-size: 200% 100%;
    background-position: left center;
    transition: background-position 0.5s ease;
}


.black-btn .elementor-button-link,
.black-btn .elementor-button-link::after {
    background: black;
    transition: 0.3s ease all;
}

.black-btn .elementor-button-link:hover::after,
.black-btn .elementor-button-link:hover {
    background: linear-gradient(90deg, #F7C833, #7B33F7, #F7C833);
    background-size: 200% 100%;
    background-position: right center;
}


.main-header .menu-item.contact-btn a:hover,
.gradient-btn .elementor-button-link:hover,
.main-header .menu-item.contact-btn a:hover::after,
.gradient-btn .elementor-button-link:hover::after,
.main-gradient-btn a:hover,
.main-gradient-btn a:hover::after {
    background-position: right center;
}

.main-header .sub-menu{
    /* display: block !important; */
    padding: 20px 10px !important;
}


.main-header .sub-menu li a:hover{
    background-color: #ffffff;
    background: linear-gradient(90deg, #F7C833 0%, #7B33F7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.main-header .current_page_parent a.has-submenu,
.main-header .current-menu-parent a.has-submenu,
.single-case-study .work-menu a{
    background: linear-gradient(90deg, #F7C833 0%, #7B33F7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    fill: #F9A023 !important;
}

/* .main-header .sub-menu.elementor-nav-menu--dropdown{
    box-shadow: 0 16px 50px rgba(0,0,0,.07);
    border-radius: 10px;
} */
/*04. Header styles end*/


/*05. Footer styles start*/
.quick-links .menu-item {
    width: fit-content;
}

.social-icons svg{
    transition: 0.3s ease all;
    font-size: 25px;
    filter: brightness(0) invert(0.6);
}

.social-icons svg:hover{
    transition: 0.3s ease all;
    filter: unset;
}
.blog-social-icons svg {
    transition: 0.3s ease all;
    font-size: 15px;
}

.blog-social-icons svg:hover path{
    fill: #000000;
    transition: 0.3s ease all;
}

.blog-social-icons .elementor-share-btn__icon{
    width: unset;
}

.footer-iconbox .elementor-icon-box-title {
    margin-top: 0;
}

.footer-iconbox .elementor-icon-box-description a {
    color: #00000099;
    transition: 0.3s ease all;
    word-break: break-all;
}

.link-decoration .elementor-icon-box-description a{
    text-decoration: underline;
    text-underline-offset: 3px;
}

.footer-iconbox .elementor-icon-box-description a:hover {
    transition: 0.3s ease all;
    background: linear-gradient(90deg, #F7C833 0%, #7B33F7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}



.footer-iconbox .elementor-icon svg {
    filter: brightness(0) invert(0);
}

/*05. Footer styles end*/


/*06. Common content start*/
.bigger-text .elementor-heading-title{
    font-size: clamp(50px, 14vw, 215px);
}

.gradient-border-btn a{
    background: transparent;
    position: relative;
    z-index: 1;
    overflow: hidden;
    background: linear-gradient(90deg, #F7C833 0%, #7B33F7 100%);
    background-size: 110% 110%;
    animation: gradient 5s ease infinite;
    border-radius: 8px;
}

.gradient-border-btn a::after{
    content: "";
    background: #ffffff;
    display: inline-block;
    position: absolute;
    top: 1px;
    left: 1px;
    width: calc(100% - 2px);
    height: calc(100% - 1.8px);
    border-radius: 8px;
    z-index: -1;
    transition: 0.5s all ease;
    opacity: 1;
}

/* .gradient-border-btn a:hover{
    color: #ffffff !important;
} */

.gradient-border-btn a:hover::after{
    background: transparent;
    transition: 0.5s all ease;
}
/*06. Common content end*/

/* Case Study Listing Page Start */
.casestudy-img a{
    width: 100%;
}

.casestudy-date a{
    font-size: 14px;
    font-family: 'sora';
    color: #666666;
}

.category-meta .elementor-icon-list-item a:hover,
.casestudy-date a:hover {
    background: linear-gradient(90deg, #F7C833 0%, #7B33F7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: 0.3s ease all !important;
}




/* Case Study Listing Page End */


/*07. Pages and Posts satrt*/
/*Homepage satrt*/
.image-animation {
    -webkit-animation: mover 1s infinite alternate;
    animation: mover 1s infinite alternate;
}

@keyframes mover {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(-10px);
    }
}

.faq-accordions summary.e-n-accordion-item-title:focus-visible {
    outline: none;
}

.faq-accordions details[open] {
    box-shadow: 0px 0px 24px 0px #00000017;
    border-radius: 15px;
}

.faq-accordions details[open] .e-n-accordion-item-title {
    border-radius: 15px 15px 0px 0px;
}

.faq-accordions .e-n-accordion {
    /* display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 20px; */
    column-count: 2;
    column-gap: 30px;

}
/* faq-chnage */
/* .faq-accordions .e-n-accordion details {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    display: block;
} */
.faq-new summary.e-n-accordion-item-title:focus-visible {
    outline: none;
}

.faq-new details[open] {
    box-shadow: 0px 0px 24px 0px #00000017;
    border-radius: 15px;
}

.faq-new details[open] .e-n-accordion-item-title {
    border-radius: 15px 15px 0px 0px;
}
.faq-new .e-n-accordion {
        /* grid-template-columns: 1fr; */
        column-count: 1;
}

/* faq-end */


.section-overlay,
.mountain-overlay,
.service-overlay,
.card-overlay,
.blog-shadow,
.takeoff-overlay,
.include-shadow {
    position: relative;
    z-index: 5 !important;
}

.section-overlay::after,
.mountain-overlay::after,
.service-overlay::after,
.product-before::after,
.card-overlay::after,
.card-overlay .e-con-inner::before,
.blog-shadow::after,
.takeoff-overlay::after,
.airglide-overlay .e-con-inner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background: linear-gradient(to bottom,
            transparent 0%,
            #ffffff 30%,
            #ffffff 70%,
            transparent 100%);
}

.airglide-overlay{
    overflow: visible !important;
}

.airglide-overlay .e-con-inner::before{
    background: linear-gradient(to bottom, transparent 0%, #ffffff 72%, #ffffff 100%, transparent 100%);
   /* background: linear-gradient(to bottom, transparent 0, #ffffff 32%, #ffffff 100%, transparent 100%); */
    z-index: 2;
    /* height: 600px;
    bottom: 0;
    top: unset; */
}

.takeoff-overlay::after{
    background: linear-gradient(to bottom, transparent 0%, #ffffff 61%, #ffffff 70%, transparent 100%);
    top: -35%;
}

.card-overlay .e-con-inner::before{
    height: 45%;
    top: 0;
    background: linear-gradient(to bottom, transparent 0%, #ffffff 0%, #ffffff 28%, transparent 100%);
}

.card-overlay::after{
    height: 60%;
    /* background: linear-gradient(to bottom, transparent 0%, #ffffff 80%, #ffffff 100%, transparent -20%); */
    background: linear-gradient(to bottom, transparent 0%, #ffffff 60%, #ffffff 100%, transparent 0%);
    top: unset;
    bottom: 0;
}

.product-before::after{
    top: -50%;
    background: linear-gradient(to bottom, transparent 0%, #ffffff 53%, #ffffff 100%, transparent 100%);
}

.mountain-overlay::after{
    top: 12%;
    background: linear-gradient(to bottom, transparent 0%, #ffffff 46%, #ffffff 68%, transparent 100%);
}

.service-overlay::after {
    background: linear-gradient(to bottom, transparent 0%, #ffffff 20%, #ffffff 70%, transparent 100%);
}

.blog-shadow::after{
    height: 35%;
    bottom: 0;
    top: unset;
    background: linear-gradient(to bottom, transparent 0%, #ffffff 100%, #ffffff 50%, transparent 100%);
}


/* .section-overlay::after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;

    background: linear-gradient(
        to bottom,
        transparent 0%,
        #ffffff 46%,
        #ffffff 70%,
        transparent 100%
    );
} */

.banner-overlay {
    box-shadow: 0 0 100px 120px rgba(255, 255, 255, 1);
}

.card-container.active{
    background-color: #7C7CE6 !important;
}

.card-container.active .card-content .elementor-heading-title,
.card-container.active .card-content .elementor-widget-text-editor {
    transition: 0.3s ease all;
}

.card-container.active .card-content .elementor-heading-title,
.card-container.active .card-content .elementor-widget-text-editor {
    color: #ffffff !important;
    transition: 0.3s ease all;
}

.workSwiper {
    height: 80vh !important;
}

.workSwiper .swiper-slide-active .swiper-content::before {
    background: linear-gradient(90deg, #F7C833 0%, #7B33F7 100%);
    border-radius: 25px;
    left: 0;
    right: 0;
    top: 0;
    content: "";
    position: absolute;
    bottom: 0;
    z-index: -1;
    transition: border-radius 5s ease, opacity 0.3s ease;
}

.workSwiper .swiper-slide-active .swiper-content::after {
    background: #ffffff;
    display: block;
    left: 2px;
    right: 2px;
    top: 2.5px;
    bottom: 2.5px;
    border-radius: 22px;
    z-index: -1;
    content: "";
    position: absolute;
    transition: border-radius 5s ease, opacity 0.3s ease;
}





/* Card */
.selfcheck-card {
    position: relative;
    border-bottom: 1px dashed #000;
    /* ✅ default border */

    /* prepare gradient (hidden initially) */
    background: linear-gradient(#fff, #fff) padding-box,
        /* linear-gradient(71.57deg, #F7C833, #7B33F7) border-box; */
        linear-gradient(82.94deg, #C40C0C -48.31%, #F6CE71 104.39%) border-box;


    background-size: 0% 1px;
    /* only bottom border height */
    background-position: 0 100%;
    background-repeat: no-repeat;

    transition: background-size 0.6s ease;
}


/* Default circle */
.selfcheck-card:not(:last-child)::after {
    content: '';
    position: absolute;
    right: -25px;
    bottom: -17px;
    height: 35px;
    width: 35px;
    background: #E9E9E9;
    border-radius: 50%;
    transition: 0.3s ease all;
    border: 5px solid #ffffff;
}

/* 🔥 Hover: show gradient border */
.selfcheck-card:hover {
    border-bottom: 1px solid transparent;
    /* hide normal border */
    background-size: 100% 2px;
    /* animate gradient line */
}

/* 🔥 Hover: gradient donut ring */
.selfcheck-card:hover::after {
    /* background: conic-gradient(#F7C833,
            #7B33F7,
            #F7C833); */

/* background: radial-gradient(circle at center, white 30%, transparent 31%),
            linear-gradient(82.94deg, #C40C0C, #F6CE71); */

 background: 
        radial-gradient(circle at center, white 30%, transparent 31%),
        linear-gradient(82.94deg, 
            #C40C0C 0%, 
            #F6CE71 100%
        );
    background-size: 100% 100%;




    -webkit-mask: radial-gradient(circle, transparent 22%, black 27%);
    mask: radial-gradient(circle, transparent 22%, black 27%);
}

.after-card{
    position: relative;
}

.after-card::after{
    /* content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background-color: red;
    border-radius: 22px;
    z-index: 3; */

    /* content: '';
    position: absolute;
    right: 0%;
    top: 10%;
    height: 37%;
    width: 50%;
    background-color: #ffffff;
    border-radius: 12px;
    z-index: -5;
    transform: rotate(10deg); */
}




.line-container {
  position: relative;
  width: 2px;
  margin: 50px auto;
  /* overflow: hidden;/ */
}

.blue-line{
    height: 40vh;
}

.yellow-line{
    height: 70vh;
}
/* Vertical line with fade */
.line {
  width: 1px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: linear-gradient(
    to top,
    rgba(102, 102, 102, 1) 0%,
    rgba(102, 102, 102, 0) 100%
  );
}

/* Moving dot */
.dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.yellow-dot{
  background: #F3A62D;
  animation: yellowmoveDot 4s ease-in-out infinite alternate;
}

.blue-dot{
  background: #2D83F3;
  animation: bluemoveDot 4s ease-in-out infinite alternate;
}

/* Inner white dot */
.dot::after {
  content: "";
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
}

/* Animation */
@keyframes yellowmoveDot {
  0% {
    top: 0;
  }
  100% {
    top: calc(100% - 14px);
  }
}

@keyframes bluemoveDot {
  0% {
    top: calc(100% - 14px);
  }
  100% {
    top: 0;
  }
}

.line-container::after {
  content: "";
  position: absolute;
  left: -10px;
  top: 0;
  width: 30px; /* covers dot area */
  height: 100%;
  pointer-events: none;

  background: linear-gradient(
    to top,
    rgba(255,255,255,0) 50%,
    rgba(255,255,255,1) 100%
  );
}
/*Homepage end	*/

/* About Us Page Start */
.about-banner-img img {
    width: 100%;
    min-width: 700px;
    max-width: 700px;
}

.about-before-text,
.home-before-text {
    position: relative;
}

.about-before-text::after,
.home-before-text::after {
    position: absolute;
    background: linear-gradient(89.56deg, #F7C833 -16.85%, #7B33F7 99.62%);
    padding: 15px;
    border-radius: 15px;
    color: #FFFFFF;
    font-size: var(--font-16);
    font-weight: 700;
    line-height: 100%;
    font-family: var(--secondary-font);
    z-index: 2;
}

.about-before-text::after {
    content: "We don't do boring things. We don't do 'fine.' We make breakthroughs.";
    /* transform: skew(-8deg, 5.50deg) translateY(calc(50vw / 24)) translateX(20px) translateY(20px); */
    /* bottom: 30%; */
    transform: skew(6deg, 356deg) translateY(calc(50vw / 24)) translateX(20px) translateY(20px);
    left: -50px;
    bottom: 0;
    font-size: 16px;
}

.home-before-text::after {
    content: 'If any answer is “not yet,” you’re exactly who we built this for.';
    /* transform: skew(8deg, -10.5deg) translateY(calc(50vw / 24))  translateX(20px) translateY(20px); */
    transform: skew(8deg, -7.5deg);
    right: -3%;
    bottom: -20%;
}

.img-mix-bland-mode img {
    mix-blend-mode: Luminosity;
}

.counter-border {
    position: absolute;
}

.counter-border::before {
    content: "";
    position: absolute;
    background: linear-gradient(90deg, #F7C833 0%, #7B33F7 100%);
    border-radius: 25px;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 0;
    transition: border-radius 5s ease, opacity 0.3s ease;
    /* animation: hue-rotate 3s linear infinite; */
}

.counter-border::after {
    background: #ffffff;
    display: block;
    left: 2px;
    right: 2px;
    top: 2px;
    bottom: 2px;
    border-radius: 22px;
    z-index: 0;
    content: "";
    position: absolute;
    transition: border-radius 5s ease, opacity 0.3s ease;
}

.counter-border .elementor-counter-title,
.counter-border .elementor-counter-number-wrapper {
    z-index: 1;
    text-align: center;
}


.box-border{
    position: relative;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(90deg, #F7C833, #7B33F7) border-box;
    border: 2px solid transparent;
    
}



/* .team-detail .e-loop-item:nth-child(2n+1){
    margin-top: 70px;
} */

.team-detail .e-loop-item:nth-of-type(3n+2) {
    margin-top: 70px;
}

/* About Us Page End */


/* Contact Us Page Start */
.contact-form label{
    font-size: var(--font-16);
    font-weight: 500;
    font-family: var(--primary-font);
    color: var(--black-color);
    width: 100%;
}

.contact-form input,
.contact-form textarea,
.contact-form input:focus-visible,
.contact-form textarea:focus-visible{
    width: 100%;
    margin-top: 10px;
    border: none;
    background-color: #F8F8F8;
    border-radius: 12px;
    box-shadow: none;
    outline: none;
    font-weight: 500;
    padding: 15px 12px;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{
    color:#00000066;
    font-size: var(--font-16);
    font-family: var(--font-lexend);
    font-weight: 400;
}

.contact-form .form-field p{
    margin-bottom: 25px;
}

.contact-form .wpcf7-not-valid-tip{
    position: absolute;
    font-size: 14px;
}   

.contact-form .send-message p{
    margin-bottom: 0;
    position: relative;
}

.contact-form .wpcf7-spinner{
    position: absolute;
    top: 50%;
    left: 50%;
    margin: 0;
    transform: translate(-50%, -50%);
}

.contact-form .wpcf7 form .wpcf7-response-output{
    margin: 0;
    font-size: 14px;
    font-family: var(--font-lexend);
    border-color: #2c86f8 !important;
    padding: 0.2em 0.4em;
    line-height: 1.2em;
    margin-top: 5px;
}

.contact-form .submit-button,
.contact-form .submit-button:focus-visible{
    padding: 18px 50px 18px 25px;
    position: relative;
    z-index: 1;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-direction: row-reverse;
    color: #ffffff;
    border-radius: 30px !important;
    font-weight: 500;
    background: linear-gradient(90deg, #F7C833, #7B33F7, #F7C833);
    background-size: 200% 100%;
    background-position: left center;
    transition: background-position 0.5s ease;
    font-family: var(--secondary-font);
    font-size: var(--font-16);
    margin-top: 0;
    width: fit-content;
}

.contact-form .send-message{
    position: relative;
    width: fit-content;
    margin-left: auto;
}

.contact-form .send-message::before {
    content: "";
    width: 16px;
    height: 16px;
    position: absolute;
    display: inline-block;
    background-image: url('../images/white-arrow.svg');
    background-size: contain;
    background-repeat: no-repeat;
    right: 25px;
    background-color: transparent;
    opacity: 1;
    z-index: 2;
    top: 50%;
    transform: translateY(-50%);
}

.contact-form .submit-button::after {
    content: "";
    position: absolute;
    top: 1px;
    left: 1px;
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    border-radius: 30px;
    z-index: -1;
    background: linear-gradient(90deg, #F7C833, #7B33F7, #F7C833);
    background-size: 200% 100%;
    background-position: left center;
    transition: background-position 0.5s ease;
}

.contact-form .submit-button:hover {
    background-position: right center;
}

.google-map iframe{
    mix-blend-mode: luminosity;
}


.contact-form span[data-name="user-acceptance"] label{
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.contact-form span[data-name="user-acceptance"] label input{
    width: auto;
    margin-top: 6px;
}

.contact-form span[data-name="user-acceptance"] .wpcf7-list-item{
    margin: 0;
}


/* Contact Us Page End */

/* Blog Pages Start */
.opportunity-main-container{
    position: absolute !important;
    top: 0;
    right: 0;
    height: 100% !important;
}

.blog-search input{
    width: 100%;
}

.opportunity-detail {
  position: relative;
  pointer-events: all;
}

.opportunity-detail:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0px;
    /* width: calc(100% + 210px); */
    /* width: calc(100% + 150px); */
    width: calc(100% + 30%);
    height: 100%;
    background-image: url('../images/blog-bg.png');
    z-index: -1;
    border-radius: 0px;
    background-repeat: no-repeat;
    background-size: cover;
}

.single-post .blog-categories h5{
    font-size: var(--font-24);
    font-family: var(--primary-font);
    font-weight: 600;
    margin-bottom: 18px;
}

.single-post .blog-categories ul{
    margin: 0;
}

.single-post .blog-categories ul li a{
    color: #4C4C4C;
    font-size: var(--font-20);
    font-family: var(--primary-font);
    transition: 0.3s ease all;
}

.blog-meta .elementor-icon-list-text a,
.blog-meta a .elementor-icon-list-text time,
.blog-btn a,
.single-post .blog-categories ul li a{
    transition: 0.3s ease all;
}

.blog-meta .elementor-icon-list-text a:hover,
.blog-meta  a:hover .elementor-icon-list-text time,
.blog-btn a:hover,
.single-post .blog-categories ul li a:hover{
    transition: 0.3s ease all;
    background: linear-gradient(90deg, #F7C833 0%, #7B33F7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}


.single-post .blog-categories ul li::marker{
    color: #4C4C4C;
}

.single-post .blog-categories ul li:not(:last-child){
    margin-bottom: 18px;
}

.blog-navigation .post-navigation__arrow-wrapper {
    padding: 10px;
    background: #EFF1F4;
    border-radius: 50%;
}

.blog-navigation .elementor-post-navigation a{
    transition: 0.3s ease all;
       
}

.blog-navigation .elementor-post-navigation a:hover{
    background: linear-gradient(90deg, #F7C833 0%, #7B33F7 100%);
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent;
    transition: 0.3s ease all;
}

/* navigation-start */
.blog-navigation .elementor-post-navigation__prev:empty,
.blog-navigation .elementor-post-navigation__prev:not(:has(a)) {
    display: none;
}

.blog-navigation .elementor-post-navigation__prev:empty + .elementor-post-navigation__next,
.blog-navigation .elementor-post-navigation__prev:not(:has(a)) + .elementor-post-navigation__next {
    /* width: 100% !important;
    justify-content: flex-start !important;
    text-align: left !important; */
    width: auto !important;
    flex: unset !important;
    margin-right: auto;
}

.blog-navigation .elementor-post-navigation {
    display: flex;
}

.blog-navigation .elementor-post-navigation__next {
    display: flex;
    align-items: center;
}
/* navigation-end */


.yellow-selection{
    background-color: #F7C83330;
    font-weight: 700;
    color: #000000;
}

.green-selection{
    background-color: #3DF73330;
    font-weight: 700;
    color: #000000;
}

/* Blog Pages End */

/* client-review css start */
#testimonial-slider .swiper-button-prev,
#testimonial-slider .swiper-button-next{
    display: none;
}

#testimonial-slider .swiper-pagination{
    z-index: 10;
    pointer-events: auto;
}

#testimonial-slider .swiper-pagination-bullet {
    pointer-events: auto;
    cursor: pointer;
}

#testimonial-slider .swiper-wrapper,
#testimonial-slider .swiper-slide {
    z-index: 0;
}
/* client-review css end */

/* Archive Page Start */
.search-result article {
    border: 1px solid #DEDEDE;
    border-radius: 16px;
    transition: 0.3s ease all;
}

.search-result article img{
    /* aspect-ratio: 3 / 2; */
    aspect-ratio: 16 / 9;
    object-fit: cover;
    width: 100%;
}

.search-result article .elementor-post__text{
    padding: 0px 20px 20px 20px;
}

.search-result article .elementor-post__title a{
    transition: 0.3s ease all;
}

.search-result article:hover .elementor-post__title a{
    color: #7C7CE6 !important;
    transition: 0.3s ease all;
}

.search-result .elementor-grid:has(.elementor-posts-nothing-found) {
    grid-template-columns: repeat(1, 1fr);
    text-align: center;
}

a.page-numbers,
.page-numbers.current{
    border: 1px solid #DEDEDE;
    padding: 10px;
    height: 45px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 45px;
    border-radius: 10px;
    transition: 0.3s ease all;
}

.page-numbers.current,
.page-numbers:hover{
    border-color: #7C7CE6;
    transition: 0.3s ease all;
}
/* Archive Page End */


/* Service Page Start */
.service-listing .service-arrow,
.service-listing .service-img img {
    /* opacity: 0; */
    display: none;
    transition: 0.3s ease all;
}

.service-listing .service-img img{
    max-width: 200px;
}
.service-listing .service-arrow .elementor-icon-wrapper{
    display: flex;
}

.service-listing:hover .service-arrow,
.service-listing:hover .service-img img {
    /* opacity: 1; */
    display: block;
    transition: 0.3s ease all;
}

.service-listing .service-img img{
    transform: skew(-14deg, 14deg);
    border-radius: 10px;
}

.cta-btn:hover .elementor-button-text{
    -webkit-text-fill-color: #ffffff;
}

.cta-btn .elementor-button-icon svg{
    padding: 20px;
    transform: rotate(315deg);
    transition: 0.3s ease all;
}

.cta-btn:hover .elementor-button-icon svg{
    transform: rotate(360deg);
    transition: 0.3s ease all;
}

.cta-btn .elementor-button-content-wrapper{
    align-items: center;
}

.product-before{
    position: relative;
}

.product-before .e-con-inner::after{
    content: '';
    position: absolute;
    right: 0;
    top: -50%;
    height: 100%;
    width: 100%;
    background-image: url('../images/product-bg.png');
    z-index: -1;
    object-fit: cover;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right;
}



/* 08. Extra styles start*/
.blog-table ul.elementor-toc__list-wrapper,
.blog-table ol.elementor-toc__list-wrapper{
    margin: 0;
    padding-left: 0;
}
.blog-table .elementor-toc__list-wrapper {
    max-height: 224px;
    overflow-y: auto;
	padding-right: 12px;
}

.blog-table .elementor-toc__list-wrapper::-webkit-scrollbar {
    width: 4px;
}

.blog-table .elementor-toc__list-wrapper::-webkit-scrollbar-thumb {
    background: #000;
    border-radius: 10px;
}

.blog-posts {
    max-height: 300px;
    overflow-y: auto;

}

.blog-posts::-webkit-scrollbar {
    width: 4px;
}

.blog-posts::-webkit-scrollbar-thumb {
    background: #000;
    border-radius: 10px;
}
.blog-posts .elementor-post {
    display: flex;
    align-items: center;
}

.blog-posts .elementor-post__text {
    display: flex;
    align-items: center;
}


.table-content span[id^="elementor-toc__heading-anchor-"] {
    scroll-margin-top: 60px !important;
}

.blog-bredcrum {
    font-family: 'Sora', sans-serif;
    font-size: 14px;
    font-weight: 400;
}

.blog-bredcrum a {
    text-decoration: none;
    background: linear-gradient(90deg, #F7C833 0%, #7B33F7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
/* 08. Extra styles end*/

/* service cards-link start*/
.service-cards{
    position: relative;
}

.service-cards-link{
    position: absolute !important;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}

.service-cards-link .elementor-button{
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0;
}


/* service cards-link end*/



/* Service Page Start */

/* .airglide-overlay{
    position: relative;
    overflow: visible;
}

.airglide-overlay::after{
    content: '';
    position: absolute;
    right: 0%;
    top: 0;
    background-image: url('../images/airglide-img.png');
    height: 100%;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 10;

} */




.airglide-overlay{
    position: relative;
    overflow: visible;
}

.airglide-overlay::after{
    content: '';
    position: absolute;
    top: -50%;
    right: 0px;
    width: 900px;
    height: 900px; 
    background-image: url('../images/airglide-img.png');
    background-repeat: no-repeat;
    background-size: contain;
    /* background-position: top right; */
    z-index: 1;
}

.service-progress-tabs .tab-right-content .tab-detail,
.service-progress-tabs .tab-right-content .tab-description{
    background-color: transparent;
    padding: 0px;
    border-radius: 0px;
}


.service-progress-tabs .tab-content-heading,
.service-progress-tabs .tab-listing{
    background-color: #00000029;
    padding: 10px;
    border-radius: 20px;
}

.service-progress-tabs .tab-content-heading{
    margin-bottom: 2px;
}

.service-progress-tabs .tab-right-content h4{
    margin-bottom: 0;
    font-size: var(--font-18);
    font-weight: 700;
    line-height: 140%;
}

.service-progress-tabs .tab-content-heading h4,
.service-progress-tabs .tab-listing-detail{
    background-color: #ffffff;
    padding: 22px;
    border-radius: 14px;
}

.service-progress-tabs .service-content-box{
    padding: 30px 30px 75px 30px;
}

.faded-line {
  border-bottom: 2px solid;
   border-image: linear-gradient(to right, #E4E4E4, transparent) 1;
}

/*07. Pages and Posts end*/

/* SEO page css start */
.custom-slide-box {
    position: relative;
    padding-top: 70px !important;
}

.custom-slide-box:before {
    content: '';
    position: absolute;
    background: #f7f7f7;
    height: 40px;
    width: 40px;
    border-radius: 100px;
    top: 0;
    left: 0;
    transition: all 0.3s ease;
}

.custom-slide-box.swiper-slide-active:before {
    background: linear-gradient(90deg, #F7C833 0%, #7B33F7 66.64%);
}

.custom-quote-slider .quote-slider {
	padding:25px;
	border-radius:16px;
	height:auto;
}

#testimonial-slider{
	justify-content:center !important;
}

/* Gradient Border css start */
/* Main CSS */
.gradient-border{
    --glow-bg: radial-gradient(
        180px circle at var(--x,50%) var(--y,50%),
        #F7C833 0%,
        #B35CFF 45%,
        #7B33F7 70%,
        transparent 100%
    );

    position: relative;
    overflow: hidden;
    border-radius: 30px;
    background: #f4f4f4;
    border: 10px solid #d9d9d9;
    transition: border-color .3s ease;
    isolation: isolate;
}

.gradient-border > *{
    position: relative;
    z-index: 2;
}

.gradient-border::after{
    content: "";
    position: absolute;
    inset: -10px;
    border-radius: inherit;
    padding: 10px;

    background: var(--glow-bg);

    opacity: 0;
    transition: opacity .35s ease;

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;

    z-index: 1;
    pointer-events: none;
}

.gradient-border:hover::after{
    opacity: 1;
}

/* Color Variant 1 */
.gradient-purple{
    --glow-bg: radial-gradient(
        180px circle at var(--x,50%) var(--y,50%),
        #F7C833 0%,
        #B35CFF 45%,
        #7B33F7 70%,
        transparent 100%
    );
}

/* Color Variant 2 */
.gradient-gold{
    --glow-bg:
        radial-gradient(
            180px circle at var(--x,50%) var(--y,50%),
            #C40C0C -31.8%,
            #F6CE71 69.34%,
            transparent 100%
        );
}
/* Color Variant 3 */
.gradient-pink{
    --glow-bg:
        radial-gradient(
            180px circle at var(--x,50%) var(--y,50%),
            #CF26F0 -31%,
            #FF8D8F 38%,
            transparent 100%
        );
}
/* Gradient border css end */

/* gradient-table css start */
/* OUTER GRADIENT BORDER */
.comparison-wrap{
    position:relative;
    padding:14px 17px;
    border-radius:22px;
    background:linear-gradient(
        79.9deg,
        #C40C0C -97.89%,
        #F6CE71 120.96%
    );
}

/* INNER WHITE BOX */
.comparison-box{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    padding:0;
    overflow-x: auto;
}

/* TABLE */
.comparison-grid{
    width:100%;
    border-collapse:collapse;
    margin: 0;
    font-family:'Bricolage Grotesque',sans-serif;
}

/* COLUMN WIDTHS */
.comparison-grid th:first-child,
.comparison-grid td:first-child{
    width:40%;
}

.comparison-grid th:nth-child(2),
.comparison-grid td:nth-child(2),
.comparison-grid th:nth-child(3),
.comparison-grid td:nth-child(3){
    width:30%;
}

/* ALL CELLS */
.comparison-grid th,
.comparison-grid td{
    padding:17px;
    border-bottom:1px solid #E3E3E3;
    box-sizing:border-box;
    vertical-align:middle;
}

/* VERTICAL LINES */
.comparison-grid th:nth-child(2),
.comparison-grid th:nth-child(3),
.comparison-grid td:nth-child(2),
.comparison-grid td:nth-child(3){
    text-align:center;
    border-left:1px solid #E3E3E3;
}

/* HEADER */
.comparison-grid .heading{
    font-size:28px;
    font-weight:600;
    line-height:1em;
    color:#333;
}

.comparison-grid th.heading:nth-child(2),
.comparison-grid th.heading:nth-child(3){
    text-align:center;
}

/* LEFT COLUMN */
.comparison-grid .label{
    font-size:18px;
    font-weight:400;
    line-height:1.2em;
    color:#333;
}

/* CHECKMARK */
.check{
    font-size:28px;
    font-weight:700;
    line-height:1;
    text-align:center;

    background:linear-gradient(
        90deg,
        #F7C833 0%,
        #7B33F7 88.46%
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

/* X MARK */
.cross{
    font-size:28px;
    font-weight:700;
    color:#9C9C9C;
    line-height:1;
    text-align:center;
}

/* RARELY */
.muted{
    font-size:18px;
    font-weight:600;
    color:#9C9C9C;
    text-align:center;
}

/* SOMETIMES */
.medium{
    font-size:18px;
    font-weight:600;
    color:#2C2C2C;
    text-align:center;
}

/* ALWAYS */
.gradient-text{
    font-size:18px;
    font-weight:600;
    text-align:center;

    background:linear-gradient(
        90deg,
        #F7C833 0%,
        #7B33F7 88.46%
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
}

/* REMOVE LAST ROW BORDER */
.comparison-grid tbody tr:last-child td{
    border-bottom:none;
}

/* TABLE WIDTH */
.comparison-container{
    max-width:1134px;
    margin:auto;
}
/* client-slider css start */
#testimonial-slider{
    padding: 50px 40px;
}
/* client-slider css end */

/* TABLET */
@media(max-width:1024px){

    .comparison-grid .heading{
        font-size:22px;
    }

    .comparison-grid .label,
    .muted,
    .medium,
    .gradient-text{
        font-size:16px;
    }
}



/* gradient-table css end*/


/* SEO page css end */


/*09. Media Query start*/
@media screen and (min-width: 992px) {}

@media screen and (min-width: 768px) {}

@media screen and (max-width: 1440px) {
    .about-banner-img img {
        min-width: unset;
        max-width: unset;
    }

    /* .about-before-text::after {
        bottom: 12%;
    } */

    .card-overlay .e-con-inner::before{
        height: 60%;
    }
}

@media screen and (max-width: 1280px) {
    .about-before-text::after {
        left: -30px;
        font-size: 14px;
    }

    .home-before-text::after{
        right: 0;
    }

    .blue-line {
        height: 33vh;
    }
}

@media screen and (max-width: 1199px) {
    .about-before-text::after {
        bottom: -3%;
        
    }

    .home-before-text::after {
        right: 0;
    }
    .card-overlay .e-con-inner::before{
        height: 90%;
    }
}

@media screen and (max-width: 1024px) {
    /* .yellow-line {
        height: 35vh;
    }

    .blue-line {
        height: 15vh;
    } */

    .blue-line {
        height: 28vh;
    }

    .opportunity-main-container{
        position: relative !important;
    }

    .main-header .sub-menu{
        border: 1px solid #D3D3D3;
        border-radius: 10px;
        box-shadow: none;
        margin: 0px 20px;
        padding: 10px 0px !important;
    }


    .team-detail .e-loop-item:nth-of-type(3n+2) {
        margin-top: 0px;
    }

    /* .about-before-text::after {
        width: 50%;
        bottom: 0%;
    } */

    .main-header .elementor-nav-menu {
        padding: 0px 0px 30px 0px;
    }

    .main-header .contact-btn {
        margin-left: 20px;
        margin-top: 10px;
    }

    .main-header .elementor-nav-menu li {
        width: 100%;
    }

    .main-header .elementor-nav-menu li a{
        width: fit-content;
    }

    .section-overlay::after {
        background: linear-gradient(to bottom,
                transparent 0%,
                #ffffff 30%,
                #ffffff 86%,
                transparent 100%);
    }

    .cta-btn .elementor-button-icon svg{
        padding: 10px;
    }

    .product-before::after {
        top: -27%;
        background: linear-gradient(to bottom, transparent 0%, #ffffff 28%, #ffffff 100%, transparent 100%);
    }

    .mountain-overlay::after{
        top: 20%;
    }
}

/*Tablet*/
@media screen and (max-width: 991px) {
    /* .about-before-text::after {
        bottom: 0%;
    } */
}

@media screen and (max-width: 820px) {
    /* .about-before-text::after {
        bottom: 0%;
    } */
}

/*Small Device*/
@media screen and (max-width: 767px) {
    /* .about-before-text::after {
        bottom: 0%;
        left: -10px;
        width: 94%;
    } */

   .contact-form .send-message{
    margin: 0 auto;
   }

    .selfcheck-card {
        border-bottom: transparent;
        border-left: 1px dashed #000;
        background-size: 1px 0%;
        background-position: 0 0;
    }

    .selfcheck-card:hover {
        border-left: 1px solid transparent;
        background-size: 1px 90%;
    }

    .selfcheck-card:not(:last-child)::after {
        left: -17px;
        right: auto;
    }

    .home-before-text::after {
        right: 0;
        bottom: -10%;
    }

    .banner-overlay {
        box-shadow: none;
    }

    .faq-accordions .e-n-accordion {
        /* grid-template-columns: 1fr; */
        column-count: 1;
    }

    .workSwiper {
        height: 60vh !important;
    }

    .section-overlay::after {
        background: linear-gradient(to bottom,
                transparent 0%,
                #ffffff 30%,
                #ffffff 90%,
                transparent 100%);
    }

    .cta-btn .elementor-button-icon svg{
        padding: 5px;
    }

    .card-overlay .e-con-inner::before{
        height: 60%;
        top: 0;
    }

    .service-progress-tabs .service-content-box {
        padding: 20px 20px 75px 20px;
    }

	.custom-quote-slider .quote-slider {
		padding:20px;
	}

	#testimonial-slider{
		justify-content:center !important;
		padding:20px !important;
	}
}

/*Mobile Device*/
@media screen and (max-width: 640px) {
    .gradient-btn .elementor-button-link {
        padding: 15px 20px !important;
    }

    .section-overlay::after {
        background: linear-gradient(to bottom,
                transparent 0%,
                #ffffff 30%,
                #ffffff 96%,
                transparent 100%);
    }

    .mountain-overlay::after{
        top: 25%;
    }

    .card-overlay::after{
        height: 70%;
    }

    .about-before-text::after{
        width: 99%;
    }

}

/*Extra Small Mobile Device*/
@media screen and (max-width: 480px) {}

@media screen and (max-width: 420px) {}

/*09. Media Query end*/