.header-v23-top-menu {
	background-color:var(--main-color);
	color:#fff;
	box-shadow:rgb(67 71 85 / 27%) 0 0 .25em,rgb(90 125 188 / 5%) 0 .25em 1em;
}

.header-v23-top-menu-cnt{
	max-width:var(--content-width);
	margin:0 auto;
	text-align:right;
}
.header-v23-top-menu-cnt a {
	padding:0 0.5rem;
}

.header-v23-top-menu-cnt .service-box-v23-list{
	position:relative;
	transition:all var(--transition-duration);
	display:inline-block;
	border-right:1px solid var(--grey-5);
	border-left:1px solid var(--grey-5);
}

.header-v23-top-menu-cnt .service-box-v23-bttn{
	border: none;
	transition:all var(--transition-duration);
	cursor:pointer;
	line-height:1;
	align-content: center;
	justify-content: center;
	display:grid;
	background-color:transparent;
	grid-auto-flow: column;
	grid-gap:0.5rem;
	font-family:var(--main-font);
	padding:0.5rem;
	font-size:0.95rem;
}

.header-v23-top-menu-cnt .service-box-v23-list-available {
	position: absolute;
	background-color: var(--grey-5);
	min-width: 1rem;
	box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
	transition:all var(--transition-duration);
	font-size:0.95rem;
	font-weight:500;
	right:0;
	padding:0;
	z-index:99;
	display:none;
	overflow:hidden;
	width:250px;
}

.header-v23-top-menu-cnt .service-box-v23-list-available li{
	margin:0!important;
	line-height:initial!important;
	border-top:1px solid #fff!important;
}

.header-v23-top-menu-cnt .service-box-v23-list-available li:before{
	content: ''!important;
	display:none;
}

.header-v23-top-menu-cnt .service-box-v23-list-available li a {
	color: black;
	text-decoration: none;
	display: block;
	transition:all var(--transition-duration);
	padding:0.5rem 0.75rem;
	text-align:left;
	border-bottom:none;
}

.header-v23-top-menu-cnt .service-box-v23-list-available li a:hover,
.header-v23-top-menu-cnt .service-box-v23-list-available li a:active,
.header-v23-top-menu-cnt .service-box-v23-list-available li a:focus{
	color:#fff;
}

.header-v23-top-menu-cnt .service-box-v23-list:hover .service-box-v23-list-available,
.header-v23-top-menu-cnt .service-box-v23-list:active .service-box-v23-list-available,
.header-v23-top-menu-cnt .service-box-v23-list:focus .service-box-v23-list-available,
.header-v23-top-menu-cnt .service-box-v23-list.active .service-box-v23-list-available{
	display:block;
}

.service_box_v23_lng{
	text-transform:uppercase;
}

#header,
#header_title {
	margin: 0 auto;
	display: flex;
}

#header {
	width: 100%;
	padding: 0;
	color: #000;
	line-height: 0;
	max-width: var(--content-width);
	margin: 1rem auto 0 auto;
}
#header a {
	border-bottom: none;
}
#header_mainlogo img {
	height: 80px;
}
#header_ownlogo img {
	margin: 1px 0.7rem 0 0;
	max-height: 70px;
}

.header_title{
	display: flex;
	width: 445px;
	flex: 2 1 40%;
}

.header_title_txt{
	display:grid;
	grid-template-rows:1.269rem 1.269rem 1.269rem 1.194rem; /* Letzte Zeile ist der Hilfblock in der Positionierung */
	height:100%;
	padding: 0 0.5rem;
}

.header_title_txt,
.header_sitetitle_umbruch{
	font-family:var(--second-font);
	font-weight:500;
	align-items: center;
	font-size:1.05rem;
	line-height:1;
	letter-spacing:0.035rem;
}

.header_sitetitle_umbruch{
	max-width:var(--content-width);
	margin:0 auto;
}

.header_title_txt > :first-child{
	align-self:end;
}

.header_title_txt > :last-child{
	align-self:start;
	margin:0 -.1rem;
}

.header_title_txt:empty{
	padding:0;
}

#search-dialog{
	display:none;
	visibility:hidden;
	position:absolute;
	top:0;
	left:0;
	box-shadow:rgb(67 71 85 / 27%) 0 0 .25em,rgb(90 125 188 / 5%) 0 .25em 1em;
	background-color:var(--grey-6);
	width:100%;
	z-index:999;
	border-bottom: .5vh solid var(--main-color);
	transition:all var(--transition-duration);
}

#search-dialog:target{
	display:block;
	visibility:visible;
	transition:all var(--transition-duration);
}

.service_box_v23_search_container{
	padding:1rem 2rem 2rem
}

.service_box_v23_search{
	display:grid;
	line-height:1;
	grid-gap:0.25rem;
	grid-template-columns:1fr auto;
	width: var(--content-width);
	margin: 0 auto;
}

.service_box_v23_search label{
	grid-column:span 2;
	font-size:1rem;
}

.service_box_v23_search input{
	padding:0 1rem;
	font-family:var(--main-font);
	border:1px solid var(--grey-4);
	border-radius:0.3rem;
	transition:all .5s;
	font-size:1.1rem;
}

.service_box_v23_search button{
	font-size:1.2rem;
	border-radius:0.3rem;
	height:auto;
	padding:1rem;
	border:1px solid var(--grey-4);
}

.service_box_v23_search_close{
	justify-self: end;
	grid-column: span 2;
	font-size:1.5rem;
	margin:0 1rem;
	transition:all var(--transition-duration);
}

.service_bix_v23_search_close:hover i,
.service_bix_v23_search_close:focus i,
.service_bix_v23_search_close:active i{
	color:var(--main-color);
}

.service_box_v23_search input:hover,
.service_box_v23_search input:active,
.service_box_v23_search input:focus,
.service_box_v23_search button:hover,
.service_box_v23_search button:focus,
.service_box_v23_search button:active{
	border:1px solid var(--grey-3);
}

/* Zusätzliche Strukturbezeichnung */
.strukturbezeichnung {
	border-radius: 0.2em;
	background-color: var(--main-color);
	margin: 0.3rem auto 0 auto;
	max-width: var(--content-width);
	padding:.15rem .75rem;
}
.strukturbezeichnung a {
	display: block;
	font-family:var(--second-font);
	font-weight: 600;
	font-size:1.05rem;
	line-height: 1.15rem;
	color: #fff;
	padding: 0.2rem 0;
	letter-spacing: 0.035rem;
}

.strukturbezeichnung a:focus,
.strukturbezeichnung a:hover,
.strukturbezeichnung a:active{
	color: #CFD3D6;
}

@media screen and (max-width: 600px) {
	.header_title{
		flex:1 1 40%;
		order:2;
	}
	.header_title,
	.header_title_txt{
		display:inline;
		padding:0;
	}
	
	.header_title_txt > span{
		align-self:start!important;
	}
}

.header_v23_mobile_nav_cnt {
	display:none;
	visibility:hidden;
	text-align:right;
	margin-right:0.25rem;
	grid-auto-flow: column;
	grid-auto-columns:1fr auto;
	grid-gap:1rem;
	padding-top:0.5rem;
}

.header_v23_mobile_nav {
	overflow: hidden;
	background-color: #333;
	position: relative;
}

.header_v23_mobile_search_icon{
	font-size:1.8rem;
	margin-top:6px;
}

.header_v23_mobile_nav_icon {
	display: inline-block;
	cursor: pointer;
}

.header_v23_mobile_nav_icon_bar1, .header_v23_mobile_nav_icon_bar2, .header_v23_mobile_nav_icon_bar3 {
	width: 35px;
	height: 5px;
	background-color: light-dark(#000, var(--grey-3));
	margin: 6px 0;
	transition: var(--transition-duration);
}

.header_v23_mobile_nav_icon_toogle .header_v23_mobile_nav_icon_bar1 {transform: translate(0, 11px) rotate(-45deg);}
.header_v23_mobile_nav_icon_toogle .header_v23_mobile_nav_icon_bar2 {opacity: 0;}
.header_v23_mobile_nav_icon_toogle .header_v23_mobile_nav_icon_bar3 {transform: translate(0, -11px) rotate(45deg);}


nav.mobile-menu {
	position: fixed;
	top: 0;
	right: -100%;
	width: 100%;
	height: 100%;
	transition: right var(--transition-duration) ease;
	z-index:99999;
	font-size:1rem;
	background-color:var(--grey-6);
	display:none;
	visibility:hidden;
}

nav.mobile-menu.active {
	right: 0;
	display:block;
	visibility:visible;
}

nav.mobile-menu .mobile-menu-header {
	padding:1rem;
	font-weight:600;
	font-size:1.25rem;
	font-family:var(--second-font);
	display:grid;
	grid-auto-flow:column;
	background-color:var(--main-color);
	color:#fff;
}

nav.mobile-menu .close-btn {
	font-size: 1.5rem;
	cursor: pointer;
	justify-self: right;
}

nav.mobile-menu .close-btn:hover,
nav.mobile-menu .close-btn:active
nav.mobile-menu .close-btn:focus {
	color:var(--grey-4);
}

nav.mobile-menu ul {
	list-style: none;
	padding:0;
}

nav.mobile-menu ul li {
	margin: 0;
	transition:var(--transition-duration) ease;
}

nav.mobile-menu ul li:hover,
nav.mobile-menu ul li:active,
nav.mobile-menu ul li:focus {
	background-color:var(--grey-5);
	cursor:pointer;
}

nav.mobile-menu ul li:before{
	content:'';
	display:none;
	visibility:hidden;
}

nav.mobile-menu ul .mobile-menu-item {
	text-decoration: none;
	border:none;
	display:block;
}

nav.mobile-menu ul .mobile-menu-item span {
	padding: 0.5rem 1rem;
	border-bottom:1px solid var(--grey-5);
}
nav.mobile-menu ul .mobile-menu-item-lang span {
	text-transform: uppercase;
}
nav.mobile-menu ul .mobile-menu-item:before{
	display:none;
	visibility:hidden;
}

nav.mobile-menu .mobile-menu-back {
	background-color:var(--grey-4);
}

nav.mobile-menu .mobile-menu-back:hover,
nav.mobile-menu .mobile-menu-back:active,
nav.mobile-menu .mobile-menu-back:focus{
	background-color:var(--grey-3);
}

nav.mobile-menu ul.mobile-menu-childs li.mobile-menu-current{
	font-weight:600;
	font-size:1.1rem;
	background-color:var(--grey-5);
}

nav.mobile-menu ul .mobile-menu-item,
nav.mobile-menu ul .mobile-menu-item a{
	display: grid;
	grid-template-columns: 1fr auto;
}

nav.mobile-menu .mobile-menu-service{
	border-bottom:0.5vh solid var(--main-color);
}

nav.mobile-menu ul .mobile-menu-item.mobile-menu-back{
	grid-template-columns: auto 1fr;
}

nav.mobile-menu ul .mobile-menu-item:not(.mobile-menu-back) span.mobile-menu-item-right {
	text-align:right;
	background-color:var(--grey-5);
}


nav.mobile-menu ul .mobile-menu-item a {
	border-bottom:none;
}
nav.mobile-menu ul .mobile-menu-item a:before{
	content:'';
	display:none;
	visibility:hidden;
}
nav.mobile-menu ul .mobile-menu-item a:hover span {
	background-color:var(--main-color)!important;
}


/**************************************************************/
/*      Einstellungen für maximal 900 Pixel Bildschirmbreite  */
/**************************************************************/
@media screen and (min-width: 750px)  and (max-width: 1150px) {
	/* Logos in der Höhe verkleinern */
	#header_mainlogo img {
		height: 75px;
	}
	#header_ownlogo img {
		margin: 1px 0 0 0;
		max-height: 65px;
	}
}

/**************************************************************/
/*   Einstellungen für maximal 750 Pixel Bildschirmbreite     */
/**************************************************************/
@media screen  and (max-width: 749px) {
	#header{
		margin:0;
		padding:0.5rem;
		box-shadow:rgb(67 71 85 / 27%) 0 0 .25em,rgb(90 125 188 / 5%) 0 .25em 1em;
		border-bottom: .5vh solid var(--main-color);
	}
	/* Logos in der Höhe verkleinern */
	#header_mainlogo img {
		height: 67px;
	}
	#header_ownlogo img {
		height: 53px;
	}
	/* Optional: Zusatz-Logo ausblenden  */
	#header_ownlogo {
		display: none;
	}
	.header-v23-top-menu{
		display:none;
	}
	.header_v23_mobile_nav_cnt {
		display: inline-grid;
		visibility:initial;
		flex:0 1 30%;
	}
}

/****************************************************/
/* Einstellungen für Bildschirmbreite kleiner 600px */
/****************************************************/

@media screen and (max-width: 599px) {
	#header {
		justify-content: space-between;
		flex-wrap: wrap;
	}
	#service_box2 {
		flex: 0 1 24%;
		align-self: auto;
		display: grid;
		grid-template-columns: 1fr 1fr;
		box-sizing: border-box;
	}
	
	#header_mainlogo {
		/* Flex-Element - Einstellungen - Logo-Platz auf volle Breite auffüllen */
		order: 0;
		flex: 0 1 60%;
		align-self: auto;
	}
	/* Logos in der Höhe verkleinern */
	#header_mainlogo img {
		height: 65px;
	}
}