/*
Elektro Hofmann GmbH
creation Date: 2026-01-09
Author: Sebastian Osinski
http://www.sebbi.net
https://ddm-friends.de
*/

#topmenu-wrapper,
#topmenu-wrapper *,
#topmenu-wrapper ul.mod-menu__sub li:before,
#top_kontaktzeile, #top_kontaktzeile *,
#top_textbox, #top_textbox *{
	-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: 70px;
	color: #FAFAFA;
	background-color: #010101;
	top: 0px;
	left: 0px;
}
#topmenu-wrapper.smaller{
	height: 60px;
}
:where(.mod-menu__toggle-sub){
	color: #D2D2D2;
}

#top-menu{
	display: block;
	position: absolute;
	right: 320px;
	top: 50%;
	transform: translateY(-50%);
}
#topmenu-wrapper.smaller #top-menu{
}

.navbar-toggler,
.icon-chevron-down{
	display: none;
}

/* responsive-only elements – hidden in regular view */
.logo_img.res_menu_logo{
	display: none;
}
#resmenu_footer{
	display: none;
}

#logo_wrap{
	position: absolute;
	height: 100%;
	width: 250px;
	left: 50%;
	margin-left: -630px;
	top: 0px;
	z-index: 0;
}
.logo_img{
	position: absolute;
	left: 0%;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%);
	height: 60px;
}
#topmenu-wrapper.smaller .logo_img{
	height: 50px;
}

#topmenu-wrapper ul.nav{
	display: block;
	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{
	display: inline-block;
	position: relative;
	width: auto;
	font-size: 16px;
	line-height: 69px;
}
#topmenu-wrapper.smaller ul.nav li,
#topmenu-wrapper.smaller ul.nav li .nav-header{
	line-height: 59px;
}
#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: -1px;
}
#topmenu-wrapper ul.mod-menu > li.current > a,
#topmenu-wrapper ul.mod-menu a.current{
	background-color: #3C4FAB;
	color: white !important;
}
#topmenu-wrapper ul.mod-menu__sub a.current{
	border: none;
}
#topmenu-wrapper ul.mod-menu > li:hover,
#topmenu-wrapper ul.mod-menu > li:hover > button,
#topmenu-wrapper ul.mod-menu__sub li:hover > a,
#topmenu-wrapper ul.mod-menu__sub li:hover > span.nav-header{
	text-decoration: underline;
}

#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: 45px;
	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: black;
}
#topmenu-wrapper ul.mod-menu__sub li a,
#topmenu-wrapper.smaller ul.mod-menu__sub li a{
	padding: 10px;
}
#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;
}


/* RESPONSIVE */
@media (max-width: 1750px){
	#logo_wrap{
		left: 5%;
		margin-left: 0px;
	}
	#top-menu{
		right: 0px;
	}
	.mod-languages,
	#topmenu-wrapper.smaller .mod-languages{
		top: -5px;
		right: 15px;
	}
}
@media (max-width: 1620px){
}

@media (max-width: 1500px){
}

@media (max-width: 1230px){
	#menu-activator{
		right: 5%;
		top: 20px;
	}
	#topmenu-wrapper.smaller #menu-activator{
		top: 18px;
	}
	#topmenu-wrapper{
		height: 60px;
	}
	#logo_wrap{
		left: 0px;
	}
	#topmenu-wrapper.res_act #logo_wrap{
	}

	/* swap to the dedicated responsive-menu logo */
	#topmenu-wrapper .logo_img.reg_logo,
	#topmenu-wrapper.smaller .logo_img.reg_logo{
		display: none;
	}
	#topmenu-wrapper .logo_img.res_menu_logo,
	#topmenu-wrapper.smaller .logo_img.res_menu_logo{
		display: block;
		height: 38px;
		left: 5%;
	}

	#topmenu-wrapper:not(.res_act) ul.nav{
		height: 0px;
		overflow: hidden;
	}

	/* ===== RESPONSIVE MENU PANEL ===== */
	#topmenu-wrapper.res_act #top-menu{
		position: fixed;
		width: 100%;
		height: calc(100% - 60px);
		left: 0px;
		top: 60px;
		padding-top: 0px;
		background-color: #ffffff;
		transform: none;
		overflow-y: auto;
		overflow-x: hidden;
	}
	#topmenu-wrapper.res_act.smaller #top-menu{
		top: 60px;
		height: calc(100% - 60px);
	}
	#top-menu{
		overflow: hidden;
	}
	#topmenu-wrapper.res_act ul.nav{
		display: block;
		margin: 0px;
		padding: 0px;
		text-align: left;
		background-color: #ffffff;
	}

	/* ----- generic list-item reset for all levels ----- */
	#topmenu-wrapper ul.nav li,
	#topmenu-wrapper.res_act ul.nav li,
	#topmenu-wrapper ul.nav li .nav-header{
		display: block;
		position: relative;
		width: 100%;
		padding: 0px;
		margin: 0px;
		text-align: left;
		background-color: transparent;
		line-height: normal;
		border: none;
		overflow: visible;
	}

	/* ----- the clickable row (link or header) ----- */
	#topmenu-wrapper.res_act ul.nav li a,
	#topmenu-wrapper.res_act ul.nav li .nav-header{
		display: block;
		height: auto;
		padding: 18px 55px 18px 20px;
		line-height: 22px;
		text-align: left;
		color: #3C4FAB;
		font-family: "Raleway-Bold", sans-serif;
		text-transform: uppercase;
	}

	/* ===== LEVEL 1 ===== */
	#topmenu-wrapper.res_act ul.mod-menu > li{
		background-color: #ffffff;
		border-bottom: 1px solid #C3C2C2;
	}
	#topmenu-wrapper.res_act ul.mod-menu > li > a,
	#topmenu-wrapper.res_act ul.mod-menu > li > .nav-header{
		text-transform: uppercase;
		font-family: "Raleway-Bold", sans-serif;
		font-size: 16px;
		letter-spacing: 0.5px;
		padding-left: 20px;
	}

	/* ===== LEVEL 2 (and the sub-list wrapper) ===== */
	#topmenu-wrapper.res_act ul.mod-menu__sub{
		position: relative;
		height: auto;
		transform: none;
		top: 0px;
		left: 0px;
		width: 100% !important;
		margin: 0px;
		padding: 0px;
		opacity: 1;
		text-align: left;
		background-color: #ECECEC;
	}
	#topmenu-wrapper.res_act ul.mod-menu__sub li,
	#topmenu-wrapper.smaller.res_act ul.mod-menu__sub li{
		display: block;
		background-color: transparent;
		border: none;
		border-bottom: 1px solid #C3C2C2;
		text-align: left;
		line-height: normal;
		margin: 0px;
		font-size: 15px;
	}
	#topmenu-wrapper.res_act ul.mod-menu__sub li:last-child{
		border-bottom: none;
	}
	/* level-2 link */
	#topmenu-wrapper.res_act ul.mod-menu > li > ul.mod-menu__sub > li > a,
	#topmenu-wrapper.res_act ul.mod-menu > li > ul.mod-menu__sub > li > .nav-header{
		text-transform: uppercase;
		font-family: "Raleway-Medium", sans-serif;
		font-size: 15px;
		padding-left: 30px;
	}

	/* ===== LEVEL 3 ===== */
	#topmenu-wrapper.res_act ul.mod-menu__sub ul.mod-menu__sub{
		background-color: #ffffff;
	}
	#topmenu-wrapper.res_act ul.mod-menu__sub ul.mod-menu__sub li{
		margin-left: 0px;
		margin-right: 0px;
		border-bottom: 1px solid #C3C2C2;
	}
	#topmenu-wrapper.res_act ul.mod-menu__sub ul.mod-menu__sub li:last-child{
		border-bottom: none;
	}
	#topmenu-wrapper.res_act ul.mod-menu__sub ul.mod-menu__sub > li > a,
	#topmenu-wrapper.res_act ul.mod-menu__sub ul.mod-menu__sub > li > .nav-header{
		text-transform: none;
		font-family: "Raleway-Regular", sans-serif;
		font-size: 15px;
		padding-left: 40px;
	}
	/* extra indentation for any deeper levels */
	#topmenu-wrapper.res_act ul.mod-menu__sub ul.mod-menu__sub ul.mod-menu__sub > li > a,
	#topmenu-wrapper.res_act ul.mod-menu__sub ul.mod-menu__sub ul.mod-menu__sub > li > .nav-header{
		padding-left: 55px;
	}

	/* ===== ACTIVE / CURRENT HIGHLIGHT ===== */
	#topmenu-wrapper.res_act ul.mod-menu a.current,
	#topmenu-wrapper.res_act ul.mod-menu li.current > a,
	#topmenu-wrapper.res_act ul.mod-menu li.active > a{
		background-color: #3C4FAB;
		color: #ffffff;
	}
	/* keep level-1/parent rows un-highlighted just because a child is active */
	#topmenu-wrapper.res_act ul.mod-menu li.deeper.parent.active > a,
	#topmenu-wrapper.res_act ul.mod-menu li.deeper.parent.current > a{
		background-color: transparent;
		color: #3C4FAB;
	}

	/* ===== OPEN/CLOSE ARROW INDICATORS ===== */
	#topmenu-wrapper.res_act ul.nav li.deeper.parent:after{
		content: "";
		position: absolute;
		cursor: pointer;
		right: 20px;
		top: 18px;
		width: 18px;
		height: 22px;
		background-image: url("/images/icons/pfeil_menue_rechts_e_hofmann.svg");
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		background-color: transparent;
		margin: 0px;
		line-height: normal;
		left: auto;
		color: transparent;
		z-index: 4;
	}
	#topmenu-wrapper.res_act ul.nav li.deeper.parent.opened:after{
		content: "";
		background-image: url("/images/icons/pfeil_menue_unten_e_hofmann.svg");
		left: auto;
		line-height: normal;
		color: transparent;
		background-color: transparent;
	}

	/* ===== SUBMENU SHOW/HIDE ===== */
	#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;
		height: auto;
	}
	#topmenu-wrapper.res_act ul.nav{
		margin-left: 0px;
	}

	/* ===== MENU FOOTER (copyright + social) ===== */
	#topmenu-wrapper.res_act #resmenu_footer{
		display: block;
		padding: 25px 20px 40px 20px;
		background-color: #ffffff;
	}
	#resmenu_footer p{
		margin: 0px;
		color: #C3C2C2;
		font-size: 13px;
		font-family: "Raleway-Regular", sans-serif;
	}
	#resmenu_footer .resmenu_social{
		margin-top: 15px;
	}
	#resmenu_footer .resmenu_social a{
		display: inline-block;
		margin-right: 12px;
		padding: 0px;
	}
	#resmenu_footer .resmenu_social a img{
		height: 38px;
		width: 38px;
		display: block;
	}

	.mod-languages,
	#topmenu-wrapper.smaller .mod-languages{
		right: 5%;
		margin-right: 60px;
		top: 14px;
	}
}

@media (max-width: 1000px){
}
@media (max-width: 800px){
}