/*
@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(100%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideOutLeft {
    from {
        opacity: 1;
        transform: translateX(0);
    }
    to {
        opacity: 0;
        transform: translateX(-100%);
    }
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-100%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideOutRight {
    from {
        opacity: 1;
        transform: translateX(0);
    }
    to {
        opacity: 0;
        transform: translateX(100%);
    }
}

.mobile-nav-level {
    display: none;
    list-style: none;
    margin: 0;
    padding: 0;
    animation-duration: 0.4s;
    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.mobile-nav-level.active {
    display: block;
}

.mobile-nav-level.active.slide-in-right {
    animation: slideInRight 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.mobile-nav-level.slide-out-left {
    animation: slideOutLeft 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.mobile-nav-level.active.slide-in-left {
    animation: slideInLeft 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.mobile-nav-level.slide-out-right {
    animation: slideOutRight 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.mobile-nav-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    border-bottom: 1px solid #e5e7eb;
    background: white;
    margin: 0;
    list-style: none;
}

.mobile-nav-header.hidden {
    display: none;
}

.mobile-nav-title {
    font-weight: bold;
    font-size: 1.125rem;
    margin: 0;
}

.mobile-nav-back-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    font-weight: bold;
    color: #111827;
}

.mobile-nav-item {
    border-bottom: 1px solid #e5e7eb;
    display: block;
    margin: 0;
    width: 100%;
}

.mobile-nav-link {
    padding: 1rem;
    color: #111827;
    font-weight: bold;
    background: none;
    border: none;
    width: 100%;
    cursor: pointer;
    text-align: left;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mobile-nav-link:hover {
    background-color: #f9fafb;
}

.mobile-nav-arrow {
    width: 5px;
    height: 5px;
    border-right: 2px solid #9ca3af;
    border-top: 2px solid #9ca3af;
    transform: rotate(45deg);
    margin-left: 0.5rem;
}

.hidden {
    display: none !important;
}
*/


@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(100%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideOutLeft {
    from {
        opacity: 1;
        transform: translateX(0);
    }
    to {
        opacity: 0;
        transform: translateX(-100%);
    }
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-100%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideOutRight {
    from {
        opacity: 1;
        transform: translateX(0);
    }
    to {
        opacity: 0;
        transform: translateX(100%);
    }
}

.mobile-nav-level {
    display: none;
    list-style: none;
    margin: 0;
    padding: 0;
    animation-duration: 0.4s;
    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.mobile-nav-level.active {
    display: block;
}

.mobile-nav-level.active.slide-in-right {
    animation: slideInRight 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.mobile-nav-level.slide-out-left {
    animation: slideOutLeft 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.mobile-nav-level.active.slide-in-left {
    animation: slideInLeft 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.mobile-nav-level.slide-out-right {
    animation: slideOutRight 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.mobile-nav-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    border-bottom: 1px solid #e5e7eb;
    background: white;
    margin: 0;
    list-style: none;
}

.mobile-nav-header.hidden {
    display: none;
}

.mobile-nav-title {
    font-weight: bold;
    font-size: 1.125rem;
    margin: 0;
}

.mobile-nav-back-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    font-weight: bold;
    color: #111827;
}

.mobile-nav-item {
    border-bottom: 1px solid #e5e7eb;
    display: block;
    margin: 0;
    width: 100%;
}

.mobile-nav-link {
    padding: 1rem;
    color: #111827;
    font-weight: bold;
    background: none;
    border: none;
    width: 100%;
    cursor: pointer;
    text-align: left;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mobile-nav-link:hover {
    background-color: #f9fafb;
}

.mobile-nav-arrow {
    width: 5px;
    height: 5px;
    border-right: 2px solid #9ca3af;
    border-top: 2px solid #9ca3af;
    transform: rotate(45deg);
    margin-left: 0.5rem;
}

.hidden {
    display: none !important;
}

@media (max-width: 767.98px) {
    #mobileNav {
        /*max-height: 80vh;*/
        max-height: 58vh;
        overflow: scroll;
    }
}
