#header-logo {
	font-weight: bold;
	font-size: 2rem;
	color: #000;
	padding: 0;
	margin: 0.5rem;
	text-decoration: none;
	line-height: 1.5rem;
	display: inline-block;
}


header nav ul {
	list-style-type: none;
}

li.menu-item a {
	text-decoration: none;
}

@media screen and (min-width: 1000px) {

	header {
		display: block;
		width: 100%;
	}

	#header-menu-mobile-button, #header-menu-mobile-underlay {
		display: none;
	}

	#header-content {
		display: flex;
		position: relative;
		width: auto;
		max-width: var(--theme-max-content-width);
		margin: 0 auto;
	}

	#header-logo {
		display: block;
		background: #fff;
		padding: 1vw;
		margin: 0;
	}

	#header-logo img {
		display: block;
		margin: auto;
		object-fit: contain;
	}


	#header-menus {
		display: flex;
		flex-direction: unset;
		align-content: end;
		align-items: flex-end;
		flex-grow: 1;
		justify-content: start;
		height: 104px;
		padding: 0 10px;
	}

	.menu-header {
		font-size: calc(0.6vw + 11px);
	}

	#menu-header-main {
		width: fit-content;
		height: calc(100% - 53px);
		font-weight: 400;
	}

	#menu-header-user,
	#header-search {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		font-weight: 300;
		height: 53px;
	}

	#menu-header-user > * {
		padding: 0 5px;
	}

	#menu-header-user a {
		font-size: 0.9em;
		color: #ccc;
	}

	.menu-header ul {
		margin: 0;
		padding: 0;
	}

	.menu-header ul li {
		display: inline-block;
	}

	li.menu-item a {
		padding: 16px;
		color: #000;
	}

	.menu-item a span {
		padding-bottom: 5px;
		border-bottom: 2px solid transparent;
	}

	.current-menu-item.main-menu-about > a > span, .main-menu-about > a:hover > span {
		border-color: #F48713;
	}

	.main-menu-event-day > a {
		color: #d30 !important;
	}

	.current-menu-item.main-menu-event-day > a > span, .main-menu-event-day > a:hover > span {
		border-color: #d30;
	}


	.mega-menu ul,
	.mega-menu li {
		margin: 0;
		padding: 0;
		list-style-type: none;
	}

	.mega-menu a {
		text-decoration: none;
	}

	.mega-menu ul.menu-level-1 > li {
		display: inline-block;
		padding: 5px 0;
	}

	.mega-menu ul.menu-level-1 > li.has-submenu {
		position: relative;
	}

	.mega-menu ul.menu-level-1 > li.submenu-open > ul.menu-level-2 {
		display: block;
	}

	.mega-menu ul.menu-level-1 > li.submenu-open > ul.final-level {
		display: flex;
	}

	html:not(.js) .mega-menu ul.menu-level-2 {
		display: none;
	}

	.mega-menu ul.menu-level-2 {
		display: block;
		opacity: 0;
		border: 1px solid #eee;
		box-shadow: -1px 1px 3px 1px rgba(0, 0, 0, 0.08);
		position: absolute;
		z-index: 9999;
		top: 25px;
		background: #fff;
		padding: 25px 25px 16px;
		font-weight: bold;
		margin-top: 0.75em;
		width: auto;
		white-space: nowrap;
	}

	.mega-menu ul.menu-level-2:not(.final-level) > li {
		white-space: normal;
		width: max-content;
		display: inline-block;
		vertical-align: top;
	}

	[dir=rtl] .mega-menu ul.menu-level-2:not(.final-level) > li {
		margin-left: 2em;
	}

	[dir=ltr] .mega-menu ul.menu-level-2:not(.final-level) > li {
		margin-right: 2em;
	}

	[dir=rtl] .mega-menu ul.menu-level-2:not(.final-level) > li:last-of-type {
		margin-left: 0;
	}

	[dir=ltr] .mega-menu ul.menu-level-2:not(.final-level) > li:last-of-type {
		margin-right: 0;
	}

	.mega-menu ul.menu-level-2:not(.final-level) > li > a {
		display: block;
		margin-bottom: 2px;
		font-weight: 600;
	}

	.mega-menu > ul > li ul.final-level {
		display: flex;
		flex-direction: column;
		column-gap: 20px;
		flex-wrap: wrap;
		width: max-content;
	}

	.mega-menu ul.final-level > li {
		flex-basis: 50%;
	}

	.mega-menu ul.menu-level-2 a {
		color: #565656;
		font-size: 0.9em;
		padding: 0.25em 0;
	}

	.mega-menu ul.menu-level-2 a:hover {
		color: #7ab773;
	}

	.mega-menu ul.final-level {
		font-weight: 300;
		max-height: 12em;
	}

	.mega-menu > ul > li ul.final-level > li {
		display: block;
		line-height: 1.1em;
		margin: 0 0 0.4em 0;

		-webkit-column-break-inside: avoid;
		page-break-inside: avoid;
		break-inside: avoid;
	}

	.mega-menu ul.final-level li a {
		max-width: 20em;
		display: block;
	}

	#header-search {
		opacity: 0;
	}

	#menu-header-secondary > ul {
		display: flex;
		align-items: center;
		flex-direction: row;
		flex-wrap: unset;
	}

}

@media screen and (min-width: 1268px) {

	.menu-header {
		font-size: 18.7px;
	}

}



@media screen and (max-width: 999.999px) {

	body {
		overflow-y: scroll;
	}

	header {
		display: block;
		width: 100%;
	}

	#header-content {
		position: relative;
		width: 100%;
		max-width: 100vw;
		margin: 0;
		height: 24.5vw;
	}

	#header-logo {
		display: block;
		background: #fff;
		margin-top: 2vw;
		margin-bottom: 2vw;
	}

	#header-logo img {
		display: block;
		object-fit: contain;
	}

	#header-menus {
		display: none;
		position: fixed;
		top: 0;
		width: 80vw;
		background: rgba(0, 0, 0, 0.87);
		z-index: 1500;
		color: white;
		min-height: 100vh;
		max-height: 100vh;
		overflow-x: hidden;
		overflow-y: scroll;
		font-size: 7vw;
		text-align: center;
		padding-top: 5vh;
		transition: 0.3s;
		right: 100vw;
	}

	html[dir=rtl] #header-menus {
		right: unset;
		left: 100vw;
	}

	#menu-header-secondary {
		flex-grow: 1;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-end;
	}

	#menu-header-secondary > ul {
		display: flex;
		flex-direction: column-reverse;
		margin: 0 0 64px !important;
	}

	#header-menus.menu-open {
		display: block;
		right: 20vw;
	}

	html[dir=rtl] #header-menus.menu-open {
		right: unset;
		left: 20vw;
	}

	/*
	#header-menus * {
		display: block;
	}
	*/

	#header-menus ul {
		padding: 0;
	}

	#header-menus a {
		color: #fff;
		text-decoration: none;
		text-align: start;
		display: block;
		width: 100%;
		padding: 0.4em;
		margin: 0.2em 0;
	}

	#header-menu-mobile-button {
		display: block;
		position: absolute;
		top: 2vw;
		right: 2vw;
	}

	html[dir=rtl] #header-menu-mobile-button {
		right: unset;
		left: 2vw;
	}

	/*
		I have to do this weird thing with the span, as Chrome on Android messes up the background image
		icons otherwise (removes the background image entirely!)
	*/
	#header-menu-mobile-button > span {
		display: block;
		width: 15vw;
		height: 15vw;
		border: 3vw solid #fff;
		background-image: url("data:image/svg+xml,%3Csvg version='1.1' viewBox='0 0 32 32' width='32px' height='32px' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4,10h24c1.104,0,2-0.896,2-2s-0.896-2-2-2H4C2.896,6,2,6.896,2,8S2.896,10,4,10z M28,14H4c-1.104,0-2,0.896-2,2 s0.896,2,2,2h24c1.104,0,2-0.896,2-2S29.104,14,28,14z M28,22H4c-1.104,0-2,0.896-2,2s0.896,2,2,2h24c1.104,0,2-0.896,2-2 S29.104,22,28,22z'/%3E%3C/svg%3E");
		background-color: transparent;
		background-size: cover;
		background-repeat: no-repeat;
		cursor: pointer;
		transition: 0.3s;
	}

	#header-menu-mobile-button.menu-open > span {
		background-position: calc((100% / 31) * 12) 50%;
	}


	#menu-header-user:before {
		content: '';
		display: block;
		width: 50vw;
		border-top: 1px solid #fff;
		margin: 3vh auto 3vh;
	}

	#header-menu-mobile-underlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background: rgba(0, 0, 0, 0.2);
		z-index: 1040;
		display: none;
		opacity: 0;
	}

	.mega-menu li.no-submenu-on-mobile > ul {
		display: none !important;
	}

	.mega-menu ul.menu-level-2 {
		display: block !important;
		overflow: hidden;
		transition: 1s ease-in-out;
		margin: 0 !important;
	}

	.main-menu-event-day > a {
		color: #FAA41A !important;
		font-weight: bold;
	}

	#header-search form.searchform {
		width: 70vw;
		height: unset;
		margin-bottom: 18px;
	}

	#header-search form.searchform input[type="search"] {
		padding: 2vw 5vw 2vw 0;
		font-size: 0.9em;
	}

	#header-search form.searchform button[type="submit"] span {
		width: 7vw;
		height: 7vw;
		top: calc(50% - 3.5vw);
		left: 3.5vw;
		right: unset;
	}


	#header-menus li.menu-item {
		padding: 0.4em 0.8em;
	}

	#header-menus li.menu-item.has-submenu > a > span:after {
		content: '';
		position: absolute;
		top: 0;
		left: 48px;
		display: block;
		width: 8px;
		height: 100%;
		background: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 28'%3E%3Cpath d='M13.7 2.3 2 14l11.7 11.7' stroke='%23FFFFFF' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
		transform: rotate(-90deg);
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-size: contain;
		transition: 0.5s;
	}

	#header-menus li.menu-item.has-submenu > a > span:after {
		position: relative;
		width: 16px;
		height: 16px;
		left: 16px;
		display: inline-block;
	}

	#header-menus li.menu-item.no-submenu-on-mobile > a > span:after {
		display: none;
	}

	html[dir=rtl] #header-menus li.menu-item.has-submenu > a > span:after {
		left: unset;
		right: 16px;
	}

	#header-menus li.menu-item.has-submenu.submenu-open > a > span:after {
		transform: rotate(90deg);
	}

	#header-menus ul.menu-level-2 > li > a {
		font-size: 0.8em;
	}

}
