header#masthead{
	position:relative;
	position:fixed;
	top:var(--admin-bar-height);
	width:100%;
	overflow:visible;
	z-index:100;
	transition: all 0.4s;
	background:var(--white);
	min-height: var(--headerheight);
	height: var(--headerheight);
    display: flex !important;
    align-items: center !important;
	max-height:75px;
	background: transparent;
	background: #00000040;
	background:var(--headerbackground);
	-webkit-box-shadow: 3px 0px 15px rgba(0, 0, 0, 0.075);
    -moz-box-shadow: 3px 0px 15px rgba(0,0,0,0.075);
    box-shadow: 3px 0px 15px rgba(0, 0, 0, 0.075);
}
#top_header+header#masthead{
	top:var(--top-header-height);
}

body header#masthead{
	background:var(--white);
	/* background:var(--transparent); */
}
body header#masthead.nav-showing{
	/* background:var(--white); */
	background:var(--white);
}

header#masthead.whitened{
	background: var(--white);
	/* background: #ddddddd4; */
}

header#masthead:before{
	content:'';
	position:absolute;
	width:100%;
	left:0;
	top:0px;
	height:100%;
	transition:background-color .3s, opacity .3s;
	background: transparent;
	background:var(--header-after-gradient2);
	opacity:0;
    /* backdrop-filter: blur(14px); */
}
header#masthead:hover{
	/* --header-after-gradient: var(--header-after-gradient2); */
}
header#masthead:hover:before{
	opacity:0;
}


body #content{
	padding-top:var(--headerheight);
	padding-top:0;
}
#wpadminbar {
	position: fixed;
}
body header#masthead ul.navbar-nav {
	font-size: var(--menu-font-size);
    padding: var(--nav-items-padding);
    font-weight:var(--nav-items-fontweight);
    font-family:var(--menu-font-family);
	color:var(--main-menu-color);
	text-transform:var(--menu-text-transform);
	height: calc(100vh - var(--header-height) - var(--admin-bar-height) - 2rem);
	max-height: calc(100%);
	overflow: auto;
	 display: flex !important;
    align-items: center !important;
    margin-bottom: 0 !important;
}
@media(max-width:991.98px){
 body header#masthead ul.navbar-nav {
	align-items: baseline !important;
 }
}


/* EXTRA BRANDING*/
body .extra-branding {
    position: absolute;
    margin-top: 27px;
    z-index: 9;
    right: 0;
    width: auto;
	text-align:right;
}
@media (min-width: 768px) {
   body  .extra-branding {
        position: fixed;
        width: var(--header-logo-max-width);
        margin-top: 21px;
    }
}
@media (min-width: 1600px) {
   body  .extra-branding {
		width: calc(var(--header-logo-max-width) - 1.5rem);
	}
}

body .extra-branding a, body .extra-branding a:focus, body .extra-branding a:visited, body .extra-branding a:hover {
    text-decoration: none;
    color: var(--text) !important;
}

body .extra-branding .h1,
body .extra-branding h1 {
    /* font-family: 'dejavu_sans'; */
    text-transform: uppercase;
    color: white;
    background-color: #222;
    padding: 6px var(--container-margin) 6px 0.5em;
    text-align: right;
    margin: 0;
    font-size: 30px;
    font-weight: 900;
    line-height: 1;
}
@media (min-width: 768px) {
    body .extra-branding .h1,
    body .extra-branding h1 {
        font-size: 32px;
    }
}


.extra-branding span {
    font-size: 0.6rem;
    display: inline-block;
    margin-right: var(--container-margin);
    padding-left: 3px;
	padding-right:3px;
    line-height: 1;
    top: -4px;
    position: relative;
}
@media (min-width: 768px) {
    .extra-branding span {
		font-size: 0.7em;
		font-weight: 500;
	}
}


.logo-wrap{
	position: relative;
	padding: 0;
	left: 0%;
	width:94px;
	height: auto !important;
	transition: width .74s, padding .74s, height .74s;
	display:flex;
	align-items: center;
	position: relative !important;
    margin-top: 0 !important;
    display: flex;
    align-items: center;
}


.site-logo {

	position: relative !important;
    margin-top: 0 !important;
    width: 100%;
    height: 100px; /* Feste Höhe */
    display: flex;
    align-items: center;
}
.site-logo a{
    height: 100%;
  width: 100%;
  display: block;
}
body.scrolled-hh .site-logo {
    width: calc(var(--main-logo-width) - 1rem);
}


.site-logo svg{
	height: 100px !important;
	width: 100px !important;
}
.site-logo svg rect,
.site-logo svg polygon,
.site-logo svg path{
	/* fill: var(--primary); */
	fill-rule: evenodd;
	clip-rule: evenodd;
	transition:all 0.4s;
}

.footer-logo svg>g#quads>path:first-child,
.site-logo svg>g#quads>path:first-child{
	/* fill: var(--primary); */
	fill:var(--primary)!important;
}

nav.navbar{
	padding:0rem 15px;
}
.has-fixed-header .site-logo{
	width: auto;
	/* top: 0px; */
}
.menu-wrap {
	position: absolute;
	right: auto;
	left: 0;
	width: 100%;
}


header#masthead ul.navbar-nav>li.menu-contact-wrap-outer{
	padding: var(--nav-link-padding)!important;
}
header#masthead ul.navbar-nav>li.menu-contact-wrap-outer,
header#masthead ul.navbar-nav>li.menu-contact-wrap{
	display:flex;
	justify-content:flex-start;
	align-items:flex-end;
	flex-wrap:wrap;
	font-family:var(--sans);

}
.menu-contact-wrap .addr-p{
	display:none;
}
@media(min-width:768px){
	/* .site-logo {
		height: 100%;
	} */
	.logo-wrap{
		width:104px;
	}
}
@media(min-width:992px){
	body header#masthead.has-item-active {
		border-bottom: 1px solid var(--blur-dark-bg);
	}
	header#masthead ul.navbar-nav>li.menu-contact-wrap-outer,
	header#masthead ul.navbar-nav>li.menu-contact-wrap{
		display:none;

	}
}

@media(min-width:1200px){

	.logo-wrap{
		width:112px;
	}
}

.navbar-toggler{
	color: var(--text);
	border-color: var(--text);
	border-radius: 0;
	border-top: 0;
	border-right: 0;

	padding: 0;
    font-size:1.35rem;
}



#masthead .main-header-links {
    color: var(--white);
    position: relative;
    top: 0;
    text-align: center;
    font-size: .94rem;
    background: var(--primary);
}

.navbar-extra-links {
    position: fixed;
    right: 15px;
    width: 100%;
    bottom: 0;
	padding-top: 0.4rem;
    padding-bottom: 0.4rem;
	transition: top .74s, transform .7s;
}
.navbar-extra-links a {
    width: 100%;
}


@media(min-width:768px){
	.navbar-extra-links{
		position:absolute;
		width:auto;
		bottom:auto;
		backdrop-filter: none	;
    	background-color: transparent;
		padding-top:0;
		padding-bottom:0;
	}
	#masthead .main-header-links{
		top: calc(var(--header-height) - 7px);
		right:var(--container-margin);
		width: auto;
		position:absolute;
	}
}


#masthead .main-header-links a{
	font-weight:600;
	text-transform:uppercase;
	color:inherit;
	display:inline-block;
	position:relative;
	padding: var(--btn-padding-regular);
	/* letter-spacing: 0.03em; */
}
@media(min-width:1200px){
	#masthead .main-header-links{
		/* color: inherit; */

		position: relative;
		top: auto;
		left: auto;
		right:0;
		width: auto;
		transform: translateX(0%);
		text-align: right;
		font-size: 1rem;
	}
}


#primary-menu-footer .nav-item a.nav-link,
#primary-menu .nav-item a.nav-link {
    color: inherit;
    word-break: break-word;
    transition: color .3s, text-shadow .3s;
	font-size:inherit;
}

#primary-menu .nav-item.item-active>a.nav-link,
#primary-menu .nav-item a.nav-link:hover {
    color: var(--grey-lightest);
}

.dropdown-menu .nav-link{
	margin-bottom:8px;
}

@media(min-width:992px){
	#primary-menu .nav-item.item-active>a.nav-link,
	#primary-menu .nav-item a.nav-link:hover {
		color: var(--primary);
	}
}

#primary-menu .current_page_ancestor {
	text-decoration: underline;
	text-decoration-color: var(--primary);
	text-underline-offset: 0.5rem;
	text-decoration-thickness: 2px;
}


#masthead #primary-menu .nav-item a.nav-link:focus,
#masthead #primary-menu .nav-item a.nav-link:hover {
	color: var(--text);
    text-shadow: var(--menu-item-hover-shadow);
	text-decoration: underline;
	text-decoration-color: var(--primary);
	text-underline-offset: 0.5rem;
	text-decoration-thickness: 2px;
}


body .p-relative{
	position:relative;
}
body.has-display-header header#masthead{
	position: absolute;
	top: 0;
	left: 0;
	background:transparent;
	transition: all 0.75s;
}


.rot-caption-inner-wrap{
	margin-bottom:5rem;
	margin-top:5rem;
}

.nav-link.dropdown-toggle,
.nav-link.dropdown-toggle:hover{
	color:var(--text);
}

@media(min-width:576px){

}
@media(min-width:768px){
	#content.site-content{
	padding-top:0;
	}
	.navbar-expand-md .navbar-collapse{
		position: relative;
		top: 0;
	}

	.w-md-100,
	body .container.w-100,
	body .container.w-md-100{width:100%; max-width:100%;}
}

@media(min-width:992px){
	header#masthead .container{
		z-index:10;
	}
	header#masthead {
		max-height: 89.5px;
	}
	#content.site-content {
		padding-top: 0;
	}
	#primary-menu-footer .nav-item a.nav-link,
	#primary-menu .nav-item a.nav-link {
		/* letter-spacing: 0.0em; */
		/* text-align: center; */
    	/* justify-content: center; */
		width:100%;
	}

	body .navbar-nav .nav-item.menu-item-has-children .dropdown-menu .nav-link {
		padding: 0 !important;
	}

	#primary-menu > .nav-item {
		position: relative;
	}

	#primary-menu > .nav-item::after {
		content: "";
		position: absolute;
		display: block;
		height: 100%;
		width: 1px;
		background: #e1e1e1;
		right: 0;
		top: 0;
		z-index: 2;
	}

	#primary-menu > li:nth-last-child(2)::after {
		display: none;
	}
}
/*NAVBAR ---------------------NAVBAR--------------------------------NAVBAR*/

.navbar-nav>li:last-child{
	border-right:none;
}
#masthead .container>.row{
	margin-left:calc(0px - var(--h-col-padding, 15px));
	margin-right:calc(0px - var(--h-col-padding, 15px));
	width: calc(100% + 2 * var(--h-col-padding));
}
#masthead .container>.row>nav{
	padding-left:var(--h-col-padding, 15px);
	padding-right:var(--h-col-padding, 15px);
}

#masthead .container,
#masthead .container>.row,
#masthead .container>.row>nav{
	 position: relative;
    height: var(--header-height);
    transition: height .4s;
    /* align-content: center; */
    display: flex !important;
    align-items: center !important;
}
#primary-menu-wrap .nav-link{

	transition:opacity .4s, color .4s;
	position:relative;
}
#primary-menu-wrap {
    display: flex !important;
    align-items: center !important;
}
#primary-menu>li>.nav-link {
    font-weight: inherit;
	white-space: nowrap;
    text-overflow: ellipsis;
}


/* @media(min-width:768px){ */
	#masthead .container,
	#masthead .container>.row,
	#masthead .container>.row>nav{
	position: relative;
	}
	#masthead .container>.row>nav{
		justify-content: space-between;
		width:100%;
	}
	#primary-menu-wrap .nav-link{
		opacity:1;
	}
/* } */

/*2nd level menu animation*/
nav .dropdown-menu{
	padding:0;
	border:0;
	border-radius:1px;
	/*hier müssen bootstrap standard rules ausgehebelt werden, damit nichts aus dem zugeklappten menü "rausschaut"*/
}

/*dieser dropdown-toggle OHNE "r" ist für den "mehr..." button der mit js kommt*/
nav .dropdown-toggle:after {
	display:none;
}



/*dropdown toggler button not showing but pos absolute*/
.dropdown-toggler {
	position: absolute;
    background: transparent;
    top: 0;
    left: 0;
    border: none;
    width: 100%;
	height:100%;
	transition: background-color .5s;
}
button.dropdown-toggler:after{
	content:'';
	position:absolute;
	bottom:-5px;
	width:100%;
	height:2px;
	background:var(--transparent);
	pointer-events:none;
	transition: background-color .5s;
	left:0;
}
button.dropdown-toggler:focus:after,
button.dropdown-toggler:hover:after,
#masthead #primary-menu .nav-item .nav-link-label:hover+button:after,
#masthead #primary-menu .nav-item .nav-link-label:focus+button:after{
	background:var(--primary);
}
.dropdown-toggler i{
	pointer-events:0;
	opacity:0;
	transition: opacity.5s, transform .5s;
}
/*****************************************************/

nav .dropdown-menu {
    top: calc(100% - 0rem);
    overflow: hidden;
    max-height: 0;
    height: auto;
    transition: all .8s cubic-bezier(0.83, -0.05, 0.25, 1) 0s;
    font-weight: 300;
    background: transparent;
    color: var(--secondary);
    color: var(--white);
    display: block;
    width: 50rem;
    max-width: 100%;
    padding: 0 1.4rem;
    /* padding-right: var(--container-margin)!important; */
    /* width: calc(var(--menu-width) + var(--container-margin)); */
    width: fit-content;
    right: auto;
    left: 0;
    box-shadow: 2px 6px 9px rgb(37 37 37 / 27%);
}
@media(max-width:991.98px){

}
@media(max-width:767.98px){
}

nav .dropdown-menu.show {
	max-height: 1000px;
	padding-top: 1rem;
	padding: 0.74rem 1.4rem;
	max-width:100%;

}

nav .dropdown-menu a{
	max-width: 100%;
    position: relative;
    white-space: normal;
	color: inherit;
	font-weight:inherit;
}

.dropdown-item.active, .dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: var(--text-light);
    font-weight: inherit;
}
@media(max-width:991.998px){
	nav .dropdown-menu{
		position:relative;
	}
	#primary-menu .nav-item a.nav-link {
    display: inline-block;
}

/*HERE*/

/* 1. Einrückung und Styling für die Untermenüs (wenn sie aufgeklappt werden) */
    #primary-menu .dropdown-menu {
        background: transparent;
        border: none;
        box-shadow: none;
        padding-left: 1.5rem; /* Etwas nach rechts einrücken für bessere Übersicht */
    }

    /* 2. Schriftfarbe der Unterpunkte dunkel machen (da das Menü mobil weiß ist) */
    #primary-menu .dropdown-menu a,
    #primary-menu .dropdown-menu .nav-link,
    #primary-menu .dropdown-menu .nav-item-title,
    #primary-menu .dropdown-menu .clickable {
        color: var(--text) !important;
    }


#primary-menu-wrap:not(.show) {
    /* display: none !important; */
    transform: translateX(0%)!important;
}

#primary-menu-wrap.show {
    display: block !important; /* oder flex, je nach deinem Layout */
}
}


/* ------NAVBAR-COLLAPSE---------*/

body #masthead .toggler-wrap {
    z-index: 5;
    background: var(--white);
    padding-right: 0;
    width: 50px;
    display: flex;
    font-size: 1.5rem;
    justify-content: center;
    padding: 6px 0 4px;
    margin-top: 4px;
    position: fixed;
    right: var(--header-logo-max-width,200);
}


body #masthead .navbar-collapse {
    position: absolute;
    top: calc(100% + 0px);
    background: var(--white);
    width: auto;
    min-width: var(--mobile-nav-minwidth);
    left: auto;
    padding-top: 0;
    min-height: 20rem;
    /* transform: translateX(100%); */
    /* transition: all .4s; */
    overflow: hidden;
    right: 0;
    /* left: calc(100% - var(--container-margin) - var(--container-margin)); */
    left: calc(100% + var(--container-margin) - var(--h-col-padding));
	height: calc(100vh - var(--header-height) - var(--admin-bar-height));
    transform: translateX(-100%);
    /* height: 100vh; */
    transition: transform .7s;
    will-change: transform;
}



@media (max-width: 991.98px) {
	body #masthead .navbar-collapse {
    	/* min-width: calc(100%); */
		width: calc(100% + 2 * var(--container-margin) - 2 * var(--h-col-padding) + 0px);
		max-width: none!important;
	}
	body #masthead #primary-menu .nav-item.menu-item-has-children::after {
		content: '\f105';
		font-family: 'r-icon';
		display: block;
		position: absolute;
		right: 50px;
		top: 22px;
		transform: translateY(-50%);
		color: var(--grey-lightest);
		pointer-events:none;
	}
}
@media (max-width:767.998px) {
	body #masthead #primary-menu .nav-item.menu-item-has-children::after {
		right: 30px;
	}
}
@media(min-width:768px){
	body #masthead .toggler-wrap {
		margin-top: -4px;
		transform:translateX(-4px);
	}
}

@media(min-width:992px){
	body #masthead .toggler-wrap {
		display: none;
	}
	header#masthead.nav-showing::after {
		opacity: 0!important;
		visibility: hidden!important;
		pointer-events: none!important;
	}

	body #masthead .navbar-collapse.centered.fullwidth>ul{
        width: auto;
        display: flex;
        /* justify-content: space-between; */
        justify-content: flex-end;
		padding-left:0;
		transition:padding .5s;
		min-width:500px;
		flex-direction: row;
    }
	body.scrolled .mast-should-stick~#masthead .navbar-collapse.centered.fullwidth>ul{
		/* padding-left:var(--logo-width-threshold); */
		padding-right:0;
		position:relative;
	}

	#masthead .underline-dashed:after {
		width: calc(100% + var(--logo-width-threshold));
		left: 0;
	}
	body #masthead .navbar-collapse {
		position: absolute;
		top: calc(100% + 7px);
		backdrop-filter: none;
		background: transparent;
		width: 100%;
		min-width:1px;
		left: 0;
		padding-top: 0rem;
		min-height:1px;
		transform:translateX(0);
		overflow:visible;
	}

	body #masthead .navbar-collapse {
		position: absolute;
		top: calc(100% + 7px);
		backdrop-filter: none;
		background: transparent;
		width: 100%;
		min-width:1px;
		left: 0;
		padding-top: 0rem;
		min-height:1px;
		transform:translateX(0);
		overflow:visible;
	}
	nav .dropdown-menu {
		background: var(--white);
		color: var(--text);
		/* background: var(--bg-transparent-light); */
	}

	/* FALLS ES EINE SICHTBARE NAVBAR GIBT - HIER WEITERMACHEN */
	body #masthead .navbar-collapse,
	body #masthead .navbar-collapse>ul,
	body #masthead .navbar-collapse>ul>li,
	body #masthead .navbar-collapse>ul>li:before,
	body #masthead .navbar-collapse>ul>li>a{
		/* height:100%; */
		/* display:flex; */
		display:block;
		align-items:center;
	}
	body #masthead .navbar-nav .dropdown-menu {
		position: absolute;
		max-width: max-content;
        width: 300px;
	}
	body #masthead .navbar-collapse.right-aligned,
	body #masthead .navbar-collapse.right-aligned>ul,
	body #masthead .navbar-collapse.right-aligned>ul>li:last-of-type{
		padding-right:0!important;
		/* padding-right:0; */
	}
	body #masthead .navbar-collapse {
		position: relative;
		z-index:2;
		top: 0;
		height:var(--menu-height);
	}
	.navbar-expand-lg .navbar-nav {
		-ms-flex-direction: row;
		flex-direction: row;
		/* height: 100%; */
		align-items: center;
	}
	body .navbar-expand-lg .navbar-nav .dropdown-menu {
		position: absolute;
		/* top: calc(var(--header-height) + var(--admin-bar-height)); */
		border-radius: 0;
		margin-top: 0;
		width: 340px;
		left: 0;
		padding: 0rem 2.4rem;
	}

	body #masthead .navbar-collapse.fullwidth {
		position: relative;
		top: auto;
		bottom: 0;
		transform: translateY(0%);
		width: auto;
		display: flex;
		justify-content: flex-end;
		margin-right: calc(var(--header-logo-max-width) - var(--container-margin) + .6rem);
	}

	#primary-menu {
		overflow: visible !important;
	}
}

#primary-menu-wrap .nav-item.active > a .nav-item-title {
	position: relative;
	display: block;
}

#masthead #primary-menu>.nav-item a *{
    font-size:inherit;
    font-weight:inherit;
    padding:0;
}
#masthead #primary-menu>.nav-item a>.nav-link-wrap {
    position:relative;
}



body .navbar-nav .nav-link{
	padding: var(--nav-link-padding)!important;
}

@media (max-width: 991px) {
	body .navbar-nav > .nav-item  {
		padding-left: 0 !important;
		border-bottom: 1px solid #e1e1e1;
		width: 100%;
		padding: 0.75rem 12px 0.25rem 0.75rem !important;
	}
	body #primary-menu-wrap .nav-item .dropdown-menu .nav-link {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

@media(min-width:576px){

}
@media(min-width:768px){

}
@media(min-width:840px){
}
@media(min-width:992px){


    #site-navigation {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center;
        justify-content: space-between;
    }

    .logo-wrap {
        width: auto !important;
        flex-grow: 0;
        flex-shrink: 0;
        margin-right: 30px;
    }

    .logo-wrap svg {
        width: 150px;
        height: auto;
    }

    #primary-menu-wrap {
		margin-left: auto !important;
        width: auto !important;
        flex-basis: auto !important;
        display: flex !important;
        justify-content: flex-end;
    }

    .toggler-wrap {
        display: none !important;
    }

}

.navbar-nav {
    display: flex;
    align-items: center;
    margin-bottom: 0 !important;
}

/*TOGGLER*/
.toggler-text{
	position:relative;
	display: none;
}



body #masthead .navbar-toggler {
	border:none;
	background:transparent;
	position:relative;
	color:var(--text);
	transition:transform .4s;
	transition-delay:.4s;
	top:-1px;
}
body #masthead .navbar-toggler:focus {
	outline: 2px solid var(--text)!important;
    outline-offset: 4px;
}
#site-navigation .nav-link:hover:after,
#site-navigation .nav-link:focus:after,
body #masthead .navbar-toggler:focus:after {
	background: var(--primary)!important;
}

body #masthead.whitened .navbar-toggler {
	color:var(--text2);
}
body #masthead .toggler-text{z-index:12;}
body #masthead .navbar-toggler-icon {
	display: inline-block;
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
    content: "";
    background: 50%/100% 100% no-repeat;
    bottom: -3px;
    left: 0px;
    position: relative;
	transition:all .3s .2s;
	z-index:12;
}
body #masthead .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon{
	transform: rotate(45deg) translate(0px, 4px);
}


body #masthead .navbar-toggler-icon{
	background-image:none!important;
	position: relative;
}
.navbar-toggler-icon .center-bar,
.navbar-toggler-icon:after,
.navbar-toggler-icon:before{
    display: block;
    content: "";
    width: 35px;
    right: auto;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    height: 3px;
    border: 1px solid var(
	--text);
    border: none;
    border-radius: 1px;
    background-color: var(
	--text);
    top: 7px;
    transition: transform 0.5s cubic-bezier(.88,.11,.83,.67) 0.2s,
  border-color .3s, background-color .3s,
  width .6s .4s, opacity 0.6s;
    height: 1px;
    top: 4px;
}

#masthead.nav-showing .toggler-wrap{
	background:transparent;
}
.whitened .navbar-toggler-icon .center-bar,
.whitened .navbar-toggler-icon:after,
.whitened .navbar-toggler-icon:before{
	border:1px solid var(--text);
	background-color: var(--text);
}
.navbar-toggler-icon .center-bar {
    top: 12px;
    transform: scale(1) translateX(-50%);
    width: 35px;
    left: 50%;
}
.navbar-toggler-icon:after {
    top: 20px;
    transition: opacity 0.6s, width .6s .6s;
    /* bottom: 5px; */
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon{
	left:5px!important;
	top: 4px;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before {
    transform: rotate(90deg) translate(0.45em, 0.384em);
    /* width: 1.9em; */
    /* width: 1.5em; */
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before {
    transform: rotate(450deg) translate(0.4em, 1.084em);
    width: 100%;
    /* width: 1.5em; */
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon .center-bar {
    transform: translateX(-1.05em) rotate(360deg);
    width: 100%;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after {
    /* transform: rotate(-450deg) translate(0.3em, -1.15em); */
    bottom: 3px;
    opacity: 0;
    transition: opacity 0.6s, width .6s .6s;
    width: 0px;
}

header#masthead.nav-showing .toggler-wrap {
	background: var(--primary);
}

/* body.section-in-scope-s_header #masthead .site-logo,
body:not(.scrolled-hh) #masthead .site-logo{
	width:0;
} */
/* body:not(.s-header-out-of-scope) #masthead:not(.nav-showing), */
body.modal-open #masthead:not(.nav-showing),
 body.scrolled.scrolled-down #masthead:not(.nav-showing) {
    transform: translateY(calc(0px - var(--header-height)));
}














/*------------------------------------------------------CUSTOM-------------------------*/
html body{
	--dh-logo-add-y:8rem;
	--dh-logo-padding: 2rem;
}

body.scrolled-hh #masthead{
	background-color:var(--white);
}

body .simple-header .rot-img-absolute {
    position: absolute;
    margin-left: 0%;
    width: 100%;
}



.header-inner figure.rot-image{
	position: absolute;
	top: 0;
	width: 100%;
	overflow: hidden;
	height: 100%;
	left: 0;
}

.simple-header .rot-img-absolute.hbg-2{
	margin-left:0;


}

section#s_header{
	transition:height .4s, min-height .4s;
	overflow: hidden;
}





.hbg1{
	filter:grayscale(1);
}
[data-name*="fig"]{
   filter: hue-rotate(355deg) saturate(0.7);
}







/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/
/*ROT HEADERS!!!*/



section#s_header{
    position: relative;
    width: 100%;
    z-index: 2;
    /* overflow:hidden; */
    display:block;
    /* align-items: center; */
    align-items: flex-end;

}



section#s_header:before {
    top: 0;
    left: 0;
    content: '';
    position: absolute;
    display:block;
    width: 100%;
    height: 100%;
}
body.single section#s_header{
    display:block;
}
section#s_header.dark #h_video:after {
    display: block;
    content: '';
    top: auto;
    left: 0;
    width: 100%;
    height: 40%;
    position: absolute;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgb(23 23 75) 100%);
    bottom: 0;
    opacity: 0.3;
    pointer-events: none;
}
section#s_header.bg-dark{
    background:var(--text);
}
section#s_header.has-bg-img{
    background:var(--text);
    background-size: cover;
    /* background-size: 1600px; */

}
.section-cta .section-h{
    font-size:8.4vw;
    text-transform:none;
}
section#s_header .theme-h {
    display: inline-block;
    font-weight: 600;
    line-height: .95;
    hyphens: auto;
    font-size: 2.8rem;
    color: var(--white);
    text-transform: none;
    position: relative;
    text-align: right;
    letter-spacing: 0.02em;
    margin-bottom:1.1rem;
}

section#s_header div.lead,
section#s_header p.lead,
section#s_header .lead p {
    line-height: 1.4;
    font-size: 1.5rem;
    font-weight: 300;
}



figure.rot-inline-icon a{
	position:relative;
    transition:background-color .4s, color .4s, border-color .4s;
    transition:font-size .4s, background-color .4s, border-color .4s;
    transition-timing-function: cubic-bezier(1,.01,.81,.23);
}
figure.rot-inline-icon a:hover{
	background-color:var(--primary-hover);
}
section.rot-section .rot-inline-icon{
    font-size: 100px;
    line-height: 0.6;
    margin-bottom: 0;
    position: relative;
    left: -0.1em;
    color:var(--primary);
}

section.rot-section .rot-inline-icon svg{
    width:1em;height:1em;
}
section.rot-section .rot-inline-icon.smaller-icon,
section.rot-section .rot-inline-icon.small-icon {

    width: auto;
    display: inline-block;
    left:0;
}
section.rot-section .rot-inline-icon.smaller-icon a,
section.rot-section .rot-inline-icon.small-icon a{
    width: auto;
    display: inline-block;
    overflow:hidden;
}
section.rot-section .rot-inline-icon.smaller-icon a{
    font-size:inherit;
}
section.rot-section .rot-inline-icon.smaller-icon a:hover,
section.rot-section .rot-inline-icon.small-icon a:hover{
    border: 2px solid var(--primary-hover);
    background-color:var(--primary-hover);
}
section.bg-dark .item-content,
section.bg-dark p,
section.bg-dark h1,
section.bg-dark h2,
section.bg-dark h3,
section.bg-dark h4{
    color:var(--secondary);
}



section#s_header #h_video{
    /* height:calc(100vh - var(--admin-bar-height)); */
    height:100%;
    left: 0%;
    width: 100%;
    top: 0;
    position:absolute;
    opacity: 1;
    /* transform:translate3d(); */
    /* transition: left .5s, opacity .5s; */
}

@media(min-width:576px){
    section#s_header .theme-h {
        font-size: 3rem;
    }
}
@media(min-width:768px){
    section#s_header .theme-h {
        font-size: 4rem;
    }
}
@media(min-width:992px){
    section#s_header .theme-h {
        font-size: 5rem;
    }
    section#s_header div.lead, section#s_header p.lead, section#s_header .lead p {
        font-size: 1.5rem;
    }

}
@media(min-width:1200px){
    section#s_header .theme-h {
        font-size: 5.5rem;
    }

    .h-h-wrap{
        display: flex;
        align-items: flex-end;
    }
    section#s_header.has-bg-img{
        background-size: cover;
    }
}
@media(min-width:1440px){

    section#s_header div.lead, section#s_header p.lead, section#s_header .lead p {
		font-size: 1.7rem;
		line-height: 1.27;
		padding-right: 8rem;
	}
}
@media(min-width:1600px){
    section#s_header .theme-h {
        font-size: 6.5rem;
        margin-bottom:2rem;
    }
}
@media(min-width:1820px){

}
@media(min-width:1980px){
    section#s_header.has-bg-img{
        background-size: cover;
    }
    section#s_header .theme-h {
        font-size: 7rem;
    }

}

body .h3.decent {
	width: fit-content;
    /* padding-bottom: 1rem; */
    /* border-bottom: 2px solid var(--text); */
    /* text-transform: uppercase; */
    font-size: .85rem;
    font-weight: 600;
	letter-spacing:.05em;
}
@media(min-width:992px){
	body .h3.decent {
		font-size: .85rem;
	}

}




bady header#masthead.whitened.has-item-active:before{
    background:var(--bg-transparent-light);
}
.rot-item-slide{
	min-height:var(--display-header-min-h);
}


.simple-header .header-inner {
    display: flex;
    position: relative;
    min-height: var(--display-header-min-h);
    align-items: center;
}
/*alex-unsinn aufräumen*/
.simple-header.dh-slides {
	position:relative;
}
.simple-header.dh-slides .header-inner{
	display:block;
	max-width:100%;
}
/*-----------------------*/

body.single .simple-header .header-inner{
	min-height:0;
}

.simple-header .rot-img-absolute{
	position:absolute;
	margin-left: 25%;
	width:75%;
}
body.single .simple-header .rot-img-absolute{
	padding-bottom:0;
}
body.single .header-inner{
	padding-top:3rem;
	padding-bottom:3rem;
}
.simple-header .title-wrap {
    background: white;
	background:#ffffffd4;
    color: var(--text);
    z-index: 2;
    padding: 0 var(--title-wrap-padding) var(--title-wrap-padding) 0;
	position:relative;
}
.simple-header .title-wrap h1,
.simple-header .title-wrap p,
.simple-header .title-wrap div{
	color:inherit!important;
}
body.single .simple-header .title-wrap{
	padding-bottom: 0;
}
body.single .simple-header .title-wrap .h1 {
    min-height: 68px;
    color: var(--grey-lightest)!important;
    padding-bottom: 0;
    text-transform: uppercase;
	font-weight: 100;
	letter-spacing:.05em;
}
body .simple-header .title-wrap h1{
	min-height: 65px;
	margin-bottom: 0;
	overflow: visible;
	padding-bottom:.4rem;
	max-width:8em;
}
body.single .title-wrap .h1:after,
body .simple-header .title-wrap h1:before{
	display:none;
}
.simple-header .title-wrap .bird:before{
	width:100%;
	height:100%;
}

.content-top-wrap>.inner{
	padding-left:var(--container-margin);
	padding-right:var(--container-margin);
}


@media(min-width:992px){
	#masthead ul.navbar-nav{
		/* color:var(--secondary); */
        color:var(--white);
    }
    #masthead.whitened ul.navbar-nav{
		color:var(--text);
    }
}
@media(min-width:1200px){
	body .simple-header .title-wrap h1{
		max-width:10em;
	}
	.simple-header .title-wrap .bird{
		width:60px;
		height:150px;
	}
	.simple-header .title-wrap h1{
		padding-left:71px;
	}
}
@media(min-width:1440px){
	.content-top-wrap>.inner{
        padding-left:var(--container-margin);
        padding-right:var(--container-margin);
    }
}



@media(min-width:1500px){
	.simple-header .title-wrap h1{
		padding-left:80px;
	}
}

@media(min-width:2200px){
	.simple-header .title-wrap h1{
		padding-left:120px;
	}
}



body.single .rot-header-bg img{
	filter:grayscale(.5);
}




/*ARIA and TAB NAV FOCUS*/
.navbar-nav li>a:focus{
	text-decoration:underline;
}



#submenu-rot-more>li>ul.show{
	position:relative!important;
}





/*last minute aus theme.css*/
/*last minute aus theme.css*/
/*last minute aus theme.css*/
/*last minute aus theme.css*/
/*last minute aus theme.css*/
body:not(.home) section#s_header.dark:before{
    content: '';
    top: 0;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, 0.23);
    position:absolute;
}


/* .navbar-toggler-icon .center-bar{background-color:red;} .navbar-toggler-icon:after{background-color:green;} .navbar-toggler-icon:before{background-color:greenyellow;} */
.navbar-toggler-icon .center-bar, .navbar-toggler-icon:after, .navbar-toggler-icon:before {
    height: 3px;
}
.logo-wrap {
    width:100px;
    margin-top: 0rem;
    z-index: 4;
    position: relative;
    left: 0px;
    height: 100%;
}
.site-logo {
    width: 100px;
    position: absolute;
    transition: transform .5s, width .5s;
    height: auto;
    margin-top: auto;
}

.site-logo svg {
	width: 100px;
	height: 100px;
}


ul.navbar-nav>li .menu-contact-wrap .menu-contact-thumb{
    max-width: 120px;
    /* display: flex; */
    /* justify-content: flex-end; */
    text-align: right;
    display: inline-block;
    width: 100%;
}


@media(max-width:767.98px){
    .navbar-extra-links{
        right:0;
        padding:0;
    }
}



/* Das Overlay selbst */
header#masthead::after {
    content: "";
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: calc(100vh - var(--headerheight) - var(--admin-bar-height));
    background: rgba(0, 0, 0, 0.6); /* Dunkelheit hier anpassen */
    z-index: -1; /* Hinter dem Header-Inhalt, aber vor dem Rest der Seite */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    pointer-events: none; /* Verhindert, dass man das Overlay versehentlich anklickt */
}

/* Wenn das Menü aktiv ist, wird das Overlay sichtbar */
header#masthead.nav-showing::after {
    opacity: 1;
    visibility: visible;
    pointer-events: auto; /* Jetzt blockiert es Klicks auf die restliche Seite */
}


ul.navbar-nav>li.spacer{
    display:none!important;
    pointer-events:none;
}




body{
	--header-modal-max-width:350px;
}
@media(min-width:768px){
	body{
		--header-modal-max-width:calc(500px);
	}

}
@media(min-width:1200px){
	body{
		--header-modal-max-width:calc(700px);
	}

}
.rot-swiper-head{
	position:absolute;
	top:0;
	left:calc(var(--container-margin) - 15px);
	z-index:3;
}

.rot-swiper-listener-tabs{
	position: absolute;
    bottom: 2rem;
    z-index: 2;
	padding-left:var(--container-margin);
	padding-right:var(--container-margin);

}
.rot-swiper-listener-tabs li {
	margin-bottom:0!important;
}
.rot-swiper-listener-tabs ul {
    list-style: none;
    padding-left: 0;
    display: flex;
    gap: 7px 14px;
    flex-wrap: wrap;
}
.rot-swiper-listener-tabs button {
	padding: 6px 18px;
    background: var(--text);
    border: none;
    color: white;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1.2;
    font-size: calc(var(--regular-p-size) * 1.1);
    white-space: nowrap;
	transition:background-color .5s;
}
.rot-swiper-listener-tabs .is-active button {
	background:var(--primary);
}

.listener-content-wrap:not(.is-open){
	display:none;
}
.listener-content-wrap{
	display:block;
	position: absolute;
    top: 0;
    left: 0;
    height: 100%;
	width:100%;
    z-index: 3;
    background: #0000005e;
    padding: 1.5rem 1rem;
	pointer-events:none;
}
.listener-content-wrap .listener-slot{
	background: white;
    padding: 0.7rem .7rem 0;
	max-width:var(--header-modal-max-width);
	margin-left:auto;
	margin-right:auto;
	pointer-events:all;
}
.listener-content-wrap .listener-slot h2{
	margin-bottom:0;
	padding-bottom:1.2rem;
}
.listener-content-wrap .listener-slot-2 {
    padding-bottom: 1.4rem;
    max-width: var(--header-modal-max-width);
    max-height: calc(100% - 6rem);
    overflow: auto;
}
.listener-more-wrap a{
	background-color:var(--primary);
	color:var(--white);
	display:block;
	width:fit-content;
	margin-top:.7rem;
	padding:4px 8px;
	transition:color .5s, background-color .5s;
}
.listener-more-wrap a:focus,
.listener-more-wrap a:hover{
	color:var(--white);
	background-color:var(--primary-dark);
}