/* ---------------- */
/* Mega Mobile Menu */
/* ---------------- */
:root {
    --mega-menu-primary: #8BC440;
}
body.mega-menu-is-active #page-wrapper {
    position:relative;
}
body #page-wrapper:before {
    position:absolute;
    content:"";
    top:0px;
    left:0px;
    display:block;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0);
    z-index:2000;
    pointer-events:none;
    transition: background-color 1s ease;
}
body.mega-menu-is-active #page-wrapper:before {
    position:absolute;
    content:"";
    top:0px;
    left:0px;
    display:block;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.8);
    z-index:2000;
    transition: background-color .5s ease;
}
#mega_mobile_menu {
    position:fixed;
    right:0px;
    top:0px;
    width:100%;
    max-width:400px;
    z-index:99999;
    background:#ffffff;
    box-shadow: -20px 20px 20px rgba(0,0,0,.2);
    display:none;
    height:100vh;
    max-height:100vh;
    overflow-y:auto;
}
@-webkit-keyframes slide-in-blurred-right {
    0% {
        -webkit-transform: translateX(1000px) scaleX(2.5) scaleY(1);
        transform: translateX(1000px) scaleX(2.5) scaleY(1);
        -webkit-transform-origin: 0% 50%;
        transform-origin: 0% 50%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateX(0) scaleY(1) scaleX(1);
        transform: translateX(0) scaleY(1) scaleX(1);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes slide-in-blurred-right {
    0% {
        transform: translateX(1000px) scaleX(2.5) scaleY(1);
        transform-origin: 0% 50%;
        filter: blur(40px);
        opacity: 0;
    }
    100% {
        transform: translateX(0) scaleY(1) scaleX(1);
        transform-origin: 50% 50%;
        filter: blur(0);
        opacity: 1;
    }
}

@-webkit-keyframes slide-out-blurred-right {
    0% {
        -webkit-transform: translateX(0) scaleX(1);
        transform: translateX(0) scaleX(1);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
    100% {
        -webkit-transform: translateX(1000px) scaleX(2);
        transform: translateX(1000px) scaleX(2);
        -webkit-transform-origin: 0% 50%;
        transform-origin: 0% 50%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }
}

@keyframes slide-out-blurred-right {
    0% {
        transform: translateX(0) scaleX(1);
        transform-origin: 50% 50%;
        filter: blur(0);
        opacity: 1;
    }
    100% {
        transform: translateX(1000px) scaleX(2);
        transform-origin: 0% 50%;
        filter: blur(40px);
        opacity: 0;
    }
}

#mega_mobile_menu_subwrap {
    padding:0px 20px 0px 20px;
}
#mega_mobile_menu .mega-mobile-menu-header {
    padding:20px;
    background:var(--mega-menu-primary);
}
#mega_mobile_menu .mega-mobile-menu-header span {
    color:#ffffff;
    font-size:18px;
    font-weight:bold;
    letter-spacing:0.5px;
}
#mega_mobile_menu .mega-mobile-menu-header button {
    outline:none;
    box-shadow:none;
    background:#ffffff;
    color:var(--mega-menu-primary)!important;
    border:1px solid var(--mega-menu-primary);
    border-radius:4px;
    letter-spacing:0.5px;
    font-size:14px;
    line-height:40px;
    height:40px;
    padding: 0px 8px;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
#mega_mobile_menu .mega-mobile-menu-header button:hover {
    background:var(--mega-menu-primary);
    color:#ffffff!important;
    border:1px solid #ffffff;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
#mega_mobile_menu ul.nav:not(.navbar-nav) > li {
    display:block;
    width:100%;
    background:transparent;
    position:relative;
}
#mega_mobile_menu ul.nav:not(.navbar-nav) > li > a,
#mega_mobile_menu ul > li > a {
    padding:14px 0px!important;
    border-bottom:1px solid rgba(0,0,0,.1);
    background:transparent;
    color:var(--mega-menu-primary)!important;
    font-weight:bold;
    font-size:20px;
}
#mega_mobile_menu ul > li > a:before {
    display:none;
}
#mega_mobile_menu ul > li > a:hover {
    background:rgba(0,0,0,0.03)!important;
    position:relative;
}
#mega_mobile_menu ul > li > a:hover:before {
    position:absolute!important;
    content:""!important;
    display:block!important;
    width:20px!important;
    left:-20px!important;
    top:-1px!important;
    height:61px!important;
    background:rgba(0,0,0,0.03)!important;
    border-bottom:1px solid rgba(0,0,0,.1)!important;
    border-top:1px solid rgba(0,0,0,.1)!important;
    pointer-events:none!important;
}
#mega_mobile_menu ul > li > a:hover:after {
    position:absolute!important;
    content:""!important;
    display:block!important;
    width:20px!important;
    right:-20px!important;
    top:-1px!important;
    height:61px!important;
    background:rgba(0,0,0,0.03)!important;
    border-bottom:1px solid rgba(0,0,0,.1)!important;
    border-top:1px solid rgba(0,0,0,.1)!important;
    pointer-events:none;
}
#mega_mobile_menu ul:not(.navbar-nav) > li > a:before {
    display:none;
}
#mega_mobile_menu ul > li:has(ul) a:after {
    display:none;
}
#mega_mobile_menu ul > li:has(ul) {
    position:relative;
}
#mega_mobile_menu ul > li:has(ul) .expand-ul-mega-submenu {
    position:absolute;
    content:"+";
    right:0px;
    top:12px;
    height:34px;
    width:34px;
    border:1px solid rgba(0,0,0,.08)!important;
    color:var(--mega-menu-primary)!important;
    background:rgba(0,0,0,.05);
    display:block;
    font-size:24px;
    font-weight:100;
    cursor:pointer;
    border-radius:4px;
    text-align: center;
    line-height: 34px;
    padding:0px;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
    z-index:10;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
#mega_mobile_menu ul > li:has(ul) .expand-ul-mega-submenu:hover {
    border:1px solid var(--mega-menu-primary)!important;
    color:#ffffff!important;
    background:var(--mega-menu-primary);
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
#mega_mobile_menu ul > li:has(ul) > ul,
#mega_mobile_menu ul > li > ul.menu {
    display:none;
    border:none!important;
    background:transparent!important;
    padding:0px!important;
}
#mega_mobile_menu ul > li:has(ul) ul li,
#mega_mobile_menu ul > li:has(ul) ul li a,
#mega_mobile_menu ul:not(.navbar-nav) > li ul li,
#mega_mobile_menu ul:not(.navbar-nav) > li ul li a {
    background:transparent!important;
    padding:0px!important;
    display:block!important;
}
#mega_mobile_menu ul > li:has(ul) ul li a,
#mega_mobile_menu ul:not(.navbar-nav) > li ul li a {
    text-indent:10px!important;
    padding:15px 0px 16px 0px!important;
    color:#777777!important;
    font-weight:normal!important;
    font-size:18px!important;
    text-decoration:none!important;
}
#mega_mobile_menu ul > li:has(ul) ul li a:hover {
    background:rgba(0,0,0,0.03)!important;
}
#mega_mobile_menu .mega-toggle-minus,
#mega_mobile_menu .toggle-is-active .mega-toggle-plus {
    display:none;
}
#mega_mobile_menu .toggle-is-active .mega-toggle-minus {
    display:block;
    line-height:30px;
}
/* ---------------------- */
/* END - Mega Mobile Menu */
/* ---------------------- */