/******* Do not edit this file *******
Code Snippets Manager
Saved: Mar 25 2026 | 13:13:03 */
/* Header before scroll */
header.sticky-header {
    min-height: 140px;
    padding: 30px 60px;
    background-color: transparent;
    color: #ffffff;
    border-bottom: none;
    box-sizing: border-box;
    z-index: 999;
    transition: min-height 0.45s cubic-bezier(.4, 0, .2, 1),
                padding 0.45s cubic-bezier(.4, 0, .2, 1),
                background-color 0.45s cubic-bezier(.4, 0, .2, 1),
                color 0.45s cubic-bezier(.4, 0, .2, 1),
                box-shadow 0.45s cubic-bezier(.4, 0, .2, 1),
                backdrop-filter 0.45s cubic-bezier(.4, 0, .2, 1);
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
}

/* Header on scroll */
header.sticky-header.elementor-sticky--effects {
    min-height: 90px;
    padding: 20px 25px;
    background-color: rgba(9, 28, 63, 0.9);
    color: rgba(255, 255, 255, 0.85);
    border-bottom: none;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* Logo slot */
header.sticky-header .logo-slot {
    display: grid;
    place-items: center start;
    height: 80px;
}

header.sticky-header.elementor-sticky--effects .logo-slot {
    height: 50px;
}

/* Remove default widget spacing */
header.sticky-header .logo-slot .elementor-widget-image {
    margin: 0;
    grid-area: 1 / 1;
}

/* Default logo */
header.sticky-header .logo-slot .logo-default img {
    height: 80px !important;
    width: auto !important;
    max-width: none !important;
    object-fit: contain;
    opacity: 1;
    transition: height 0.6s cubic-bezier(.4, 0, .2, 1),
                opacity 0.6s ease;
}

/* Hide default logo on scroll */
header.sticky-header.elementor-sticky--effects .logo-slot .logo-default img {
    height: 0 !important;
    opacity: 0;
}

/* Scrolled logo */
header.sticky-header .logo-slot .logo-scrolled img {
    height: 0 !important;
    width: auto !important;
    max-width: none !important;
    object-fit: contain;
    opacity: 0;
    transition: height 0.6s cubic-bezier(.4, 0, .2, 1),
                opacity 0.6s ease,
                transform 0.6s ease;
}

/* Show scrolled logo on scroll */
header.sticky-header.elementor-sticky--effects .logo-slot .logo-scrolled img {
    height: 50px !important;
    opacity: 1;
    transform: translateX(-10px);
}

/* Nav */
header.sticky-header .elementor-nav-menu a {
    font-size: 18px;
    color: #ffffff;
    transition: font-size 0.45s cubic-bezier(.4, 0, .2, 1),
                color 0.45s cubic-bezier(.4, 0, .2, 1);
}

header.sticky-header.elementor-sticky--effects .elementor-nav-menu a {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.85);
}

/* =========================
   Tablet
========================= */
@media (max-width: 1024px) {
    header.sticky-header {
        min-height: 110px;
        padding: 20px 30px;
    }

    header.sticky-header.elementor-sticky--effects {
        min-height: 80px;
        padding: 15px 20px;
    }

    header.sticky-header .logo-slot {
        height: 65px;
    }

    header.sticky-header.elementor-sticky--effects .logo-slot {
        height: 45px;
    }

    header.sticky-header .logo-slot .logo-default img {
        height: 65px !important;
    }

    header.sticky-header.elementor-sticky--effects .logo-slot .logo-scrolled img {
        height: 45px !important;
        transform: translateX(-6px);
    }
}

/* =========================
   Mobile
========================= */
@media (max-width: 767px) {
    header.sticky-header {
        min-height: 110px;
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 18px;
        padding-right: 18px;
    }

    header.sticky-header.elementor-sticky--effects {
        min-height: 80px;
        padding-top: 14px;
        padding-bottom: 14px;
        padding-left: 14px;
        padding-right: 14px;
    }

    header.sticky-header .logo-slot {
        height: auto;
    }

    header.sticky-header .logo-slot .logo-default img {
        height: 64px !important;
        display: block;
    }

    header.sticky-header .logo-slot .logo-scrolled img {
        display: block;
    }

    header.sticky-header.elementor-sticky--effects .logo-slot .logo-scrolled img {
        height: 44px !important;
        transform: translateX(-2px);
    }
}
}