@media(min-width:761px){
  .mainnav{
    position:relative;
    z-index:300;
    overflow:visible;
  }

  .mainnav .mobile-drawer>ul>li,
  .mainnav .sub-menu li{
    position:relative;
  }

  .mainnav .sub-menu{
    position:absolute;
    z-index:310;
    top:calc(100% - 2px);
    left:0;
    width:max-content;
    min-width:230px;
    max-width:310px;
    height:auto;
    display:flex;
    padding:10px;
    flex-direction:column;
    align-items:stretch;
    gap:3px;
    border:1px solid #dbe7de;
    border-radius:13px;
    background:#fff;
    color:#153722;
    box-shadow:0 18px 42px rgba(2,53,27,.2);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(10px);
    transition:opacity .2s ease,transform .2s ease,visibility .2s;
  }

  .mainnav .mobile-drawer>ul>li:nth-last-child(-n+3)>.sub-menu{
    right:0;
    left:auto;
  }

  .mainnav .sub-menu .sub-menu{
    top:-10px;
    left:calc(100% + 8px);
  }

  .mainnav .sub-menu li{
    width:100%;
    height:auto;
    display:block;
  }

  .mainnav .sub-menu a{
    width:100%;
    min-height:42px;
    padding:10px 13px;
    border-radius:8px;
    color:#17442a;
    font-size:12px;
    font-weight:650;
    line-height:1.35;
    white-space:normal;
  }

  .mainnav .sub-menu a:hover,
  .mainnav .sub-menu a:focus-visible{
    background:#edf7ef;
    color:#08713d;
  }

  .mainnav li.menu-item-has-children:hover>.sub-menu,
  .mainnav li.menu-item-has-children:focus-within>.sub-menu,
  .mainnav li.menu-item-has-children.is-submenu-open>.sub-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }

  .mainnav .submenu-toggle{display:none}
}

@media(max-width:760px){
  .mainnav .mobile-drawer li.menu-item-has-children{
    display:grid;
    grid-template-columns:minmax(0,1fr) 42px;
    align-items:start;
  }

  .mainnav .mobile-drawer li.menu-item-has-children>a:after{display:none}

  .mainnav .submenu-toggle{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    align-self:center;
    margin:4px 2px;
    padding:0;
    border:0;
    border-radius:9px;
    background:#edf6ef;
    color:#075b31;
    cursor:pointer;
  }

  .mainnav .submenu-toggle svg{
    width:18px;
    height:18px;
    transition:transform .25s ease;
  }

  .mainnav .mobile-drawer li.is-submenu-open>.submenu-toggle svg{transform:rotate(180deg)}

  .mainnav .mobile-drawer li>.sub-menu{
    grid-column:1/-1;
    width:100%;
    max-height:0;
    display:flex!important;
    padding:0 0 0 13px!important;
    gap:2px!important;
    border-left:2px solid #d6eadb;
    opacity:0;
    visibility:hidden;
    overflow:hidden!important;
    transition:max-height .32s ease,opacity .2s ease,visibility .2s;
  }

  .mainnav .mobile-drawer li.is-submenu-open>.sub-menu{
    max-height:700px;
    padding-top:4px!important;
    padding-bottom:8px!important;
    opacity:1;
    visibility:visible;
  }

  .mainnav .mobile-drawer .sub-menu a{
    min-height:40px!important;
    padding:9px 12px!important;
    color:#31523d;
    font-size:12px;
    font-weight:600;
  }
}
