header#masthead{
	position:relative;
	position:fixed;
	width:100%;
	overflow:visible;
	/* top:0; */
	z-index:100;
	transition: all 0.3s;
	border-top: 4px solid var(--primary);
	border-bottom:3px solid var(--grey-light);
	background:var(--white);
}
body #content{
	padding-top:var(--headerheight);
}
#wpadminbar {
	position: fixed;
}
body header#masthead ul.navbar-nav {
	font-size: var(--menu-font-size);
	flex-direction: column;
	background: white;
	top: 0;
	min-width: 300px;
	width: 100%;
}
body #masthead .navbar-collapse ul.navbar-nav{
	padding-left:15px;
	padding-right:15px;
}
.logo-wrap{
	position: relative;
	padding: 13px 0;
}
.site-logo {
	width: auto;
	position: relative;
	transition: all 0.5s;
	height: 42px;
}

.site-logo svg{
	height: 100%;
	width: auto;
}
.site-logo svg path{
	fill: var(--primary);
	fill-rule: evenodd;
	clip-rule: evenodd;
	transition:all 0.4s;
}
.site-logo a:hover svg path{
	fill:var(--text2);
}
nav.navbar{
	padding:0rem 15px;
}
.has-fixed-header .site-logo{
	width: auto;
	/* top: 0px; */
}
.menu-wrap {
	position: absolute;
	right: auto;
	left: 0;
	width: 100%;
}
@media(min-width:768px){
	.site-logo {
		height: 52px;
	}
}


body header#masthead{
	transition: all 0.75s;
}

.navbar-toggler{
	color: var(--text);
	border-color: var(--text);
	border-radius: 0;
	border-top: 0;
	border-right: 0;
}


#primary-menu .nav-item{
	/* padding: 0 0.4rem; */
	border-radius: 0;
	border-right: none;
	color:var(--text);
}
#primary-menu-footer .nav-item a.nav-link,
#primary-menu .nav-item a.nav-link{
	color:inherit!important;
	font-weight:500;
	word-break: break-word;
	transition:color .3s
}
#primary-menu .nav-item a.nav-link:hover{
	color:var(--primary-hover)!important;
	/* font-weight:800; */
}

body .p-relative{
	position:relative;
}
body.has-display-header header#masthead{
	position: absolute;
	top: 0;
	left: 0;
	background:transparent;
	transition: all 0.75s;
}
body:not(.home) header#masthead,
body.has-display-header header#masthead.header-sticking{
	background:var(--white);
}

.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:var(--headerheight);
	}
	.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){
	#content.site-content {
		padding-top: var(--headerheight-992);
	}
}
/*NAVBAR ---------------------NAVBAR--------------------------------NAVBAR*/

.navbar-nav>li{
	padding:0 2.4rem;
	border-radius:0;
	border-right:none;
	margin: 0 3px;
}
.navbar-nav>li:last-child{
	border-right:none;
}

#masthead .container,
#masthead .container>.row,
#masthead .container>.row>nav{
	position: static;
}
#primary-menu-wrap .nav-link{
	text-align:left;
	/* opacity:0; */
	transition:opacity .4s, color .4s;
}

@media(min-width:768px){
	#masthead .container,
	#masthead .container>.row,
	#masthead .container>.row>nav{
	position: relative;
	}
	#primary-menu-wrap .nav-link{
		opacity:1;
	}
	.navbar-nav>li{
		padding:0 1rem;
	}
}

/*2nd level menu animation*/
nav .dropdown-menu{
	padding:0;
	border:0;
	/*hier müssen bootstrap standard rules ausgehebelt werden, damit nichts aus dem zugeklappten menü "rausschaut"*/
}
nav .dropdown-toggle:before {
	content: '\f107';
	font-family: 'Line Awesome Free';
	font-weight: 900;
	display: inline;
	position: absolute;
	right: 0.5rem;
	transition: transform .3s;
}
nav .dropdown.show .dropdown-toggle:before {
	transform: rotate(-90deg);
}
nav .dropdown-toggle:after {
	display:none;
}
nav .dropdown-menu,
nav .nav-item{display:block;}
nav .dropdown-menu{
	overflow:hidden;
	max-height:0;
	transition:all .7s;
}
nav .dropdown-menu.show{
	max-height:250vh;
}
/* ------NAVBAR-COLLAPSE---------*/

body #masthead .navbar-collapse {
	position: fixed;
	top: calc(75px + var(--admin-bar-height));
	background: #001423d6;
	left: auto;
	right: 0;
	width: 100%;
	overflow-y: auto;
	height: calc(100vh - 75px);
	display: block!important;
	transition: width .7s, opacity .3s;
	/* white-space: nowrap; */
	opacity:1;
}
body #masthead .navbar-collapse:not(.show) {
	/* transform: skew(6deg, 0deg); */
	width:0;
	opacity: 0;
}
body #masthead .navbar-collapse ul.navbar-nav {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 70px;
    font-size: var(--menu-font-size);
	padding-bottom:70px;
}
body #masthead .navbar-collapse ul.navbar-nav .nav-item{
	padding: 1rem 0.2rem;
}

@media(min-width:576px){
	body #masthead .navbar-collapse ul.navbar-nav{
		padding-left:calc((100% - 520px) / 2);
		padding-right:calc((100% - 520px) / 2);

	}
}
@media(min-width:768px){
	body #masthead .navbar-collapse {
		top: calc(85px + var(--admin-bar-height));
	}
	body #masthead .navbar-collapse ul.navbar-nav{
		padding-left:calc((100% - 680px) / 2);
		padding-right:calc((100% - 680px) / 2);
	}
}
@media(min-width:840px){
	body #masthead .navbar-collapse ul.navbar-nav{
		padding-left:calc((100% - 800px) / 2);
		padding-right:calc((100% - 800px) / 2);
	}
}
@media(min-width:992px){
	body #masthead .navbar-collapse {
		width: auto!important;
		opacity: 1!important;
		position: relative;
		height: auto;
		top: 0;
		height: 100%;
		background:transparent;
		display: flex!important;
	}
	body #masthead .navbar-collapse ul.navbar-nav{
		flex-direction: row;
		width:auto;
		padding:0;
	}
}



/*TOGGLER*/
body #masthead .navbar-toggler:before {
    content: '';
    position: absolute;
    top: -12px;
    left: -7px;
    width: calc(42px + 20px);
    height: calc(42px + 20px);
    display: inline-block;
	background:var(--grey-light);
	transition: background-color .3s;
}
body #masthead .navbar-toggler.collapsed:before {
	background:transparent;
}
body #masthead .navbar-toggler {
	border:none;
	background:transparent;
	position:relative;
}
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: -3px;
    position: relative;
}

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:100%;
	position:absolute;
	height:3px;
	border:1px solid var(--text);
	border:none;
	border-radius:1px;
	background-color: var(--text);
	top:7px;
	transition: all 0.5s cubic-bezier(.88,.11,.83,.67) 0.2s;

	height: 2px;
	top:4px;
}
.navbar-toggler-icon .center-bar{
	top:12px;
	transform:scale(1);
}
.navbar-toggler-icon:after{
	top:20px;
	/* bottom:5px; */
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before{
	transform: rotate(45deg) translate(0.1em, 0.4em);
	width: 1.9em;
	width: 1.5em;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon .center-bar{
	transform: scale(0);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after{
	transform: rotate(-45deg) translate(0.125em, -0.5em);
	width: 1.9em;
	width: 1.58em;
	bottom:3px;
}


/*------------------------------------------------------CUSTOM-------------------------*/




/*SOCIAL*/
.navbar-collapse{
	flex-grow:0;
	-ms-flex-positive:0;
}

.social{
	display: inline-block;
	font-size: 2.25rem;
	vertical-align: bottom;
	margin-right: 1rem;
	position: static;
	/* bottom: -7px; */
	margin-bottom: -1px;
	line-height: 1;
}
body .social a:visited,
body .social a:focus,
body .social a{
	color:var(--text);
	margin-right:5px;
}
body .social a:hover{
	color:var(--primary);
}