/****************************
 * Mobile Menu
****************************/
/* Mobile Menu */
html:not(.menu-open) .site-nav--mobile__container {transform:translateX(-105%);}
html:not(.menu-open) .site-nav--mobile {visibility:hidden; opacity:0;}

.site-nav--mobile {position:fixed; top:0; left:0; width:100%; height:100%; transition:var(--vii-transition);}
.site-nav--mobile__container {
    position:absolute; z-index:20; top:0; bottom:0; left:0;
    overflow-y:auto; width:100%;
    max-width:400px; padding-top:calc(var(--vii-header-height) + var(--vii-gap-container));
    transition:var(--vii-transition); background:var(--vii-color-primary);
    box-shadow:0 0 5px 0 rgba(0, 0, 0, .2);
}
.site-nav--mobile__inner {height:100%;}
.site-nav--mobile__inner:before {content:"";}
.site-nav--mobile__close {
    font-size:0; position:absolute; z-index:15; top:0;
    left:0; width:100%; height:100%; background:rgba(0, 0, 0, .3); backdrop-filter:blur(4px);
}

/* Mobile Menu > Sections */
.site-nav--mobile__section {padding:0 var(--vii-gap-container) var(--vii-gap-container);}

/* Accordion Button */
.mobile-menu ul.menu > li[class*="-has-child"] > a {margin-left:.5em;}
.open-sub-menu {background:none; padding:5px; font-size:12px; margin-left:5px;}
.open-sub-menu.active {transform:rotate(180deg);}
.open-sub-menu.active, .open-sub-menu:hover {color:var(--vii-color-dark-black);}

/* Common Menu */
.mobile-menu ul > li:not(:last-child) {margin-bottom:20px;}
.mobile-menu ul {list-style:none; margin:0;}
.mobile-menu ul > li {padding:0; display:flex; flex-wrap:wrap; justify-content:center; position:relative;}
.mobile-menu ul > li > a {
    position:relative; display:block;
    padding:5px 0; text-decoration:none; text-align:center;
}

.mobile-menu ul > li > a:hover, .mobile-menu ul > li > a:focus {color:var(--vii-color-dark-black); text-decoration:underline;}

/* Common Sub Menu */
.mobile-menu ul.sub-menu {width:100%;}
.mobile-menu ul.sub-menu > li:first-child {padding-top:10px;}
.mobile-menu ul.sub-menu > li > a {font-size:var(--vii-size-18);}


/* Menu level 1 */
.mobile-menu ul.menu > li > a {font-size:var(--vii-size-20);}


/****************************
 * Mobile Menu Responsive
****************************/
@media only screen and (max-width:1180px) {
    html.menu-open {overflow:hidden; height:100%;}
    .site-nav--mobile.hidden {display:block;}

    .site-nav-col.left, .site-nav-col.right {width:auto;}
}

@media only screen and (max-width:480px) {
    .site-nav--mobile__container {max-width:unset;}

    .cta-button a {max-width:120px; line-height:1.1; padding-top:4px; padding-bottom:3px;}
}