/*
KSM Verlag Template
creation Date: 2026-02-26
Author: Sebastian Osinski
http://www.sebbi.net
https://ddm-friends.de
*/

#topmenu-wrapper,
#topmenu-wrapper *,
#topmenu-wrapper ul.mod-menu__sub li:before{
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}

#topmenu-wrapper{
	text-align: left;
	position: fixed;
	width: 100%;
	height: 130px;
	background-color: white;
	top: 0px;
	left: 0px;
}
#topmenu-wrapper.smaller{
	height: 60px;
}

#top-menu{
	display: block;
	position: absolute;
	right: 0px;
	bottom: 0px;
	font-family: 'Merriweather-VariableFont_opszwdthwght', sans-serif;
	width: 100%;
}
#topmenu-wrapper.smaller #top-menu{
	width: 80%;
}

#topmenu-wrapper > .main-container{
	height: 100%;
	max-width: 100%;
}

.navbar-toggler,
.icon-chevron-down{
	display: none;
}

#logo_wrap{
	position: absolute;
	height: 60px;
	width: 250px;
	left: 0%;
	top: 0px;
	z-index: 2;
}
.logo_img{
	position: absolute;
	left: 0%;
	top: 0%;
	z-index: 2;
	height: 60px;
}
#topmenu-wrapper.smaller #logo_wrap{
}
#topmenu-wrapper.smaller .logo_img{
	height: 60px;
}

#topmenu-wrapper ul.nav{
	display: flex;
	justify-content: space-between;
	flex-flow: row wrap;
	position: relative;
	z-index: 1;
	text-align: center;
	margin-top: 0px;
}
#topmenu-wrapper.smaller ul.nav,
#topmenu-wrapper.res_act ul.nav{
	margin-top: 0px;
}
#topmenu-wrapper.smaller ul.mod-menu__sub li{
	margin-top: 0px;
}
#topmenu-wrapper ul.nav li,
#topmenu-wrapper ul.nav li .nav-header{
	list-style: none;
	list-style-type: none;
	position: relative;
	width: auto;
	font-size: 16px;
	line-height: 60px;
	font-weight: bold;
	text-transform: uppercase;
}
#topmenu-wrapper.smaller ul.nav li,
#topmenu-wrapper.smaller ul.nav li .nav-header{
	line-height: 60px;
}
#topmenu-wrapper ul.nav li a,
#topmenu-wrapper ul.nav li .nav-header{
	display: block;
	height: 100%;
	cursor: pointer;
	padding-left: 30px;
	padding-right: 30px;
}
:where(.mod-menu__toggle-sub){
	background-color: transparent;
	margin-top: 0px;
	color: #0f0f0f;
	font-family: 'Merriweather-VariableFont_opszwdthwght', sans-serif;
}
#topmenu-wrapper ul.mod-menu > li.current > a,
#topmenu-wrapper ul.mod-menu a.current,
#topmenu-wrapper ul.mod-menu li.current .nav-header,
#topmenu-wrapper ul.mod-menu > li:hover{
	background-color: #f2f2f2;
}
#topmenu-wrapper ul.mod-menu__sub a.current{
	border: none;
}
#topmenu-wrapper ul.mod-menu > li:hover{
}

#topmenu-wrapper ul.mod-menu__sub li a{
	padding-left: 0px;
	padding-right: 0px;
}

#topmenu-wrapper ul.mod-menu__sub{
	position: absolute;
	margin: 0px;
	padding: 0px;
	top: 35px;
	left: -20px;
	overflow: hidden;
	height: 0px;
	width: 270px;
	text-align: center;
	opacity: 0;
}
#topmenu-wrapper.smaller ul.mod-menu__sub{
	top: 45px;
}
#topmenu-wrapper ul.nav li.parent:hover ul.mod-menu__sub{
	overflow: visible;
	opacity: 1;
	padding: 0px;
	padding-top: 25px;
}
#topmenu-wrapper.smaller ul.nav li.parent:hover ul.mod-menu__sub{
	padding-top: 15px;
}
#topmenu-wrapper ul.mod-menu__sub li,
#topmenu-wrapper.smaller ul.mod-menu__sub li{
	line-height: 25px;
	padding: 0px;
	padding-left: 0px;
	text-align: left;
	display: block;
	overflow: hidden;
	margin-top: 1px;
	margin-bottom: 0px;
	background-color: white;
}
#topmenu-wrapper ul.mod-menu__sub li a,
#topmenu-wrapper.smaller ul.mod-menu__sub li a{
	padding: 10px;
	padding-top: 0px;
	padding-bottom: 0px;
}
#topmenu-wrapper ul.mod-menu__sub li:hover > a,
#topmenu-wrapper ul.mod-menu__sub li.current > a,
#topmenu-wrapper ul.mod-menu__sub li:hover > span.nav-header{
	background-color: #f2f2f2;
}
#topmenu-wrapper ul.nav li.parent:hover ul.mod-menu__sub{
	height: auto;
}
#topmenu-wrapper ul.mod-menu__sub li.parent:hover{
	overflow: visible;
}


#topmenu-wrapper ul.mod-menu__sub li.parent > ul.mod-menu__sub{
	left: 100%;
	margin-left: 0px;
	top: -1px;
	visibility: hidden;
}
#topmenu-wrapper ul.mod-menu__sub li.parent:hover > ul.mod-menu__sub{
	visibility: visible;
	left: 100%;
	padding-top: 0px !important;
}
#topmenu-wrapper ul.mod-menu__sub ul.mod-menu__sub li{
	margin-left: 5px;
	margin-right: 5px;
}

#topmenu-wrapper li a:hover,
#topmenu-wrapper li a.current,
#topmenu-wrapper li.active .nav-header{
	text-decoration: none;
}

/* MENU ACTIVATOR */
#menu-activator{
	position: fixed;
	height: auto;
	width: 40px;
	cursor: pointer;
	top: 20px;
	right: -100%;
	z-index: 3;
}
#menu-activator > div{
	width: 100%;
	height: 4px;
	margin-bottom: 6px;
	margin-left: auto;
	margin-right: 0px;
}
#menu-activator > div:nth-child(2){
	width: 70%;
}
#menu-activator > div:nth-child(3){
	width: 90%;
}
#menu-activator:hover > div{
	width: 100%;
}
#topmenu-wrapper.smaller #menu-activator{
}



/* LANGUAGE */
.mod-languages{
	position: absolute;
	top: 38px;
	right: 45px;
}
#topmenu-wrapper.smaller .mod-languages{
	top: 18px;
}
.mod-languages ul{
	margin: 0px;
}
.mod-languages ul li{
	display: inline-block !important;
	font-size: 14px;
	margin: 0px;
	margin-left: 10px;
}
.mod-languages button{
	display: none;
}
div.mod-languages .dropdown-menu{
	padding: 0px;
}
.mod-languages ul li > a{
	padding: 0px;
}
div.mod-languages ul.lang-block li{
	background-color: transparent;
	margin: 0px;
}
div.mod-languages ul li.lang-active{
	background-color: transparent !important;
}
div.mod-languages ul.lang-block li a{
	padding-left: 10px;
	padding-right: 10px;
	font-size: 17px;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.mod-languages .visually-hidden{
	display: none;
}


/* TOP MENU ADD */
.topmenu_add{
	position: absolute;
	top: 20px;
	right: 0px;
	white-space: nowrap;
	text-transform: uppercase;
	font-size: 14px;
}
#topmenu-wrapper.smaller .topmenu_add{
	top: -150px;
}
.topmenu_add_spacer{
	padding-left: 10px;
	padding-right: 10px;
}
.topmenu_add .h_icon{
	display: inline-block;
	height: 24px;
	vertical-align: middle;
	margin-left: 3px;
	margin-right: 3px;
}
.topmenu_add .h_icon:hover{
	filter: drop-shadow(0px 0px 1px rgba(255, 255, 255, 0.6))  brightness(1.5);
}




#topmenu-wrapper .nav-item.item-115 a{
	text-transform: none !important;
}
#topmenu-wrapper .nav-item.item-115::after{
  content: "";
  position: absolute;
  top: -3px;
  right: 45px;
  width: 24px;
  height: 24px;
  background-image: url("/images/icons/spazz_schwarz_ksm_spazz.svg");
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
}
#topmenu-wrapper.smaller .nav-item.item-115::after{
  content: "";
  position: absolute;
  top: 15px;
  right: 0px;
  width: 24px;
  height: 24px;
  background-image: url("/images/icons/spazz_schwarz_ksm_spazz.svg");
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
}


/* RESPONSIVE */
@media (max-width: 1750px){
}
@media (max-width: 1620px){
}

@media (max-width: 1500px){
}

@media (max-width: 1380px){
	#menu-activator{
		right: 5%;
		top: 20px;
	}
	#topmenu-wrapper.smaller #menu-activator{
	}
	#topmenu-wrapper{
		height: 60px;
	}
	#logo_wrap{
		left: 0px;
	}
	#topmenu-wrapper.res_act #logo_wrap{
	}
	#topmenu-wrapper .logo_img,
	#topmenu-wrapper.smaller .logo_img{
	}
	#topmenu-wrapper:not(.res_act) ul.nav{
		height: 0px;
		overflow: hidden;
	}
	#topmenu-wrapper ul.nav li{
		width: 100%;
		text-align: center;
		padding: 0px;
	}
	#topmenu-wrapper ul.nav li a{
		padding: 0px;
	}
	
	#topmenu-wrapper.res_act ul.nav li.deeper.parent:after{
		content: "+";
		position: absolute;
		cursor: pointer;
		z-index: 25;
		width: 30px;
		height: 30px;
		line-height: 29px;
		left: 90%;
		margin-left: 0px;
		top: 13px;
		font-weight: bold;
		color: white;
		background-color: #262626;
		z-index: 4;
	}
	#topmenu-wrapper.res_act ul.nav li.deeper.parent.opened:after,
	#topmenu-wrapper.res_act ul.nav li.deeper.parent:hover:after{
		content: "-";
		position: absolute;
		cursor: pointer;
		z-index: 25;
		width: 30px;
		height: 30px;
		line-height: 27px;
		left: 90%;
		top: 13px;
		font-weight: bold;
		color: white;
		background-color: #262626;
		z-index: 4;
	}
	
	#topmenu-wrapper.res_act #top-menu{
		background-color: white;
		transform: none;
	}
	#topmenu-wrapper ul.nav li.active:after{
		content: '';
	}
	#topmenu-wrapper.res_act ul.nav li,
	#topmenu-wrapper ul.nav li .nav-header{
		display: block;
		position: relative;
		padding: 0px;
		padding-top: 0px;
		margin: 0px;
		line-height: 55px;
		margin-left: auto;
		margin-right: auto;
	}
	#topmenu-wrapper ul.mod-menu__sub li, 
	#topmenu-wrapper.smaller ul.mod-menu__sub li{
		text-align: center;
		line-height: 25px;
	}
	#topmenu-wrapper ul.mod-menu__sub li a, 
	#topmenu-wrapper.smaller ul.mod-menu__sub li a{
		line-height: 25px;
	}
	#topmenu-wrapper.res_act ul.mod-menu__sub li,
	#topmenu-wrapper.smaller.res_act ul.mod-menu__sub li{
		font-size: 14px;
	}
	#topmenu-wrapper.res_act #top-menu{
		position: fixed;
		width: 100%;
		height: 100%;
		left: 0px;
		top: 60px;
		padding-top: 0px;
	}
	#topmenu-wrapper.res_act.smaller #top-menu{
		top: 60px;
	}
	#top-menu{
		overflow: hidden;
	}
	#topmenu-wrapper.smaller ul.nav li.parent:hover ul.mod-menu__sub{
		padding-top: 0px;
	}
	#topmenu-wrapper.res_act ul.nav li.deeper.parent ul.mod-menu__sub{
		display: none;
	}
	#topmenu-wrapper.res_act ul.nav li.deeper.parent.opened ul.mod-menu__sub{
		display: block;
		opacity: 1;
	}
	#topmenu-wrapper.res_act ul.mod-menu__sub{
		position: relative;
		height: auto;
		transform: none;
		top: 0px;
		width: 100% !important;
		left: 0px;
	}
	#topmenu-wrapper ul.nav li.parent:hover ul.mod-menu__sub{
		padding-top: 0px;
    padding-bottom: 0px;
	}
	#topmenu-wrapper.res_act ul.nav{
		margin-left: 0px;
	}
	
	#topmenu-wrapper ul.mod-menu__sub li.parent .nav-header{
	}
	#topmenu-wrapper ul.mod-menu__sub li.deeper.parent > ul.mod-menu__sub{
		left: auto;
		top: auto;
		margin: 0px;
		padding: 0px;
		position: relative;
		display: block;
		visibility: visible;
		height: 0px;
	}
	#topmenu-wrapper ul.mod-menu__sub li.parent:hover > ul.mod-menu__sub{
		height: auto;
	}
	
	.mod-languages,
	#topmenu-wrapper.smaller .mod-languages{
		right: 5%;
		margin-right: 60px;
		top: 14px;
	}
	
	#topmenu-wrapper .topmenu_add{
		top: auto !important;
		bottom: -200px;
		position: fixed;
		text-align: center;
		width: 100%;
		white-space: normal;
		line-height: 25px;
	}
	#topmenu-wrapper.res_act .topmenu_add{
		bottom: 10px;
	}
	
	
	
	#topmenu-wrapper .nav-item.item-115::after,
	#topmenu-wrapper.smaller .nav-item.item-115::after{
		right: 50%;
		margin-right: -12px;
		top: -0px;
	}
}

@media (max-width: 1000px){
}
@media (max-width: 800px){
}