:root {
	/* Abstände */
	--menu-desktop-padding-top: 3.0rem;
	--menu-desktop-padding-bottom: 5.0rem;
	--menu-desktop-level-1-padding: 0.5rem 1.5rem 0.5rem 0;
	--menu-desktop-level-0-padding: 0.5rem 1.5rempx;

	--level-0-info-padding: 0px 3.0rem 0px 2.0rem;
	--level-1-padding: 0 2rem 0 3rem;
	--level-2-padding: 0 3rem 0 3rem;

	--item-gap: 1.0rem;

	--menu-mobile-container-title-padding-y: 20px;

	--menu-mobile-item-padding: 2.0rem 0 2.0rem var(--container-padding-x);
	--menu-mobile-font-size: 1.6rem;

	--menu-mobile-padding: 0 0;

	--level-0-width: 40%;
	--level-1-width: 40%;

	/* Animationen */
	--menu-desktop-unfold-speed: 150ms;
	--menu-desktop-unfold-type: linear;
	
	--menu-mobile-item-flight-speed: 200ms;
	--menu-mobile-item-flight-type: 200ms;
	
	--menu-mobile-item-fade-speed: 500ms;
	--menu-mobile-item-fade-type: ease-in;

	--menu-mobile-item-unfold-speed: 300ms;
	--menu-mobile-item-unfold-type: ease;
	/* Farben */
	--menu-desktop-color-background: #fff;
	--menu-mobile-color-burger-button: #000;
	--menu-mobile-color-background: #fff;
	--menu-desktop-color-item-hover-background: #fff;
	--menu-mobile-color-arrow: #000;

	--container-title-padding: 20px var(--container-padding-x) 10px var(--container-padding-x);

	--container-1-color: #fff;
	/* Icons  */
	--menu-arrow-url: url("/wp-content/themes/hammer/css/images/chevron-right.svg");
	--menu-navigation-icon-url: url("/wp-content/themes/hammer/css/images/menu_nav_icon.svg");
}
@media (max-width: 1400px) {
	:root {
	--level-0-width: 30%;
	--level-1-width: 40%;
	}
}
#mew_mega_menu {
	display: flex;
	justify-content: space-between;
	--container-width: 1400px;
}
#mew_mega_menu li > a:not(.brxe-button) {
	font-weight: 600;
}
#mew_mega_menu_mobile {
	display: none;
	font-size: var(--menu-mobile-font-size);
}
@media (max-width: 768px) {
	#mew_mega_menu {
		display: none;
	}
	#mew_mega_menu_mobile {
		display: block;
	}
}
#mew_mega_menu a {
	text-decoration: none !important;
}
/*Top Bar Hover*/
#mew_mega_menu .first_level {
	position: fixed;
	width: min(100vw, var(--container-width));
	top: var(--header-height-full);
	left: calc((100vw - min(100vw, var(--container-width)))/2);
	display: flex;
	flex-direction: row;
	visibility: hidden;
	padding-bottom: 40px;

	opacity: 0;
	transition: opacity var(--menu-desktop-unfold-speed) var(--menu-desktop-unfold-type);
	transition-delay: var(--menu-desktop-unfold-speed);
}
@media (max-width: 1040px) {
	#mew_mega_menu .first_level {
		width: 100%;
		left: 0;
	}
}
#mew_mega_menu .level_0.ausgeklappt .first_level {
	visibility: visible;
	opacity: 1;
}
#mew_mega_menu ul.level_1 > li {
	display: block;
	visibility: hidden;

	opacity: 0;
	transition: opacity var(--menu-desktop-unfold-speed) var(--menu-desktop-unfold-type);
	transition-delay: var(--menu-desktop-unfold-speed);
}
#mew_mega_menu li.level_0.ausgeklappt ul.level_1 > li {
	visibility: visible;
	opacity: 1;
}
#mew_mega_menu ul.level_1 > li:has(li.level_2), #mew_mega_menu ul.level_1 li.level_2 {
	display: inline-flex;
	align-items: center;
}
#mew_mega_menu ul.level_1 > li > button {
	margin-right: 10%;
}

/*Menu Items*/
#mew_mega_menu nav.main-navigation {
	width: 100%;
}
#mew_mega_menu li {
	white-space: nowrap;
}
:is(#mew_mega_menu ul.level_2, #mew_mega_menu_mobile) li {
	white-space: normal;
}
#mew_mega_menu li.just_mobile {
	display: none !important;
}
#mew_mega_menu nav.main-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
#mew_mega_menu nav.main-navigation ul.level_0 {
	display: flex; 	
	justify-content: space-between;
}
#mew_mega_menu li.level_0:has(.level_1) > button, .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
	content: "";
	display: block;
	height: 24px;
	width: 24px;
	padding: 5px;
	rotate: 90deg;
	background: var(--menu-arrow-url) no-repeat 65% 50%;
}
#mew_mega_menu li.level_0:has(.level_1):hover > button {
	filter: invert(20%) sepia(50%) saturate(5590%) hue-rotate(345deg) brightness(67%) contrast(96%);
}
#mew_mega_menu li.level_0 > a {
	display: inline-block;
}
#mew_mega_menu li:is(.level_0, .level_2) > a:not(.brxe-button):before {
	display: block;
	content: attr(placeholder);
	font-weight: 700;
	height: 0;
	overflow: hidden;
	visibility: hidden;
}

#mew_mega_menu ul.level_0 > li.ausgeklappt > a,
#mew_mega_menu ul.level_0 > li > a:not(.brxe-button):hover,
#mew_mega_menu li.level_1 > a.active,
#mew_mega_menu li.level_1 > a:hover,
#mew_mega_menu li.level_2 > a:hover,
#mew_mega_menu li.level_2 > a.active,
#mew_mega_menu li.level_0 > a.active:not(.brxe-button),
#mew_mega_menu_mobile a.active {
	font-weight: 700;
	text-decoration: underline !important;
}
#mew_mega_menu_mobile a:not(.brxe-button) hover {
	text-decoration: underline !important;
}
#mew_mega_menu li.level_1 > a, #mew_mega_menu li.level_2 > a {
	position: relative;
	width: 100%;
	height: 100%;
	display: block;

	border-radius: var(--box-border-radius);
	padding: var(--menu-desktop-level-1-padding);
}
#mew_mega_menu ul.level_1 > li.ausgeklappt:not(:only-child) > a {
	background-color: var(--menu-desktop-color-item-hover-background);
}
#mew_mega_menu ul.level_1 > li.ausgeklappt:only-child > a {
	padding-top: 0;
	padding-left: 0;
}
#mew_mega_menu li.level_1:not(:only-child):has(li) > button {
	content: "";
	width: 20px;
	height: 20px;
	padding: 3px;
	background: var(--menu-arrow-url) no-repeat 50% 50%;
}
#mew_mega_menu li.level_1:not(:only-child):has(li):hover > button {
	filter: invert(20%) sepia(50%) saturate(5590%) hue-rotate(345deg) brightness(67%) contrast(96%);
}
#mew_mega_menu ul.level_0 > li:not(.brxe-button) {
	padding: var(--menu-desktop-level-0-padding);
	display: inline-flex;
	align-items: center;
}

/*Menu Item Content*/
#mew_mega_menu .menu_background {
	position: fixed;
	z-index: 0;
	
	width: 100vw;
	top: var(--header-height-full);
	left: 0;
	height: 0;
	
	display: flex;
	flex-direction: row;
	background-color: var(--menu-desktop-color-background);

	transition: height var(--menu-desktop-unfold-speed) var(--menu-desktop-unfold-type);
	box-shadow: 0 10px 30px -25px black;
}
#mew_mega_menu .menu_background > .container_0 {
	opacity: 0;
	--pad: calc(100vw - var(--container-width));
	width: calc((var(--pad)/2) + (var(--container-width)*var(--level-0-width)));
	background-color: #eaecf0;
	
}
#mew_mega_menu .menu_background > .container_1 {
	opacity: 0;
	--pad: calc(100vw - var(--container-width));
	width: calc((var(--pad)/2) + (var(--container-width)*var(--level-1-width)));
	background-color: var(--container-1-color);
	
}
@media only screen and (max-width: 1024px) {
	#mew_mega_menu .menu_background > .container_1 {
		width: var(--level-1-width);
	}
}
@media only screen and (max-width: 1024px) {
	#mew_mega_menu a > span {
		display: none;
	}
}
#mew_mega_menu .first_level > .level_0_info {
	flex-basis: var(--level-0-width);
	flex-shrink: 0;
	padding: var(--level-0-info-padding);
	margin-top: var(--menu-desktop-padding-top);
}
#mew_mega_menu .first_level > .level_0_info > div {
	width: 100%;
	overflow: hidden;
}

p.item_description {
	hyphens: auto;
	white-space: break-spaces;
}
#mew_mega_menu .first_level > .sublevel {
	flex-basis: calc(100% - var(--level-0-width));
	flex-shrink: 0;
	flex-grow: 0;
	position: relative;
	margin-top: var(--menu-desktop-padding-top);
}

#mew_mega_menu .level_1 > .sublevel {
	position: absolute;
	left: var(--level-1-width);
	width: calc(100% - var(--level-1-width));
	top: 0;
}
#mew_mega_menu:has(li.level_0.ausgeklappt.has-2-sublevels) .menu_background > .container_1 {
	opacity: 1;
}
#mew_mega_menu nav.main-navigation ul.level_1 {
	display: flex;
	flex-direction: column;
	row-gap: var(--item-gap);
	padding: var(--level-1-padding);
	width: var(--level-1-width);
	border-left: 1px solid var(--hammer-red);
}
#mew_mega_menu nav.main-navigation ul.level_2 {
	padding: var(--level-2-padding);
	border-left: 1px solid var(--hammer-red);
}
#mew_mega_menu nav.main-navigation ul.level_1:has(li.level_2) {
	box-shadow: 1px 0px 0px 0px var(--hammer-red);
}
#mew_mega_menu nav.main-navigation div.level_0_info {
	box-shadow: 1px 0px 0px 0px var(--hammer-red);
}
#mew_mega_menu nav.main-navigation ul.level_1:has(li:nth-child(5)):not(:has(li.level_2)) {
	display: block;
	width: 60% !important;
	columns: 2;
	line-height: 200%;
}
#mew_mega_menu nav.main-navigation ul.level_1:has(li:nth-child(12)):not(:has(li.level_2)) {
	display: block;
  width: 100% !important;
  columns: 3;
	line-height: 200%;
}
@media (max-width: 1400px) {
	#mew_mega_menu nav.main-navigation ul.level_1:has(li:nth-child(12)):not(:has(li.level_2)) {
		columns: 2;
	}
}
#mew_mega_menu li.level_1 .sublevel {
	visibility: hidden;
	opacity: 0;
	transition: opacity var(--menu-desktop-unfold-speed) var(--menu-desktop-unfold-type);
}
#mew_mega_menu .level_0.ausgeklappt .level_1.ausgeklappt .sublevel {
	visibility: visible;
	opacity: 1;
}

#mew_mega_menu li.one_row ul.level_2 {
	grid-template-columns: 1fr;
}
#mew_mega_menu ul.level_2 {
	display: flex;
	flex-direction: column;
	row-gap: var(--item-gap);
}

/*MEGA MOBILE MENU*/

#mew_mega_menu_mobile .menu_background {
	display: none;
}
/*--Header-Elemente*/
#mew_mega_menu_mobile .menu_header {
	display: flex;
	column-gap: 10px;
	justify-content: end;
}
/*----Burger menu button*/
#mew_mega_menu_mobile .menu-toggle {
		position: relative;
		height: 40px;
		width: 40px;
		background-color: transparent;
		display: block;
}
#mew_mega_menu_mobile a.menu-toggle {
	padding: 11px;
}
#mew_mega_menu_mobile .menu-toggle img {
	width: 100%;
	height: 100%;
	display: block;
}
#mew_mega_menu_mobile .menu-toggle span {
	display: block;
	height: 2px;
	width: 20px;
	padding: 0;
	border-radius: 0;
	background-color: var(--menu-mobile-color-burger-button);
	position: absolute;
	left: 10px;
	transition: all ease .3s;
}
#mew_mega_menu_mobile .menu-toggle span:nth-child(1) {
		top: 12px;
}
#mew_mega_menu_mobile .menu-toggle span:nth-child(2) {
		top: 18px;
}
#mew_mega_menu_mobile .menu-toggle span:nth-child(3) {
		top: 24px;
}
#mew_mega_menu_mobile .menu-toggle[aria-expanded="true"] span:nth-child(1) {
	top: 19px;
	rotate: 45deg;
}
#mew_mega_menu_mobile .menu-toggle[aria-expanded="true"] span:nth-child(2) {
	background-color: transparent;
	opacity: 0;
}
#mew_mega_menu_mobile .menu-toggle[aria-expanded="true"] span:nth-child(3) {
	top: 19px;
	rotate: -45deg;
}
/*----Tabs*/
#mew_mega_menu_mobile .header_content .tabs {
	display: none;
}
/*--Menu Container*/
#mew_mega_menu_mobile .menu_container > div.content_wrapper {
	position: relative;
	margin-top: calc(-100vh + var(--header-height-full));
	transition: margin var(--menu-mobile-item-unfold-speed) var(--menu-mobile-item-unfold-type);

	background-color: var(--menu-mobile-color-background);
	padding: var(--menu-mobile-padding);
}
#mew_mega_menu_mobile .menu_container.selected > div.content_wrapper {
	margin-top: 0;
}
#mew_mega_menu_mobile .menu_container.selected > div.content_wrapper:has(div.sublevel.selected) {
	margin-left: -100vw;
}
#mew_mega_menu_mobile .menu_container.selected > div.content_wrapper:has(div.sublevel.selected div.sublevel.selected) {
	margin-left: -200vw;
}
#mew_mega_menu_mobile .menu_container {
	position: fixed;
	z-index: 100;
	top: var(--header-height-full);
	left: 0;
	width: 100vw;

	height: calc(100vh - var(--header-height-full));
	max-height: calc(100vh - var(--header-height-full));
	overflow: hidden;
	visibility: hidden;
	transition: visibility 0.5s linear;
}
#mew_mega_menu_mobile.ausgeklappt .menu_container.selected {
	visibility: visible;
}
#mew_mega_menu_mobile .menu_container .container_content {
	height: calc(100vh - var(--header-height-full));
	max-height: calc(100vh - var(--header-height-full));
	overflow: hidden;
}
#mew_mega_menu_mobile .menu_container .content_wrapper {
	height: calc(100vh - var(--header-height-full));
	max-height: calc(100vh - var(--header-height-full));
	overflow: hidden;
}
#mew_mega_menu_mobile .menu_container .container_title {
	padding: var(--container-title-padding);
	color: var(--hammer-red);
}

/*--Menu Items*/
#mew_mega_menu_mobile nav.main-navigation ul {
	list-style: none;
	margin: 0;
	width: 100vw;
	padding: 0;
	display: flex;
	flex-direction: column;
	background: var(--menu-mobile-color-background);
}
#mew_mega_menu_mobile nav.main-navigation .level_0_info {
	padding: 2.0rem var(--container-padding-x);
}
#mew_mega_menu_mobile nav.main-navigation .li a {
	padding: 0 var(--container-padding-x);
}
#mew_mega_menu_mobile ul li:not(.brxe-button) a:not(.brxe-button) {
	display: block;
	padding: var(--menu-mobile-item-padding);
	width: 100%;
}
#mew_mega_menu_mobile nav.main-navigation ul li.highlighted a {
	text-transform: uppercase;
	box-shadow: inset 0 -2px 0px #0080c9;
	padding-bottom: var(--menu-mobile-item-padding-y);
	width: 90%;
}
#mew_mega_menu_mobile .sublevel {
	position: absolute;
	top: 0;
	width: 100vw;
	margin-left: 100vw;
	background-color: var(--menu-mobile-color-background);
	visibility: hidden;
	opacity: 0;
	transition: visibility var(--menu-mobile-item-fade-speed), opacity var(--menu-mobile-item-fade-speed) var(--menu-mobile-item-fade-type), margin var(--menu-mobile-item-flight-speed) var(--menu-mobile-item-flight-type);
	left: 0;
	overflow: hidden;
	height: 100%;
}
#mew_mega_menu_mobile .sublevel.selected {
	visibility: visible;
	opacity: 1;
	height: 100%;
	overflow-x: hidden;
	overflow-y: scroll;
}
#mew_mega_menu_mobile .sublevel.selected:has(.sublevel.selected) {
	overflow: visible !important;
}
#mew_mega_menu_mobile li:not(:has(> a.brxe-button)) {
	padding-right: var(--container-padding-x);
	border-top: 1px solid var(--hammer-secondary-3);
	display: inline-flex;
	align-items: center;
	font-weight: 600;
}
#mew_mega_menu_mobile li.level_0:not(:has(> a.brxe-button)):first-child {
	border-top: none;
}
#mew_mega_menu_mobile li:has(> a.brxe-button) {
	padding: 16px var(--container-padding-x) 0 var(--container-padding-x);
	width: fit-content;
}
#mew_mega_menu_mobile li:has(ul) > button {
	content: "";
	display: block;
	height: 20px;
	width: 20px;
	padding: 3px;
	background: var(--menu-arrow-url) no-repeat 65% 50%;
}
#mew_mega_menu_mobile .navi_back button {
	background-color: transparent;
	color: var(--hammer-black);
	line-height: 35px;
	padding-right: 20px;
}
#mew_mega_menu_mobile .navi_back img {
	display: inline;
	width: 15px;
	height: 15px;
	margin: -4px 10px 0 -2px;
}
body.menu_opened {
  overflow-y: hidden;
}