

.nav_panel_padding {
    max-height: calc(100vh - 8rem);
    min-height: 60vh;
    overflow-y: auto;
    padding: 4rem 0;
}

#main-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#main-nav ul a {
    color: rgb(var(--default-text));
    display: block;
    font-family: 'Manrope', sans-serif;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.8rem;
    padding: 1rem 2rem;
    text-decoration: none;
    transition: all .3s ease 0s;
}

#main-nav > ul > li {
    border-bottom: solid 1px #d9d9d9;
}

#main-nav ul a:focus,
#main-nav ul a:hover,
#main-nav ul a:focus-within {
    background-color: rgb(var(--default-text));
    color: #fff;
}

#main-nav .last {
    margin-bottom: 40px;
}

#main-nav button {
    cursor: pointer;
}

.level1_link_with_toggle {
    align-items: center;
    justify-content: space-between;
}

.level1_link_with_toggle span:first-child {
    display: block;
    width: 100%;
}

.subnav_toggle svg {
    height: 29px;
    transform: rotate(-90deg);
    transition: all .3s ease 0s;
    width: 29px;
}

#main-nav .menu_subnav,
ul.level2 {
    background-color: #252525;
    display: none;
    height: 100%;
    left: -100%;
    max-height: 100vh !important;
    overflow: auto;
    position: absolute;
    top: 0;
    transition: all .3s ease 0s;
    width: 100%;
    z-index: -10;
}

#main-nav .menu_subnav.active,
ul.level2.active {
    display: block;
    transform: translateX(100%);
    z-index: 999;
}

#main-nav .menu_subnav a {
    color: #fff;
    font-family: 'Manrope',sans-serif;
    font-size: 1.25rem;
    letter-spacing: 0;
    line-height: 1.8rem;
    padding-left: 3rem;
}

#main-nav .menu_subnav > ul > li.level1 > span {
    border-bottom: solid thin rgba(255,255,255,0.3);
}

.subnav_toggle {
    padding: 1rem 2rem;
    transition: all .3s ease 0s;
}

.subnav_toggle:focus,
.subnav_toggle:focus-within,
.subnav_toggle:hover {
    background-color: rgb(var(--default-text));
    color: #fff;
}

.subnav_toggle:focus svg,
.subnav_toggle:focus-within svg,
.subnav_toggle:hover svg {
    fill: #fff;
}

.close_subnav,
.close_lvl2_subnav {
    border: 2px solid transparent;
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    padding: 30px;
    text-align: left;
    text-decoration: underline;
    text-transform: uppercase;
    text-underline-offset: 5px;
    transition: all .3s ease 0s;
    width: 100%;
}

.close_subnav:hover,
.close_lvl2_subnav:hover {
    background-color: rgb(var(--default-text));
}


.close_subnav:focus,
.close_subnav:focus-within,
.close_subnav:focus-visible,
.close_lvl2_subnav:focus,
.close_lvl2_subnav:focus-within,
.close_lvl2_subnav:focus-visible {
    background-color: rgb(var(--default-text));
    border: 2px solid #fff;
}

.subnav_link_container {
    align-items: center;
    display: flex;
}

#main-nav .menu_subnav li.level2 a {
    align-items: center;
    color: #fff;
    display: flex;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.333333333333333rem;
    font-weight: 400;
}

.subnav_arrow {
    align-items: center;
    display: flex;
    margin-right: 1rem;
}

.subnav_arrow svg {
    height: 24px;
    width: auto;
}

.subnav_arrow svg,
.subnav_arrow svg * {
    fill: #fff !important;
}

#main-nav .menu_subnav .level3 a {
    padding-left: 5.5rem;
}

.level1 > span {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.level1 > span > a {
    width: 100%;
}

.lvl2_subnav_toggle {
    padding: 1rem 2rem;
}

.lvl2_subnav_toggle:focus,
.lvl2_subnav_toggle:focus-within,
.lvl2_subnav_toggle:hover {
    background-color: rgb(var(--default-text));
}

.lvl2_subnav_toggle svg {
    height: 29px;
    transform: rotate(-90deg);
    transition: all .3s ease 0s;
    width: 29px;
}

.lvl2_subnav_toggle svg,
.lvl2_subnav_toggle svg * {
    fill: #fff !important;
}

@media all and (max-width: 680px) {
	#nav_panel .nav_panel_toggle {
        margin: 0 0 0 auto;
        position: relative;
        right: 0;
        top: 0;
        transform: none;
    }

	.nav_panel_padding {
        max-height: calc(100vh - 4rem - 110px);
        min-height: 60vh;
        padding: 10px 0 0;
    }
} 