body {
	overflow-x: hidden;
}

.masthead-mobile {
	display: grid;
}

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

.masthead-mobile .logo {
	display: grid;
	align-items: center;
}

.masthead-mobile .menu-toggle {
	margin-left: auto;
	display: flex;
}

.masthead-mobile .menu-toggle button {
	padding-right: 1.8rem;
	font: var(--l);
	border: none;
	background-color: transparent;
	background-image: url(/assets/icons/list--primary.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 2rem;
	appearance: none;
}

.masthead-mobile .menu-toggle button.is-opened {
	background-image: url(/assets/icons/x--primary.svg);
	background-size: 2rem;
}

.masthead-mobile .menu-toggle .button:focus {
	outline: 2px solid var(--color-primary);
}

.masthead-mobile .search {
	display: flex;
}

.masthead-mobile .search button {
	padding-right: 1.8rem;
	border: none;
	background-color: transparent;
	background-image: url(/assets/icons/magnifying-glass--primary.svg);
	background-repeat: no-repeat;
	background-size: 2rem;
	background-position: center;
}

.masthead-mobile .search button:focus {
	outline: 2px solid var(--color-primary);
}

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

.mobile-menu-base {
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
	width: 100%;
	position: absolute;
	left: 100%;
	background-color: rgb(11 14 28 / 0%);
	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(--white);
	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(--color-primary);
	background-color: var(--color-primary--light);
}

.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(--color-primary);
}

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

.mobile-menu li.current-submenu {
	background-color: var(--blue-20);
}

/*
.mobile-menu .submenu li:nth-child(n+3) a:not(li.return-previous a) {
	padding-left: 2rem;
}
 */

.mobile-menu .submenu li a {
	padding-left: 2rem;
}

.mobile-menu .submenu li:nth-child(2) a {
	padding-left: 1rem;
}

.mobile-menu .submenu li.return-previous a {
	padding-left: 2.5rem;
}

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

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

.mobile-menu li a {
	padding: 1rem;
	display: block;
	font: var(--l);
	text-decoration: none;
}

.mobile-menu li a:focus {
	color: var(--black);
	outline: none;
	background-color: var(--blue-20);
}

.mobile-menu .return-previous a {
	padding-left: 3rem;
	font: var(--l-bold);
	background-image: url(/assets/icons/caret-left--primary.svg);
	background-repeat: no-repeat;
	background-position: 1rem center;
	background-size: 1.5rem;
}

.mobile-menu .has-submenu a:hover {
	color: var(--black);
	background-color: var(--blue-20);
}

.mobile-menu .current-submenu a {
	font: var(--l-bold);
}

.mobile-menu .menu-level-1 > li a:not(li li a) {
	font: var(--l-bold);
}




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

.mobile-menu .submenu-trigger {
	margin-left: auto;
	width: 62px;
	height: 100%;
	min-height: 62px;
	border-left: 1px solid var(--white);
	background-color: var(--color-primary--light);
	background-image: url(/assets/icons/caret-right--primary.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 1.5rem;
}

.submenu-trigger:hover {
	background-color: var(--blue-20);
}

.submenu-trigger:focus {
	border: none;
	border-left: 1px solid var(--white);
	outline: 0;
	background-color: var(--blue-20);
}

/* 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 * 0);
}

.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);
}

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

.mobile-menu .meta-menu {
	padding-top: 2rem;
	padding-bottom: 2rem;
	background-color: var(--white);
}

.mobile-menu .meta-menu li {
	border: none;
	height: auto !important;
	background-color: transparent;
}

.mobile-menu .meta-menu li a {
	padding-top: 0;
	padding-bottom: 0;
}

.mobile-menu .meta-menu li.button-style {
	margin-bottom: 0.5rem;
	padding: 0.5rem 2.5rem;
	width: calc(50% - 2rem);
	height: 2.5em;
	text-align: center;
	border: 0.0625em solid var(--blue-20);
}

.mobile-menu .meta-menu ul {
	margin: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.5rem;
}

.mobile-menu .meta-menu a {
	display: inline-block;
	text-decoration: none;
	border: none;
}

.mobile-menu .meta-menu a:hover {
	color: var(--black);
	text-decoration: underline;
	background-color: transparent;
}

.mobile-menu .meta-menu a:focus {
	outline: 2px solid var(--color-primary);
	background-color: transparent;
}

.mobile-menu .language-switch {
	margin: 0;
	padding: 0;
	padding-top: -0.6rem;
	border: none;
	background-color: transparent;
}


.leichte-sprache {
	padding-right: 1.25rem;
	background-image: url(/assets/icons/book-user.svg);
	background-repeat: no-repeat;
	background-size: 0.75rem;
	background-position: right 50%;
}

.gebaerdensprache {
	padding-right: 1.25rem;
	background-image: url(/assets/icons/hand-palm.svg);
	background-repeat: no-repeat;
	background-size: 0.75rem;
	background-position: right 50%;
}

.leichte-sprache:hover {
	background-image: url(/assets/icons/book-user.svg);
}

.gebaerdensprache:hover {
	background-image: url(/assets/icons/hand-palm.svg);
}
