/*
Theme Name: NVP Theme – Hallo Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.1.3
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/
:root {
	--animation-primary: all 0.5s cubic-bezier(0.7, 0, 0.3, 1);
	--animation-fast: all 0.3s cubic-bezier(0.7, 0, 0.3, 1);
	--animation-smooth: all 0.7s cubic-bezier(0.7, 0, 0.3, 1);
	--animation-slow: all 0.9s cubic-bezier(0.7, 0, 0.3, 1);

	--section-padding: clamp(5em, 21vh, 12em);
	--container-padding: clamp(2.5em, 8vw, 8em);
	--gap-padding: clamp(1.5em, 4vw, 2.5em);
}
/* Add your custom styles here */
html,
body {
	-webkit-font-smoothing: antialiased;
}
.wrapper {
	overflow-x: hidden;
	max-width: 1920px;
	margin: 0 auto;
}
@media (min-width: 1920px) {
	.wrapper {
		box-shadow: 0 48px 48px rgba(0, 0, 0, 0.08);
	}
}
body:not(.elementor-editor-active) .nvp-header-element {
	transition: none;
	transform: translate3d(0px, -200%, 0px);
}
body:not(.elementor-editor-active) .mask p,
body:not(.elementor-editor-active) .single-line {
	transition: none;
	transform: translate3d(0px, 120%, 0px);
}
body:not(.elementor-editor-active) .single-line-wrap {
	transition: none;
	overflow: hidden;
	padding-top: 0.2rem;
	padding-bottom: 0.2rem;
	margin-bottom: -0.2rem;
}
.heading-xl * {
	font-size: max(2.625rem, min(5.56634vw + 1.32039rem, 8rem));
	line-height: 0.9;
}
body:not(.elementor-editor-active) [data-reveal="fade"],
body:not(.elementor-editor-active) .nvp-hero-element,
body:not(.elementor-editor-active) [data-reveal-timeline="reveal"] > *,
body:not(.elementor-editor-active) [data-reveal-items="reveal"] > *,
body:not(.elementor-editor-active)
	[data-reveal-items="loop-grid"]
	.elementor-loop-container
	> * {
	opacity: 0;
}
body:not(.elementor-editor-active) [data-load-items="before-video"],
body:not(.elementor-editor-active) [data-load-items="before-image"],
body:not(.elementor-editor-active) [data-load-items="fade-default"],
body:not(.elementor-editor-active) [data-load-items="fade"],
body:not(.elementor-editor-active) .parallax-element,
body:not(.elementor-editor-active) [data-reveal="fade"],
body:not(.elementor-editor-active) [data-reveal-items="fade"],
body:not(.elementor-editor-active) [data-load-items="wrap-buttons"],
body:not(.elementor-editor-active) [data-reveal-timeline="reveal"] > *,
body:not(.elementor-editor-active) [data-reveal-items="reveal"] > *,
body:not(.elementor-editor-active)
	[data-reveal-items="loop-grid"]
	.elementor-loop-container
	> * {
	will-change: transform, opacity;
	transition: none;
}
.elementor-button .elementor-button-icon {
	transition: all 0.6s;
	transform: translate3d(0px, 0px, 0px);
}
.elementor-button:hover .elementor-button-icon {
	transform: translate3d(8px, 0px, 0px);
}
[x-cloak] {
	display: none !important;
}
.nvp-box * {
	transition: none !important;
}

a,
button,
[role="button"],
.cmplz-banner-checkbox label,
.cmplz-banner-checkbox [type="checkbox"] {
	outline: 0 !important;
}

.publications button {
	width: 4rem;
	height: 4rem;
	border-radius: 4rem;
	padding: 0;
	border: 0;
	overflow: hidden;
	outline: 0;
}
/* .publications [aria-expanded="true"] button,
.publications button:hover {
  background-color: var(--e-global-color-text);
} */
.publications button div {
	width: 4rem;
	height: 4rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.publications button div:first-child,
.publications button div:last-child {
	transform: translateY(-100%);
	transition: transform 0.3s;
}
.publications button:hover div:first-child,
.publications button:hover div:last-child,
.publications [aria-expanded="true"] button div:last-child {
	transform: translateY(0%);
}
.publications [aria-expanded="true"] button div:first-child {
	transform: translateY(-2px) rotate(-180deg);
}
.publications__button {
	position: relative;
}
.publications__button::before {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);

	right: 0;
	height: 1px;
	width: calc(100% - 5rem);
	background-color: #00000033;
	pointer-events: none;
}
.publications button svg {
	height: 24px;
	width: 24px;
}
.publications__button {
	padding-top: 2rem;
	padding-bottom: 2rem;
}

.teaching_activity__content {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

/* OPTIMIERUNG */
/* ========== NAVIGATION FIXED ========== */
.nav-fixed {
	position: fixed;
	right: 0;
	top: 0;
	height: 100%;
	background: var(--e-global-color-ed4e0d2);
	z-index: 100;
	transform: translate(calc(100% + 12vw), 0) rotate(0.001deg);
	transition: transform 0.8s cubic-bezier(0.7, 0, 0.2, 1);
	will-change: transform;
}
.navactive .nav-fixed {
	transform: translate(0, 0) rotate(0.001deg);
}

/* CONTENT WRAPPER */
.nav-fixed__content {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	padding: 15vh 7.5vw 10vh 7.5vw;
	position: relative;
	transform: translate(0, 0) rotate(0.001deg);
	transition: all 0.6s cubic-bezier(0.7, 0, 0.2, 1);
	will-change: transform;
}
.navactive .nav-fixed__content {
	transform: translate(0, 0) rotate(0.001deg);
}

/* SECTIONS */
.nav-fixed__section {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
}
.nav-fixed__title {
	color: var(--e-global-color-text);
	font-size: 0.75rem;
	text-transform: uppercase;
	opacity: 0.5;
}
.nav-fixed__divider {
	display: block;
	width: 100%;
	height: 1px;
	background: rgba(255, 255, 255, 0.2);
	margin: 0.75em 0;
}

/* NAVIGATION LINKS */
.nav-fixed__links {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0;
	padding: 5vh 0 0 0;
	list-style: none;
}
.nav-fixed__links .btn--link .btn--click {
	height: auto;
	color: var(--e-global-color-text);
}
.nav-fixed__links .btn__text-inner {
	font-weight: 700;
	font-size: calc(clamp(3.25em, 5vw, 4em) * 0.875);
	line-height: 1.4;
}
.nav-fixed__links .btn--link .btn--click::after {
	background: var(--color-white);
	left: calc(var(--gap-padding) / -4);
	top: 50%;
	width: calc(clamp(16px, 1.2vw, 19px) / 1.65);
	height: calc(clamp(16px, 1.2vw, 19px) / 1.65);
}

/* ANIMATION PER ITEM */
.nav-fixed__links .btn {
	transform: translate(15vw, 0) rotate(0.001deg);
	transition: all 0.8s cubic-bezier(0.7, 0, 0.2, 1);
	will-change: transform;
	text-decoration: none;
}
.navactive .nav-fixed__links .btn {
	transform: translate(0, 0) rotate(0.001deg);
}
.nav-fixed__links .btn:nth-child(2) {
	transition-delay: 0.03s;
}
.nav-fixed__links .btn:nth-child(3) {
	transition-delay: 0.06s;
}
.nav-fixed__links .btn:nth-child(4) {
	transition-delay: 0.09s;
}

/* BACKGROUND SHAPE */
.nav-fixed__background {
	position: absolute;
	left: 1px;
	top: 0;
	height: 100%;
	transform: translateX(-100%);
}
.nav-fixed__background-shape {
	width: 6vw;
	height: 100%;
	transition: all 0.85s cubic-bezier(0.7, 0, 0.2, 1);
	will-change: width;
}
.navactive .nav-fixed__background-shape {
	width: 0;
}
.nav-fixed__background-shape::before {
	content: "";
	position: absolute;
	top: 50%;
	width: 775%;
	height: 150%;
	background: var(--e-global-color-ed4e0d2);
	border-radius: 50%;
	transform: translate(-6.5%, -50%);
}

/* SOCIALS */
.nav-fixed__socials {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	gap: 0.75rem;
}
.nav-fixed__socials li {
	display: inline-flex;
	font-size: 0.85em;
}
.nav-fixed__socials li a.btn--click {
	color: var(--e-global-color-text);
	font-size: 1em;
	font-weight: 400;
}
.nav-fixed__section--socials .nav-fixed__divider {
	display: none;
}

/* MEDIA QUERIES */
@media screen and (max-height: 680px) {
	.nav-fixed__links .btn__text-inner {
		font-size: 2.5rem;
		line-height: 1.25;
	}
}

@media screen and (max-width: 540px) {
	.nav-fixed {
		width: 100%;
		transform: translate(calc(100% + 32vw), 0) rotate(0.001deg);
	}
	.nav-fixed__content {
		height: calc(var(--vh, 1vh) * 100);
		padding: calc(var(--vh, 1vh) * 15) 2rem calc(var(--gap-padding) * 1.25) 2rem;
		transform: translate(20vw, 0) rotate(0.001deg);
		transition-delay: 0s;
	}
	.navactive .nav-fixed__content {
		transform: translate(0, 0) rotate(0.001deg);
		transition-delay: 0.1s;
	}
	.nav-fixed__links {
		width: 100%;
		padding-top: calc(var(--vh, 1vh) * 3);
		padding-bottom: calc(var(--vh, 1vh) * 3);
		gap: 1rem;
	}
	.nav-fixed__links .btn {
		width: 100%;
	}
	.nav-fixed__links .btn .btn__text {
		justify-content: flex-start;
	}
	.nav-fixed__section--socials .nav-fixed__divider {
		display: block;
		margin-bottom: calc(var(--section-padding) / 3);
	}
	.nav-fixed__background-shape {
		width: 20vw;
	}
	.navactive .nav-fixed__background-shape {
		width: 0;
	}
	/* Transition delays for mobile items */
	.nav-fixed__links .btn:nth-child(1) {
		transition-delay: 0s;
	}
	.nav-fixed__links .btn:nth-child(2) {
		transition-delay: 0.03s;
	}
	.nav-fixed__links .btn:nth-child(3) {
		transition-delay: 0.06s;
	}
	.nav-fixed__links .btn:nth-child(4) {
		transition-delay: 0.09s;
	}
	.nav-fixed__links .btn:nth-child(5) {
		transition-delay: 0.12s;
	}
	.nav-fixed__links .btn:nth-child(6) {
		transition-delay: 0.15s;
	}
	.navactive .nav-fixed__links .btn:nth-child(1) {
		transition-delay: 0.1s;
	}
	.navactive .nav-fixed__links .btn:nth-child(2) {
		transition-delay: 0.13s;
	}
	.navactive .nav-fixed__links .btn:nth-child(3) {
		transition-delay: 0.16s;
	}
	.navactive .nav-fixed__links .btn:nth-child(4) {
		transition-delay: 0.19s;
	}
	.navactive .nav-fixed__links .btn:nth-child(5) {
		transition-delay: 0.22s;
	}
	.navactive .nav-fixed__links .btn:nth-child(6) {
		transition-delay: 0.25s;
	}
}

.cmplz-cookiebanner.cmplz-categories-visible .cmplz-body > .cmplz-categories {
	margin: 24px 0px 16px;
}
@media (min-width: 1024px) {
	.cmplz-cookiebanner.cmplz-categories-visible .cmplz-body > div {
		width: 100% !important;
	}
}
.cmplz-cookiebanner .cmplz-body {
	display: block !important;
}
.cmplz-cookiebanner.cmplz-categories-type-view-preferences.cmplz-categories-visible
	.cmplz-buttons,
.cmplz-cookiebanner.cmplz-categories-type-no.cmplz-categories-visible
	.cmplz-buttons {
	flex-direction: row !important;
}
.cmplz-cookiebanner {
	margin: 0px !important;
	width: 100% !important;
	grid-template-columns: 1fr !important;
	padding: 24px !important;
}
.cmplz-cookiebanner-inner {
	max-width: 768px;
	padding: 48px 0px 48px !important;
	margin: 0px auto;
}
.cmplz-cookiebanner .cmplz-header {
	grid-template-columns: 0px 1fr 100px !important;
}
.cmplz-cookiebanner .cmplz-title {
	justify-self: self-start !important;
}
.cmplz-cookiebanner-inner .cmplz-buttons {
	margin: 24px 0px 32px;
}
.cmplz-cookiebanner .cmplz-close svg {
	width: 2.5rem !important;
	height: 2.5rem !important;
}
.cmplz-cookiebanner .cmplz-close {
	line-height: 2.5rem !important;
	width: 2.5rem !important;
	height: 2.5rem !important;
	position: absolute;
	top: 2em;
	right: 2em;
	font-size: 20px;
}
.cmplz-cookiebanner .cmplz-close:hover {
	line-height: 2.5rem !important;
	width: 2.5rem !important;
	height: 2.5rem !important;
	font-size: 20px !important;
}
.cmplz-cookiebanner .cmplz-title {
	margin-bottom: 12px;
}
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description {
	padding: 0 1rem 1rem !important;
}
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header {
	padding: 1rem !important;
}
