:root {

	--haev-t-schnell: .15s;
	--haev-t-normal:  .25s;
	--haev-t-ruhig:   .45s;

	--haev-t-link:    .35s;

	--haev-kurve: cubic-bezier(.2, .6, .3, 1);
}

html .et_pb_text a,
html .et_pb_toggle_content a {
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-position: 100% 100%;
	background-size: 0 1px;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;

	padding-bottom: .13em;
	transition: background-size var(--haev-t-link) linear;
}

html .et_pb_text a:hover,
html .et_pb_toggle_content a:hover {
	background-position: 0 100%;
	background-size: 100% 1px;
}

html .et_pb_text a:focus-visible,
html .et_pb_toggle_content a:focus-visible {
	background-position: 0 100%;
	background-size: 100% 1px;
	transition: none;
}

html body .et_pb_text a,
html body .et_pb_text a:hover,
html body .et_pb_text a:focus-visible,
html body .et_pb_toggle_content a,
html body .et_pb_toggle_content a:hover,
html body .et_pb_toggle_content a:focus-visible {
	text-decoration-color: transparent;
}

html .preset--module--divi-row--haev-zeile-sprung .et_pb_text a,
html .preset--module--divi-row--haev-zeile-sprung .et_pb_text a:hover,
html .preset--module--divi-row--haev-zeile-sprung .et_pb_text a:focus-visible,
html .preset--module--divi-row--haev-zeile-ziel .et_pb_text a,
html .preset--module--divi-row--haev-zeile-ziel .et_pb_text a:hover,
html .preset--module--divi-row--haev-zeile-ziel .et_pb_text a:focus-visible {
	background-image: none;
}

.preset--module--divi-row--haev-zeile-sprung .et_pb_column:last-child .et_pb_text_inner {
	transition: transform var(--haev-t-normal) var(--haev-kurve);
}
.preset--module--divi-row--haev-zeile-sprung:hover .et_pb_column:last-child .et_pb_text_inner,
.preset--module--divi-row--haev-zeile-sprung:focus-within .et_pb_column:last-child .et_pb_text_inner {
	transform: translateY(2px);
}

@keyframes haev-aufklappen {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: none; }
}

.et_pb_toggle_open .et_pb_toggle_content {
	animation: haev-aufklappen var(--haev-t-normal) var(--haev-kurve);
}

@keyframes haev-aufklappen-menue {
	from { transform: translateY(-4px); }
	to   { transform: none; }
}

.nav li.haev-open > ul {
	animation: haev-aufklappen-menue var(--haev-t-normal) var(--haev-kurve);
}

html.haev-bewegung .et-l--post > .et_builder_inner_content > .et_pb_section:not(:first-child):not(.haev-da) {
	opacity: 0;
	transform: translateY(10px);
}

html.haev-bewegung .et_pb_section {
	transition:
		opacity   var(--haev-t-ruhig) var(--haev-kurve),
		transform var(--haev-t-ruhig) var(--haev-kurve);
}

html .et-l--footer .haev-social a {
	background-image: none;
	padding-bottom: 0;
}

.et-l--footer .haev-social-link:hover,
.et-l--footer .haev-social-link:focus-visible {
	transition:
		background-color var(--haev-t-normal) var(--haev-kurve),
		border-color     var(--haev-t-normal) var(--haev-kurve),
		color            var(--haev-t-normal) var(--haev-kurve);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}

	html.haev-bewegung .et_pb_section {
		opacity: 1 !important;
		transform: none !important;
	}

	.et_pb_button_wrapper a:hover,
	.et_pb_button:hover {
		transform: none !important;
	}
}
