/*--------------------------------------------------------------
# HEADER
--------------------------------------------------------------*/

#header {
	position: fixed;
	top: 0px;
	background: #fff;
	box-shadow: 0 0px 3px 0px #0003;
	width: 100%;
	z-index: 999;
	height: var(--header-height);
	transition: all 0.4s ease;
}

.header-inner {
	max-width: 1280px;
	width: 94%;
	height: 100%;
	display: grid;
	justify-content: center;
	gap: 40px;
	margin: auto;
	align-items: center;
	padding: var(--header-spacing) 0;
	grid-template-columns: auto 1fr;
	position: relative;
}

.header-inner > .header-menu:first-child {
	justify-content: flex-start;
}

.header-logo {
	transition: all 0.4s ease;
	position: relative;
	z-index: 9999;
}

.header-logo * {
	height: calc(var(--header-height) - var(--header-spacing) * 2);
	width: auto;
	display: block;
}

body.h-wh #header:not(.scroll-up) .menu > li > a {
	color: #fff !important;
}

body.h-wh #header:not(.scroll-up) img {
	filter: brightness(10);
}

#header .menu {
	display: flex;
	justify-content: flex-end;
}

#header ul {
	padding: 0;
	list-style: none;
	margin: 0;
}

#header ul li {
	margin-right: clamp(15px, 2.5vw, 45px);
	padding: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

#header .menu > li > a {
	text-decoration: none !important;
	position: relative;
}

#header ul li.menu-button {
	margin-right: 10px;
}

#header ul li:last-child, #header ul li li {
	margin-right: 0px;
}

.header-menu {
	display: flex;
	justify-content: flex-end;
  	align-items: center;
}

.mobil-menu-button {
	display: none;
}


.menu > li > .sub-menu {
    position: absolute;
    z-index: 999;
    background: #fff;
    opacity: 0;
    margin-top: 35px;
    visibility: hidden;
    transition: opacity 0.3s ease, margin-top 0.4s ease, visibility 0s ease 0.2s;
    box-shadow: 0px 0px 30px -10px #b39b9b4f;
	display: block;
	padding: 30px !important;
	gap: 30px;
	border-radius: 20px;
	top: 80px;
	align-items: flex-start;
	z-index: 99999;
	margin-left: -30px !important;
	min-width: 250px;
}

.menu > li.mega-menu > .sub-menu {
	max-width: var(--maxwidth);
	left: 0;
	right: 0;
	margin: 0 auto !important;
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding: 60px 30px 60px calc(50% + 15px) !important;
	gap: 15px 30px;
	width: 100%;
}

.menu > li.mega-menu > .sub-menu .menu-empfehlung {
	position: absolute;
	left: 30px;
	width: calc(50% - 60px);
	top: 30px;
	bottom: 30px;
	background: var(--color-1);
	overflow: hidden;
	border-radius: 15px;
	padding: 0 !important;
}

.menu > li.mega-menu > .sub-menu .menu-empfehlung a {
	border-bottom: 0 !important;
	height: 100%;
	padding: 0 !important;
}


.md-item {
	position: relative;
  	height: 100%;
}

.md-thumb {
	height: 100%;	
}

.md-thumb img {
	height: 100%;
  	object-fit: cover;	
}

.md-info {
	position: absolute;
	z-index: 2;
	top: 25px;
	left: 25px;
	width: calc(100% - 50px);
	display: flex;
	right: 25px;
	align-items: flex-start;
	gap: 5px;
}

.md-title {
	position: absolute;
	left: 25px;
	bottom: 25px;
	color: #fff;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3em;
	font-family: 'sub-font';
}

.md-category {
	background: var(--main-color);
	text-align: center;
	border-radius: 30px;
	padding: 8px 16px;
	font-size: 15px;
	line-height: 1em;
	color: #fff;	
}

.md-label {
	background: #fff;
	color: var(--main-color);
	text-align: center;
	border-radius: 30px;
	padding: 8px 16px 8px 14px;
	font-size: 15px;
	line-height: 1em;
	display: flex;
	gap: 6px;
	align-items: center;
}

.md-label img {
	height: 16px;
	width: auto;
}


.menu li .sub-menu a {
    display: block;
    white-space: nowrap;
	color: var(--main-color);
}

.menu > li > .sub-menu > li > a {
	margin-bottom: 4px !important;
}

.menu > li.mega-menu > .sub-menu > li > a {
	padding-bottom: 10px;
	margin-bottom: 0px !important;
	border-bottom: 1px solid var(--bg-color);
}

.menu li .sub-menu li {
	padding: 2px 0px !important;
}

.menu li .sub-menu > li:last-child a{
    margin-bottom: 0px;
}

.menu li .sub-menu a:hover {
    text-decoration: underline;
}

.favorite-count.updated {
	animation: favoritePulse 0.5s ease-in-out;
}
  
@keyframes favoritePulse {
	0% { transform: scale(1); }
	50% { transform: scale(1.3); }
	100% { transform: scale(1); }
}

.favorite-count {
	background: #fff;
	width: 20px;
	height: 20px;
	border-radius: 100%;
	margin: -5px -10px -5px 10px;
	color: var(--sub-color);
	text-align: center;
	font-family: var(--font-family);
	font-size: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1em;
	padding-bottom: 1px;
	overflow: hidden;
	transition: all .3s ease;
	font-weight: 400;
}

.favorite-count.null {
	width: 0px;
	height: 0px;
}

.mobile-back {
	display: none !important;
}

#header .social-channels {
	display: none !important;
}

@media all and (min-width: 980px) {
	.menu li:hover .sub-menu {
		opacity: 1;
		visibility: visible;
		margin-top: 15px;
		transition: opacity 0.3s ease, margin-top 0.6s ease, visibility 0s ease 0s;
	}

	#header .menu > .menu-item:not(.menu-button) > a:before {
		content:"";
		display: block;
		position: absolute;
		bottom: -4px;
		left: 0;
		right: 0;
		width: 0;
		height: 2px;
		background: var(--main-color);
		margin: 0 auto;
		transition: .5s cubic-bezier(.4,-.01,0,.99);
	}
	
	.menu > .menu-item:hover > a:before, .menu > .menu-item.current_page_item > a:before {
		width: 100% !important;
	}
	
	body.h-wh #header:not(.scroll-up) .menu > .menu-item > a:before {
		background: #fff;
	}

	.header-menu .menu > .menu-item-has-children > a {
		padding-right: 15px;
	}

	.header-menu .menu > .menu-item-has-children {
		flex-direction: unset !important;
		align-items: center;
	}
	
	.header-menu .menu > .menu-item-has-children::after {
		content: "";
		display: block;
		margin-left: -5px;
		height: 5px;
		width: 5px;
		border-color: var(--main-color);
		border-style: solid;
		border-width: 0px 1.2px 1.2px 0px;
    	transform: translateY(-50%) rotate(45deg);
		position: relative;
		z-index: 0;
	}

	.header-menu.mobil .menu-left-container {
		display: none !important;
	}
	
	.menu-item.menu-button a {
		text-decoration: none !important;
	}

	.header-menu .menu > .menu-item-has-children > a:after {
		content: "";
		display: block;
		position: absolute;
		bottom: -20px;
		left: 0;
		right: 0;
		width: 100%;
		height: 20px;
	}
	
}

@media all and (max-width: 1440px) and (min-width: 980px) {
	.header-inner {
		width: 94%;
	}
}

@media all and (max-width: 1240px) and (min-width: 980px) {
	#header ul li {
		margin-right: clamp(15px, 2.5vw, 50px);
	}

	#header .menu > li > a {
		font-size: calc(var(--font-size) * .925) !important;
		white-space: nowrap;
	}

	#header .menu > li.menu-button > a {
		font-size: calc(var(--font-size) * .8725) !important;
		padding: 10px 15px 12px;
	}

	.header-logo * {
		height: calc(var(--header-height) - var(--header-spacing) * 2.25);
	}
}


@media all and (max-width: 1140px) and (min-width: 980px) {

	#header .menu > li > a {
		font-size: calc(var(--font-size) * .85) !important;
		white-space: nowrap;
	}

	#header .menu > li.menu-button > a {
		font-size: calc(var(--font-size) * .8) !important;
		padding: 10px 15px 12px;
	}

	.header-logo * {
		height: calc(var(--header-height) - var(--header-spacing) * 3);
	}
}

@media all and (max-width: 980px) {

	.header-inner {
		width: 86%;
	}

	.no-scroll #header{
		position: fixed;
		top: 0px;
	}

	.header-menu {
		display: none;
	}

	.header-logo .custom-logo {
		height: 100%;
		width: auto;
	}

	.mobil-menu-button {
		position: absolute;
		right: 0;
		top: 0;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		bottom: 0;
		margin: auto;
		height: 40px;
		justify-content: space-around;
		padding: 12px 0;
		cursor: pointer;
		z-index: 9;
	}

	.line--burger {
		width: 42px;
		height: 2px;
		display: block;
		background: var(--main-color);
		transition: all 0.2s ease !important;
	}

	body.h-wh #header:not(.scroll-up) .line--burger {
		background: #333;
	}

	.line--burger:last-child {
		width: 30px;
	}

	.mobil-menu-button.active .line--burger:first-child {
		transform: rotate(-45deg);
		width: 32px !important;
		background: #333;
	}

	.mobil-menu-button.active .line--burger:last-child {
		transform: rotate(45deg);
		margin-top: -15px;
		width: 32px !important;
		background: #333;
	}

	.header-menu {
		background: var(--bg-color);
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		padding: calc(var(--header-height) + 10px) calc((100% - var(--width)) / 2) 30px;
		display: flex;
		align-items: center;
		flex-direction: column;
		justify-content: flex-start;
		transform: translateX(110%);
		transition: all 0.45s ease;
	}

	.header-menu.active {
		transform: translateX(0);
	}

	.header-menu.mobil .header-menu-inner {
		display: flex;
		flex-direction: column;
		width: 100%;
		position: relative;
		margin-bottom: 20px;
	}

	.header-menu ul {
		padding: 0;
		list-style: none;
	}

	.menu li > .sub-menu {
		position: absolute;
		width: 100%;
		margin: 0 !important;
		padding: 0 !important;
		top: 0;
		height: 100%;
		background: var(--bg-color);
		border-radius: 0;
		opacity: 1;
		visibility: visible;
		box-shadow: unset;
		transform: translateX(100vw);
		transition: transform .45s ease;
	}

	.menu li.active > .sub-menu {
		transform: translateX(0);
	}

	.menu {
		display: block;
	}

	#menu-main {
		align-items: flex-start;
		justify-content: flex-start;
		display: flex;
		flex-direction: column;
	}

	#header .header-menu ul li {
		margin: 0 !important;
		padding: 14px 0 10px !important;
    	border-bottom: 1px solid #0003;
		width: 100%;
	}

	#header .header-menu ul li.menu-button-mobil {
		padding-top: 30px !important;
  		padding-bottom: 0 !important;
	}

	.header-menu ul li a {
		line-height: 1.1em;
		width: 100%;
		margin: 0 !important;
	}

	.menu-button {
		border-bottom: 0 !important;
		margin-top: 10px !important;
	}

	.menu-button a {
		width: fit-content !important;
	}
	
	#header .mega-menu .sub-menu {
		padding: 0 !important;
		height: unset;
		overflow: scroll;
		max-height: calc(100vh - (var(--header-height) + 10px));
		padding-bottom: 60px !important;
	}

	#header .mega-menu .sub-menu::-webkit-scrollbar {
		display: none;
	}
	  
	#header .mega-menu .sub-menu {
		-ms-overflow-style: none;
		scrollbar-width: none;
	}

	.menu-empfehlung {
		display: none !important;
	}

	.mobile-back {
		position: relative;
		display: flex !important;
		align-items: center;
		padding-left: 15px;
		cursor: pointer;
		font-weight: 600;
		flex-direction: unset !important;
    	justify-content: flex-start !important;
	}

	.mobile-back:before {
		content:"";
		height: 12px;
		width: 12px;
		border-left: 1px solid #0009;
		border-bottom: 1px solid #0009;
		transform: rotate(45deg);
		margin: -2px 5px 0 5px;
	}

	.mobile-back span {
		color: var(--main-color);
		font-size: 16px;
	}

	#header .social-channels {
		display: flex !important;
		margin-top: auto;
		justify-content: flex-start;
		width: 100%;
		border-top: 1px solid #0003;
		padding-top: 20px;
	}
	
	.arrow {
		border-left: 1px solid #0003;
		right: 5px;
		position: absolute;
		z-index: 9;
    	cursor: pointer;
		height: 25px;
		width: 40px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.arrow:after {
		content:"";
		position: absolute;
		height: 12px;
		width: 12px;
		border-right: 1px solid #0009;
		border-top: 1px solid #0009;
		transform: rotate(45deg);
	}

	.menu > li.mega-menu > .sub-menu {
		width: 100%;
		align-items: flex-start;
		justify-content: flex-start;
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	.menu > li.mega-menu > .sub-menu > li > a {
		font-weight: 400;
		border-bottom: 0;
		padding-bottom: 0;
		margin-bottom: 0px !important;
	}
}