
/* BOF Hamburger-Button und -zeile: */
.menu-collapser{}
.collapse-button{
    position: absolute;
	z-index:1000;
    left: 21px;
    top: 31px;
    width: 30px;
	height:30px;
    cursor: pointer;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.navicon, 
.navicon::before,
.navicon::after{
    transition: all 150ms ease 0s;
    background: none repeat scroll 0 0 var(--linkcolor_header, white);
    height: 3px;
    width: 25px;
}

.navicon::before, .navicon::after{
    content: "";
    display: block;
    position: absolute;
}
.navicon::before {
    top: 8px;
}
.navicon::after {
    top: -8px;
}
.navicon {
    position: relative;
	margin-top:14px;
}

.collapse-button:hover .navicon, 
.collapse-button:hover .navicon::before,
.collapse-button:hover .navicon::after{
    background: none repeat scroll 0 0 var(--linkcolor_header_hover);
}

.collapse-button.open .navicon{
    background: none repeat scroll 0 0 transparent;
}
.collapse-button.open .navicon::before,
.collapse-button.open .navicon::after {
    top: 0;
}
.collapse-button.open .navicon::before {
    transform: rotate(-45deg);
    transform-origin: 50% 50% 0;
}
.collapse-button.open .navicon::after {
    transform: rotate(45deg);
    transform-origin: 50% 50% 0;
}

/* EOF Hamburger-Button und -zeile */


/* BOF normales Menü desktop: */
ul.slimmenu{
	list-style-type: none;
	margin:0;
	padding: 0;
	position: absolute;
	left:350px;
	top:46px;
	display:block;
	z-index:2;
	font-size: var(--mainnav-fonts-size);
	
    font-family: var(--head-fonts);
    font-weight: var(--head-fonts-weight);
    font-style: var(--head-fonts-style);

	transition: all .1s ease;
	max-width: 1250px;
}
	
	
	.classic ul.slimmenu{max-width: calc(100vw - 200px);}
	.tablet ul.slimmenu {padding: 0;}



ul.slimmenu > li {
    position: relative;
    display: inline-block;
	vertical-align: top;
	padding:0;
}
ul.slimmenu li.child:hover{
	padding:0;
}
ul.slimmenu.collapsed li.child{ border:none;}
ul.slimmenu.collapsed li.child:hover{
	border-color:#ccc;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}
ul.slimmenu li a{
	vertical-align: bottom;
	color:  var(--mainnav-fonts-color);
	display: inline-block;
	padding: 4px 15px 37px 0px;
	text-align: center;
	overflow: hidden;
	/*transition: all .1s linear 0.2s;*/
	transition: all .1s linear 0s, font-size 0.2s linear 0s;
}

#header.small ul.slimmenu li a{
	padding: 4px 15px 14px 0px;
}
/* normalize for collapsed again: */
#header ul.slimmenu.collapsed li a{
	padding: 15px 0 15px 40px;
}

ul.slimmenu li.cathead.search_first a.active,
ul.slimmenu li.cathead.active a{
	/* ACHTUNG, färbt auch zweite Ebene mit ein! */
	color:  var(--linkcolor_header_hover);
}
ul.slimmenu li.cathead.active li a{	color:  var(--linkcolor_header);}
ul.slimmenu li.cathead.active li a:hover,
ul.slimmenu li.cathead.active li a.active{	color:  var(--linkcolor_header_hover);}


	.classic ul.slimmenu li a{transition: all .1s linear 0s;}


	@media only screen and (max-width: 1280px){
		.classic ul.slimmenu{max-width: calc(100vw - 20px);}
		.classic ul.slimmenu li.cathead a{   padding: 4px 10px 16px 0px;}
	}
	@media only screen and (max-width: 1230px){
		.classic ul.slimmenu{max-width: calc(100vw - 20px);}
		.classic ul.slimmenu li.cathead a{   padding: 4px 8px 16px 0px;}
	}
	.tablet ul.slimmenu{max-width: calc(100vw - 20px);}
	.tablet ul.slimmenu li.cathead a{font-size: 14px;    padding: 4px 8px 16px 0px;}
	.tablet ul.slimmenu li .sub-collapser {right: -2px; top:2px;}



	@media only screen and (max-width: 900px){
		.tablet #header.small ul.slimmenu li.cathead a{font-size: 13px;}
	}

	@media only screen and (max-width: 780px){
		.tablet ul.slimmenu li.cathead a{font-size: 13px;}
		.tablet #header.small ul.slimmenu li.cathead a{font-size: 12px;}
	}
	@media only screen and (max-width: 700px){
		.tablet ul.slimmenu li a{font-size: 12px;}
		.tablet #header.small ul.slimmenu li.cathead a{font-size: 11px;}
	}



/* normalize again: */
.desktop ul.slimmenu li li a,
.classic ul.slimmenu li li a{
	max-width:none; 
	height: auto; 
	line-height: 1; 
	text-align: left;
	color: var(--linkcolor_header);
}

ul.slimmenu li li{ transition: all .1s linear 0s;}
ul.slimmenu li li:hover{background-color: var(--highlight2);}
ul.slimmenu li li a {color:  var(--linkcolor_header);}
ul.slimmenu li a:hover{text-decoration: none; color:  var(--linkcolor_header_hover);}


/* The pseudo element has the same content and hover style, so it pre-sets the width of the element and visibility: hidden hides the pseudo element from actual view. */
ul.slimmenu li a::before{
    display: block;
    content: attr(title);
    font-weight: 500;
    height: 0;
    overflow: hidden;
    visibility: hidden;
}


ul.slimmenu li li a.active{
	/*background-image: url(/shop/images/all/icons/icon_dble_arrow.svg);*/
	color: var(--secondary);
}
ul.slimmenu li li a:hover{
	color: var(--linkcolor_header_hover);
}
ul.slimmenu > li.cathead a:after{
	content: "";
	position: absolute;
	top:56px;
	height: 0.5rem;
	width: calc(100% - 15px);
	left: 0;
	background-color: var(--linkcolor_header_hover);
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	transition: -webkit-transform .2s ease;
	transition: transform .2s ease;
	transition: transform .2s ease,-webkit-transform .2s ease;
}
#header.small ul.slimmenu > li.cathead a:after{
	top:31px;
}

ul.slimmenu > li.cathead:hover a:after,
ul.slimmenu > li.cathead.active a:after{
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}


ul.slimmenu > li:hover li a:after,
ul.slimmenu > li.active li a:after,
ul.slimmenu > li li a:hover:after,
ul.slimmenu > li li a.active:after{
	display: none;
}


/*
ul.slimmenu li a.active{	color: var(--primary);}
*/
ul.slimmenu li .sub-collapser{
	display:inline-block;
	position: absolute;
	right: 4px;
	top: 5px;
	width: 11px;	/* ACHTUNG, blendet im HamburgerMenue wenn nicht eingeloggt den Button aus! */
	text-align: center;
	z-index: 999;
	cursor: pointer;
}

.classic ul.slimmenu li .sub-collapser{	right: 5px;}
@media only screen and (max-width: 1100px){
	.classic ul.slimmenu li .sub-collapser{right: 0px;}
}


ul.slimmenu.collapsed li .sub-collapser{width: 100%; text-align: left;}

/* besondere Position des .sub-collapser in Main-Cat: */
/*
	ul.slimmenu li.cat474 .sub-collapser{left:72%;}
	ul.slimmenu li.cat477 .sub-collapser{left:86%;}
	ul.slimmenu li.cat484 .sub-collapser{left:77%;}
	ul.slimmenu li.cat100 .sub-collapser{left:82%;}
*/
ul.slimmenu li .sub-collapser:before {
	content: '';
	display: inline-block;
	margin: -0.25em;
}
ul.slimmenu li .sub-collapser > i {
	border: solid var(--primary);
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 2px;
    vertical-align: middle;
    margin: 0 0 0 8px;
    transition: all .2s ease;
    -webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

ul.slimmenu.collapsed li .sub-collapser > i{
	border-color: var(--linkcolor_header);
	display: inline-block;
	margin: 7px 0 0 0px;
	padding:4px;
}
ul.slimmenu li.exp .sub-collapser > i{
    -webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	margin:10px 0 0 8px;
}



/* SUBMENU 2.EBENE */
ul.slimmenu li.exp li .sub-collapser{
	top:auto;
	margin:-33px 0 0 0px;
}
ul.slimmenu li.exp li .sub-collapser >i{
    -webkit-transform: rotate(-45deg);
	 transform: rotate(-45deg);
	margin:0px 0 0 0px;
	transition: all .4s ease;
}
ul.slimmenu li.exp li:hover .sub-collapser > i{
    -webkit-transform: rotate(315deg);
	transform: rotate(315deg);
}

ul.slimmenu li.exp li ul{
	top:auto;
	margin:-49px 0 0 0px;
}




ul.slimmenu.collapsed > li.cathead a:after,
ul.slimmenu.collapsed > li.nochild a:hover:after, 
ul.slimmenu.collapsed > li a.active:after { display: none;}
/*
ul.slimmenu.collapsed li.expanded {	background-color: var(--background_header);}
*/

/*
ul.slimmenu.collapsed li.expanded li a{color:#fff;}
ul.slimmenu.collapsed li.expanded li.expanded a{color:#fff;}
ul.slimmenu.collapsed li.expanded li.expanded li a{color:#333;}
*/
ul.slimmenu.collapsed li .sub-collapser.expanded i {	color: #fff;}
/* EOF [+] Zeichen */



/* BOF Untermenu desktop: */
	/* BOF zweite Ebene */
	ul.slimmenu li ul {
		 margin:0 0 0 0;
		 padding:0;
		 list-style-type: none;
		 background-color: var(--background_header);
		-webkit-box-shadow: 1px -2px 8px -2px rgba(204,204,204,1);
		-moz-box-shadow: 1px -2px 8px -2px rgba(204,204,204,1);
		box-shadow: 1px 2px 5px -2px rgba(204,204,204,1);
		padding-top:0px;
		transition: all .1s ease 0s;
	}
	
	ul.slimmenu li > ul {
		display: none;
		position: absolute;
		z-index: 999;
		width:auto;
		min-width:170px;
		
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	-moz-box-shadow:    5px 5px 10px 0px rgba(0,0,0,.2);
	-webkit-box-shadow: 5px 5px 10px 0px rgba(0,0,0,.2);
	box-shadow:         5px 5px 10px 0px rgba(0,0,0,.2);
	}
	ul.slimmenu li li{
		display:block;
		padding: 0 15px 0 10px;
	}
	ul.slimmenu li li a {
		text-align:left;
		
		clear:both;
		border:none;
		/*border-bottom:1px dashed var(--linkcolor_header);*/
		padding:8px 6px 8px 6px;
		text-transform: none;
	/*
	background-image:url(/shop/images/all/icons/arrow_right_grey.png);
	background-position:  0px center;
	background-size: auto 30%;
	background-repeat:  no-repeat;
	padding:8px 6px 8px 15px;
		*/
		/*
		background-color: transparent;
		background-position:left center;
		background-repeat:no-repeat;
		background-size: 6% auto;
		*/
		
		
		display: block;
		white-space: nowrap;
		max-width:none;
		min-width: 0;
		line-height: normal;
		vertical-align: top;
		min-height:0;
	}
	ul.slimmenu li li:last-child a{
		border-bottom:none;
	}
	
	/* dritte ebene */
	ul.slimmenu li > ul > li ul {
		 display: none;
		 position: absolute;
		 left: 100%;
		 top: 0;
		 z-index: 999;
		 width: 100%;
		 margin-left:0px;
	}
/* EOF Untermenu desktop */




/* BOF unter Hamburger-Button */
ul.slimmenu.collapsed{
	overflow:hidden;
	background-color: var(--background_header);
	width:100%;
	top:80px;
	left:0;
	right:0;
	margin:0;
	border-bottom:1px solid var(--background_light);
}



/*
ul.slimmenu > li:first-child a{text-align: left;}
*/

/*
ul.slimmenu > li:first-child a:hover:after,
ul.slimmenu > li:first-child a.active:after{ left: 0; width: calc(100%);}

ul.slimmenu > li:last-child a{ }
ul.slimmenu > li:last-child li a{}


ul.slimmenu.collapsed > li:first-child a{}
ul.slimmenu.collapsed > li:last-child a{}
*/
ul.slimmenu.collapsed li {
    display: block;
    width: 100%;

    
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
	box-sizing: border-box;
}
ul.slimmenu.collapsed > li{
	padding:0;
	height:auto;
}
ul.slimmenu.collapsed  li.cathead{
	font-size: 15px;
	line-height:40px;
	border-bottom:1px solid var(--background_light, black);
}

ul.slimmenu.collapsed li > ul {
   width: 100%;
	padding-left:0;
	padding-top:0;
	border-bottom:0;
	box-shadow: none;
}
ul.slimmenu.collapsed li li{
	margin-top:0px;
	margin-right:0px;
	margin-bottom:0px;
}
ul.slimmenu.collapsed li li:hover {

}
ul.slimmenu.collapsed li a{
	display: block;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin-bottom:0px;
	
	border-top:1px solid #fff;
	
	
	padding:15px 0 15px 40px;
	max-width:none;
	min-height:0;
	text-align:left;
	color:  var(--linkcolor_header);
	background-image: none;
	font-size: 17px;
}

ul.slimmenu.collapsed li.cathead:hover a.child, 
ul.slimmenu.collapsed li.cathead a.hovered{
	/*color:var(--primary);*/
}

ul.slimmenu.collapsed li li a{
    border-bottom: 0px dashed #ccc;
    background-image: none;
	font-size:13px;
	padding: 10px 0 10px 40px;
	background-position: 20px center;
	background-size: 9px auto;
}

ul.slimmenu.collapsed li li:last-child a{
	border-bottom:none;
}
ul.slimmenu.collapsed li.cathead li a{
	font-weight:normal;
	text-transform:none;
	text-align: left;
	padding-left: 45px;
	/*background-image: url(/shop/images/all/icons/icon_dble_arrow.svg);*/
}
ul.slimmenu.collapsed li.cathead li a:hover{
	color: var(--highlight);
	padding-left: 50px;
}
ul.slimmenu.collapsed li.cathead li a.active{
	font-weight: bold;
	color: var(--highlight);

}
ul.slimmenu.collapsed li .sub-collapser:before {
	margin:30px 17px 0px 0;
}


ul.slimmenu.collapsed li .sub-collapser.expanded:before {
	margin:35px 17px 0px 0;
}
ul.slimmenu.collapsed li .sub-collapser.expanded > i {
    
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	opacity:1;
	
}

ul.slimmenu.collapsed li .sub-collapser {
	display:block;
	position:absolute;
	top:0;
	left:0;
	right:0;
	height:60px;
	cursor:pointer;
}


ul.slimmenu.collapsed li > ul {
	display: none;
	position: static;
	margin:0;
}
ul.slimmenu.collapsed .searchtitle{display:none;}
	.classis ul.slimmenu li .sub-collapser > i{bottom: 1px;}

