@media screen and ( max-width: 720px ) {

    .header {
        padding: 0 30px;
        height: 140px;
    }

    .header__logo {
        height: 70px;
    }

    .header__logo-link {
        border-right: none;
    }

    .header__logo-link h1 {
        font-size: 26px;
        margin-bottom: 3px;
    }

    .header__logo-text {
        font-size: 13px;
    }

    .header-nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 80%;
        height: 100vh;
        overflow-y: auto;
        background-color: #f7f7f7;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        transition: all .3s ease-in;
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
        transform: translateX(-100%);
        z-index: 90;
        padding-top: 50px;
    }

    .nav-open .header-nav {
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
        transform: translateX(0);
    }

    .header-nav__list {
        flex-direction: column;
        align-items: flex-start;
        row-gap: 13px;
        width: 100%;
        padding: 0 45px;
        margin-top: 0;
    }

    .header-nav__link:link,
    .header-nav__link:visited {
        font-size: 15px;
        color: #333333;
        padding: 5px 0;
        width: 100%;
        justify-content: flex-start;
    }

    .header-nav__list li a [name="add-outline"] {
        font-size: 20px;
        margin-left: auto;
    }

    /* Mobile dropdown styling */
    .header-nav__item.dropdown {
        position: static;
        width: 100%;
        text-align: left;
    }

    .dropdown__menu {
        position: static;
        width: 80%;
        max-height: 0;
        overflow: hidden;
        background-color: #f7f7f7;
        box-shadow: none;
        border: none;
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        transition: max-height 0.3s ease-in-out;
        padding-left: 10px;
        border-left: 1px solid #ddd;
    }

    .dropdown__menu li a {
        font-size: 14px;
        padding: 6px 0;
        text-align: left;
        color: #333333;
    }

    /* Active dropdown for mobile - expands the max-height to show content */
    .header-nav__item.dropdown.active > .dropdown__menu {
        max-height: 200px;
        transition: max-height 0.5s ease-in-out;
        border-left: 1px solid #ddd;
    }

    /* Mobile hamburger/close button display */
    .btn-mobile-nav {
        display: block;
        z-index: 9999;
    }

    .btn-mobile-nav:focus,
    .btn-mobile-nav:active,
    .btn-mobile-nav:focus-visible {
        outline: none;
        border: none;
        box-shadow: none;
    }

    .header-nav a:focus,
    .header-nav a:focus-visible,
    .header-nav button:focus,
    .header-nav button:focus-visible {
        outline: none;
        box-shadow: none;
        -webkit-tap-highlight-color: transparent;
    }

    .header-login-link {
        padding: 3px 10px;
        font-size: 15px;
    }

    .nav-open .btn-mobile-nav [name="close-outline"] {
        display: block;
    }

    .nav-open .btn-mobile-nav [name="menu-outline"] {
        display: none;
    }

}