/*
Main navigation and top area
*/
:root{
	--back-button-size: 40px;
	--mobile-tile-aspect-ratio: 2/1;
}

/*
Head Blocker
Blockt Inhalt hinter dem Navigationsmenü
*/
.head-blocker{
	width: 100%;
	background-color: var(--color-sub);
	min-height: 50px;
	transition: all 500ms;
}

/* HEADER SCROLL */
header.site-header.scroll{
	background: red;
	background: linear-gradient(180deg, var(--color-main) 10%, var(--color-main) 10%, #00000000)
}


#masthead{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	color: black;
	position: fixed;
	width: 100%;

	top: 0;
	left: 0;
	z-index: 100;

	background: var(--color-sub);
}
.admin-bar #masthead{
	margin-top: 32px;
}

#masthead.transparent{
	background: rgba(255,255,255,0);
	color: white;
}

.nav-fc-overlay{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	padding-top: 15px;
	padding-bottom: 15px;
	max-width: var(--header-max-width);
	padding: 5px 15px;
	margin: auto;
}
@media (max-width: 414px){
	.nav-fc-overlay{
		grid-template-columns: 1fr 2fr 1fr;
	}
}

.masthead_menu_link{
	display: flex;
	margin-left: 0px; /* 30px alt */
	align-items: center;
}
.masthead_menu_link:hover{
	cursor: pointer;
}
.masthead_menu_link:hover{
	text-decoration: none;
}
@media (max-width: 768px){
	.masthead_menu_link {
		margin-left: 0;
	}
}

.masthead_menu_bars{
	width: 40px;
	margin-right: 10px;
	transform: scaleX(-1);
}
#masthead.transparent .masthead_menu_bars{
	border-color: white;
}

.masthead_menu_text{
	font-weight: 600;
	text-transform: uppercase;
	color: var(--color-main);
	font-size: 20px;
}

#hamburger_icon path{
	fill: var(--color-main);
}

#masthead.transparent .masthead_menu_text{
	color: white;
}

.nav-fc-overlay a:hover{
	color: var(--color-main);
	text-decoration: none;
}

/*
SUCHE
*/
#masthead .search-link{
	margin-top: 30px;
	margin-right: 30px;
	justify-content: flex-end;
}
#masthead .search-link .fa{
	font-size: 20px;
}

.masthead_search_text{
	font-weight: bold;
	text-transform: uppercase;
	color: black;
}
#masthead.transparent .masthead_search_text{
	color: white;
}

body.solid-menu-mode .entry-header{
	margin-top: 100px;
}

/*
Image Logo
*/
.logo-section{
	/* padding: 0px 7vw; */
	display: flex;
	justify-content: center;
	align-items: center;
}


header.site-header .logo-section img{
	width: 100%;
	max-width: var(--branding-width-max);
	display: block;
	margin: auto;
	transition: all 500ms;
}
@media (min-width: 768px){
	header.site-header.scroll .logo-section img{
		width: 80%;
	}
}


.logo-section .custom-logo-link{
	max-width: 350px;
	display: block;
	margin: auto;
}

.menu-section{
	/* padding: 0px 7vw; */
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.contact-section{
	/* padding: 0px 7vw; */
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
@media (max-width: 768px){
	.contact-section span{
		display: none;
	}
}

#masthead nav{
	position: fixed;
	top: 0;
	background: #fff;
	border-right: solid 1px #ddd;
	left: -375px;
	width: 375px;
	bottom: 0;
	z-index: 99;
	transition: all 500ms;
}

#masthead nav .navInner{
	padding: 40px 0px;
}
#primary-menu,
#primary-menu ul{
	padding: 0;
	padding-bottom: 50px;
	list-style: none;
	margin: 0;
	margin-top: 30px;
	text-align: left;
	padding-left: 50px;
}
#primary-menu ul{
	margin-top: 0;
}




#primary-menu .sub-menu{
	padding: 0px 0px 30px 0px;
}

#primary-menu .sub-menu > li > a{
	font-weight: 400;
	font-size: 14px;
	line-height: 25px;
	margin-top: 0;
	margin-bottom: 0;
	padding-left: 45px;
	font-weight: 500;
	color: black;
	text-transform: uppercase;
}




/* The Overlay (background) */
.overlay {
	/* Height & width depends on how you want to reveal the overlay (see JS below) */
	height: 100%;
	width: 100%;
	position: fixed; /* Stay in place */
	z-index: 1; /* Sit on top */
	left: -100%;
	top: 0;
	overflow-x: hidden; /* Disable horizontal scroll */
	transition: 0.5s; /* 0.5 second transition effect to slide in or slide down the overlay (height or width, depending on reveal) */
	background-color: var(--color-sub);
}


.overlay-content .logo-menu-section img{
	width: 240px;
	/* max-height: none !important; */
	/* max-width: 100% !important; */
	max-width: 100%;
	margin: auto;
	display: block;
}

.overlay-content .right{
	display: grid;
	align-items: flex-start;
	width: 100%;
}
@media (min-width: 769px){
	.overlay-content .right{
		align-items: center;
	}
}

.overlay-content .right .right-inner{
	height: 100%;
	display: grid;
	align-content: center;

}



/* Position the close button (top right corner) */
.overlay .closebtn {
	position: absolute;
	top: 20px;
	right: 0;
	font-size: 60px;
}

.overlay .closebtn:hover{
	color: var(--color-main);
	text-decoration: none;;
}


/* When the height of the screen is less than 450 pixels, change the font-size of the links and position the close button again, so they don't overlap */
@media screen and (max-height: 450px) {
	.overlay a {font-size: 20px}
	.overlay .closebtn {
		font-size: 40px;
		top: 15px;
		right: 35px;
	}
}


.overlay-content h2{
	text-transform: uppercase;
	text-align: left;
	font-weight: 300;
}

/* ist im grunde das H2 */
.overlay-content .claim1{
	font-size: 40px;
	line-height: 45px;
}


/*
LINKE SPALTE --- NEWSLETTER FORM
*/
.overlay-content .menu-newsletter-form input[type=text]{
	background: transparent;
	border: 0;
	border-bottom: solid 2px var(--color-main);
	min-width: 330px;
	margin-bottom: 30px;
	display: block;
}
.overlay-content .menu-newsletter-form input[type=submit],
.overlay-content .menu-newsletter-form button{
	background: var(--button-color);
	border: 0;
	border-radius: 999px;
	margin: auto;
	color: white;
	text-transform: uppercase;
	font-size: 15px;
	line-height: 45px;
	font-weight: bold;
	padding: 0px 50px;
	min-width: 50%;
}

@media (max-width: 768px){
	.overlay-content .social-media-icons{
		justify-content: center !important;
		display: none;
	}
}

.overlay-content .application-section{
	margin-top: 10px;
}
.overlay-content .application-section p{
	font-size: 14px;
}
.overlay-content .application-section a:hover{
	color: black;
}

@media (max-width: 768px){
	.overlay-content .application-section{
		display: none;
	}
}



@media (max-width: 768px){
	.overlay-content .newsletter-menu-wrapper{
		display: none;
	}
}


/*
GRID MENU --- RECHTE SEITE
*/

.overlay-content .grid-menu{
	display: grid;
	grid-template-columns: 3fr 1fr 1fr 2fr 2fr;
	grid-template-rows: repeat(3, 23vh);
	gap: 20px;
	padding: 0;

	grid-template-areas:
	"a b b c d"
	"e e f f d"
	"g h h i i";
}


.overlay-content .grid-menu .menu-item {
	background-size: cover;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	letter-spacing: 3px;
	font-size: 15px;
	text-transform: uppercase;
	cursor: pointer;
}
@media (max-width: 820px){ /* von 768px geändert 11.11.2022 */
	.overlay-content .grid-menu .menu-item {
		aspect-ratio: var(--mobile-tile-aspect-ratio);



	}


	@supports not (aspect-ratio: 2/1) {

		.overlay-content .grid-menu .menu-item{

			padding-top: 50%;
			height: 0;
			position: relative;
			overflow: hidden;

		}
		.overlay-content .grid-menu .menu-item a,
		.overlay-content .grid-menu .menu-item span{

			margin-top: -50%;

		}


	}



}

.overlay-content .grid-menu .menu-item a{
	color: white;
	z-index: 1;
	text-decoration: none;
	width:100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 100%;
	height: 100%;
}

.overlay-content .grid-menu .menu-item span{
	color: white;
	z-index: 1;
	text-decoration: none;
	width:100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 100%;
	height: 100%;
}

.overlay-content .grid-menu .menu-item::before{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--color-transparent-heavy);
	content: "";
}


.overlay-content .grid-menu li:nth-child(1){grid-area: a;}
.overlay-content .grid-menu li:nth-child(2){grid-area: b;}
.overlay-content .grid-menu li:nth-child(3){grid-area: c;}
.overlay-content .grid-menu li:nth-child(4){grid-area: d;}
.overlay-content .grid-menu li:nth-child(5){grid-area: e;}
.overlay-content .grid-menu li:nth-child(6){grid-area: f;}
.overlay-content .grid-menu li:nth-child(7){grid-area: g;}
.overlay-content .grid-menu li:nth-child(8){grid-area: h;}
.overlay-content .grid-menu li:nth-child(9){grid-area: i;}
.overlay-content .grid-menu li:nth-child(10){grid-area: j;}
.overlay-content .grid-menu li:nth-child(11){grid-area: k;}

/*
Untermenü Punkte ausblenden
*/
.overlay-content .grid-menu .sub-menu li {
	display: none;
	grid-area: auto;
}




/*
Overlay Sub Menu
*/
.overlay-sub-menu{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
@media (min-width: 821px) and (max-width: 1440px){
	.overlay-sub-menu{
		grid-template-columns: repeat(3, 1fr);
		gap: 10px;
	}
}

@media (max-width: 820px){
	.overlay-sub-menu{
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
}



@supports not (aspect-ratio: 1/1) {


	.overlay-sub-menu li{

		padding-top: 100%;
		height: 0;
		position: relative;
		overflow: hidden;

	}
	.overlay-sub-menu li a{

		margin-top: -100%;

	}


}


}
@media (min-width: 360px) and (max-width: 820px){

	.overlay-sub-menu li{
		aspect-ratio: var(--mobile-tile-aspect-ratio)!important;

	}

	@supports not (aspect-ratio: 2/1) {

		.overlay-sub-menu li{

			padding-top: 50%;
			height: 0;
			position: relative;
			overflow: hidden;
			background-size: cover;
			display: flex;
			justify-content: center;
			align-items: center;
			position: relative;

		}
		.overlay-sub-menu li a{

			margin-top: -50%;

		}


	}
}

.overlay-sub-menu li{
	background-size: cover;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	aspect-ratio: 1/1;


}

.overlay-sub-menu li::before{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--color-transparent-heavy);
	content: "";
}



.overlay-sub-menu li a{
	color: white;
	z-index: 1;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	letter-spacing: 3px;
	font-size: 15px;
	text-transform: uppercase;
	text-align: center;
}

/*
Zurück Button im Untermenü
*/
.overlay-sub-menu .fa.fa-chevron-left{
	font-size: var(--back-button-size);
}

.mh100vh {
	min-height: 100vh;
}

.header-text {
	color: white;
}

/* Position the content inside the overlay */
.overlay-content {
	display: grid;
	height: 100%;
	grid-template-columns: 3fr 7fr;
	gap: 50px;
	position: relative;
	width: 100%;
	/* text-align: center; */
	max-width: calc(var(--body-max-width) - 10%);
	margin: auto;
}

@media (min-width: 360px) and (max-width: 820px){ /* von 768px geändert 11.11.2022 */
	.overlay-content .grid-menu{
		grid-template-columns: 1fr 1fr;
		grid-template-rows: repeat(10, auto);
		gap: 10px;

		grid-template-areas:
		"a b"
		"c d"
		"e f"
		"g h"
		"i j"
		"k l";
	}

	.overlay-sub-menu li{
		aspect-ratio: var(--mobile-tile-aspect-ratio)!important;

	}

	@supports not (aspect-ratio: 2/1) {

		.overlay-sub-menu li{

			padding-top: 50%;
			height: 0;
			position: relative;
			overflow: hidden;

		}
		.overlay-sub-menu li a{

			margin-top: -50%;

		}


	}
}


@media (max-width: 359px) {

	.overlay-content .grid-menu{
		grid-template-columns: 1fr;
		grid-template-rows: repeat(10, auto);
		gap: 10px;

		grid-template-areas:
		"a"
		"b"
		"c"
		"d"
		"e"
		"f"
		"g"
		"h"
		"i"
		"j"
		"k"
		"l";
	}


}


@media (max-width: 504px){ /* von 768px geändert 11.11.2022 */

	.cta-wrapper{
		display: grid;
		grid-template-columns: 1fr;
	}

	.overlay-content {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		/* grid-template-rows: 260px auto; /* social media icons und schnellbewerbungslink */
		padding: 10px;
		gap: 10px;
	}

	.cta1 a.button,
	.cta2 a.button{
		font-size: 18px;
		padding-left: 20px;
		padding-right: 20px;
	}



}



@media (min-width: 505px) and (max-width: 950px){
	.overlay-content {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		/* grid-template-rows: 260px auto; /* social media icons und schnellbewerbungslink */
		padding: 10px;
		gap: 10px;
	}

	.cta-wrapper{
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
	.social-section {
		display: none;
	}

	.cta1 a.button,
	.cta2 a.button{
		font-size: 18px;
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* Large devices (laptops/desktops, 992px and up) */
@media (min-width: 840px) and (max-width: 1200px) {

	.overlay-content .left{
		padding-top: 60px;
	}

	.cta1 a.button,
	.cta2 a.button{
		font-size: 18px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.overlay-content .grid-menu {
		gap: 10px;
	}

}

@media (min-width: 1201px) {
	.overlay-content .left{
		padding-top: 60px;
	}
}




.overlay-content .left div{
	padding: 10px;
	text-align: center;
}

.overlay-sub-menu li a {
    padding: 10px;
}

@media only screen and (max-width: 767px) {
    .overlay-content {
        max-width: calc(var(--body-max-width) - 5%);
    }

    .overlay-content .grid-menu .menu-item a {
        word-wrap: break-word;
    }

    .overlay-sub-menu li a {
        word-break: break-word;
        padding: 0 5px;
    }

}
