.nmw-menu-toggle{
    cursor:pointer;
    display:flex;
}

.nmw-mobile-menu * {
    /*border: 1px solid;*/
}

.nmw-mobile-menu{
    display: flex;
    flex-direction: column;
    position:fixed;
    top:0;
    right:0;
    left:auto;
    width:60%;
    padding:10px;
    max-width: 300px;
    min-width: 220px;
    height:100dvh;
    background:rgba(255,255,255,.8);
    backdrop-filter:blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.5);
    transform:translateX(100%);
    transition:.25s ease;
    z-index:99999;
    overflow-y:auto;
    border-radius: 18px 0 0 18px;
}

.nmw-mobile-menu.active{
    transform:translateX(0);
}

.nmw-menu-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.5);
    opacity:0;
    visibility:hidden;
    transition:.3s;
    z-index:99998;
}

.nmw-menu-overlay.active{
    opacity:1;
    visibility:visible;
}

.nmw-menu-header{
    display:flex;
    align-items:start;
    justify-content:space-between;
    padding-bottom: 10px;
}

.nmw-menu-logo img{
    width:60px;
    height:60px;
    object-fit:contain;
}

.nmw-menu-close{
    width: 35px;
    height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 1px 1px 3px rgba(0,0,0,.15);
    background: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    color: rgba(0, 0, 0, 0.8);
    margin-top: 5px;
}

.nmw-menu-close:hover {
    transform: scale(1.03);
    box-shadow: 1px 1px 10px rgba(0,0,0,.15);
    transition-duration: 0.2s
}

.nmw-menu-list{
    list-style:none;
    margin:20px 0 0;
    padding:0;
}

.nmw-menu-list li{
    margin: 5px 22px;
}

.nmw-menu-list a{
    display:flex;
    width: 100%;
    align-items:start;
    justify-content:space-between;
    font-size:16px;
    font-weight:600;
    color:#111;
    padding:2px 4px;
    box-sizing:border-box;
    border-radius:10px;
    transition:
            background .2s,
            transform .15s,
            padding-left .2s;
}

.nmw-menu-list a:hover,
.nmw-menu-list a:active{
    background:rgba(255,255,255,.45);
    transform:translateY(-2px);
}

.sub-menu {
    display:flex;
    flex-direction: column;
    justify-content:start;
    align-items:start;
    list-style: none;
    max-height:0;
    overflow:hidden;
    opacity:0;
    transition:
            max-height .35s ease,
            opacity .25s ease;
}

.sub-menu a{
    font-size:14px;
    font-weight:400;
    color:#555;
}

.sub-menu li{
    margin: 0;
}

.menu-item-has-children.active>.sub-menu{
    max-height:500px;
    opacity:1;
}

.menu-item-has-children>a::after{
    content:"expand_more";
    font-family:"Material Symbols Outlined";
    font-size:22px;
    transition:.25s;
}

.menu-item-has-children.active>a::after{
    transform:rotate(180deg);
}

.nmw-menu-cta {
    flex:1;
}

.nmw-menu-button {
    display:block;
    padding:10px;
    margin: 0 20px;
    margin-top: 35px;
    background:#E3000F;
    color:white;
    text-align:center;
    text-transform: uppercase;
    border-radius:7px;
}

.nmw-menu-button:hover, .nmw-menu-button:active {
    background: #007757;
    color:white;
}

.nmw-menu-social {
    display:flex;
    flex-direction: row;
    justify-content:space-between;
    gap:22px;
    margin:25px 5px 0;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.nmw-menu-social a{
    width: 35px;
    height: 35px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:50%;
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 1px 1px 3px rgba(0,0,0,.15);
    background: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    color: rgba(0, 0, 0, 0.8);
    transition:.2s;
    font-size: 21px;
}

.nmw-menu-social a:hover{
    transform:scale(1.05);
}