.js-mobilenav-active html,
.js-mobilenav-active body {
    overflow: hidden;
}
.mobilenav-block {
	display: none;
    position: fixed;
	z-index: 9;
	top: 0;
    bottom: 75px;
	width: 100vw;
	height: calc(100% - 68px);
	min-height: calc(100% - 68px);
	background-color: #fff;
	background-color: var(--white);
}
.mobilenav-header {
    position: sticky;
    top: 0;
    z-index: 1;
    background-color: #fff;
    background-color: var(--white);
}
.mobilenav-block.shadow-top::before,
.mobilenav-block.shadow-bottom::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 40px;
    pointer-events: none;
}
.mobilenav-block.shadow-top::before {
	top: 157px;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.1+100 */
    background: -moz-linear-gradient(top, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(0,0,0,0.1) 0%,rgba(0,0,0,0) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.mobilenav-block.shadow-bottom::after {
    bottom: 0;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.1+100 */
    background: -moz-linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(bottom, rgba(0,0,0,0.1) 0%,rgba(0,0,0,0) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to top, rgba(0,0,0,0.1) 0%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.mobilenav__btn-row {
    display: flex;
    justify-content: space-between;
    padding: 0.9em 5% 0.6em;
}
.mobilenav__btn-row--rootlevel {
    justify-content: flex-end;
}
.mobilenav__btn-row > * {
    font-size: 1.2rem;
    font-weight: bold;
}
.mobilenav__btn-row .govis-menu-node-item > a,
.mobilenav__btn-row > button {
	display: inline-flex;
    align-items: center;
    margin: 0;
    border: 0;
    padding: 0.1em 0;
    color: #a8a8b3;
    fill: #a8a8b3;
    cursor: pointer;
    background-color: transparent;
    border-radius: 5em;
}
.mobilenav__btn-row a {
    padding: 0;
    font-size: 1.2rem;
    text-align: left;
}
.mobilenav__btn-row a:hover,
.mobilenav__btn-row a:focus {
	color: #cc0000;
    color: var(--red);
    fill: #cc0000;
    fill: var(--red);
}
.mobilenav__btn-row button {
    padding: 0.75em 1em;
    margin-right: -1em;
    transition: background-color 0.2s;
}
.mobilenav__btn-row button:hover,
.mobilenav__btn-row button:focus {
	background-color: #F2F2F2;
    background-color: var(--light-grey);
}
.mobilenav__btn-row .icon {
    transition: transform 0.2s;
}
.mobilenav__btn-row a:hover .icon,
.mobilenav__btn-row a:focus .icon {
    transform: translateX(-0.25em);
}
.mobilenav__btn-row button .icon,
.mobilenav__btn-row a .icon {
    width: 1.666666666666667em;
    height: 1.666666666666667em;
}
.mobilenav__btn-row a .icon--back {
    margin: 0 0.75em 0 -0.5em;
}
.mobilenav__btn-row button .icon--close {
    margin: -1px -0.3em 0 0.75em ;
}

.mobilenav-box {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.mobilenav-scroller {
    flex: 1 1 auto;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
.mobilenav-current-pagetitle {
	display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0;
    padding: 1em 5% 1.15em;
    font-size: 2.4rem;
    text-align: left;
    color: #000;
    color: var(--black);
    background-color: #fff;
	background-color: var(--white);
    border-top: 1px solid #f2f2f2;
    border-top: 1px solid var(--light-grey);
    border-bottom: 1px solid #f2f2f2;
    border-bottom: 1px solid var(--light-grey);
}
.mobilenav-current-pagetitle > span {
    flex: 1 1 auto;
    margin-right: 0.75em;
}
.mobilenav-current-pagelink:link {
    font-size: 1.2rem;
    white-space: nowrap;
    padding: 1em 1.5em;
}

.govis-menu-node-item {
	position: relative;
    margin: 0;
    font-size: 1.5rem;
    font-weight: bold;
}

.govis-menu-node-item.title,
.govis-menu-node-item > a {
	position: relative;
	width: 100%;
    position: relative;
    margin: 0;
    padding: 1.1em 5% 0.9em;
    list-style-type: none;
    text-decoration: none;
}
.govis-menu-node-item.folder > a {
	padding-right: 25%;
}
.govis-menu-node-item-entry > a:hover,
.govis-menu-node-item-entry > a:focus {
	color: #cc0000;
	color: var(--red);
    text-decoration: underline;
    background-color: #F2F2F2;
    background-color: var(--light-grey);
}
.govis-menu-node-item > ul {
	position: relative;
	z-index: 1;
}

.govis-menu-node a[aria-current="page"] {
	color: #fff;
	color: var(--white);
	background-color: #cc0000;
	background-color: var(--red);
}

.title .govis-menu-node-controller {
    left: 0;
    top: 0;
    right: inherit;
}

.govis-menu-node a {
    display: block;
}

.mobilenav-box .level-nav {
    margin: 0;
}

.mobilenav-box .levelup span {
    float: left;
    position: static;
    right: inherit;
}

.govis-menu-node-item.folder > a {
	padding-right: 25%;
}
.govis-menu-node-item > ul {
	position: relative;
	z-index: 1;
}

/* =expander
=============================================== */
.no-js .govis-menu-node-controller {
	display: none;
}
.govis-menu-node-controller {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	position: absolute;
    top: 0;
	right: 0;
    display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
    width: 15%;
    height: 100%;
    border: 0;
    padding: 0.75em 1em; /* korrespondiert mit dem Nav-Eintrage */
    font-size: 1.6rem;
    text-align: center;
    background-color: transparent;
    border-radius: 0;
}
.level-1 .govis-menu-node-controller {}
.level-2 .govis-menu-node-controller {}
.level-3 .govis-menu-node-controller {}

.govis-menu-node-controller .icon {
	height: 1.333333333333333em;
	width: 1.333333333333333em;
	color: #cc0000;
	color: var(--red);
	transform: rotate(0deg);
	-webkit-transition: transform .2s ease;
	transition: transform .2s ease;
}
.govis-menu-node-controller.expanded .icon {
	transform: rotate(90deg);
}
.govis-menu-node-controller.loading .icon {
	-webkit-animation: fa-spin 1s infinite steps(8);
	animation: fa-spin 1s infinite steps(8);
}

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}