/* our custom style */
.emts-heading.gradientdefault .highlight { font-weight: lighter; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

/* Common Button Styles */
.elementor-widget-button { overflow: hidden; border-radius: 10px; padding: 2px;}
.elementor-widget-button,
.elementor-widget-button a { position: relative; }

.elementor-widget-button a { z-index: 1; }
.elementor-widget-button:before { content: ''; position: absolute; top: -2px; left: -2px; right: -2px; bottom: -2px; background: transparent; z-index: 0; background-image: linear-gradient(90deg, #4413C0 0%, #8C82FE 100%); border-radius: 10px; z-index: 0; }
.elementor-widget-button:after { content: ''; position: absolute; top: 0px; left: -2px; right: -2px; bottom: 0px; width: 100%; height: 90%; background: transparent; background-image: none; z-index: 0; background-image: linear-gradient(90deg, transparent 50%, #fff 50%); border-radius: 10px; z-index: 0; transition: all 1500ms ease-out; transform-origin: center center; margin: auto; }
.elementor-widget-button:hover:after { transform: rotate(360deg); }

/* Overlap image section styles */
.overlap-sec,
.overlap-image-style { display: grid !important; align-items: center; }
.overlap-sec > div,
.overlap-image-style > div { grid-area: 1/-1; }

/* Counter Styles */
.counter-style { position: relative; }
.counter-style:before { width: 20px !important; height: 20px !important; border-radius: 10px !important; }
.counter-style:after { content: ""; position: absolute; top: 0px; left: 9px; width: 2px; height: 100%; background: var(--tertiarycolor); z-index: 0; }

/* Blog Style */
.emts-posts-widget.two .emts-post-item { border: 1px solid var(--primarycolor); padding: 0; border-radius: 20px; overflow: hidden; background: radial-gradient(173.28% 153.04% at 30% 140%, rgba(106, 70, 216, 0.3) 0%, rgba(106, 70, 216, 0) 100%), radial-gradient(354.53% 313.13% at 50% 310%, rgba(4, 0, 255, 0.15) 0%, rgba(4, 0, 255, 0) 78%), linear-gradient(180deg, rgba(13, 10, 25, 0) 0%, rgba(13, 10, 25, 0.37) 100%), radial-gradient(90% 60% at 50% -4950%, rgba(168, 92, 92, 0.2) 0%, rgba(168, 92, 92, 0) 100%), radial-gradient(90% 10% at 50% -4950%, rgba(168, 92, 92, 0.05) 0%, rgba(168, 92, 92, 0) 90%);
 }
.emts-posts-widget.two .emts-post-item .emts-post-title { margin: 0; padding: 50px 50px 10px; }
.emts-posts-widget.two .emts-post-item .emts-post-excerpt { margin: 0; padding: 0px 50px 50px; }

.cus-acc-style .emts-toggle-accordion.default .emts-toggle-item { border: 1px solid var(--primarycolor);
  border-radius: 15px; }

/* Footer Style ----------------------------------------------------------------------------------------------------- */
.emts-toggle-accordion.footer .emts-toggle-title { padding: 0; border: 0; background: transparent; font-size: 20px; color: var(--accenttxtcolor); }

@media screen and (min-width: 1025px) {
    .emts-toggle-accordion.footer .emts-toggle-item .emts-toggle-content { max-height: 255px !important; overflow-y: hidden !important; }
    
    .emts-toggle-accordion.footer .emts-toggle-item .emts-toggle-content .content-wrapper { padding: 40px 0 0; }
    
    .emts-toggle-accordion.footer .emts-toggle-title .emts-icon { display: none !important; }
    
    .emts-toggle-accordion.footer .emts-toggle-item .emts-toggle-content * { opacity: 1 !important; }
}

@media screen and (max-width: 1024px) {
    .emts-toggle-accordion.footer .emts-toggle-title { padding: 10px 20px; font-size: 18px; color: var(--accenttxtcolor); border: 1px solid rgba(var(--accentcolorRgba),0.4); border-radius: 10px; }

    .emts-toggle-accordion.footer .emts-toggle-title .emts-icon { line-height: 0; }
}

/* Contact Form */
.emts-footer .gform_wrapper .gform-body .gfield--type-email { position: relative; }
.emts-footer .gform_wrapper .gform-body .gfield--type-email input[type="email"] { background-color: transparent !important; border: 0 solid var(--bordercolor) !important; border-bottom-width: 1px !important; border-radius: 0 !important; color: var(--tertiarycolor) !important; padding: 0 0 10px !important; }
.emts-footer .gform_wrapper .gform-footer { margin: 0 !important; position: absolute; right: 0; bottom: 5px; }
.emts-footer .gform_wrapper .gform-footer input { font-size: 0 !important; width: 38px !important; height: 30px !important; border-radius: 50% !important; line-height: 0 !important; padding: 0 !important; background-color: var(--primarycolor) !important; -webkit-transition: all 0.3s ease-out !important; transition: all 0.3s ease-out !important; }
.emts-footer .gform_wrapper .gform-footer input:hover { opacity: 0.9 !important; }
.emts-footer .gform_wrapper .gform-footer:after { content: ""; position: absolute; display: inline-block; width: 20px; height: 20px; background-color: var(--tertiarycolor); -webkit-mask-image: url("https://flentrix.com/wp-content/uploads/2025/08/in-right-arrow.webp"); -webkit-mask-repeat: no-repeat; -webkit-mask-position: center center; -webkit-mask-size: cover; mask-image: url("https://flentrix.com/wp-content/uploads/2025/08/in-right-arrow.webp"); mask-repeat: no-repeat; mask-position: center center; mask-size: cover; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; right: 8px; top: 0; bottom: 0; margin: auto; pointer-events: none; }

/* Marquee Testimonial Style */
.elementor-widget-emts_testy_marquee .emts-marquee-area,
.elementor-widget-emts_testy_marquee .emts-marquee-wrapper { gap: 20px; }
.elementor-widget-emts_testy_marquee .emts-marquee-item {
    flex-direction: column;
    overflow: hidden;
    align-items: start;
    background: radial-gradient(173.28% 153.04% at 30% 140%, rgba(106, 70, 216, 0.3) 0%, rgba(106, 70, 216, 0) 100%), radial-gradient(354.53% 313.13% at 50% 310%, rgba(4, 0, 255, 0.15) 0%, rgba(4, 0, 255, 0) 78%), linear-gradient(180deg, rgba(13, 10, 25, 0) 0%, rgba(13, 10, 25, 0.37) 100%), radial-gradient(90% 60% at 50% -4950%, rgba(168, 92, 92, 0.2) 0%, rgba(168, 92, 92, 0) 100%), radial-gradient(90% 10% at 50% -4950%, rgba(168, 92, 92, 0.05) 0%, rgba(168, 92, 92, 0) 90%);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 20px;
    padding: 50px;
    white-space: inherit;
}
.elementor-widget-emts_testy_marquee .emts-marquee-item * { color: var(--tertiarycolor) !important; text-align: start; } 
.elementor-widget-emts_testy_marquee .emts-marquee-item .emts-marquee-author { display: grid; grid-template-columns: 55px 1fr; align-items: center; gap: 15px; }
.elementor-widget-emts_testy_marquee .emts-marquee-item img { width: 100%; max-width: 55px; height: 55px; border-radius: 50%; }
.elementor-widget-emts_testy_marquee .emts-marquee-item .emts-marquee-author-inner { line-height: 0; }
.elementor-widget-emts_testy_marquee .emts-marquee-item .emts-marquee-description .image-wrapper { margin-bottom: 15px !important; }
.elementor-widget-emts_testy_marquee .emts-marquee-item .emts-marquee-description { padding-bottom: 30px; margin-bottom: 30px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }

/* Breadcrumb Style Work */
body:has(.cus-breadcrumb) .header { position: absolute; width: 100%; }
body:has(.cus-breadcrumb) .cus-breadcrumb { padding: 210px 20px 66px; }
body:has(.cus-breadcrumb) .header .logo-link img { filter: brightness(500%); }
body:has(.cus-breadcrumb) .header .elementor-widget-button:before { background-image: linear-gradient(90deg, #FFFFFF61 0%, #8C82FE 100%); }

/* Branding Style */
.cus-branding-style-01 .emts-marquee-item > .image-wrapper > img { filter: drop-shadow(0px 90px 0px #fff); opacity: 0.8; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; }
.cus-branding-style-01 .emts-marquee-item > .image-wrapper:hover > img { opacity: 1; transform: translateY(-90px); }
.cus-branding-style-01 .emts-marquee-item > .image-wrapper { overflow: hidden; }


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

    /* Container */
    .hover-3d {
        --tiltX: 0deg;
        /* set by JS */
        --tiltY: 0deg;
        /* set by JS */
        --glossX: 50%;
        /* set by JS */
        --scale: 1;
        width: min(560px, 46vw);
        aspect-ratio: 16/10;
        perspective: 900px;
        margin: 0 auto;
    }

    .hover-3d img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 18px;
        transform: rotateX(var(--tiltX)) rotateY(var(--tiltY)) scale(var(--scale));
        transform-style: preserve-3d;
        transition: transform .2s ease, box-shadow .2s ease;
        position: relative;
        display: block;
    }

    .hover-3d:hover img {
        --scale: 1.03;
    }

    /* ----------------------------------- */
    .float-on-scroll img {
        display: block;
        max-width: 100%;
        height: auto;
        opacity: 0;
        transform: translate3d(0, 0, 0);
        transition: opacity 400ms ease;
        will-change: transform;
        backface-visibility: hidden;
        contain: content;
    }

.float-on-scroll img.is-inview { opacity:1; }
    
}

@media (prefers-reduced-motion: reduce) {
  .float-on-scroll img { transform:none !important; transition:none !important; }
}


/* ----------------------------------- */

.animation .counter-style:after {
    transform: scaleY(0);
    transition: all 1s ease-out;
    transform-origin: left top;
}

.animation.active .counter-style:after {
    transform: scaleY(1);
}


.animation .scale-up img {
    transform: scaleY(0.6) translateY(50%);
    transition: all 1s ease-out;
}

.animation.active .scale-up img {
    transform: scaleY(1) translateY(0);
}

/* -------------------------------------- */

.hover-box-style-1 { overflow: hidden !important; }
.hover-box-style-1 > div { position: relative; z-index: 1; }
.hover-box-style-1:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: linear-gradient(180deg, var(--e-global-color-d3429e4) 0%, var(--e-global-color-primary) 100%);
    transform: translate(-50%, -50%) scale(0);
    transition: all 0.6s ease-out;
    border-radius: 50%;
    width: 100px;
    height: 100px;
    z-index: 0;
}

.hover-box-style-1:hover:after {
    transform: translate(-50%, -50%) scale(12);
}



/* Scroll Section Style */
.scroll-section-wrapper { margin: 0 auto !important; display: grid !important; grid-template-rows: repeat(var(--cards-count), var(--card-height)) !important; gap: 40px 0; }
.scroll-section { position: sticky !important; top: 0 !important; }
.scroll-section>.elementor-element { transition: scale 0.25s cubic-bezier(0.22, 1, 0.36, 1), filter 0.25s cubic-bezier(0.22, 1, 0.36, 1); transform-origin: center top; will-change: transform; transform: translate3d(0, 0, 0); /* hardware acceleration */ }


/* ------------------------------------- */

.hover-anim-line-style > div { position: relative; z-index: 1; }
.hover-anim-line-style:before { width: 2px !important; z-index: 0; }
.hover-anim-line-style:after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; right: auto; width: 100% !important; height: 100%; background-color: var(--primarycolor); transform: scaleX(0) scaleY(1.2); transform-origin: left center; transition: all 0.3s ease-out; z-index: 0; }
.hover-anim-line-style:hover:after { transform: scaleX(1) scaleY(1.2); }
.elementor-widget-image-box .elementor-image-box-description { transition: all 0.3s ease-out; }
.hover-box-style-1:hover .elementor-widget-image-box .elementor-image-box-description,
.hover-anim-line-style:hover .elementor-widget-image-box .elementor-image-box-description { color: var(--accenttxtcolor); }
.elementor-widget-logo_widget .elementor-widget-container { line-height: 0; }



/* ------------------------------------------ */

.cus-contact-style .gform_heading { display: none; }
.cus-contact-style .gform-body .gfield_label { color: var(--accenttxtcolor); }
.cus-contact-style .gform-body input,
.cus-contact-style .gform-body textarea {
    font-family: var(--extrafont);
    border: 1px solid var(--accenttxtcolor);
    border-radius: 15px;
    padding: 20px 25px;
    font-size: 16px;
    color: var(--primarycolor);
}


.cus-contact-style .gform-footer input.gform_button {
    background-color: var(--accentcolor) !important;
    padding: 20px 36px !important;
    color: var(--bodybgcolor) !important;
    font-size: 16px !important;
    margin-top: 15px !important;
    transition: all 0.3s ease-in-out !important;
    border-radius: 15px !important;
}

.cus-contact-style .gform-footer input.gform_button:hover {
    background-color: var(--primarycolor) !important;
    color: var(--tertiarycolor) !important;
}

.cus-contact-style .gform-theme--foundation .gform_fields { gap: clamp(0.9375rem, 0.7212rem + 0.9615vw, 1.875rem) !important; }


/* -------------------------------------------------------------------------------------------------------------------------------------------------------- */

@media screen and (min-width:768px) {  
    /* Clip Animation Style */
    .animation.try-clip img{ -webkit-clip-path: polygon(50% 40%, 61% 50%, 50% 60%, 42% 50%); clip-path: polygon(50% 40%, 61% 50%, 50% 60%, 42% 50%); -webkit-transition-delay: 10s; transition-delay: 10s; -webkit-transition: all 01s ease-out; transition: all 01s ease-out; }
    .animation.active.try-clip img { -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }

    body:not(.elementor-editor-active) .animation.effect01,
    body:not(.elementor-editor-active) .animation.effect02,
    body:not(.elementor-editor-active) .animation.effect03,
    body:not(.elementor-editor-active) .animation.effect04,
    body:not(.elementor-editor-active) .animation.effect05,
    body:not(.elementor-editor-active) .animation.effect06,
    body:not(.elementor-editor-active) .animation.effect07,
    body:not(.elementor-editor-active) .animation.effect08,
    body:not(.elementor-editor-active) .animation.effect09,
    body:not(.elementor-editor-active) .animation .effectone,
    body:not(.elementor-editor-active) .animation .effecttwo,
    body:not(.elementor-editor-active) .animation .effectthree,
    body:not(.elementor-editor-active) .animation .effectfour,
    body:not(.elementor-editor-active) .animation .live-advance-testy,
    body:not(.elementor-editor-active) .live-hero-banner-style.animation h1,
    body:not(.elementor-editor-active) .live-hero-banner-style.animation p,
    body:not(.elementor-editor-active) .live-hero-banner-style.animation .elementor-button-wrapper {
        opacity: 0;
        transform: translateY(50px) scaleX(1) scaleY(1.5);
        transition: transform 0.3s ease-out, opacity 0.2s ease-out;
        transform-origin: left top;
    }

    body:not(.elementor-editor-active) .animation.effect01.active,
    body:not(.elementor-editor-active) .animation.effect02.active,
    body:not(.elementor-editor-active) .animation.effect03.active,
    body:not(.elementor-editor-active) .animation.effect04.active,
    body:not(.elementor-editor-active) .animation.effect05.active,
    body:not(.elementor-editor-active) .animation.effect06.active,
    body:not(.elementor-editor-active) .animation.effect07.active,
    body:not(.elementor-editor-active) .animation.effect08.active,
    body:not(.elementor-editor-active) .animation.effect09.active,
    body:not(.elementor-editor-active) .animation.active .effectone,
    body:not(.elementor-editor-active) .animation.active .effecttwo,
    body:not(.elementor-editor-active) .animation.active .effectthree,
    body:not(.elementor-editor-active) .animation.active .effectfour,
    body:not(.elementor-editor-active) .animation.active .live-advance-testy,
    body:not(.elementor-editor-active) .live-hero-banner-style.animation.active h1,
    body:not(.elementor-editor-active) .live-hero-banner-style.animation.active p,
    body:not(.elementor-editor-active) .live-hero-banner-style.animation.active .elementor-button-wrapper {
        transform: translateY(0) scaleX(1) scaleY(1);
        opacity: 1;
    }

    body:not(.elementor-editor-active) .animation.live-plan-style {
        opacity: 0;
        transform: translateY(50px) scaleX(1) scaleY(1.5);
        transition: transform 0.3s ease-out, opacity 0.2s ease-out;
        transform-origin: left top;
    }

    body:not(.elementor-editor-active) .animation.active.live-plan-style {
        transform: translateY(0) scaleX(1) scaleY(1);
        opacity: 1;
    }

    body:not(.elementor-editor-active) .animation.left {
        opacity: 0;
        transform: translateX(-50px) scaleX(1.2) scaleY(1);
        transition: transform 0.3s ease-out, opacity 0.2s ease-out;
        transform-origin: right top;
    }

    body:not(.elementor-editor-active) .animation.active.left {
        transform: translateX(0) scaleX(1) scaleY(1);
        opacity: 1;
    }

    body:not(.elementor-editor-active) .animation.right {
        opacity: 0;
        transform: translateX(50px) scaleX(1.2) scaleY(1);
        transition: transform 0.3s ease-out, opacity 0.2s ease-out;
        transform-origin: left top;
    }

    body:not(.elementor-editor-active) .animation.active.right {
        transform: translateX(0) scaleX(1) scaleY(1);
        opacity: 1;
    }

    body:not(.elementor-editor-active) .animation .effectscale,
    body:not(.elementor-editor-active) .animation.effectscale {
        opacity: 0;
        transform: scale(0.2);
        transition: transform 0.3s ease-out, opacity 0.1s ease-out;
        transform-origin: center center;
    }

    body:not(.elementor-editor-active) .animation.active .effectscale,
    body:not(.elementor-editor-active) .animation.active.effectscale {
        transform: scale(1);
        opacity: 1;
    }

    body:not(.elementor-editor-active) .animation.left,
    body:not(.elementor-editor-active) .animation.right,
    body:not(.elementor-editor-active) .animation.effectscale,
    body:not(.elementor-editor-active) .animation .effectone,
    body:not(.elementor-editor-active) .animation.live-plan-style,
    body:not(.elementor-editor-active) .live-hero-banner-style.animation h1 { transition-delay: 100ms; }
    body:not(.elementor-editor-active) .animation .effecttwo,
    body:not(.elementor-editor-active) .live-hero-banner-style.animation p { transition-delay: 200ms; }
    body:not(.elementor-editor-active) .animation .effectthree,
    body:not(.elementor-editor-active) .animation .live-advance-testy,
    body:not(.elementor-editor-active) .live-hero-banner-style.animation .elementor-button-wrapper { transition-delay: 300ms; }
    body:not(.elementor-editor-active) .animation .effectfour,
    body:not(.elementor-editor-active) .animation .effectscale { transition-delay: 400ms; }


    body:not(.elementor-editor-active) .animation.effect01,
    body:not(.elementor-editor-active) .animation.effect02,
    body:not(.elementor-editor-active) .animation.effect03,
    body:not(.elementor-editor-active) .animation.effect04,
    body:not(.elementor-editor-active) .animation.effect05,
    body:not(.elementor-editor-active) .animation.effect06,
    body:not(.elementor-editor-active) .animation.effect07,
    body:not(.elementor-editor-active) .animation.effect08,
    body:not(.elementor-editor-active) .animation.effect09 { transition-delay: 100ms; }
}

.scroll-section-wrapper .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 10px; padding: 0px; }
.scroll-section-wrapper .elementor-icon-list-items .elementor-icon-list-item { padding: 8px 10px; border-radius: 50px; display: inline-flex; background: linear-gradient(90deg, #2B1A61 46.15%, #6741D5 100%); }
.scroll-section-wrapper .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-icon svg {
    margin: 0 5px 0 0;
}

/* Contact Form Style */

.gform_wrapper .gform_heading { display: none !important; }
.gform_wrapper form .gform-body .gfield_label { color: var(--accenttxtcolor) !important; }
.gform_wrapper form .gform-body input,
.gform_wrapper form .gform-body textarea,
.gform_wrapper form .gform-body select { color: var(--primarycolor); background: radial-gradient(173.28% 153.04% at 30% 140%, rgba(106, 70, 216, 0.3) 0%, rgba(106, 70, 216, 0) 100%), radial-gradient(354.53% 313.13% at 50% 310%, rgba(4, 0, 255, 0.15) 0%, rgba(4, 0, 255, 0) 78%), linear-gradient(180deg, rgba(13, 10, 25, 0) 0%, rgba(13, 10, 25, 0.37) 100%), radial-gradient(90% 60% at 50% -4950%, rgba(168, 92, 92, 0.2) 0%, rgba(168, 92, 92, 0) 100%), radial-gradient(90% 10% at 50% -4950%, rgba(168, 92, 92, 0.05) 0%, rgba(168, 92, 92, 0) 90%); border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 15px; padding: 30px 20px; }
.gform_wrapper form .gform-body select { padding: 0 20px; height: 65px; }
.gform_wrapper form .gform-body .ginput_container_select select { background-color: transparent;}
.gform_wrapper form .gform-footer input { padding: 16px 30px !important; border-radius: 12px !important; background-color: var(--primarycolor) !important; }


.ginput_container_select { position: relative; }
.ginput_container_select:after { content: ""; position: absolute; left: auto; top: 0; right: 20px; bottom: 0; margin: auto; background-color: transparent; width: 12px; height: 12px; border-left: 8px solid transparent; border-right: 8px solid transparent; border-top: 12px solid var(--accenttxtcolor); }

select:hover option { background-color: var(--bodybgcolor) !important; color: var(--accenttxtcolor) !important; }
select:hover option:active { background-color: var(--primarycolor) !important; color: var(--accenttxtcolor) !important; }

.mobile-resp-style > div > section {
    padding: 0 !important;
    margin: 0 !important;
}

.emts-toggle-accordion.footer .emts-toggle-item .emts-toggle-content ul,
.emts-toggle-accordion.footer .emts-toggle-item .emts-toggle-content ul > li {
    padding: 0;
}


@media screen and (max-width:767px) {
    .animation .counter-style:after {
        transform: scaleY(1) !important;
    }
}

.scroll-section-wrapper > div> section:last-child > div > div {
    transform: inherit !important;
}