/*
Theme Name: Byte Flick 3D 
Template: astra
*/
/* Preloader Styling */
body {
    overflow: hidden;
}

body,
html {
    font-size: 62.5%;
    scrollbar-width: none;
}

#preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    overflow: hidden;
    transition: transform 0.6s ease;
    transform: translateY(0);
}

#preloader video {
    max-width: 800px;
    height: auto;
}

@media (max-width: 1600px) {
    #preloader video {
        max-width: 650px;
        height: auto;
    }
}

@media (max-width: 767px) {
    #preloader video {
        max-width: 400px;
        height: auto;
    }
}

/* Hero Section Animation */

.magic-element-hero {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    clip-path: circle(0% at 50% 50%);
    opacity: 0;
}

#hero-bg {
    background-blend-mode: lighten;
    backdrop-filter: blur(132.6px);
    /*animation: kenburns 3s ease-in-out infinite alternate;*/
}

@media (max-width: 1024px) {
    #hero-bg {
        animation: unset;
    }
}

@keyframes kenburns {
    0% {
        background-size: 120%;
        background-position: center center;
    }

    100% {
        background-size: 100%;
        background-position: top right;
    }
}


/* Scroll to Top */
#ast-scroll-top {
    z-index: 10;
    background: linear-gradient(270deg, #0981AF 24.52%, #1392C3 50%, #0981AF 86.54%, #288CB3 100%);
}

/* Mobile Popup Menu */
#elementor-popup-modal-3807 {
    z-index: 10;
}

.bf-movefrombottom {
    animation-name: bf-movefrombottom;
}

@keyframes bf-movefrombottom {
    from {
        transform: translateY(15%);
    }
}

.bf-movetobottom {
    animation-name: bf-movetobottom;
}

@keyframes bf-movetobottom {
    to {
        transform: translateY(15%);
    }
}

/* 3d Player */
.swiper-slide iframe {
    width: 100%;
    height: 100%;
}

.playerSwiper2 {
    aspect-ratio: 963 / 560;
    /*aspect-ratio: 840 / 635;*/
    border-radius: 18px;
}

.playerSwiper {
    /*position: absolute;*/
    /*bottom: -50px;*/
    width: 100%;
    justify-self: anchor-center;
    border-radius: 15px;
    padding: 15px 40px;
    background: rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(18.75px);
    -webkit-backdrop-filter: blur(10px);
    z-index: 10;
}

.playerSwiper .swiper-slide .thumbslide-content {
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: auto;
    padding: 10px;
    background-color: transparent;
    transition: transform 0.3s ease;
}

.playerSwiper .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

.playerSwiper .swiper-slide:not(:last-child)::after {
    content: "";
    display: block;
    width: 0.5px;
    position: absolute;
    right: -5px;
    height: 100%;
    background-color: #726f6f;
    margin: 8px auto 0;
}

.playerSwiper .swiper-slide .thumb-label {
    font-size: 14px;
    font-weight: 500;
    opacity: 0;
    transform: translateY(5px);
    transition: all 0.3s ease;
    display: none;
}

.playerSwiper .swiper-slide-thumb-active .thumbslide-content {
    transform: translateY(-10px);
}

.playerSwiper .swiper-slide-thumb-active .thumb-label {
    opacity: 1;
    display: flex;
    position: absolute;
    bottom: -10px;
    background: linear-gradient(268.51deg, #0a95cc -2.01%, #3b7c96 95.59%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
    text-wrap-mode: nowrap;
}

.playerSwiper .swiper-slide svg {
    width: 37px;
    height: 40px;
    max-height: 60px;
    fill: #939393;
    transition: fill 0.3s ease;
}

.playerSwiper .swiper-slide-thumb-active svg {
    fill: #0a95cc;
}

@media (max-width: 1600px) {
    .playerSwiper .swiper-slide svg {
        width: 28px;
        height: 30px;
    }

    .playerSwiper {
        bottom: -30px;
        padding: 15px 40px;
    }
}

@media (max-width: 1366px) {
    .playerSwiper .swiper-slide svg {
        width: 24px;
        height: 26px;
    }

    .playerSwiper {
        bottom: -30px;
        padding: 10px 30px;
    }
}

@media (max-width: 1024px) {
    .playerSwiper .swiper-slide svg {
        width: 24px;
        height: 26px;
    }

    .playerSwiper {
        bottom: -35px;
        padding: 10px 30px;
    }
}

@media (max-width: 767px) {
    .playerSwiper .swiper-slide svg {
        width: 14px;
        height: 16px;
    }

    .playerSwiper {
        border-radius: 8px;
        padding: 8px 15px;
    }

    .playerSwiper2 {
        border-radius: 12px;
    }

    .playerSwiper .swiper-slide .thumb-label {
        font-size: 10px;
    }

    .playerSwiper .swiper-slide .thumbslide-content {
        padding: 5px 0px;
    }

    .playerSwiper .swiper-slide-thumb-active .thumbslide-content {
        transform: translateY(-8px);
    }
}

/* Header Styling */
.sticky-header {
    position: -webkit-fixed;
    position: fixed;
    top: 0 !important;
    z-index: 9999;
    width: 100%;
    background: rgba(0, 0, 0, 0.1);
    transition: 0.3s ease-in-out;
    backdrop-filter: blur(6rem);
    padding: 0.5rem 0;
}

.sticky-header .hfe-retina-image img {
    width: 65px !important;
}

@media (max-width: 767px) {
    .sticky-header .hfe-retina-image img {
        width: 50px !important;
    }
}

.elementor-widget-n-menu .e-n-menu-title:hover:not(.e-current)::after,
.elementor-widget-n-menu .e-n-menu-title:hover:not(.e-current) a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0px;
    width: 14px;
    height: 2px;
    background-color: var(--n-menu-title-color-active);
    transform: translateX(-50%);
}

.elementor-widget-n-menu .e-n-menu-title.e-current::after,
.elementor-widget-n-menu .e-n-menu-title.e-current a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0px;
    width: 14px;
    height: 2px;
    background-color: var(--n-menu-title-color-active);
    transform: translateX(-50%);
}

/* Gradient Text */
.gradient-text {
    background: linear-gradient(180deg, #ffffff 37.98%, #b2b2b2 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}

.cf-heading-gradient {
    background: linear-gradient(265.26deg, #ecfff6 51.39%, #c2c2c2 102.02%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}

.cf-heading-gradient .highlight-text {
    color: #121212;
    -webkit-background-clip: unset;
    -webkit-text-fill-color: #121212;
    background-clip: unset;
}

.cf-form-title {
    background: linear-gradient(180deg, #003b56 37.98%, #1f1f1f 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}

/* Photogrammtery Section Settings */
.gsap-tab-item {
    cursor: pointer;
    position: relative;
}

.gsap-tab-item span {
    transition: color 0.3s ease;
}

.gsap-tab-item:hover span {
    text-shadow: 0 0 10px rgba(3, 148, 204, 0.5);
    color: #0394CC !important;
}

.gsap-tab-item.active span {
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    color: #ffffff !important;
}

.gsap-tab-item.active:hover span {
    color: #ffffff !important;
}

.gsap-tab-marker {
    height: 100%;
    border-radius: 50px;
    pointer-events: none;
    transition: none;
    opacity: 0;
    background: linear-gradient(135deg, rgba(3, 148, 204, 0.85), rgba(3, 148, 204, 0.65));

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    border: 1px solid rgba(255, 255, 255, 0.3);
    border-top: 1px solid rgba(255, 255, 255, 0.5);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);

    box-shadow:
        0 8px 20px 0 rgba(3, 148, 204, 0.35),
        inset 0 0 10px rgba(255, 255, 255, 0.2);
}

.gsap-tab-content {
    opacity: 0;
    transition: none;
}

.gsap-tab-content:first-child {
    opacity: 1;
}

.slide-item {
    will-change: transform; 
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0); 
}

/* Hardware Section */
.gsap-tab-content .uael-modal-photo,
.uael-modal img {
    border-radius: 20px;
}

.pg-blur-bg {
    backdrop-filter: blur(70.2px);
    -webkit-backdrop-filter: blur(70.2px);
    background: rgba(29, 29, 29, 0.5);
}

/* Scroll Animation PG Section */

.magic-element-pg-wrapper {
    overflow: hidden;
}

.magic-element-pg-left,
.magic-element-pg-right {
    position: relative;
    perspective: 1000px;
    overflow: hidden;
}

.magic-element-pg-left>div,
.magic-element-pg-right>div {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    transform-style: preserve-3d;
}

#pg-left-first {
    position: relative;
    opacity: 1;
}

#pg-right-first {
    position: relative;
    opacity: 1;
    filter: blur(0px);
    -webkit-mask-position: left;
    mask-position: left;
}


.magic-element-pg-wrapper {
    position: relative;
    perspective: 1000px;
    overflow: hidden;
}

.magic-element-pg-child {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    transform-style: preserve-3d;
}

.slide-item:first-child {
    position: relative;
}


/*.blur-reveal-text {
  filter: blur(5px);
  -webkit-mask-image: linear-gradient(to left, transparent 0%, black 100%);
  mask-image: linear-gradient(to left, transparent 0%, black 100%);
  -webkit-mask-size: 200% 100%;
  mask-size: 200% 100%;
  -webkit-mask-position: right;
  mask-position: right;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  transition: filter 0.3s;
}*/

.pagination {
    display: flex;
    gap: 10px;
    z-index: 1000;
    justify-content: flex-start;
    align-items: center;
}

.dot {
    width: 12px;
    height: 12px;
    background: #363636;
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.3s;
}

.dot.active {
    background: #D9D9D9;
}

/* Image Comparison Slider */
.img-comparison-slider .twentytwenty-handle {
    border-color: #15b1ff;
    background: #15b1ff;
}

.uael-before-after-slider .twentytwenty-container,
.uael-before-after-slider .twentytwenty-container * {
    border-radius: 20px;
}

@media (max-width: 767px) {

    .uael-before-after-slider .twentytwenty-container,
    .uael-before-after-slider .twentytwenty-container * {
        border-radius: 15px;
    }
}


/* Client Marquee */
.marquee-wrapper {
    overflow: hidden;
    white-space: nowrap;
    box-sizing: border-box;
}

.marquee-content {
    display: inline-flex;
    animation: scroll-left 26s linear infinite;
}

.marquee-content img {
    width: 58px;
    height: 58px;
    margin-right: 10rem;
}

@keyframes scroll-left {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

@media (max-width: 1366px) {
    .marquee-content img {
        width: 42px;
        height: 42px;
        margin-right: 8rem;
    }

    .marquee-content {
        animation: scroll-left 25s linear infinite;
    }
}

@media (max-width: 767px) {
    .marquee-content img {
        width: 32px;
        height: 32px;
        margin-right: 5rem;
    }
}

/* Team Members Section */
.flip-card-wrapper {
    perspective: 1000px;
    width: 100%;
    height: 100%;
}

.flip-card {
    width: 100%;
    height: 100%;
    position: relative;
    transition: transform 0.6s ease;
    transform-style: preserve-3d;
}

.flip-card.flipped {
    transform: rotateY(180deg);
}

.flip-card-wrapper:hover .flip-card {
    transform: rotateY(180deg);
}

.flip-card-front,
.flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    top: 0;
    left: 0;
}

.flip-card-front {
    z-index: 2;
    position: relative;
}

.flip-card-back {
    transform: rotateY(180deg);
}


/* Contact Form styling */
#cf_form_above_footer input,
#cf_form_above_footer textarea {
    padding: 0;
}

#cf_form_above_footer textarea {
    padding-top: 10px;
}

#cf_form_above_footer .elementor-field-group {
    margin-bottom: 3rem;
}

#cf_form_above_footer .elementor-field-type-checkbox label {
    color: #464646;
    font-weight: 300;
    font-size: 15px;
    line-height: 15px;
    padding-left: 20px;
}

#cf_form_above_footer .elementor-field-type-checkbox {
    margin-bottom: 3.5rem;
}

@media (max-width: 767px) {
    #cf_form_above_footer .elementor-field-type-checkbox {
        margin-bottom: 1.5rem;
    }

    #cf_form_above_footer .elementor-field-type-checkbox label {
        font-size: 12px;
    }

    #cf_form_above_footer .elementor-button[type="submit"] {
        padding: 0.25rem 3rem 0.25rem 3rem;
        border-radius: 10px;
    }
}

#cf_form_above_footer input:focus,
#cf_form_above_footer textarea:focus {
    background-color: transparent;
    outline: none;
    box-shadow: none;
}

#cf_form_above_footer .elementor-field-type-checkbox .elementor-field-option {
    display: flex;
    gap: 10px;
}

#cf_form_above_footer .elementor-field-type-checkbox input[type="checkbox"] {
    display: none;
}

#cf_form_above_footer .elementor-field-type-checkbox .elementor-field-option {
    position: relative;
    cursor: pointer;
    display: flex;
}

#cf_form_above_footer .elementor-field-type-checkbox label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 12px;
    height: 12px;
    background-color: transparent;
    border: 1px solid #052b34;
}

#cf_form_above_footer .elementor-field-type-checkbox input[type="checkbox"]:checked+label::before {
    background-color: transparent;
    border-color: #052b34;
}

#cf_form_above_footer .elementor-field-type-checkbox input[type="checkbox"]:checked+label::after {
    content: "✓";
    position: absolute;
    left: 2px;
    top: 0px;
    font-size: 12px;
    color: #052b34;
}

/* Shining Animation */
:root {
    --shine-effect: linear-gradient(to right, transparent, white, transparent);
    --shine-transition: all 0.3s ease-in-out;
}

.shine-btn .elementor-size-sm {
    position: relative;
    overflow: hidden;
}

.shine-btn .elementor-button-wrapper {
    display: flex;
}

.shine-btn .elementor-size-sm::before {
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: var(--shine-effect);
}

.shine-btn-hover .elementor-size-sm::before {
    left: -100%;
    transition: var(--shine-transition);
}

.shine-btn-hover .elementor-size-sm:hover::before {
    left: 100%;
}

.shine-btn-anim .elementor-size-sm::before {
    -webkit-animation: shine 4s ease-in-out infinite;
    animation: shine 4s ease-in-out infinite;
}

@-webkit-keyframes shine {
    0% {
        left: -100%;
        transition-property: left;
    }

    11.5044247788%,
    100% {
        left: 100%;
        transition-property: left;
    }
}

@keyframes shine {
    0% {
        left: -100%;
        transition-property: left;
    }

    11.5044247788%,
    100% {
        left: 100%;
        transition-property: left;
    }
}


/* Sticky Footer Setting */
footer {
    position: sticky;
    bottom: 0;
    z-index: 0;
}

#content {
    background-color: #191919;
    z-index: 1;
    border-radius: 0 0 50px 50px;
}

@media (max-width: 767px) {
    #content {
        border-radius: 0 0 30px 30px;
    }
}