/*
Stadler Spedition J6
creation Date: 2026-06-15
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 *,
#header, #header *{
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}

#header{
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	background-color: white;
	height: 30px;
	line-height: 30px;
	font-size: 14px;
}
#header.smaller{
	top: -100px;
}
#header .flexbox{
	text-align: left;
	width: 50%;
}
#header .flexbox._l{
	text-align: left;
}
#header .flexbox._r{
	text-align: right;
}
#header .flexbox._r a{
	margin-left: 40px;
}

#topmenu-wrapper{
	text-align: left;
	position: fixed;
	width: 100%;
	height: 50px;
	color: #FAFAFA;
	background-color: transparent;
	top: 60px;
	left: 0px;
	font-size: 14px;
}
#topmenu-wrapper span.nav-header{
	font-size: 14px !important;
}
#topmenu-wrapper > .main-container{
	height: 100%;
	width: 1420px;
}
#topmenu-wrapper.smaller{
	top: 10px;
}
:where(.mod-menu__toggle-sub){
}

#top-menu{
	display: block;
	position: absolute;
	right: 0px;
	top: 0px;
	height: 50px;
}
#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: 0px;
	top: 0px;
	z-index: 0;
}
.logo_img{
	position: absolute;
	left: 0%;
	top: 0%;
	z-index: 2;
	height: 100%;
}
#topmenu-wrapper.smaller .logo_img{
}

#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{
	display: inline-block;
	background-color: #061E35;
	position: relative;
	width: auto;
	line-height: 50px;
}
#topmenu-wrapper ul.nav li a,
#topmenu-wrapper ul.nav li .nav-header{
	display: block;
	position: relative;
	height: 100%;
	cursor: pointer;
	padding-left: 30px;
	padding-right: 30px;
	text-transform: uppercase;
	font-weight: bold;
}
#topmenu-wrapper ul.mod-menu > li.current > a,
#topmenu-wrapper ul.mod-menu a.current{
	background-color: #061E35;
	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: none;
}

#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: 27px;
	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: #061E35;
}
#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: relative;
}
#topmenu-wrapper.smaller .mod-languages{
}
.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;
}



#topmenu-wrapper ul.nav li.item-125,
#topmenu-wrapper ul.nav li.item-126{
	padding-right: 30px;
	-webkit-clip-path: polygon(
        0 0,
        100% 0,
        calc(100% - 64px) 100%,
        0 100%
    );
    clip-path: polygon(
        0 0,
        100% 0,
        calc(100% - 64px) 100%,
        0 100%
    );
}
#topmenu-wrapper ul.nav li.item-129,
#topmenu-wrapper ul.nav li.item-130{
	padding-left: 30px;
	padding-right: 10px;
	background-color: #FDC300;
	color: #061E35;
	-webkit-clip-path: polygon(
        64px 0,
        100% 0,
        100% 100%,
        0 100%
    );
    clip-path: polygon(
        64px 0,
        100% 0,
        100% 100%,
        0 100%
    );
	margin-left: -50px;
}
#topmenu-wrapper ul.nav li img{
	position: absolute;
	height: 20px;
	width: auto;
	top: 50%;
	margin-top: -10px;
	right: 8px;
}


/* RESPONSIVE */
@media (max-width: 1750px){
	#top-menu{
		right: 0px;
	}
	.mod-languages,
	#topmenu-wrapper.smaller .mod-languages{
		top: 0px;
		right: 15px;
	}
}
@media (max-width: 1620px){
}

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

@media (max-width: 1460px){
	/* ===== BURGER =====
	   #menu-activator is position:fixed, so it cannot inherit the bar's
	   centre – the top values below centre it on the same axis as the
	   logo in each state:
	   closed          bar  60 - 120 -> centre  90, bars 24px high -> top 78
	   closed .smaller bar  10 -  70 -> centre  40                 -> top 28
	   open            bar  34 - 102 -> centre  68, bars 18px high -> top 59
	   open .smaller   bar   4 -  72 -> centre  38                 -> top 29 */
	#menu-activator{
		right: 5%;
		top: 78px;
	}
	#topmenu-wrapper.smaller #menu-activator{
		top: 28px;
	}
	#menu-activator > div:last-child{
		margin-bottom: 0px;
	}
	#topmenu-wrapper{
		height: 60px;
	}
	#logo_wrap{
		left: 0px;
	}

	/* ===== HEADER BAR WHILE THE MENU IS OPEN =====
	   The bar docks right underneath the contact line (#header, 30px),
	   gets the dark blue background and a 4px yellow top edge. */
	#topmenu-wrapper.res_act{
		top: 34px;
		height: 68px;
		background-color: #061E35;
	}
	#topmenu-wrapper.res_act:before{
		content: "";
		position: absolute;
		left: 0px;
		top: -4px;
		width: 100%;
		height: 4px;
		background-color: #FDC300;
	}
	/* scrolled state: #header is gone, bar sits at the very top */
	#topmenu-wrapper.res_act.smaller{
		top: 4px;
	}

	#topmenu-wrapper.res_act #menu-activator{
		top: 59px;
	}
	#topmenu-wrapper.res_act.smaller #menu-activator{
		top: 29px;
	}
	#topmenu-wrapper.res_act #menu-activator > div,
	#topmenu-wrapper.res_act #menu-activator > div:nth-child(2),
	#topmenu-wrapper.res_act #menu-activator > div:nth-child(3),
	#topmenu-wrapper.res_act #menu-activator:hover > div{
		width: 100%;
		height: 4px;
		margin-bottom: 3px;
		background-color: #ffffff;
	}
	/* 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: 0px;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	#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% - 102px);
		left: 0px;
		top: 102px;
		padding-top: 0px;
		background-color: #061E35;
		transform: none;
		overflow-y: auto;
		overflow-x: hidden;
	}
	#topmenu-wrapper.res_act.smaller #top-menu{
		top: 72px;
		height: calc(100% - 72px);
	}
	#top-menu{
		overflow: hidden;
	}
	/* 4px side gutter for the whole item list – the yellow separators
	   (and the yellow line under the header bar) end there */
	#topmenu-wrapper.res_act ul.nav{
		display: block;
		margin: 0px 4px;
		padding: 0px;
		text-align: left;
		background-color: transparent;
		border-top: 1px solid #FDC300;
	}

	/* ----- 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%;
		box-sizing: border-box;
		padding: 0px;
		margin: 0px;
		text-align: left;
		background-color: transparent;
		line-height: normal;
		border: none;
		overflow: visible;
	}

	/* ----- the clickable row (link, header or toggle button) -----
	   Joomla renders a menu heading that has children as
	   <button class="mod-menu__toggle-sub">, so the button is a row of
	   its own and has to be styled (and reset) like one. width/float are
	   pinned so the yellow separator always spans the full row – a button
	   is inline-block by default and would otherwise shrink to its text. */
	#topmenu-wrapper.res_act ul.nav li a,
	#topmenu-wrapper.res_act ul.nav li .nav-header,
	#topmenu-wrapper.res_act ul.nav li > button.mod-menu__toggle-sub{
		display: block;
		float: none;
		width: 100%;
		box-sizing: border-box;
		height: auto;
		margin: 0px;
		padding: 14px 55px 15px 11px;
		line-height: 22px;
		text-align: left;
		color: #ffffff;
		font-family: "IstokWeb-Bold", sans-serif;
		text-transform: uppercase;
		letter-spacing: 0px;
		font-size: 17px !important;
		background: transparent;
		-webkit-appearance: none;
		appearance: none;
		cursor: pointer;
		border: 0px none;
		border-bottom: 1px solid #FDC300;
	}
	/* label inside the toggle button – the button already is the row */
	#topmenu-wrapper.res_act ul.nav li > button.mod-menu__toggle-sub .nav-header{
		display: block;
		width: auto;
		padding: 0px;
		border: none;
		background: transparent;
		color: inherit;
		font-family: inherit !important;
		font-size: inherit !important;
		font-style: inherit;
		font-weight: inherit;
		line-height: inherit;
		letter-spacing: inherit;
		text-transform: inherit;
		text-align: inherit;
	}

	/* A parent that is a real link renders <a> AND a toggle button; the
	   whole row toggles via top_menu.js, so the extra button row is
	   dropped. Headings without a link keep their button – that button
	   is their only row. */
	#topmenu-wrapper.res_act ul.nav li:has(> a) > button.mod-menu__toggle-sub{
		display: none;
	}

	/* ===== LEVEL 1 ===== */
	#topmenu-wrapper.res_act ul.mod-menu > li{
		background-color: transparent;
		border-bottom: none;
	}
	#topmenu-wrapper.res_act ul.mod-menu > li > a,
	#topmenu-wrapper.res_act ul.mod-menu > li > .nav-header,
	#topmenu-wrapper.res_act ul.mod-menu > li > button.mod-menu__toggle-sub{
		text-transform: uppercase;
		font-family: "IstokWeb-Bold", sans-serif;
		padding-left: 11px;
	}

	/* ===== 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: auto !important;
		margin: 0px 0px 0px 24px;
		padding: 0px;
		opacity: 1;
		text-align: left;
		background-color: transparent;
	}
	#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;
		text-align: left;
		line-height: normal;
		margin: 0px;
	}
	/* 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,
	#topmenu-wrapper.res_act ul.mod-menu > li > ul.mod-menu__sub > li > button.mod-menu__toggle-sub{
		text-transform: uppercase;
		font-family: "IstokWeb-Regular", sans-serif;
		font-weight: normal;
		padding-left: 5px;
	}

	/* ===== LEVEL 3 ===== */
	#topmenu-wrapper.res_act ul.mod-menu__sub ul.mod-menu__sub{
		background-color: transparent;
		margin-left: 22px;
	}
	#topmenu-wrapper.res_act ul.mod-menu__sub ul.mod-menu__sub li{
		margin-left: 0px;
		margin-right: 0px;
	}
	#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,
	#topmenu-wrapper.res_act ul.mod-menu__sub ul.mod-menu__sub > li > button.mod-menu__toggle-sub{
		text-transform: none;
		font-family: "IstokWeb-BoldItalic", sans-serif;
		font-style: italic;
		padding-left: 5px;
	}
	/* extra indentation for any deeper levels */
	#topmenu-wrapper.res_act ul.mod-menu__sub ul.mod-menu__sub ul.mod-menu__sub{
		margin-left: 22px;
	}

	/* the JS-generated copy of a parent link must stay visible inside the
	   responsive menu (.resp_only only unhides at 1320px) */
	#topmenu-wrapper.res_act li.resp_only,
	#topmenu-wrapper.res_act li.parent-link-copy{
		display: block;
	}

	/* ===== 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: transparent;
		color: #FDC300 !important;
	}
	/* 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: #ffffff !important;
	}

	/* ===== OPEN/CLOSE ARROW INDICATORS ===== */
	#topmenu-wrapper.res_act ul.nav li.deeper.parent:after{
		content: "";
		position: absolute;
		cursor: pointer;
		right: 17px;
		top: 17px;
		width: 18px;
		height: 18px;
		background-image: url("/images/icons/menue_rechts.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/menue_unten.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;
	}

	/* ===== MENU FOOTER (Versandkostenrechner + social) ===== */
	#topmenu-wrapper.res_act #resmenu_footer{
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 23px 21px 45px 12px;
		background-color: #061E35;
	}
	#resmenu_footer .resmenu_calc{
		display: block;
		padding: 0px;
		line-height: 0px;
	}
	#resmenu_footer .resmenu_calc img{
		display: block;
		height: 52px;
		width: auto;
	}
	#resmenu_footer .resmenu_social{
		margin-top: 0px;
		line-height: 0px;
		flex: 0 0 auto;
	}
	#resmenu_footer .resmenu_social a{
		display: inline-block;
		margin-right: 0px;
		margin-left: 12px;
		padding: 0px;
	}
	#resmenu_footer .resmenu_social a img{
		height: 38px;
		width: 38px;
		display: block;
	}

	#header .flexbox._l{
		width: 20%;
	}
	#header .flexbox._r{
		width: 80%;
	}
	#header .flexbox._r a{
		margin-left: 5px;
	}


	#topmenu-wrapper ul.nav li.item-125,
	#topmenu-wrapper ul.nav li.item-126{
		padding-right: 0px;
		-webkit-clip-path: none;
		clip-path: none;
	}
	/* Versandkostenrechner is rendered as a button in the menu footer */
	#topmenu-wrapper ul.nav li.item-129,
	#topmenu-wrapper ul.nav li.item-130{
		-webkit-clip-path: none;
		clip-path: none;
		margin-left: 0px;
		display: none;
	}
}

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