/* Menü */

header .menu > ul > li {
	display: inline-block;
	line-height: 44px;
	margin-left: 0;
}
header .menu > ul > li > a {
	font-size: var(--font-menu-top);
	font-weight: 500;
	color:var(--clr-weiss);
	position: relative;
	transition: 0s ease, color .3s;
	transition-delay: 0s;
	height: 44px;
	display: block;
}

header {
height: 0;
}

/* header.up .menu > ul > li > a {
	color: var(--clr-schwarz);
}

.up .menu > ul > .activetop > a {
	color: var(--clr-rot-dunkel)!important;
} */

header:has(.menu-main:hover) .menu > ul > .activetop > a {
	color: var(--clr-rot-dunkel);
    text-decoration: underline;
    text-underline-offset: .25rem;
}

header:not(:has(.menu-main:hover)) .menu > ul > .activetop > a {
    color: var(--clr-weiss);
    text-decoration: underline;
    text-underline-offset: .25rem;
}

header .menu-main:hover li > a {
	color: #000;
	transition: 0.1s ease;
	transition-delay: var(--delay);
}

header .menu > ul > li .sub-menu{
	position: absolute;
	z-index: 500;
	background-color:transparent;
	padding: 35px 30px;
	transition: all .1s ease;
    transition-delay: 0s;
	margin-top:0px;
	opacity:0;
	visibility: hidden;
}

.mainmenu {
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
}

.menu-main {
	max-width: max-content;
	display: grid;
	grid-auto-flow: column;
	gap: 2rem;
	padding-inline: 2rem;
	border-radius: 60px;
	background-color: transparent;
	margin: auto;
	animation: blur-in .3s forwards;
	animation-delay: .1s;
	padding-bottom: 0;
}


@keyframes blur-in {
	0% {
	  -webkit-backdrop-filter: blur(0px) brightness(100%);
	  backdrop-filter: blur(0px) brightness(100%);
	}
	100% {
	  -webkit-backdrop-filter: blur(10px) brightness(50%);
	  backdrop-filter: blur(10px) brightness(50%);
	}
  }




/* Chrome 29+ */
/* @media screen and (-webkit-min-device-pixel-ratio:0)
  and (min-resolution:.001dpcm) {
    .menu-main {
		background-color: var(--clr-grau-100);
	}
} */

/*.menu-main::before {
	content: '';
	backdrop-filter: blur(10px) brightness(75%);
}
*/
.menu-main:hover {
	animation: blur-out .3s forwards;
	animation-delay: .0s;
}

@keyframes blur-out {
	from {
	-webkit-backdrop-filter: blur(10px) brightness(50%);
	  backdrop-filter: blur(10px) brightness(50%);
	}
	to {
	-webkit-backdrop-filter: blur(0px) brightness(100%);
	  backdrop-filter: blur(0px) brightness(100%);
	}
  }

/* .up .menu-main {
	backdrop-filter: blur(0) brightness(100);
	background-color: var(--clr-weiss);
	border: 1px solid var(--clr-schwarz);
} 

.up .menu-main:hover {
	border: 0px solid var(--clr-schwarz);
} */

.fa.fa-angle-down, .fas.fa-angle-down {
	display: none;

}

.fa.fa-angle-down::before, .fas.fa-angle-down::before, .fa.fa-angle-left::before {
	content: '>';
	font-family: "amatiksymbols";
	font-style: normal;
	font-size: var(--font-h2);
}

.go-back .fa.fa-angle-left::before {
	font-size: var(--font-h3);
}

.fa.fa-angle-left::before {
rotate: 180deg;
  display: block;
}

@media(min-width: 1081px){
header .menu > ul > li.menu-item-has-children:hover .sub-menu, 
header .menu > ul > li.menu-item-has-children:has(a:focus-visible) .sub-menu {
	margin-top: 0;
	visibility: visible;
	opacity: 1;
	transition: all 0.1s ease;
    transition-delay: .1s;
}

header .menu > ul > li.menu-item-has-children:has(a:focus-visible) .sub-menu {
	background-color: var(--clr-weiss);
}

header.down .menu > ul > li.menu-item-has-children:hover .sub-menu {
	display: none;
}

}
header .menu > ul > li .sub-menu > ul > li{
	line-height: 1;
}
header .menu > ul > li .sub-menu > ul > li > a{
	display: inline-block;
	padding: 10px 0;
	font-size: 15px;
	color: #555555;
	transition: color 0.3s ease;
	transition-delay: var(--delay);
	text-decoration: none;
	text-transform: capitalize;
}
header .menu > ul > li .single-column-menu{
	min-width: 280px;
	max-width: 350px;
}
header .menu > ul > li .sub-menu.mega-menu > .list-item > ul > li{
   line-height: 1;
   display: block; 
   max-width: 20ch;
}

header .menu > ul > li .sub-menu.mega-menu > .list-item .title {
	font-size: var(--font-menu-subhead);
	margin-bottom: .25em;
	min-height: calc(.5rem + var(--font-menu-subhead));
}

header .menu > ul > li .sub-menu.mega-menu > .list-item > ul > li > a {
	padding:10px 0;

	line-height: 1.2;
	display: inline-block;
	font-size: var(--font-menu-subtext);
	color:var(--clr-schwarz);
	transition: color 0.3s ease;
	transition-delay: var(--delay);
	text-wrap: pretty;
}

header .menu-item-has-children:has(.active) > a {
	color: var(--clr-weiss);
	text-decoration: underline;
	text-underline-offset: 5px;
}

header .menu > ul > li .sub-menu.mega-menu > .list-item > ul > li > .active {
	color: var(--clr-rot-dunkel);
	text-decoration: underline;
	text-underline-offset: 5px;
}

header .menu > ul > li .sub-menu.mega-menu{ 
    left: 50%;
    transform: translateX(-50%);	
}

.sub-menu.mega-menu {
	width: 100vw;
	display: flex;
	justify-content: center;
	gap: 4rem;
	flex-wrap: wrap;
}


header .menu > ul > li .sub-menu.mega-menu > .list-item > ul > li > a:hover,
header .menu > ul > li .sub-menu > ul > li > a:hover,
header .item-right a:hover,
header .menu > ul > li:hover > a,
header .menu > ul > li .sub-menu.mega-menu > .list-item > ul > .activetop > a{
	color:var(--clr-rot-dunkel);
}

header .menu > ul > li .sub-menu.mega-menu > .list-item > ul > .activetop > a {
	text-decoration: underline;
}
/* banner section */

.mobile-menu-head,
.mobile-menu-trigger{
	display: none;
}

/*responsive*/
@media(max-width: 1080px){

	header .menu *:focus {
		-webkit-tap-highlight-color: transparent;
		outline: none;
		-ms-touch-action: manipulation;
		touch-action: manipulation;
	}	

header .menu-item-has-children:has(.active) > a {
    color: var(--clr-schwarz);
    text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration-thickness: 1px;
}

	header:has(.menu-main:hover) {
		background: transparent;
		height: 100vh;
		transition: 1.2s;
		-webkit-backdrop-filter: blur(0px);
		backdrop-filter: blur(0px);
	}

	header:not(:has(.menu-main:hover)) .menu > ul > .activetop > a {
		color: var(--clr-black);
	}

	header .menu > ul > li .sub-menu.mega-menu > .list-item > ul > li{
		max-width: 90%;
	 }

header .menu > ul > li .sub-menu.mega-menu > .list-item > ul > li > a {
	padding: 0;
	padding-bottom: 10px;
	font-size: var(--font-h3);
	min-height: 44px;
}

	header .item-center{
		order:3;
		flex:0 0 100%;
	}
	header .item-left,
	header .item-right{
		flex:0 0 auto;
	}
	.v-center {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: start;
	}
	header .mobile-menu-trigger {
		display: flex;
		height: 44px;
		width: 44px;
		margin-left: 15px;
		cursor: pointer;
		align-items: center;
		justify-content: center;
		position: fixed;
		right: calc(.75*var(--padder));
		top: calc(.75*var(--padder));
		background-color: transparent;
		border-radius: 100%;
		backdrop-filter: blur(10px) brightness(50%);
		-webkit-backdrop-filter: blur(10px) brightness(50%);
		transition: .2s;
	}

	header .mobile-menu-trigger:hover {
		scale: 1.05;
	}

	header.down .mobile-menu-trigger {
		top: .5rem;
	}

	header .mobile-menu-trigger span{
		display: block;
		height: 0px;
		background-color: var(--clr-weiss);
		width: 24px;
		position: relative;
	}
	header .mobile-menu-trigger span:before,
	header .mobile-menu-trigger span:after{
		content: '';
		position: absolute;
		left:0;
		width: 100%;
		height: 100%;
		background-color: var(--clr-weiss);
	}
	header .mobile-menu-trigger span:before{
		top:-4px;
		height: 1px;
	}
	header .mobile-menu-trigger span:after{
		top:4px;
		height: 1px;
	}
	header .item-right{
		align-items: center;
	}

	.menu-main {
		max-width: 100%;
		display: flex;
		flex-direction: column;
		gap: 2rem;
		padding-inline: var(--padder);
		-webkit-backdrop-filter: blur(0px) brightness(100%);
		backdrop-filter: blur(0px) brightness(100%);
		border-radius: 0;
		background-color: var(--clr-weiss);
	}

	header .menu {
		position: fixed;
		width: 100%;
		background-color:#ffffff;
		left:0;
		top:0;
		height: 100%;
		overflow: hidden;
		transform: translate(-100%);
		transition: all 0.5s ease;
		z-index: 1099;
		-webkit-user-select: none;
		-khtml-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		-o-user-select: none;
		user-select: none;
	}

	header .menu .list-item {
		margin-bottom: 0;
	}

	header .menu.active {
		transform: translate(0%);
		height: 100vh;
	}

	header .menu > ul > li{
		line-height: 1;
		margin:0;
		display: block;
		max-height: 44px;
	}
	
header .menu > ul > li > a {
	line-height: 1;
	height: 1em;
	padding: 0 50px 0 0px;
	display: block;
	color: #000;
	transition: .3s;
	font-size: var(--font-h1);
}

header .menu > ul > li > a i {
	position: absolute;
	height: 14px;
	width: 0px;
	top: .4em;
	right: var(--padder);
	text-align: center;
	line-height: 0;
	transform: rotate(0deg);
}

	header .menu .mobile-menu-head{
		display: flex;
		height: 50px;
		border-bottom: 1px solid;
		justify-content: space-between;
		align-items: center;
		position: relative;
		z-index: 501;
		position: sticky;
		background-color: #ffffff;
		top:0;
		width: calc(100% - 2*var(--padder));
    	margin: auto;
	}

.mobile-menu-head .menu-title {
	margin: auto;
	/* text-transform: uppercase; */
	/* letter-spacing: var(--letter-spacer); */
	font-size: var(--font-h3);
	text-align: center;
	padding-left: 40px;
}

header .menu > ul > li .sub-menu.mega-menu > .list-item .title {
	margin-top: var(--padder);
	font-size: var(--font-h2);
	margin-bottom: .75em;
}

header .menu > ul > li .sub-menu.mega-menu > .list-item .title:empty {
	display: none;
}

	header .menu > ul > li .sub-menu.mega-menu > .list-item:first-child .title {
		margin-top: 0;
	}	

	.mobile-menu-head.active .menu-title {
		display: none;
	}


	header .menu .mobile-menu-head .go-back{
		height: 50px;
		width: 50px;
		border-right: 0px solid rgba(0,0,0,0.1);
		cursor: pointer;
		line-height: 50px;
		text-align: right;
		color:#000000;
		font-size: 16px;
		display: none;
	}
	header .menu .mobile-menu-head.active .go-back{
		display: block;
	}
	
header .menu .mobile-menu-head .current-menu-title {
	font-size: var(--font-h3);
	text-transform: none;
	color: var(--clr-rot-dunkel);
}

header .menu .mobile-menu-head .mobile-menu-close {
	height: 50px;
	width: 50px;
	border-left: 0px solid rgba(0,0,0,0.1);
	cursor: pointer;
	line-height: 50px;
	text-align: right;
	color: #000000;
	font-size: var(--font-h3);
	font-family: amatiksymbols;
	padding-top: .1em;
}

header .menu .menu-main {
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	padding-block: 2rem;
	padding-top: 1.5rem;
	padding-bottom: 28rem;
}

header .menu > ul > li .sub-menu.mega-menu, header .menu > ul > li .sub-menu {
	visibility: visible;
	opacity: 1;
	position: absolute;
	box-shadow: none;
	margin: 0;
	padding: var(--padder);
	top: 0;
	left: 0;
	width: 100%;
	min-height: 100dvh;
	padding-top: 2rem;
	max-width: none;
	min-width: auto;
	display: none;
	transform: translateX(0%);
	overflow-y: auto;
	background-color: var(--clr-weiss);
	padding-bottom: 10rem;
	padding-top: 1.5rem;
}

header .menu > ul > li .sub-menu.active{
	display: block;
}
@keyframes slideLeft{
	0%{
		opacity:1;
		transform: translateX(100%);
	}
	100%{
	    opacity:1;
		transform: translateX(0%);	
	}
}
@keyframes slideRight{
	0%{
		opacity:1;
		transform: translateX(0%);
	}
	100%{
	    opacity:1;
		transform: translateX(100%);	
	}
}
	header .menu > ul > li .sub-menu.mega-menu-column-4 > .list-item img{
		margin-top:0;
	}
	header .menu > ul > li .sub-menu.mega-menu-column-4 > .list-item.text-center .title{
		margin-bottom: 20px;
	}
	header .menu > ul > li .sub-menu.mega-menu-column-4 > .list-item.text-center:last-child .title{
		margin-bottom:0px;
	}
	header .menu > ul > li .sub-menu.mega-menu-column-4 > .list-item{
		flex: 0 0 100%;
        padding: 0px;
	}
	header .menu > ul > li .sub-menu > ul > li > a,
	header .menu > ul > li .sub-menu.mega-menu > .list-item > ul > li > a{
		display: block;
	}
	header .menu > ul > li .sub-menu.mega-menu > .list-item > ul {
		padding-bottom: 0;
		display: block;
	}

	header .menu > ul > li .sub-menu.mega-menu > .list-item:hover > ul {
		display: block;
	}

	header .menu > ul > li .sub-menu.mega-menu > .list-item .title.empty {
		min-height: 0;
		height: 0;
		margin: 0;
		padding: 0;
	}

	.menu-overlay {
		position: fixed;
		background-color: rgba(0,0,0,0.5);
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		z-index: 1098;
		visibility: hidden;
		opacity: 0;
		transition: all 0.5s ease;
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
	}
	.menu-overlay.active{
	  visibility: visible;
	  opacity:1;	
	}

	.fa.fa-angle-down, .fas.fa-angle-down {
		display: block;
	}

	.menu-overlay {
		background-color: #fff;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		z-index: -1;
	}
}

/* Suchfeld */

.searchbar {
	display: block;
	width: 100px;
	transition: all 0.5s ease;
}

.searchbar:has(input[type="search"]:focus) {
	width: 200px;
	transition: all 0.5s ease;
}

input[type="search"], input[type="search"]:focus-visible {
	-webkit-appearance: textfield;
	-webkit-box-sizing: content-box;
	font-family: inherit;
	font-size: 100%;
  }
  
  input::-webkit-search-decoration,
  input::-webkit-search-cancel-button {
	display: none;
  }
  
  input[type="search"], input[type="search"]:focus-visible {
	background-image: url(../images/lupe_w.svg);
	background-position:  16px center;
	background-repeat: no-repeat; 
	background-color: transparent;
	-webkit-backdrop-filter: blur(10px) brightness(50%);
	backdrop-filter: blur(10px) brightness(50%);
	border: solid 1px transparent;
	padding: 0px .5rem 0px 2.5rem;
	width: 50px;
	-webkit-border-radius: 10em;
	-moz-border-radius: 10em;
	border-radius: 10em;
	-webkit-transition: all .5s;
	-moz-transition: all .5s;
	transition: all .5s;
	position: absolute;
	right: 0;
	z-index: 1;
	font-size: 14px;
	height: 44px;
	color: var(--clr-weiss);
}

input[type="search"]::placeholder {
	color: var(--clr-weiss);
}

  input[type="search"]:focus {
	background-image: url(../images/lupe_s.svg);
	width: 155px;
	background-color: #fff;
	border-color:var(--clr-schwarz);
	color: var(--clr-schwarz);
  }

  input[type="search"]:focus::placeholder, header:has(.menu-main:hover) input[type="search"]::placeholder {
	color: var(--clr-schwarz);
  }  

  header:has(.menu-main:hover) input[type="search"] {
	background-color: var(--clr-weiss);
	background-image: url(../images/lupe_s.svg);
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	border: 1px solid;
	color: var(--clr-schwarz);
	transition: all .3s;
}

  input::placeholder {
	opacity:1;
  }

  input:focus::placeholder {
	opacity:.5;
  }
  
  input:-moz-placeholder {
	opacity:1;
  }

  input::-webkit-input-placeholder {
	opacity: 1;
  }

  .search-submit {
	display: none;
  }