/* ================================================
  -- Header: Nav Mobile Main
================================================ */
#nav_mobile_main {
    width: 50px;
    height: 50px;
}

/* -- Logo
------------------------------------------------ */
.nav_mobile_main .logo-nm {
    width: 260px;
    margin-bottom: 2.5rem;
}

/* -- Nav
------------------------------------------------ */
body.overflow {
	overflow: hidden;
}
.burger {
	width: 50px;
	height: 50px;
	position: relative;
	cursor: pointer;
	z-index: 999;
}
.burger span {
	position: relative;
	margin-top: 9px;
	margin-bottom: 9px;
	-webkit-user-: none;
	-moz-user-: none;
	-ms-user-: none;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -15px;
	margin-top: -1.5px;
}
.burger span,
.burger span::before,
.burger span::after {
	display: block;
	width: 30px;
	height: 3px;
	background-color: var(--black);
	outline: 1px solid transparent;
	transition-property: background-color, transform;
	transition-duration: 0.3s;
}
.burger span::before,
.burger span::after {
	position: absolute;
	content: "";
	z-index: 99999;
}
.burger span::before {top: -9px;}
.burger span::after {top: 9px;}
.burger.clicked span {background-color: transparent;}
.burger.clicked span::before {transform: translateY(9px) rotate(45deg);}
.burger.clicked span::after {transform: translateY(-9px) rotate(-45deg);}
.burger.clicked span:before,
.burger.clicked span:after {background-color: var(--black);}
.burger:hover {cursor: pointer;}

.nav_mobile_main {
	display: block;
	background-color: var(--white);
	position: fixed;
	z-index: 120;
	top: 0;
	right: 0;
	height: 100%;
	max-width: 515px;
	width: 100%;
	padding: 60px 40px;
	overflow-y: auto;
	transform: translateX(100%);
	transition: transform 0.55s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.nav_mobile_main.show {
	transform: translateX(0px);
}

.nav_mobile_main .inner {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	width: 100%;
	height: 100%;
	margin: auto;
	justify-content: space-between;
}

.nav_mobile_main ul.menu {
	padding-left: 0;
}

.nav_mobile_main.show ul.menu li {transform: translateX(0px);opacity: 1;}
.nav_mobile_main.show ul.menu li:nth-child(1) {transition-delay: 0.5s;}
.nav_mobile_main.show ul.menu li:nth-child(2) {transition-delay: 1s;}
.nav_mobile_main.show ul.menu li:nth-child(3) {transition-delay: 1.5s;}
.nav_mobile_main.show ul.menu li:nth-child(4) {transition-delay: 2s;}
.nav_mobile_main.show ul.menu li:nth-child(5) {transition-delay: 2.5s;}
.nav_mobile_main.show ul.menu li:nth-child(6) {transition-delay: 3s;}

.nav_mobile_main ul.menu a {
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	flex-flow: row nowrap;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	justify-content: space-between;
	width: 100%;
	color: var(--black);
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 3rem;
}

.nav_mobile_main ul.menu li a::after {
	font-family: "isf";
	content: "\e804";
	color: var(--black);
	margin: 0 .5em;
	position: relative;
}

/* -- .nav_btn -- */
.nav_btn {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: auto 0 0;
	padding-left: 0;
}

.nav_btn li {
	width: 100%;
}

.nav_btn a {
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	width: 100%;
	height: 100%;
	color: var(--black);
	font-size: 1.5rem;
	line-height: 2.5rem;
	font-weight: 400;
	padding: 0.75rem 0;
}
.nav_btn li {
	border-top: 1px solid var(--gray);
}
.nav_btn li:last-of-type {
	border-bottom: 1px solid var(--gray);
}

.nav_btn i {
  margin-right: 1rem;
}

.nav_btn .icon-whatsapp {
  font-size: 1.75rem;
}

#nav_main-desktop,
#nav_contact {display: none;}

/* ================================================
	-- Header: Hauptnavigation - Desktop
================================================ */
#nav_desktop_main {display: none;}

@media screen and (min-width: 1024px){
	#nav_mobile_main {display: none;}
}

@media screen and (min-width: 1024px){

	#nav_desktop_main {
		display: flex;
		flex-wrap: wrap;
		align-content: center;
		height: 100%;
	}

	#nav_desktop_main ul {
		margin: 0;
		align-content: center;
		align-items: center;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 25px;
		justify-content: flex-start;
		position: relative;
	}
	
	#nav_desktop_main ul li a {
		display: flex;
		line-height: 48px;
		align-items: center;
		padding: 0 8px;
		color: var(--black);
		font-weight: 500;
		font-size: 16px;
		letter-spacing: 0.25px;
	}
	
	#nav_desktop_main ul li:last-of-type a {
		color: var(--white);
		background-color: rgb(16, 20, 25);
		height: 100%;
		padding: 0 26px;
		border-radius: 100px;
		transform: none;
		transform-origin: 50% 50% 0px;
		outline: var(--red) dotted 1px !important;
		opacity: 1;
	}
	
	#nav_desktop_main ul li:last-of-type a::after {
		font-family: "isf";
		content: "\f192";
		font-size: 18px;
		color: var(--red);
		margin-left: 12px;
		animation: beat 2s linear infinite;
	}

	@keyframes beat {
		0% {
			transform: scale(1);
		}
		14% {
			transform: scale(0.9);
		}
		21% {
			transform: scale(1.1) skew(0.004turn)
		}
		28% {
			transform: scale(1) skew(0.008turn);
		}
		35% {
			transform: scale(1) skew(0)
		}
	}
}

