@media screen and (max-width: 1199px) {
    .side-menu {
        --inner-padding: 50px;
        --large-width: 380px;
        --small-width: 250px;
    }
}

@media screen and (max-width: 1023px) {
    .side-menu {
        --inner-padding: 20px;
        --large-width: 250px;
        --small-width: 250px;
    }
}

@media screen and (max-width: 767px) {
    .side-menu {
        --inner-padding: 40px;
        --large-width: 100vw;
        --small-width: 100vw;
        overflow-y: auto;
    }

    .side-menu .side-menu-main .side-menu-menu1 ul.menu ul.submenu,
    .side-menu .side-menu-main .side-menu-menu1 ul.menu ul.submenu ul.submenu {
        position: static;
        padding: 0;
        opacity: 1;
        visibility: visible;
        height: auto;
    }

    .side-menu .side-menu-menu1 li.menu-item-has-children > a {
        display: flex;
    }

    .side-menu .side-menu-menu1 li.menu-item-has-children > a > span {
        flex: 0 1 calc(100% - 60px);
    }
    
    .side-menu .side-menu-menu1 li.menu-item-has-children > a + .open-submenu {
        display: block;
        flex: 0 1 60px;
    }

    .side-menu .side-menu-main .side-menu-menu1 ul.menu li {
        position: relative;
    }

    .side-menu .side-menu-main .side-menu-menu1 ul.menu li a > span {
        font-size: 14px;
        line-height: 18px;
        padding: 20px 0;
    }
    
    .side-menu .side-menu-main .side-menu-menu1 ul.menu li.menu-item-has-children > a > span {
        padding-right: 60px;
    }

    .side-menu .side-menu-main .side-menu-menu1 ul.menu li .open-submenu {
        position: absolute;
        top: 0;
        right: var(--inner-padding);
        width: 60px;
        height: 60px;
        background: url(../images/icons/arrow-down.svg) no-repeat;
        border: none;
        background-size: 30px;
        background-position: center center;
    }

    .side-menu .side-menu-main .side-menu-menu1 ul.menu li .open-submenu:has(+ ul.submenu.open) {
        rotate: 180deg;
    }

    .side-menu .side-menu-main .side-menu-menu1 ul.menu ul.submenu {
        overflow: hidden;
        max-height: 0;
        transition: none;
    }

    .side-menu .side-menu-main .side-menu-menu1 ul.menu ul.submenu.open {
        max-height: 100%;
    }
}