/*
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*/
/* 00. Library override(ex. bootstrap etc)   end*/


/* 01. Text and Typography start */

/* Bold Font Aanimation css start */
.bold-font{
  font-weight: 500;
  /* display: inline; */
}


/* .bold-font .word{
  display:inline-block;
  white-space:nowrap;
}


.bold-font .space{
  display:inline-block;
  width:0.25em;
}


.bold-font .char{
  display:inline-block;
  opacity:1;
  will-change:transform, opacity;
}

@keyframes neonIn{
  0%{
    opacity:1;
    transform:translateY(20px);
    color:#7f7e7e;
    -webkit-text-stroke:1px #C7C7C7;
    text-shadow:none;
  }
  30%{
    opacity:1;
    transform:translateY(0);
    color:#7f7e7e;
    -webkit-text-stroke:0px transparent;
    text-shadow:
      0 0 8px #C7C7C7,
      0 0 20px #C7C7C7;
  }
  60%{
    text-shadow:
      0 0 6px #00c2c29b,
      0 0 12px #00c2c29b,   
      0 0 18px #2d5aff85,
      0 0 24px #2d5aff85;
  }
  100%{
    opacity:1;
    transform:translateY(0);
    color:inherit;
    text-shadow:none;
    -webkit-text-stroke:0px transparent;
  }
} */
/* Bold Font Animation css end  */

/* Text animation css start */
.animate span{
    display: inline-block;
    -webkit-text-stroke: 1px rgb(131 131 131 / 39%);
    color: transparent;
}

.neon-shine{
    display:inline-flex;
    white-space:nowrap;
    line-height: 1.2em !important;
}

.neon-char{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    position:relative;
    overflow:hidden;
}

/* Text animation css end */
/* 01. Text and Typography end */


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


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


/*04. Header styles start*/
/*04. Header styles end*/


/*05. Footer styles start*/
/*05. Footer styles end*/


/*06. Common content start*/
/*06. Common content end*/


/*07. Pages and Posts satrt*/
/* Culture Page Start */
.border-text {
    text-shadow: 1px 1px #000000, -1px 1px #000000, 1px -1px #000000, -1px -1px #000000, 1px 1px 5px #ffffff;
    color: #ffffff;
    transition: 0.4s ease all;
}

.border-text:hover {
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(100.73deg, #29D5E0 21.16%, #1B9AF7 56.24%, #1F4EF0 100.21%);
    text-shadow: none;
    transition: 0.5s ease all;
}

.gradient-text .elementor-heading-title,
.gradient-text2 .elementor-heading-title {
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent;
}

.gradient-text .elementor-heading-title {
    background: linear-gradient(100.73deg, #29D5E0 21.16%, #1B9AF7 56.24%, #1F4EF0 100.21%);
}

.gradient-text2 .elementor-heading-title {
    background: linear-gradient(98.22deg, #29D5E0 7.32%, #1B9AF7 15.71%, #1F4EF0 26.23%);
}



/* .exillar-team .team-real-img,
.exillar-team:hover .team-ghibli-img {
    display: none;
    transition: 0.5s ease all;
}

.exillar-team:hover .team-real-img,
.exillar-team .team-ghibli-img {
    display: block;
    transition: 0.5s ease all;
} */

/* New team image css start */
.exillar-team .team-real-img{
    animation: smoothReveal 0.5s ease forwards;
    display: block;
    width: 100%;
    height: 100%;
    will-change: opacity, filter;
}

.exillar-team .team-ghibli-img{
    animation: smoothReveal 0.5s ease forwards;
    display: none;
    width: 100%;
    height: 100%;
    will-change: opacity, filter;
}

.exillar-team:hover .team-ghibli-img{
    animation: smoothReveal 0.5s ease forwards;
    display: block;
}

.exillar-team:hover .team-real-img{
    animation: smoothReveal 0.5s ease forwards;
    display: none;
}

@keyframes smoothReveal{

    0%{
        opacity: 0;
        filter: blur(10px);
    }

    60%{
        opacity: 0.8;
        filter: blur(3px);
    }

    100%{
        opacity: 1;
        filter: blur(0);
    }
}
/* New team image css end */


.before-img,
.exillar-team {
    position: relative;
    z-index: 1;
}

.before-img::after {
    content: '';
    position: absolute;
    right: -65px;
    top: 50%;
    background-color: #11C4DC;
    max-height: 150px;
    max-width: 150px;
    height: 100%;
    width: 100%;
    z-index: 3;
    filter: blur(80px);
    z-index: -1;
}

.blue-shape {
    position: relative;
}

.blue-shape::after {
    content: '';
    position: absolute;
    right: 17%;
    bottom: 7%;
    background-color: #1F4EF0;
    max-height: 200px;
    max-width: 200px;
    height: 100%;
    width: 100%;
    z-index: 3;
    filter: blur(80px);
    z-index: -1;
}

.floating-doogle {
    animation: floatY 4s ease-in-out infinite;
}

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

    50% {
        transform: translateY(20px);
    }

    100% {
        transform: translateY(0px);
    }
}


/* Bouncing Text CSS Start */
#canvasWrapper{
    width:100%;
    height:300px !important;
    overflow:hidden;
    position:relative;
}

#canvasWrapper canvas{
    width:100%;
    height:300px !important;
    display:block;
    background:transparent;
    touch-action:none;
}
/* Bouncing Text CSS End */

#likeButton {
    cursor: pointer;
    overflow: visible;
    transform-origin: center;
}

#heartPath {
    transition: all 0.3s ease;
}

#heartPath {
    transform-box: fill-box;
    transform-origin: center;
    transition: all 0.3s ease;
}


#likeButton #heartPath {
    fill: none;
    stroke: #4F4F4F;
}

#likeButton.active #heartPath {
    fill: #ff2e2e;
    stroke: #ff2e2e;
    transform: scale(1.1);
}


#likeButton.active #heartPath {
    animation: pop 0.3s ease;
}

@keyframes pop {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.3);
    }

    100% {
        transform: scale(1);
    }
}


#likeButton:hover #heartPath {
    stroke: #ff2e2e;
}

.black-gradient {
    background: linear-gradient(to right, #000000 90%, #ffffff 10%);
}

.blue-gradient {
    background: linear-gradient(to left, #4453DE 90%, #ffffff 10%);
}

.cyan-gradient {
    background: linear-gradient(to right, #44DECC 70%, #ffffff 30%);
}


/* .before-line {
    position: relative;
}

.before-line::after {
    background-color: #C9C8C8;
}


.before-line::after {
    content: '';
    position: absolute;
    left: 30px;
    top: 0;
    height: 100%;
    width: 1px;
    z-index: 0;
    opacity: 0;
    transition: opacity 0.3s ease 2s;
}


.before-line.active::after {
    opacity: 1;
} */

.iconbox-shape .elementor-icon-box-icon .elementor-icon {
    position: relative;
    overflow: hidden;
}



.iconbox-shape .elementor-icon-box-icon .elementor-icon::before {
    content: '';
    position: absolute;
    right: 0px;
    bottom: 0px;
    height: 30px;
    width: 30px;
    filter: blur(18px);
}

.purple-shape .elementor-icon-box-icon .elementor-icon::before {
    background-color: #4453DE;
}

.cyan-shape .elementor-icon-box-icon .elementor-icon::before {
    background-color: #44DECC;
}

.yellow-shape .elementor-icon-box-icon .elementor-icon::before {
    background-color: #E38300;
}

.iconbox-shape .elementor-icon-box-icon {
    transition: 0.3s ease all;
}

.iconbox-shape:hover .elementor-icon-box-icon {
    transform: scale(1.1);
    transition: 0.3s ease all;
}


.life-at-exillar img {
    aspect-ratio: 4 / 5;
    object-fit: cover;
    width: 100%;
    transition: 0.3s ease all;
}

.life-at-exillar .swiper-slide:not(.swiper-slide-active) img {
    mix-blend-mode: luminosity;
}

.life-at-exillar .swiper-slide-active {
    transform: scale(1.12);
    transition: 0.3s ease all;
}


/* Contact Us page css start */
.custom-contact-box .elementor-icon-box-wrapper .elementor-icon-box-content {
    display: flex;
    justify-content: start;
    column-gap: 70px;
    align-items: center;
}

.custom-contact-box .elementor-icon-box-wrapper .elementor-icon-box-content .elementor-icon-box-title {
    width: 65px;
}

.custom-contact-box .elementor-icon-box-content .elementor-icon-box-description .contact-link {
    color: #fff;
}

.email-link {
    color: #000;
}

.custom-contact-form .form-lable {
    font-size: 16px;
    font-weight: 500;
    color: #000;
    font-family: 'Lexend', sans-serif;
    line-height: 1.4em;
    margin-bottom: 10px;
}

.custom-contact-form .wpcf7-form-control.wpcf7-textarea,
.custom-contact-form .wpcf7-form-control-wrap .wpcf7-text {
    background-color: #F8F8F8;
    padding: 15px 12px;
    border-radius: 12px;
    border: none;
}

.custom-contact-form .wpcf7-form-control.wpcf7-textarea {
    height: 136px;
}

.custom-contact-form .wpcf7-form-control-wrap .selected-flag {
    border-radius: 10px 0px 0px 10px;
}

.custom-contact-form .wpcf7-form-control.wpcf7-textarea::placeholder,
.custom-contact-form .wpcf7-form-control-wrap input::placeholder {
    color: #A9A9A9;
    font-size: 14px;
    font-family: 'inter', sans-serif;
    font-weight: 400;
}

/* Main button */
.custom-submit-btn {
    position: relative;
    max-width: 420px;
    min-height: 100px;
    overflow: hidden;
}

/* CF7 button */
.custom-submit-btn .form-submit-btn {
    width: 100%;
    height: 100px !important;
    border-radius: 60px !important;
    background: linear-gradient(135deg, #3cc5d5, #2a5bd7);
    border: none;
    color: transparent !important;
    cursor: pointer;
    position: relative;
    z-index: 1;
    pointer-events: none;
}

.custom-submit-btn .swipe-text {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    text-align: center;
    transform: translate(-60%, -50%);
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    pointer-events: none;
    z-index: 2;
}

.custom-submit-btn .drag-circle {
    position: absolute;
    top: 50%;
    left: 25px;
    transform: translateY(-50%);
    width: 75px;
    height: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    cursor: grab;
    transition: left 0.3s ease;
    overflow: hidden;
}

.custom-submit-btn .drag-circle:active {
    cursor: grabbing;
}


.custom-submit-btn .drag-circle img {
    width: 75px;
    height: auto;
    pointer-events: none;
}

.custom-submit-btn .wpcf7-spinner {
    display: none;
}

.custom-submit-btn p {
    margin-bottom: 0;
}

.custom-submit-btn .drag-circle {
    will-change: left;
    touch-action: none;
    -webkit-tap-highlight-color: transparent;
    outline: none;
}

.custom-submit-btn .swipe-text {
    transition: opacity 0.2s linear;
}

.custom-submit-btn .drag-circle:focus,
.custom-submit-btn .drag-circle:active {
    outline: none;
}

/* Optional: remove image highlight too */
.custom-submit-btn .drag-circle img {
    -webkit-user-drag: none;
    user-select: none;
    pointer-events: none;
}

/* Contcat us page css end */


/* Blog listing page css start */
/* Your existing */
/* Base */
.custom-blog-listing .elementor-loop-container .e-loop-item {
    position: relative;
    transition: all 0.3s ease;
}

.custom-blog-listing .elementor-loop-container .e-loop-item:hover {
    transform: translateY(-5px);
    transition: all 0.3s ease;
}

.custom-blog-listing .full-card-link {
    position: absolute !important;
    inset: 0;
    z-index: 1;
}

.custom-blog-listing .full-card-link a {
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0;
}

.custom-blog-listing .e-loop-item {
    margin-bottom: 0px;
}

.custom-blog-info .elementor-inline-items {
    justify-content: space-between;
}


.custom-blog-info .elementor-inline-items .elementor-icon-list-item time {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4em;
}

.custom-blog-info .elementor-inline-items .elementor-icon-list-item .elementor-post-info__terms-list-item {
    font-size: 14px;
    font-weight: 300;
    line-height: 1.4em;
    padding: 10px 8px;
}

/* Blog listing page css end */

/* Blog Details page css start */
.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;
} */


.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;
}

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

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

.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;
}

.blog-details-info .elementor-inline-items {
    row-gap: 10px;
    column-gap: 10px;
}

.blog-details-info .elementor-icon-list-item .elementor-icon-list-text time {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4em;
    font-family: 'Lexend', sans-serif;
}

.blog-details-info .elementor-post-info__terms-list-item {
    font-size: 14px;
    font-weight: 300;
    line-height: 1.4em;
    padding: 10px 8px;
    font-family: 'Lexend', sans-serif;
    background-color: #FFCCB61F;
}

.table-of-contents .elementor-toc__header-title{
    padding: 0px 20px 25px 20px;
}

.table-of-contents .elementor-toc__list-item-text-wrapper:before{
    display: none;
}

.table-of-contents .elementor-toc__list-item-text-wrapper{
    position: relative;
}

.table-of-contents .elementor-toc__list-item-text-wrapper .elementor-item-active::before{
    content: '';
    position: absolute;
    width: 6px;
    height: 100%;
    background: linear-gradient(178.42deg, #29D5E0 14.22%, #1B9AF7 53.94%, #1F4EF0 103.72%);
    left: 0;
    top: 0;
}

.table-of-contents .elementor-toc__list-item-text-wrapper .elementor-item-active{
    font-weight: 400;
}

.table-of-contents .elementor-toc__list-item-text-wrapper a{
    padding-left: 20px;
}

.table-of-contents .elementor-toc__list-item:not(:last-child){
    margin-bottom: 10px;
}


/* blog table css start */
.blog-table-wrapper{
    width:100%;
    overflow-x:auto;
    border:1px solid #e5e7eb;
    border-radius:18px;
    background:#ffffff;
}

/* Table */
.blog-details-table{
    width:100%;
    border-collapse:collapse;
    min-width:700px;
}

/* Header */
.blog-details-table thead{
    background:#f8fafc;
}

.blog-details-table thead th{
    padding:22px 24px;
    text-align:left;
    font-size:14px;
    font-weight:700;
    color:#111827;
    border-bottom:1px solid #e5e7eb;
    letter-spacing:0.3px;
}

/* Rows */
.blog-details-table tbody tr{
    transition:0.3s ease;
    border-bottom:1px solid #f1f5f9;
}

.blog-details-table tbody tr:last-child{
    border-bottom:none;
}

.blog-details-table tbody tr:hover{
    background:#f9fafb;
}

/* Cells */
.blog-details-table tbody td{
    padding:24px;
    vertical-align:top;
    font-size:15px;
    line-height:1.8;
    color:#4b5563;
}

/* First Column */
.blog-details-table tbody td:first-child{
    width:20%;
    color:#111827;
}

/* Second Column */
.blog-details-table tbody td:nth-child(2){
    width:28%;
}

/* Third Column */
.blog-details-table tbody td:nth-child(3){
    width:52%;
}

/* Small Label */
.sub-label{
    font-size:13px;
    color:#6b7280;
}

/* blog table css end */

/* Blog Details page css end */


/* Work Listing page css start */
/* =========================
   WORK CARD STACK EFFECT
========================= */
.container-padding .e-con-inner > .elementor-element{
    padding: 0px;
}


/* Work Listing page css end */


/* Work Details page css start */
.custom-portfolio-btn .elementor-button .elementor-button-content-wrapper {
    justify-content: space-between;
}

.custom-portfolio-btn .elementor-button .elementor-button-content-wrapper .elementor-button-icon svg {
    font-size: 24px;
    transition: ease all 0.3s;
}

.custom-portfolio-btn:hover .elementor-button .elementor-button-content-wrapper .elementor-button-icon svg {
    transform: rotate(48deg);
    transition: ease all 0.3s;

}

.custom-work-number {
    border: 1px solid #FFF;
    width: max-content;
    border-radius: 100px;
}


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

/* Work Details page css end */



/* Career Page CSS Start */
.career-overlay {
    position: absolute;
}

/* .career-overlay::after{
    content: '';
    position: absolute;
    top: -9%;
    left: 0;
    width: 100%;
    height: 24%;
    z-index: -1;
    background: linear-gradient(to bottom, transparent 0%, #ffffff 33%, #ffffff 70%, transparent 100%);
} */

.career-overlay::after {
    content: '';
    position: absolute;
    bottom: -113px;
    left: 0;
    width: 100%;
    height: 24%;
    z-index: 1;
    background: linear-gradient(to bottom, transparent 0%, #ffffff 33%, #ffffff 70%, transparent 100%);
}

.career-slide {
    padding: 0px 70px 0px 33px;
    display: flex;

}

#career-testimonials .swiper-button-prev,
#career-testimonials .swiper-button-next {
    bottom: 35px;
    top: unset;
    border: 1px solid #D7D7D7;
    padding: 15px;
    width: 52px !important;
    border-radius: 50%;
    background-color: #ffffff;
    transition: 0.3s ease all;
}

#career-testimonials .swiper-button-prev:hover,
#career-testimonials .swiper-button-next:hover {
    background: linear-gradient(98.67deg, #29D5E0 13%, #1B9AF7 55.93%, #1F4EF0 109.75%);
    transition: 0.3s ease all;
}

#career-testimonials .swiper-button-prev svg,
#career-testimonials .swiper-button-next svg {
    height: 15px;
    transition: 0.3s ease all;
}

#career-testimonials .swiper-button-prev:hover svg path,
#career-testimonials .swiper-button-next:hover svg path {
    transition: 0.3s ease all;
    fill: #ffffff;
}

#career-testimonials .swiper-button-prev {
    left: 33px;
}

#career-testimonials .swiper-button-next {
    left: 100px;
    right: unset;
}


.career-image-section .animated-slow .elementor-widget-container{
    display: flex;
    justify-content: center;
}

/* Career Page CSS End */

/* Service Page CSS Start */
.service-banner-img img{
    margin-right: -130px;
}


.backdrop-filter{
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border-radius: 20px;
    border: 1px solid #FFFFFFB5;
}



/* service page animation css start */
.circle-animation{
    right: clamp(-85px, -5vw, -20px);
}

.c-shape-animation {
    right: max(-247px, -8vw);
}
.zig-zag-shape{
    right: clamp(-250px, -15vw, -40px);
    bottom: clamp(-120px, -10vw, -130px) !important;
}

.snake-zig-zag-shape{
     right: clamp(-220px, -18vw, -20px);
     top: -240px !important;
}

.square-shape-animation{
    right: clamp(-120px, -8vw, -20px);
}

.s-shape-animation{
    right: clamp(-120px, -10vw, -20px);
}

.pin-animation{ 
    right: clamp(-120px, -10vw, -20px);
}
/* service page animation css end */

/* .before-dot-img{
    position: relative;
}

.before-dot-img::after{
    content: '';
    position: absolute;
    top: -30px;
    left: 5px;
    height: 50%;
    width: 100%;
    transform: scale(1.08);
    background-image: url('../images/service-dots.svg');
    background-repeat: no-repeat;
    background-size: cover;
} */


.service-sub-section{
    position: relative;
    overflow: hidden;
}

.service-sub-section::after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 120px;
    background: #ffffffdb;
    filter: blur(20px);
    z-index: -1;
}
/* Service Page CSS End */

/*07. Pages and Posts end*/

/* Smoke css start */
/* .smoke-section{
    position: relative;
    overflow: hidden;
    min-height: 1000px;
    background: #fff;
}

.smoke-section .smoke-canvas{
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    display: block;
    z-index: 1;
    pointer-events: none;
}

.smoke-section > *:not(.smoke-canvas){
    position: relative;
    z-index: 2;
} */
/* Smoke css start */


/* Partner page css start */
.custom-partner-card {
    position: relative;
}

.custom-partner-card .custom-click-image img {
    position: absolute;
    top: 100px;
    right: 0px;
    z-index: 99;
    animation: floatingBounce 3s ease-in-out infinite;
    max-width: 140px;
}


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

    50% {
        transform: translateY(-15px);
    }

    100% {
        transform: translateY(0px);
    }
}

/* Glow Progress border line css start */

.white-border-line {
    position: relative;
    --scroll-progress: 0%;
}

/* Base line */
.white-border-line::before {
    content: '';
    position: absolute;
    left: 30px;
    top: 0;
    width: 2px;
    height: 100%;
    z-index: 0;

    background: rgba(255, 255, 255, 0.08);

    border-radius: 100px;
}

/* Active progress line */
.white-border-line::after {
    content: '';
    position: absolute;
    left: 30px;
    top: -5px;
    width: 2px;
    height: var(--scroll-progress);
    z-index: 0;
    opacity: 0;
    border-radius: 100px;
    background: linear-gradient(to bottom,
            #9AD7FF 0%,
            #2993FF 45%,
            #005EFF 100%);
    box-shadow:
        0 0 10px rgba(41, 147, 255, 0.7),
        0 0 20px rgba(41, 147, 255, 0.45),
        0 0 40px rgba(41, 147, 255, 0.25);
    transition:
        height 0.12s linear,
        opacity 0.5s ease;
}

.white-border-line.active::after {
    opacity: 1;
}

/* Moving glow point */
.timeline-progress-glow {
    position: absolute;
    left: 26px;
    top: var(--scroll-progress);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    z-index: 0;
    background: #7AC5FF;
    transform: translateY(-50%);
    box-shadow:
        0 0 10px rgba(41, 147, 255, 0.95),
        0 0 20px rgba(41, 147, 255, 0.7),
        0 0 40px rgba(41, 147, 255, 0.45);
    transition: top 0.12s linear;
}

/* Timeline item */
.white-icon-box-shape {
    position: relative;
    z-index: 2;
}

/* Default icon */
.white-icon-box-shape .elementor-icon {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
    transition:
        background 0.4s ease,
        box-shadow 0.4s ease,
        transform 0.35s ease,
        border-color 0.4s ease;
}

/* Active icon */
.white-icon-box-shape.active .elementor-icon {
    background: linear-gradient(135deg,
            #2993FF 0%,
            #005EFF 100%) !important;
    border-color: rgba(255, 255, 255, 0.16);
    transform: scale(1.06);
    box-shadow:
        0 8px 24px rgba(41, 147, 255, 0.35),
        0 0 18px rgba(41, 147, 255, 0.45);
}

/* Content */
.white-icon-box-shape .elementor-icon-box-content {
    opacity: 0.55;
    transition:
        opacity 0.4s ease,
        filter 0.4s ease;
}

.white-icon-box-shape.active .elementor-icon-box-content {
    opacity: 1;
}
/* Glow border css end */

/* =========================
   WHITE SECTION STYLE
========================= */

/* Base line */
.before-line {
    position: relative;
    --scroll-progress: 0%;
}

/* Base line */
.before-line::before {
    content: '';
    position: absolute;
    left: 30px;
    top: 0;
    width: 2px;
    height: 100%;
    z-index: 0;
    background: #D6D6D6;
    border-radius: 100px;
}

/* Active progress line */
.before-line::after {
    content: '';
    position: absolute;
    left: 30px;
    top: 0;
    width: 2px;
    height: var(--scroll-progress);
    z-index: 0;
    opacity: 0;
    border-radius: 100px;
    background: linear-gradient(to bottom, #bfbfbf 0%, #b6b6b6 45%, #6b6b6b73 100%);
    box-shadow: 0 0 10px #d2d2d259, 0 0 20px #f2f2f233;
    transition:height 0.12s linear, opacity 0.5s ease;
}

.before-line.active::after {
    opacity: 1;
}

/* Moving glow point */
.before-line .timeline-progress-glow {
    position: absolute;
    left: 26px;
    top: var(--scroll-progress);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    z-index: 0;
    background: #898989;
    transform: translateY(-50%);
    box-shadow: 0 0 10px #898989, 0 0 20px rgb(228 228 228 / 50%), 0 0 35px rgb(183 183 183 / 25%);
    transition: top 0.12s linear;
}

/* Timeline item */
.before-line .normal-icon-box {
    position: relative;
    z-index: 2;
}

/* Default icon */
.before-line .normal-icon-box .elementor-icon {
    border: 1px solid #D8D8D8;
    box-shadow: none !important;
    backdrop-filter: none;
    transition:
        border-color 0.4s ease,
        transform 0.35s ease;
}

/* Active icon */
.before-line .normal-icon-box.active .elementor-icon {
    transform: scale(1.06);
}

/* Content */
.before-line .normal-icon-box .elementor-icon-box-content {
    opacity: 0.55;
    transition:
        opacity 0.4s ease,
        filter 0.4s ease;
}

.before-line .normal-icon-box.active .elementor-icon-box-content {
    opacity: 1;
}


/* Partner page css end */


/* Search Page CSS Start */
.archive-result article{
    border: 1px solid #e4e4e4;
    border-radius: 16px; 
}

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

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

.archive-result article:hover .elementor-post__title a {
    color: var(--e-global-color-d7c1373) !important;
    transition: 0.3s ease all;
}

.archive-result article img{
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.archive-result .elementor-posts-container: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: #2078ee;
    transition: 0.3s ease all;
}
/* Search Page CSS End */


/* case study details page css start */
.stats-table-wrapper{
    width:100%;
    border:1px solid #e5e7eb;
    border-radius:18px;
    overflow:hidden;
    background:#ffffff;
}

/* Table */
.stats-performance-table{
    width:100%;
    border-collapse:collapse;
    table-layout:fixed;
}

/* Header */
.stats-performance-table thead{
    background:#111827;
}

.stats-performance-table thead th{
    padding: 15px 15px;
    text-align: left;
    font-size: 14px;
    font-weight: 500;
    color: #ffffff;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    border-bottom: 1px solid #1f2937;
    font-family: 'Lexend';
}

/* Rows */
.stats-performance-table tbody tr{
    border-bottom:1px solid #eef2f7;
    transition:0.25s ease;
}

.stats-performance-table tbody tr:last-child{
    border-bottom:none;
}

.stats-performance-table tbody tr:hover{
    background:#f8fafc;
}

/* Cells */
.stats-performance-table tbody td{
    padding: 22px;
    font-size: 14px;
    line-height: 1.4em;
    color: #4b5563;
    vertical-align: top;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* Column Width */
.stats-performance-table tbody td:first-child,
.stats-performance-table thead th:first-child{
    width: 30%;
    font-weight: 500;
    color: #1f2937;
    font-family: 'Lexend';
    font-size: 14px;
}

.stats-performance-table thead th:first-child{
    width: 30%;
    font-weight: 500;
    color: #ffffff;
    font-family: 'Lexend';
    font-size: 14px;
}

.stats-performance-table tbody td:nth-child(2),
.stats-performance-table thead th:nth-child(2){
    width:28%;
}

.stats-performance-table tbody td:nth-child(3),
.stats-performance-table thead th:nth-child(3){
    width:50%;
}
/* case study details page css end */

/* service details page css start */
.service-white-border .elementor-icon-box-wrapper .elementor-icon-box-icon .elementor-icon svg path{
    fill: #ffffff7a;
}
.service-white-border .white-icon-box-shape.active .elementor-icon-box-wrapper .elementor-icon-box-icon .elementor-icon svg path{
    fill:#fff;
}


.custom-bg-flass-effect{
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow:  0 8px 32px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.5),inset 0 -1px 0 rgba(255, 255, 255, 0.1), inset 0 0 0px 0px rgba(255, 255, 255, 0);
  position: relative;
  overflow: hidden;
}

.custom-bg-flass-effect::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent,rgba(255, 255, 255, 0.8), transparent );
}

.custom-bg-flass-effect::after{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.8), transparent, rgba(255, 255, 255, 0.3) );
}

/* stepbox css start */

/* =========================
   STEP BOX PREMIUM EFFECT
========================= */

.custom-step-box{
    display: grid;
    gap: 30px;
}

/* =========================
   MAIN CARD
========================= */

.custom-step-box .stepbox{
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.5),
    inset 0 -1px 0 rgba(255, 255, 255, 0.1),
    inset 0 0 0px 0px rgba(255, 255, 255, 0);
  position: relative;
  overflow: hidden;
}

/* =========================
   LIQUID GLASS LAYER
========================= */

.custom-step-box .stepbox::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.8),
    transparent
  );
}

/* =========================
   SKELETON LINES
========================= */

.custom-step-box .stepbox::after{
    content: "";
    position: absolute;
    top: 36px;
    left: 36px;
    width: 68%;
    height: 14px;
    border-radius: 50px;
    background: rgb(245 245 245);
    box-shadow: 0 33px 0 rgb(245 245 245), 0 68px 0 rgb(245 245 245);
    z-index: 3;
    opacity: 1;
    will-change: opacity, transform;

    transition:
        opacity 1s ease,
        transform 1s ease;

    pointer-events: none;
}

/* =========================
   CONTENT INITIAL STATE
========================= */

.custom-step-box .stepbox > *{
    position: relative;
    z-index: 5;

    opacity: 0;

    transform: translate3d(0, 28px, 0);

    will-change: opacity, transform;

    transition:
        opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1),
        transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

/* =========================
   ACTIVE STATE
========================= */

.custom-step-box .stepbox.active{
    background: #fff;
    box-shadow:
        0 20px 70px rgba(0,0,0,0.08),
        inset 0 1px 1px rgba(255,255,255,0.9);
}

/* Smooth fade out */
.custom-step-box .stepbox.active::before,
.custom-step-box .stepbox.active::after{
    opacity: 0;
}

/* Smooth content reveal */
.custom-step-box .stepbox.active > *{
    opacity: 1;
    transform: translate3d(0,0,0);
}

/* =========================
   HOVER EFFECT
========================= */

.custom-step-box .stepbox:hover{
    transform: translateY(-8px) translateZ(0);
    box-shadow:
        0 24px 70px rgba(0,0,0,0.12),
        inset 0 1px 1px rgba(255,255,255,0.75);
}

.custom-step-box .stepbox .stepbox-number{
    transition: .3s ease-in-out;
}

.custom-step-box .stepbox:hover .stepbox-number{
    transform: rotate(25deg) scale(1.2);
    transition: .3s ease-in-out;
}

/* =========================
   ELEMENTOR FIX
========================= */

.custom-step-box .stepbox .e-con-full,
.custom-step-box .stepbox .elementor-widget-text-editor{
    position: relative;
    z-index: 5;
}

/* =========================
   SHIMMER
========================= */

@keyframes shimmer{
    0%{
        background-position: -200% 0;
    }
    100%{
        background-position: 200% 0;
    }
}

/* =========================
   LIQUID FLOAT
========================= */

@keyframes liquidFloat{
    0%{
        transform: translate3d(0,0,0) scale(1);
    }
    25%{
        transform: translate3d(0,-2px,0) scale(1.01);
    }
    50%{
        transform: translate3d(0,2px,0) scale(1.015);
    }
    75%{
        transform: translate3d(0,-1px,0) scale(1.01);
    }
    100%{
        transform: translate3d(0,0,0) scale(1);
    }
}
/* stebox css end */


#canvasWrapper{
    position:relative;
    overflow:hidden;
    background:#fff;
    width:100%;
    height:300px;
}

#stage{
    display:block;
    width:100%;
    height:100%;
}
/* stebox css end */
/* service details page css end */

/* 08. Extra styles start*/
/* 08. Extra styles end*/


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

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

@media screen and (max-width: 1440px){
    .service-banner-img img{
        margin-right: -90px;
    }
}

@media screen and (max-width: 1280px) {
    .service-banner-img img{
        margin-right: -30px;
    }
   
    .career-overlay::after {
        bottom: -97px;
    }

    .before-img::after {
        right: 0;
    }

    .blue-shape::after {
        bottom: 13%;
    }


}

@media screen and (max-width: 1199px) {
    .service-banner-img img{
        margin-right: 0px;
    }
}

@media screen and (max-width: 1024px) {
    .career-slide {
        padding: 0px 20px;
    }

    .custom-partner-card .custom-click-image img {
        right: 0;
        max-width: 120px;
    }

    #career-testimonials .swiper-button-prev, 
    #career-testimonials .swiper-button-next{
        bottom: 20px;
        height: 45px !important;
        width: 45px !important;
    }

    #career-testimonials .swiper-button-next {
        left: 90px;
    }
}

/*Tablet*/
@media screen and (max-width: 991px) {
    .career-overlay::after {
        bottom: -80px;
    }

    #canvasWrapper {
        height: 250px;
    }

    .custom-submit-btn .form-submit-btn {
        height: 80px !important;
    }

    .custom-submit-btn .drag-circle {
        width: 60px;
        height: 60px;
    }

    .custom-submit-btn .swipe-text {
        transform: translate(-50%, -50%);
    }

    .custom-partner-card .custom-click-image img {
        display: none;
    }


    /* Career banner CSS Start */

    /* Career banner CSS End */

    /* blog css start */
    .blog-details-table{
        min-width:100%;
    }

    .blog-details-table thead{
        display:none;
    }

    .blog-details-table,
    .blog-details-table tbody,
    .blog-details-table tr,
    .blog-details-table td{
        display:block;
        width:100%;
    }

    .blog-details-table tbody tr{
        padding:6px 0;
    }

    .blog-details-table tbody td{
        position:relative;
        padding:
            18px
            18px
            18px
            145px;

        border-bottom:1px solid #f1f5f9;
    }

    .blog-details-table tbody td:last-child{
        border-bottom:none;
    }

    .blog-details-table tbody td::before{
        content:attr(data-label);

        position:absolute;
        left:18px;
        top:18px;

        width:110px;

        font-size:12px;
        font-weight:700;
        text-transform:uppercase;
        letter-spacing:0.5px;

        color:#111827;
    }
    /* blog css end */


    /* case study details page css start */
    .stats-table-wrapper{
        border-radius:16px;
    }

    .stats-performance-table thead th{
        padding:10px;
        font-size:12px;
    }

    .stats-performance-table tbody td{
        padding:10px;
        font-size:12px;
        line-height:1.4em;
    }

    .blog-details-table tbody td:nth-child(3),
    .blog-details-table tbody td:first-child,
    .blog-details-table tbody td:nth-child(2){
        width:100%;
    }
    /* case study details page css end */

    .backdrop-filter{
        height:max-content !important;
    }
}

/*Small Device*/
@media screen and (max-width: 767px) {
    .blue-shape::after{
        display: none;
    }
    .career-overlay::after {
        bottom: -65px;
    }

    .career-slide {
        flex-wrap: wrap !important;
        padding: 0px 20px;
    }

    .before-img::after {
        height: 50px;
        width: 50px;
        filter: blur(40px);
    }

    .blog-navigation .elementor-post-navigation__next {
        justify-content: end;
    }

    .blog-navigation .post-navigation__arrow-wrapper {
        padding: 8px;
    }

    #career-testimonials .swiper-button-prev, 
    #career-testimonials .swiper-button-next{
        display: none;
    }

    .black-gradient {
        background: linear-gradient(to right, #000000 100%, #ffffff 0%);
    }

    .blue-gradient {
        background: linear-gradient(to left, #4453DE 100%, #ffffff 0%);
    }

    .cyan-gradient {
        background: linear-gradient(to right, #44DECC 100%, #ffffff 0%);
    }

    /* Career Banner CSS Start */

    /* Career Banner CSS End */

    /* case study table css start */
        .stats-performance-table,
    .stats-performance-table tbody,
    .stats-performance-table tr,
    .stats-performance-table td{
        display:block;
        width:100%;
    }

    .stats-performance-table thead{
        display:none;
    }

    .stats-performance-table tbody tr{
        display:flex;
        flex-direction:column;
        padding:10px 0;
        border-bottom:1px solid #e5e7eb;
    }

    .stats-performance-table tbody td{
        position:relative;

        width:100% !important;

        padding:
            16px
            16px
            16px
            130px;

        border-bottom:1px solid #f3f4f6;

        font-size:14px;
        line-height:1.4em;
    }

    .stats-performance-table tbody td:last-child{
        border-bottom:none;
    }

    /* Labels */
    .stats-performance-table tbody td::before{
        content:attr(data-label);
        position:absolute;
        left:16px;
        top:14px;
        width:95px;
        font-size:11px;
        font-weight:500;
        text-transform:uppercase;
        letter-spacing:0.5px;
        color:#111827;
        font-family: 'Lexend';
    }
    /* case study table css end */

    .service-sub-section::after{
        content: none;
    }
}

/*Mobile Device*/
@media screen and (max-width: 640px) {
    .career-overlay::after {
        bottom: -43px;
    }

    .custom-submit-btn .swipe-text {
        transform: translate(-50%, -50%);
        font-size: 16px;
    }

    .custom-submit-btn {
        min-height: 80px;
    }

    /* blog page css start */
    .blog-table-wrapper{
        border-radius:14px;
    }

    .blog-details-table tbody td{
        padding:
            16px
            16px
            16px
            120px;

        font-size:14px;
        line-height:1.7;
    }

    .blog-details-table tbody td::before{
        width:85px;
        font-size:11px;
    }
    /* blog page css end */

    /* case study details page css start */
        .stats-table-wrapper{
        border-radius:14px;
    }

    .stats-performance-table tbody td{
        padding:
            16px
            16px
            16px
            115px;

        font-size:14px;
        line-height:1.6;
    }

    .stats-performance-table tbody td::before{
        width:90px;
        font-size:11px;
    }

    /* case study details page css end */

}

/*Extra Small Mobile Device*/
@media screen and (max-width: 480px) {
    .career-overlay::after {
        bottom: -37px;
    }

    .blue-shape::after {
        right: 17%;
        bottom: 55%;
        max-height: 150px;
        max-width: 150px;
    }

    .black-gradient {
        background: linear-gradient(to right, #000000 100%, #ffffff 0%);
    }

    .blue-gradient {
        background: linear-gradient(to left, #4453DE 100%, #ffffff 0%);
    }

    .cyan-gradient {
        background: linear-gradient(to right, #44DECC 100%, #ffffff 0%);
    }

    /* Career Banner CSS Start */
    /* Career Banner CSS End */
    .white-border-line::after {
        left: 26px;
    }

    .timeline-progress-glow {
        left: 22px;
    }

    /* case study table css start */
    .stats-table-wrapper{
        border-radius:14px;
    }

    .stats-performance-table tbody tr{
        padding:6px 0;
    }

    .stats-performance-table tbody td{
        padding: 15px 14px 15px 110px;
        font-size:12px;
        line-height:1.4em;
    }

    .stats-performance-table tbody td::before{
        width:78px;
        font-size:10px;
    }
    /* case study table css end */


}

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

/*09. Media Query end*/