/* SUBMENU ON PAGE */
#submenu { position: sticky; top: 200px; padding: 20px 30px; width: 320px; border-radius: 10px; box-sizing: border-box; background-color: #e9f4d4; }

#submenu > ul { font-size: 18px; line-height: 1; }
#submenu > ul > li { }
#submenu > ul > li:not(:first-of-type) { border-top: 1px solid rgb(57 79 18 / 10%); }
#submenu > ul > li:last-of-type { margin-bottom: 0; }
#submenu > ul > li > a { display: block; padding: 12px 0; color: #333; }
#submenu > ul > li > a:hover { color: var(--green); text-decoration: none; }
#submenu > ul > li.active > a { color: var(--green); opacity: 1; }
#submenu > ul > li.parent > a { padding-bottom: 20px; font-size: 24px; color: var(--main); font-weight: 600; }
#submenu > ul > li.parent > a:hover { color: var(--green); }
#submenu > ul > li.parent.active > a { color: var(--green); opacity: 1; }
#submenu > ul > li > a.master { font-weight: 400; }

#submenu-trigger { display: none; }

#submenu > ul > li ul { display: none; margin: 0 0 15px 25px; font-size: 17px; }
#submenu > ul > li.active ul { display: block; }
#submenu > ul > li ul li { position: relative; }
#submenu > ul > li ul li:before { position: absolute; top: -50%; left: -20px; width: 10px; height: 100%; content: ""; border-left: 1px solid rgb(57 79 18 / 15%); border-bottom: 1px solid rgb(57 79 18 / 15%); }
#submenu > ul > li ul li:first-of-type:before { top: 0; height: 50%; }
#submenu > ul > li ul li:last-of-type:before { border-bottom-left-radius: 10px; }
#submenu > ul > li ul li a { display: block; padding: 8px 0; color: var(--main); }
#submenu > ul > li ul li a:hover { color: var(--green); }
#submenu > ul > li ul li.subactive a { color: var(--green); }

@media screen and (max-width: 1100px) {

    /* SUBMENU ON PAGE */
    #submenu {
        width: 100%; max-width: 100%; min-width: 100%; 
        margin:  0;
        position: relative; top: auto; /* remove sticky */
        padding: 15px 0;
        margin-bottom: 10px;
        border-radius: 8px;
    }
    #submenu #submenu-trigger {
        display: block;
        position: relative;
        width: 100%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        padding-left: 20px;
        padding-right: 40px;
        color: #444;
        font-weight: 500;
        box-sizing: border-box;
    }
    #submenu #submenu-trigger.active {
        /* markup */
    }
    #submenu #submenu-trigger img {
        width: 14px;
        height: 14px;
        fill: var(--main);
        position: absolute;
        right: 20px;
        top: 50%;
        margin-top: -7px;
        opacity: 0.8;
        transition: transform 300ms;
    }
    #submenu #submenu-trigger.active img {
        transform: rotate(-180deg);
    }
    #submenu ul {
        flex-direction: column;
        display: none;
        margin-top: 15px;
        padding: 20px;
        padding-top: 15px;
        padding-bottom: 0;
        font-size: 16px;
        border-top: 1px solid rgba(0,0,0,0.1);
    }
    #submenu ul.active {
        display: block;
    }
    #submenu > ul > li.parent > a {
        padding: 10px 0;
        padding-bottom: 15px;
        font-size: 18px;
    }

}
