.header-default {
    position: sticky;
    width: 100%;
    top: 0;
    z-index: 99;
    transition: all 0.15s ease-out;
}

    .header-default .language-select {
        border: none;
    }

    .header-default .language-select {
        width: -moz-fit-content;
        width: fit-content;
        color: var(--dark-grey);
        background-color: transparent !important;
        font-weight: 500;
    }

    .header-default .dropdown .fa {
        margin-left: 0.1rem;
        font-size: small;
    }

    .header-default .fa-chevron-down {
        transition: transform 0.15s linear;
    }

.divider {
    border: none;
    border-top: 1px solid #ccc;
    margin: 1px 0;
}

.img-logo-header {
    width: 120px;
    object-fit: contain;
    flex-shrink: 0;
}

.nav-link {
    font-weight: 500;
}

.navbar-toggler {
    border: 0 !important;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgb(47, 46, 115)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

.navbar-toggler:focus {
    text-decoration: none;
    outline: 0;
    box-shadow: none;
}

.search-container {
    display: flex;
    align-items: center;
    border: none;
    border-radius: 30px;
    background: transparent;
    padding: 5px 10px;
    transition: all 0.4s ease;
    width: fit-content;
}

    .search-container.active {
        background: #ffffff78;
        border: 1px solid #ccc;
        box-shadow: 4px 4px 6px 0 rgba(255, 255, 255, 0.3), -4px -4px 6px 0 rgba(116, 125, 136, 0.2), inset -4px -4px 6px 0 rgba(255, 255, 255, 0.2), inset 4px 4px 6px 0 rgba(0, 0, 0, 0.2);
    }

    .search-container .search-input {
        width: 0;
        opacity: 0;
        border: none;
        outline: none;
        background: transparent;
        font-size: 16px;
        transition: all 0.4s ease;
    }

    .search-container.active .search-input {
        width: 100px;
        opacity: 1;
        margin-right: 10px;
    }

    .search-container .search-btn {
        background: none;
        border: none;
        outline: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
    }

.search-btn .fas {
    color: var(--color-primary-blue);
    font-size: 18px;
}

.ihh-logo {
    width: 70px;
}

@media (max-width: 768px) {
    .ihh-logo {
        width: 50px;
    }
}

.navbar {
    background: #fff;
    padding-top: 0;
    padding-bottom: 0;
    box-shadow: 1px 3px 4px 0 #adadad33;
}

.navbar-light .navbar-brand {
    color: #2196f3;
}

.navbar-light .navbar-nav .nav-link {
    color: #555960;
}

.navbar-light .navbar-brand:focus,
.navbar-light .navbar-brand:hover {
    color: var(--theme-dark-blue);
}

.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link:hover {
    color: #fff;
}

.navbar-light .navbar-nav .nav-link {
    padding-top: 22px;
    padding-bottom: 22px;
    transition: 0.3s;
    padding-left: 24px;
    padding-right: 24px;
    font-size: 16px;
}

    .navbar-light .navbar-nav .nav-link:focus,
    .navbar-light .navbar-nav .nav-link:hover {
        background: var(--theme-dark-blue);
        transition: 0.3s;
    }

.dropdown-item:focus,
.dropdown-item:hover {
    color: #fff;
    text-decoration: none;
    background-color: var(--theme-dark-blue) !important;
}

.sm-menu {
    border-radius: 0px;
    border: 0px;
    top: 97%;
    box-shadow: rgba(173, 173, 173, 0.2) 1px 3px 4px 0px;
}

.dropdown-item {
    color: #3c3c3c;
    font-size: 14px;
}

    .dropdown-item.active,
    .dropdown-item:active {
        color: #fff;
        text-decoration: none;
        background-color: #2196f3;
    }

.navbar-toggler {
    outline: none !important;
}

.navbar-tog {
    color: #1ebdc2;
}

.megamenu-li {
    position: static;
}

.megamenu {
    position: absolute;
    width: 100%;
    left: 0;
    right: 0;
    padding: 15px;
}

    .megamenu h6 {
        margin-left: 21px;
    }

    .megamenu i {
        width: 20px;
    }

.dropdown-toggle::after {
    content: none;
}

a {
    color: white;
    text-decoration: none;
}

    a:hover {
        color: var(--theme-sky-blue);
    }

@media (max-width: 991.98px) {
    .mobile-links a {
        display: block; /* stack vertically */
        border-bottom: 1px solid #7471b3; /* divider color */
        padding-bottom: 10px; /* space above divider */
        text-decoration: none; /* keep it clean */
        color: inherit; /* keep text color same */
    }

        .mobile-links a:last-child {
            border-bottom: none; /* remove line after last link */
        }

    .dropdown-menu[data-bs-popper] {
        left: -31px;
    }

    .dropdown-menu {
        z-index: 9999;
    }
}

/* ensure language dropdown sits above nav and is not clipped */
.language-desktop,
.language-desktop .dropdown,
.language-desktop .dropdown-menu,
.language-menu-desktop {
    position: relative; /* keep the element positioned so child absolute works */
}

    .language-desktop .dropdown-menu,
    .language-menu-desktop {
        position: absolute !important; /* ensure absolute positioning */
        z-index: 3000 !important; /* higher than typical nav and bootstrap defaults */
        /* optional: add a small transform/left if needed */
    }

/* If the nav wrapper is clipping children, allow visible overflow on the header region */
.header, .site-header, .nav-wrapper, .main-nav {
    overflow: visible !important;
}
