body {
	overflow-x: hidden;
}

.mobile-menu-wrapper {
	border-bottom: 1px solid var(--sand);
	background-color: var(--weiss);
}

.masthead-mobile {
	display: grid;
}

.masthead-mobile {
	margin: auto;
	padding: 1rem;
	max-width: 1440px;
	display: grid;
	justify-content: space-between;
	grid-template-columns: 130px auto;
}

@media(min-width: 21em) {
	.masthead-mobile {
		grid-template-columns: 160px auto;
	}
}

.masthead-mobile .logo {
	padding: 1rem 1rem 0.5rem;
	display: grid;
	align-items: center;
}

.masthead-mobile .logo img {
	/* max-width: 3rem; */
}

.masthead-mobile .menu-toggle {
	text-align: center;
}

.masthead-mobile .menu-toggle button {
	margin: 0;
	padding: 0;
	appearance: none;
	font: var(--body-default-regular);
	font-size: 12px;
	font-weight: normal;
	text-transform: none;
	text-decoration: none;
	background-color: transparent;
	background-image: url(/assets/images/icon-menu.svg);
	background-repeat: no-repeat;
	background-position: right;
	background-size: 20px;
}

.masthead-mobile .menu-toggle button.is-opened {
	background-image: url(/assets/images/icon-menu-close.svg);
	background-size: 18px;
}

.mobile-nav-button-group {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	align-items: end;
}

.mobile-nav-button {
	display: grid;
	grid-gap: 0.5rem;
	text-align: center;
}

.mobile-nav-button a {
	font-size: 12px;
	text-decoration: none;
}

.mobile-nav-button button {
	color: var(--aktiv);
}

.mobile-nav-button span {
	margin: auto;
	width: 2rem;
	height: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background-color: var(--text);
}

.mobile-nav-button button {
	letter-spacing: 0;
}

.mobile-nav-button span img {
	max-width: 1rem;
}


/* ----------------------------------------------------------------------------------- */

.mobile-menu-base {
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
	width: 100%;
	position: absolute;
	left: 100%;
	background-color: var(--weiss);
	transition: left 250ms ease-out, background-color 250ms ease-out;
	z-index: 3;
}

.mobile-menu-base.is-open {
	position: absolute;
	left: 0;
	background-color: var(--weiss);
	transition: left 250ms ease-out, background-color 250ms ease-out;
}

.mobile-menu-wrapper {
	max-width: 100%;
	position: relative;
}

.mobile-menu {
	width: 100%;
	position: relative;
	left: 0;
	transition: left 250ms ease-out;
}

/* Menu can be up to 8 levels deep */
.mobile-menu.pos1 {
	left: 0;
	transition: left 250ms ease-out;
}

.mobile-menu.pos2 {
	left: -100%;
	transition: left 250ms ease-out;
}

.mobile-menu.pos3 {
	left: -200%;
	transition: left 250ms ease-out;
}

.mobile-menu.pos4 {
	left: -300%;
	transition: left 250ms ease-out;
}

.mobile-menu.pos5 {
	left: -400%;
	transition: left 250ms ease-out;
}

.mobile-menu.pos6 {
	left: -500%;
	transition: left 250ms ease-out;
}

.mobile-menu.pos7 {
	left: -600%;
	transition: left 250ms ease-out;
}

.mobile-menu.pos8 {
	left: -700%;
	transition: left 250ms ease-out;
}

.mobile-menu li {
	position: relative;
	border-bottom: 1px solid var(--grey-light);
	background-color: var(--weiss);
}

.mobile-menu [class^="menu-level"] {
	margin: 0;
	min-height: 64px;
}

.mobile-menu [class^="menu-level"] li:nth-of-type(1) {
	border-top: 1px solid  var(--grey-light);
}

.mobile-menu li.has-submenu {
	display: grid;
	grid-template-columns: auto 4rem;
	align-items: center;
}

.mobile-menu .menu-level-1 > li {
	font: var(--body-default-bold);
}

.mobile-menu .menu-level-2 > li {
	font: var(--body-default-regular);
}

.mobile-menu li.current-submenu {
	font: var(--body-default-bold);
}

.mobile-menu .submenu li:nth-child(n+3) {
	padding-left: 1rem;
}

.mobile-menu ul.submenu {
	margin-top: 0;
	margin-bottom: 0;
	display: none;
}

.mobile-menu ul.submenu.is-active {
	display: block;
}

.mobile-menu .submenu .return-previous a {
	padding-left: 2rem;
	font: var(--body-default-bold);
	background-image: url(/assets/images/icon-angle-left.svg);
	background-repeat: no-repeat;
	background-position: 1rem center;
	background-size: 0.5rem;
}

.mobile-menu li a {
	padding: 1rem;
	display: block;
	text-decoration: none;
}

.mobile-menu-wrapper a:hover {
	color: var(--aktiv);
	outline: 0;
	background-color: transparent;
}

.mobile-menu li a:focus {
	outline: none;
	background-color: var(--grey-light);
}

.mobile-menu .submenu {
	position: absolute;
	left: 100%;
	width: 100%;
}

.mobile-menu .submenu-trigger {
	margin: 0;
	margin-left: auto;
	padding: 0;
	width: 62px;
	height: 100%;
	min-height: 62px;
	border-radius: 0;
	background-color: var(--sand);
	background-image: url(/assets/images/icon-angle-right.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 0.5rem;
}

.submenu-trigger:focus {
	outline: none;
	background-color: var(--grey-light);
}

/* Up to 10 navigation items can have a submenu */
.mobile-menu li:nth-child(1) .submenu {
	top: 0;
}

.mobile-menu li:nth-child(2) .submenu {
	top: calc( -64px * 1);
}

.mobile-menu li:nth-child(3) .submenu {
	top: calc( -64px * 2);
}

.mobile-menu li:nth-child(4) .submenu {
	top: calc( -64px * 3);
}

.mobile-menu li:nth-child(5) .submenu {
	top: calc( -64px * 4);
}

.mobile-menu li:nth-child(6) .submenu {
	top: calc( -64px * 5);
}

.mobile-menu li:nth-child(7) .submenu {
	top: calc( -64px * 6);
}

.mobile-menu li:nth-child(8) .submenu {
	top: calc( -64px * 7);
}

.mobile-menu li:nth-child(9) .submenu {
	top: calc( -64px * 8);
}

.mobile-menu li:nth-child(10) .submenu {
	top: calc( -64px * 9);
}




/* Meta Navigation Mobile */

.mobile-menu .meta-navigation {
	margin: auto;
	width: fit-content;
	display: flex;
	font: var(--body-tiny-regular);
}

.mobile-menu .meta-navigation li {
	padding: 1rem 0;
}

.mobile-menu .meta-navigation a {
	padding: 0;
}

.mobile-menu .meta-navigation a:focus {
	color: var(--aktiv);
}

.mobile-menu .meta-navigation li:not(:last-child) a::after {
	content: '•';
	margin-right: 0.5rem;
	margin-left: 0.5rem;
}


/* ----------------------------------------------------------------------------------- */


.mobile-menu .icon-search {
	padding-right: 1.35rem;
	background-image: url(/assets/images/icon-search-small-orange.svg);
	background-repeat: no-repeat;
	background-size: 1rem;
	background-position: right 50%;
}

.mobile-menu .icon-leichte-sprache {
	padding-left: 1.25rem;
	background-image: url(/assets/images/icon-leichte-sprache.svg);
	background-repeat: no-repeat;
	background-size: 0.75rem;
	background-position: left 50%;
}

.mobile-menu .icon-gebaerdensprache {
	padding-left: 1.25rem;
	background-image: url(/assets/images/icon-gebaerdensprache.svg);
	background-repeat: no-repeat;
	background-size: 0.75rem;
	background-position: left 50%;
}

.mobile-menu .icon-leichte-sprache:hover {
	background-image: url(/assets/images/icon-leichte-sprache-orange.svg);
}
.mobile-menu .icon-gebaerdensprache:hover {
	background-image: url(/assets/images/icon-gebaerdensprache-orange.svg);
}
