@media (max-width: 1100px) {
    #a_menu_mobile,
    #close_button
    {
        display: block;
        position: absolute;
        top: 18px;
        right: 18px;
        z-index: 4000;
    }

    #menu_shadow
    {
        transition: background-color .6s;
    }

    #menu_shadow.show
    {
        background-color: rgba(0,0,0,.4);
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 2900;
    }

    #menu_mobile_logo
    {
        width: 100%;
        text-align: center;
        margin-top: 40px;
    }

    #menu_mobile_logo img
    {
        width: 50%;
    }

    #nav
    {
        position: absolute;
        top: 0;
    }

    #nav nav
    {
        display: flex;
        position: fixed;
        flex-direction: column;
        align-items: flex-start;
        box-sizing: border-box;
        padding-top: 50px;
        top: 0;
        bottom: 0;
        margin: 0;
        padding: 40px 0 20px 0;
        z-index: 3000;
        width: 280px;
        transition: left .5s;
        box-sizing: border-box;
        font-size: 16px;
        background: linear-gradient(to right, #5e6985 0%, #626b86 100% );
        height: 100vh;
        overflow-y: scroll;
        scrollbar-width: none;
        box-shadow: 17px 0 42px 17px rgba(0, 0, 0, 0.4);
        left: -335px;
    }

    #nav.show nav
    {
        left: 0;
        height: 100vh;
        box-sizing: border-box;
        overflow-y: scroll;
    }

    #nav nav ul
    {
        flex-wrap: wrap;
    }

    #nav nav ul li
    {
        width: 100%;
        border-top: 1px solid #ffffff1c;
        border-bottom: 1px solid #40404066;
        transition: background-color 0.3s ease-in;
    }

    #nav nav ul li li
    {
        transition: all 0.3s ease-in;
    }

    #nav nav > ul > li:hover,
    #nav nav ul li > ul {
        box-shadow: none;
    }

    #nav nav ul li > ul {
        background: linear-gradient(to right, #525b74, #5d647e);
    }

    #nav nav ul li.toggle
    {
        background-image: url("../images/svg/arrow-down-menu-9cf09a0fe4060107b2865764496241cb.svg");
        background-position: right 20px top 14px;
        background-repeat: no-repeat;
        background-size: 20px;
    }

    #nav nav ul li span.toggle_mobile
    {
        display: block;
        cursor: pointer;
    }

    #nav nav ul li.toggle > a
    {
        display: none;
    }

    #nav nav ul li.toggle:has(>ul.show)
    {
        background-image: url("../images/svg/arrow-up-menu-0c05876e26586e32c7936c19df1d7c58.svg");
        background-color: rgba(111, 121, 145, 0.7);
        border-bottom: none;
    }

    #nav nav ul ul li.toggle
    {
        background-position: right 24px top 13px;
        background-size: 12px;
    }

    #nav nav ul.show
    {
        display: block;
        position: static !important;
    }

    #nav nav ul li:hover > ul:not(.show) {
        display: none;
    }

    #nav nav > ul > li::before {
        width: 0;
    }

    #nav nav ul li li:hover {
        padding-left: 0;
    }

    #nav nav > ul > li:first-child,
    #nav nav > ul > li:first-child:hover
    {
        box-shadow: 0 -1px 0 #40404066;
    }

    #nav nav ul li ul li:has(ul li:hover)
    {
        border-bottom: none;
    }

    #nav nav ul li.toggle ul li.toggle:has(> ul.show)
    {
        background-color: rgb(107, 116, 141);
    }

    #menu_shadow #nav nav ul li > ul li.toggle:hover
    {
        background-color: #588A7F;
        box-shadow: inset -5px 0 25px rgba(64, 64, 64, 0.1);
    }

    #nav nav ul li > ul.show li:first-child {
        border-top: 1px solid #40404066;
    }

    #nav nav > ul > li:last-child,
    #nav nav > ul > li:last-child > ul > li:last-child {
        box-shadow: inset 0 -1px 0 #ffffff1c;
    }

    #nav nav > ul > li > ul.show > li:first-child:hover {
        border-top: 1px solid #ffffff1c;
        box-shadow: 0 -1px 0 #40404066, inset -5px 0 25px rgba(64, 64, 64, 0.1) !important;
    }


    #nav nav ul li > ul ul {
        border-top: none;
    }


    #hamburger
    {
        margin-top: 5px;
        display: block;
        width: 30px;
        height: 30px;
        position: relative;
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        -o-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
        cursor: pointer;
    }

    #hamburger span
    {
        display: block;
        position: absolute;
        height: 4px;
        width: 100%;
        background-color: #fcf9e8;
        border-radius: 2px;
        opacity: 1;
        left: 0;
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transition: .25s ease-in-out;
        -moz-transition: .25s ease-in-out;
        -o-transition: .25s ease-in-out;
        transition: .25s ease-in-out;
    }

    #hamburger span:nth-child(1)
    {
        top: 0px;
    }

    #hamburger span:nth-child(2)
    {
        top: 10px;
    }

    #hamburger span:nth-child(3)
    {
        top: 20px;
    }

    #hamburger.open span:nth-child(1)
    {
        top: 12px;
        -webkit-transform: rotate(135deg);
        -moz-transform: rotate(135deg);
        -o-transform: rotate(135deg);
        transform: rotate(135deg);
    }

    #hamburger.open span:nth-child(2)
    {
        opacity: 0;
        left: -40px;
    }

    #hamburger.open span:nth-child(3)
    {
        top: 12px;
        -webkit-transform: rotate(-135deg);
        -moz-transform: rotate(-135deg);
        -o-transform: rotate(-135deg);
        transform: rotate(-135deg);
    }
}
