.navbar.opti-navbar .navbar-nav .nav-link,
.navbar.opti-navbar .navbar-nav .dropdown-toggle {
    height: 100%;
    display: flex;
    align-items: center;
}

.navbar.opti-navbar {
    background: var(--opti-blue);
    box-shadow: 0 0px 0px hsla(0, 0%, 0%, 0.2);
    padding: 0em;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 3001;
    height: 4rem;
    width: 100%;
    margin: auto;
}
@media (max-width: 991.98px) {
    .opti-navbar {
        top: 0;
        z-index: 3001;
        background: #fff;   
        box-sizing: border-box;
    }
}

.navbar.opti-navbar .navbar-nav .nav-link,
.navbar.opti-navbar .navbar-nav .dropdown-toggle {
    /*white-space: normal; /* Allows text to wrap */
    font-size: var(--font-size-5);
    color: #fff !important;
    font-weight: 500;
    letter-spacing: .2px;
    transition: color .1s;
}

.navbar.opti-navbar .navbar-nav .nav-item{
    padding: 0.25rem 0.3rem;
}

.navbar.opti-navbar .navbar-nav .nav-item:hover,
.navbar.opti-navbar .navbar-nav .nav-item:focus-within {
    background-color: hsl(195, 100%, 35%);
}

.navbar.opti-navbar .nav-item:hover>.dropdown-menu,
.navbar.opti-navbar .nav-item:focus-within>.dropdown-menu {
    display: block;
    opacity: 1;
    visibility: visible;
}

.navbar-brand {
    font-size: var(--font-size-2) !important;
    color: #fff !important;
    font-weight: 700;
    display: flex;
    align-items: center;
    height: 70%;
    padding: 0 1rem;
    margin: 0;
}

.navbar.opti-navbar .dropdown-menu {
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.10);
    padding: .25rem;
    border-radius: 2px;
    top: 95%;
}

.navbar.opti-navbar .dropdown-menu .dropdown-item {
    font-size: var(--font-size-nav-dropdown-item);
    font-weight: 400;
    padding: 0.4em 0.5em 0.4em 0.5em;
    margin: 0.25em 0em 0.25em 0em;
    color: hsl(0, 0%, 25%);
    transition: color 0.1s, background 0.1s;
    border-radius: 2px;
    box-shadow: none;
    border-bottom: none;
}

.navbar.opti-navbar .dropdown-menu.mega-menu .dropdown-header {
    font-size: var(--font-size-nav-dropdown-item-header);
    font-weight: 600;
    color: hsl(195, 100%, 35%);
    padding: 1em 0.5em 0.2em 0.5em;
    border-bottom: none;
    letter-spacing: 0.4px;
    text-align: left;
}

.navbar.opti-navbar .dropdown-menu .dropdown-item:hover {
    background: var(--opti-blue);
    color: #fff !important;
}

.navbar.opti-navbar .dropdown-menu .dropdown-divider {
    margin: 0.4em;
    /* left and right */
    border-bottom: 1px solid;
    border-bottom-color: hsl(195, 100%, 55%);
}

.navbar.opti-navbar .dropdown-menu.mega-menu {
    width: var(--width-size-nav-dropdown-mega-menu);
    padding: .5em .5em .5em .5em;
    display: none;
    transform: translateX(-40%);
    border-radius: 2px;
}

.navbar.opti-navbar .dropdown-menu.mega-menu .row {
    margin: 0;
    position: relative;
}

.navbar.opti-navbar .dropdown-menu.mega-menu .col-6 {
    padding-left: .5em;
    padding-right: .5em;
    position: relative;
}

.navbar.opti-navbar .dropdown-menu.mega-menu .row::before {
    content: "";
    position: absolute;
    top: 0.25em;
    bottom: 0.25em;
    left: 50%;
    width: 1px;
    z-index: 1;
    border-radius: 2px;
}

.navbar.opti-navbar .dropdown-menu.mega-menu li {
    list-style: none;
    margin-bottom: 0.5em;
    /*distance between dropdown items*/
}

.navbar.opti-navbar .site-lang a {
    font-size: var(--font-size-6);
    font-weight: 400;
    letter-spacing: 1px;
    color: white;
    padding: 0.2em 0.4em;
    background: transparent;
    text-decoration: none;
    display: inline-block;
    border-radius: 4px;
    text-align: center;
    align-items: center;
    transition: background 0.1s, color 0.1s;
    margin: auto 0.5rem;
}

.navbar.opti-navbar .site-lang a:hover,
.navbar.opti-navbar .site-lang a:focus {
    background: #fff;
    color: var(--opti-blue);
}

.custom-dropdown-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.custom-dropdown-menu li {
    margin: 0rem;
    padding: 0rem;
}

.custom-dropdown-menu a {
    display: block;
    padding: 0.5rem 1.5rem;
    color: hsl(195, 100%, 30%);
    font-size: 1rem;
    text-decoration: none;
    font-weight: 500;
    border-bottom: 1.1px solid #e0e0e0;
    transition: background 0.2s, color 0.2s;
}

.custom-dropdown-menu a:hover {
    background: hsl(195, 100%, 30%);
    color: #fff;
}



@media (max-width: 991.9px) {

    /* Small screens menu - single dropdown, no megas or nested dropdowns*/
    .custom-dropdown-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100%;
        background: #fff;
        z-index: 4000;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
        transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        border-radius: 0.25rem;
    }

    .custom-dropdown-menu.show {
        display: block;
        max-height: none;
        /* Let it grow as needed */
        height: auto;
        /* Natural height */
        overflow: visible;
        /* Show all content */
        opacity: 1;

    }

    .navbar .d-flex {
        justify-content: flex-start !important;
        /* or remove justify-content property */
        padding-left: 0rem !important;
    }

    /* Hide the entire navbar collapse block on small screens */
    .navbar.opti-navbar .navbar-collapse {
        display: none !important;
    }

    .navbar.opti-navbar {
        position: fixed;
        left: 0;
        right: 0;
    }

    .navbar.opti-navbar .navbar-nav .dropdown-menu,
    .navbar.opti-navbar .nav-item:hover>.dropdown-menu,
    .navbar.opti-navbar .nav-item:focus-within>.dropdown-menu {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }

    /* ALSO hide any .dropdown-menu forcefully if left open */
    .navbar.opti-navbar .dropdown-menu {
        display: none !important;
    }

    /* Prevent hover opening too */
    .navbar.opti-navbar .nav-item:hover>.dropdown-menu,
    .navbar.opti-navbar .nav-item:focus-within>.dropdown-menu {
        display: none !important;
    }

    .navbar.opti-navbar .navbar-toggler {
        order: 1;
        z-index: 5;
        border: none;
    }

    .navbar-brand {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        z-index: 2;
    }

    .navbar.opti-navbar .site-lang {
        position: absolute;
        right: 0.5rem;
        top: 50%;
        transform: translateY(-50%);
        display: block !important;
        z-index: 4;
        margin-top: 0.1rem;
    }

    .navbar.opti-navbar .site-lang a {
        font-size: var(--font-size-nav-site-lang);
        color: white;
        background: transparent;
        font-weight: 600;
        text-decoration: none;
    }

    /*Hamburger menu icon and its animation*/
    .navbar-toggler span {
        display: block;
        width: 30px;
        height: 2px;
        margin: 6px auto;
        background-color: white;
        /* or any color that contrasts your navbar */
    }

    /* rotate first span */
    .navbar-toggler[aria-expanded="true"] span:first-of-type {
        transform: rotate(45deg) translate(6px, 6px);
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    /* second span disappears */
    .navbar-toggler[aria-expanded="true"] span:nth-of-type(2) {
        opacity: 0;
        transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    /* rotate third */
    .navbar-toggler[aria-expanded="true"] span:last-of-type {
        transform: rotate(-45deg) translate(5px, -5px);
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .navbar-toggler span {
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .navbar-toggler[aria-expanded="false"] span {
        transform: none;
        opacity: 1;
    }

    .nav-accordion-btn {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        background: hsl(195, 100%, 95%);
        ;
        border: none;
        font-size: 1rem;
        font-weight: 600;
        padding: 0.75em 1.5em;
        color: hsl(195, 100%, 30%);
        cursor: pointer;
        transition: background 0.2s, color 0.2s;
        border-bottom: 1px solid hsl(195, 100%, 80%);
    }

    .nav-accordion-btn:focus,
    .nav-accordion-btn:hover {
        background: hsl(195, 100%, 85%);
        color: hsl(195, 100%, 20%);
        outline: none;
    }

    .nav-accordion-icon {
        display: inline-block;
        width: 1.2rem;
        height: 1.2rem;
        margin-left: 0.5rem;
        transition: transform 0.3s;
        position: relative;
    }

    .not-accordable {
        background: hsl(195, 100%, 95%);
        ;
        border: none;
        font-size: 1rem;
        font-weight: 600;
        padding: 0.75rem 1.5rem !important;
        color: hsl(195, 100%, 30%);
        border-bottom: 1px solid hsl(195, 100%, 80%) !important;
    }

    .not-accordable:focus,
    .not-accordable:hover {
        background: hsl(195, 100%, 85%) !important;
        color: hsl(195, 100%, 20%) !important;
        outline: none;
    }


    .nav-accordion-icon::before {
        content: '';
        display: block;
        width: 0.7em;
        height: 0.7em;
        border-right: 2px solid hsl(195, 100%, 30%);
        border-bottom: 2px solid hsl(195, 100%, 30%);
        transform: rotate(45deg);
        margin: auto;
        margin-top: 0.2em;
    }

    .nav-accordion-btn[aria-expanded="true"] .nav-accordion-icon {
        transform: rotate(180deg);
    }
    .nav-accordion-content[hidden] {
        display: none;
    }
}