/*
**
** Schriften-Integration */
@font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 300;
	src: url('/shared/font/roboto-v30-latin-300.woff2') format('woff2');
}
@font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	src: url('/shared/font/roboto-v30-latin-regular.woff2') format('woff2');
}
@font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 700;
	src: url('/shared/font/roboto-v30-latin-700.woff2') format('woff2');
}
@font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 900;
	src: url('/shared/font/roboto-v30-latin-900italic.woff2') format('woff2');
}
/*
**
** Allgemein */
:root {
	--color-primary: #811d73;
	--color-white: #ffffff;
	--color-lightgrey: #eeeeee;
	--color-midgrey: #cccccc;
	--color-darkgrey: #666666;
	--color-black: #000000;
}
::selection {
	background: var(--color-primary);
	color: var(--color-white);
}
body {
	color: var(--color-darkgrey);
	font-family: 'Roboto', var(--bs-body-font-family);
}
.lead {
	color: var(--color-black);
	font-size: clamp(1rem, calc(1rem + .75vw), 1.25rem);
}
strong {
	color: var(--color-black);
}
a,
a:visited {
	border-bottom: 1px solid var(--color-primary);
	color: var(--color-primary);
	text-decoration: none;
	transition: all .2s;
}
a:hover,
a:focus {
	border-color: transparent;
	color: var(--color-primary);
}
.card {
	color: var(--color-darkgrey);
}
#noscript {
	background: var(--color-primary);
	color: var(--color-white);
	font-size: .875rem;
	padding: .75rem 2rem;
	z-index: 800;
}
@keyframes bottom {
	from { opacity: 0; transform: translateY(3rem); }
	to { opacity: 1; transform: translateY(0); }
}
@keyframes left {
	from { opacity: 0; transform: translateY(3rem); }
	to { opacity: 1; transform: translateY(0); }
}
@keyframes right {
	from { opacity: 0; transform: translateY(3rem); }
	to { opacity: 1; transform: translateY(0); }
}
/*
**
** Ladekreis */
#loader {
	display: flex;
	z-index: 5000;
}
.no-js #loader {
	display: none;
}
#loader::after {
	animation: loader 1s infinite;
	border: .5rem solid transparent;
	border-radius: 50%;
	border-top: .5rem solid var(--color-primary);
	content: "";
	display: block;
	height: 4rem;
	width: 4rem;
	z-index: 5001;
}
@keyframes loader {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
/*
**
** Schaltflächen */
.btn {
	border-radius: 0;
	border-width: .125rem;
	font-size: clamp(1rem, calc(1rem + .75vw), 1.125rem);
	padding: .5rem 1rem;
	transform: skew(-10deg);
}
.btn-text {
	display: block;
	font-style: italic;
	font-weight: 900;
	letter-spacing: 1px;
	text-transform: uppercase;
	transform: skew(10deg);
}
.btn.btn-primary,
.btn.btn-app-yes {
	background-color: var(--color-white);
	border-color: var(--color-primary);
	color: var(--color-primary);
}
.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-app-yes:hover,
.btn.btn-app-yes:focus {
	background-color: var(--color-primary);
	border-color: var(--color-primary);
	color: var(--color-white);
}
.btn.btn-secondary,
.btn.btn-app-no {
	background-color: var(--color-white);
	border-color: var(--color-darkgrey);
	color: var(--color-darkgrey);
}
.btn.btn-secondary:hover,
.btn.btn-secondary:focus,
.btn.btn-app-no:hover,
.btn.btn-app-no:focus {
	background-color: var(--color-darkgrey);
	border-color: var(--color-darkgrey);
	color: var(--color-white);
}
.btn.btn-app {
	aspect-ratio: 1/1;
	font-weight: 900;
	min-width: 8rem;
}
.btn svg {
	transition: all .2s;
}
.btn.btn-app svg {
	transform: skew(10deg);
}
.btn.btn-primary:hover svg,
.btn.btn-primary:focus svg,
.btn.btn-app-yes:hover svg,
.btn.btn-app-yes:focus svg {
	fill: var(--color-white);
	transform: translateX(.25rem);
}
.btn.btn-app-no:hover svg,
.btn.btn-app-no:focus svg {
	fill: var(--color-white);
	transform: translateX(-.25rem);
}
/*
**
** Eingabefelder */
.form-control {
	border-color: var(--color-primary);
	border-radius: 0;
	box-shadow: none;
	transform: skew(-10deg);
}
.form-check-input[type="checkbox"] {
	border-color: var(--color-primary);
	border-radius: 0;
	cursor: pointer;
	transform: skew(-10deg);
	transition: all .2s;
}
.form-control:hover,
.form-control:focus,
.form-check-input:hover,
.form-check-input:focus {
	border-color: var(--color-black);
	box-shadow: none;
}
.form-check-input:checked {
	background-color: var(--color-primary);
	border-color: var(--color-primary);
	box-shadow: none;
}
/*
**
** Überschriften */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5 {
	color: var(--color-black);
	font-style: italic;
	font-weight: 900;
}
h1,
.h1 {
	font-size: clamp(2.5rem, calc(2rem + 2.5vw), 5rem);
	line-height: 1.1;
}
h2,
.h2 {
	font-size: clamp(2rem, calc(1.75rem + 1.5vw), 3.5rem);
	margin-bottom: 1.5rem;
}
h3,
.h3 {
	font-size: clamp(1.5rem, calc(1.25rem + .5vw), 2.5rem);
}
h4,
.h4 {
	font-size: clamp(1rem, calc(1rem + .5vw), 1.5rem);
	line-height: 1.4;
}
h5,
.h5 {
	font-size: var(--bs-body-font-size);
	line-height: 1.5;
}
li {
	text-wrap: pretty
}
/*
**
** Karussell */
.carousel-indicators [data-bs-target] {
	background-color: var(--color-midgrey);
	border-radius: 50%;
	height: .5rem;
	opacity: 1;
	width: .5rem;
}
.carousel-indicators [data-bs-target].active {
	background-color: var(--color-primary);
}
.carousel-control-prev-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='%23811d73'%3e%3cpath d='m313-440 224 224-57 56-320-320 320-320 57 56-224 224h487v80H313Z'/%3e%3c/svg%3e");
	transition: transform .2s;
}
.carousel-control-next-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='%23811d73'%3e%3cpath d='M647-440H160v-80h487L423-744l57-56 320 320-320 320-57-56 224-224Z'/%3e%3c/svg%3e");
	transition: transform .2s;
}
.carousel-control-prev:hover .carousel-control-prev-icon {
	transform: translateX(-.5rem);
}
.carousel-control-next:hover .carousel-control-next-icon {
	transform: translateX(.5rem);
}
/*
**
** Magnific */
.mfp-figure::after {
	box-shadow: none;
}
.mfp-counter {
	color: var(--color-white);
}
button.mfp-arrow::before,
button.mfp-arrow::after {
	border: none;
}
button.mfp-arrow-left,
button.mfp-arrow-right {
	opacity: 1;
	transition: transform .2s;
}
button.mfp-arrow-left {
	background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='%23fff'%3e%3cpath d='m313-440 224 224-57 56-320-320 320-320 57 56-224 224h487v80H313Z'/%3e%3c/svg%3e") center center / 50% 50% no-repeat;
}
button.mfp-arrow-right {
	background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='%23fff'%3e%3cpath d='M647-440H160v-80h487L423-744l57-56 320 320-320 320-57-56 224-224Z'/%3e%3c/svg%3e") center center / 50% 50% no-repeat;
}
button.mfp-arrow-left:hover {
	transform: translateX(-.5rem);
}
button.mfp-arrow-right:hover {
	transform: translateX(.5rem);
}
/*
**
** Klaro CMP */
#klaro .cookie-modal {
	padding: .5rem;
}
#klaro .cm-modal {
	background: var(--color-white);
	border-radius: 0;
	box-shadow: none;
	color: var(--color-black);
	width: calc(100% - 1rem);
}
#klaro p,
#klaro span {
	color: var(--color-darkgrey);
	font-size: var(--bs-body-font-size);
	line-height: 1.5;
}
#klaro .cm-list-description span,
#klaro .purposes,
#klaro .cm-required {
	font-size: .875rem;
}
#klaro .cm-list-title {
	color: var(--color-black);
	font-style: italic;
	font-weight: 900;
	margin-top: .25rem;
}
#klaro h1,
#klaro h1 span {
	color: var(--color-black);
	font-size: clamp(1rem, calc(1rem + .5vw), 1.5rem);
	padding: 0;
}
#klaro .cm-btn {
	border: .125rem solid var(--color-primary);
	border-radius: 0;
	font-weight: 900;
	padding: .375rem .75rem;
	text-transform: uppercase;
	transform: skew(-10deg);
	transition: all .2s;
}
#klaro .cm-btn.cm-btn-accept,
#klaro .cm-btn.cm-btn-success,
#klaro .cm-btn.cm-btn-accept-all,
#klaro .cm-btn.cm-btn-info,
#klaro .cm-btn.cm-btn-success-var {
	background-color: var(--color-white) !important;
	border-color: var(--color-primary) !important;
	color: var(--color-primary) !important;
}
#klaro .cm-btn.cm-btn-accept:hover,
#klaro .cm-btn.cm-btn-accept:focus,
#klaro .cm-btn.cm-btn-success:hover,
#klaro .cm-btn.cm-btn-success:focus,
#klaro .cm-btn.cm-btn-accept-all:hover,
#klaro .cm-btn.cm-btn-accept-all:focus,
#klaro .cm-btn.cm-btn-info:hover,
#klaro .cm-btn.cm-btn-info:focus,
#klaro .cm-btn.cm-btn-success-var:hover,
#klaro .cm-btn.cm-btn-success-var:focus {
	background-color: var(--color-primary) !important;
	color: var(--color-white) !important;
}
#klaro .cm-btn-decline,
#klaro .cm-btn-decline + .cm-btn-info {
	background-color: var(--color-white) !important;
	border-color: var(--color-darkgrey) !important;
	color: var(--color-darkgrey) !important;
}
#klaro .cm-btn-decline:hover,
#klaro .cm-btn-decline:focus,
#klaro .cm-btn-decline + .cm-btn-info:hover,
#klaro .cm-btn-decline + .cm-btn-info:focus {
	background-color: var(--color-darkgrey) !important;
	border-color: var(--color-darkgrey) !important;
	color: var(--color-white) !important;
}
#klaro .cm-list-input:checked + .cm-list-label .slider,
#klaro .cm-list-input.only-required + .cm-list-label .slider {
	background-color: var(--color-primary);
}
#klaro .cookie-modal a,
#klaro .context-notice a,
#klaro .cookie-notice a {
	color: var(--color-primary);
}
#klaro .cm-header,
#klaro .cm-footer {
	border-color: var(--bs-border-color);
	padding: 1rem;
}
#klaro .cm-footer-buttons {
	display: flex;
	flex-direction: column;
}
#klaro .cm-footer-buttons button {
	margin-bottom: .5rem;
}
#klaro .cm-powered-by {
	display: none;
}
#klaro .cookie-modal li:not(:first-child) {
	margin-top: 1.5rem;
}
#klaro .cm-list-input.required:checked + .cm-list-label .slider {
	opacity: 1;
}
#klaro .cm-list-input.half-checked:checked + .cm-list-label .slider,
#klaro .cm-list-input.only-required + .cm-list-label .slider {
	background-color: var(--color-darkgrey);
	opacity: 1;
}
#klaro .slider {
	background: var(--color-darkgrey);
	box-shadow: none;
}
#klaro .slider::before {
	background: var(--color-lightgrey);
}
/*
**
** Kopfbereich */
header .logo a {
	background-color: var(--color-white);
}
header blockquote.h1 {
	color: var(--color-white);
	font-size: clamp(1.25rem, calc(.75rem + 4vw), 3rem);
	line-height: 1.25;
}
/*header .mood::after {
	background: linear-gradient(transparent, rgba(0, 0, 0, .75));
	bottom: 0;
	content: "";
	display: block;
	height: calc(3rem + 15vw);
	position: absolute;
	width: 100%;
}*/
/*
**
** Abschnitte Startseite */
#jobs {
	padding: 5rem 0;
}
#options {
	background: var(--color-lightgrey);
	padding: 6rem 0;
}
#options .accordion {
	--bs-accordion-btn-icon-width: 1.5rem;
}
#options .accordion-item {
	background-color: transparent;
}
#options #highlightAccordion .accordion-header {
	--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='%23811d73'%3e%3cpath d='M440-800v487L216-537l-56 57 320 320 320-320-56-57-224 224v-487h-80Z'/%3e%3c/svg%3e");
}
#options .accordion-header {
	--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='%23811d73'%3e%3cpath d='M440-800v487L216-537l-56 57 320 320 320-320-56-57-224 224v-487h-80Z'/%3e%3c/svg%3e");
	background-color: var(--color-white);
	border: .125rem solid transparent;
	transform: skew(-10deg);
	transition: all .2s;
}
#options .accordion-header.active {
	--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='%23811d73'%3e%3cpath d='M440-800v487L216-537l-56 57 320 320 320-320-56-57-224 224v-487h-80Z'/%3e%3c/svg%3e");
	--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='%23811d73'%3e%3cpath d='M440-800v487L216-537l-56 57 320 320 320-320-56-57-224 224v-487h-80ZZ'/%3e%3c/svg%3e");
	border-color: var(--color-primary);
}
#options .accordion-header:hover,
#options #highlightAccordion .accordion-header:hover {
	--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='%23fff'%3e%3cpath d='M440-800v487L216-537l-56 57 320 320 320-320-56-57-224 224v-487h-80Z'/%3e%3c/svg%3e");
	--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='%23fff'%3e%3cpath d='M440-800v487L216-537l-56 57 320 320 320-320-56-57-224 224v-487h-80ZZ'/%3e%3c/svg%3e");
	background-color: var(--color-primary);
	border-color: var(--color-primary);
	color: var(--color-white);
}
#options .accordion-header:not(.active):hover button::after {
	transform: translateY(.5rem);
}
#options .accordion-button {
	color: var(--color-primary);
	font-style: italic;
	font-weight: 900;
	letter-spacing: 1px;
	transform: skew(10deg);
	transition: all .2s;
}
#options .accordion-header.active .accordion-button {
	color: var(--color-primary);
}
#options .accordion-header .accordion-button:hover,
#options #highlightAccordion .accordion-header .accordion-button:hover {
	color: var(--color-white);
}
#options .accordion-body {
	color: var(--color-darkgrey);
}
#benefits {
	padding: 6rem 0 6rem 0;
}
#statements {
	background: var(--color-lightgrey);
	padding: 5rem 0;
}
#numbers {
	padding: 8rem 0 4rem 0;
}
#numbers .count {
	color: var(--color-primary);
	font-weight: bold;
}
/*
**
** Abschnitte Jobseite */
#video {
	cursor: pointer;
}
#appButtonSticky {
	bottom: calc(.25rem + 1vw);
	right: calc(.5rem + 1vw);
}
#impressions {
	margin-top: 8rem;
}
#impressions .carousel-control-prev,
#impressions .carousel-control-next {
	bottom: -3rem;
}
#impressions img {
	transition: transform .2s;
}
#impressions a:hover img {
	transform: scale(1.05);
}
/*
**
** Fußzeile */
footer {
	margin-top: 8rem;
}
footer .footer-contact {
	background-color: var(--color-lightgrey);
}
footer .footer-ending {
	padding: 3rem 0 6rem 0;
}
footer .footer-ending a,
footer .footer-ending a:visited {
	border-color: transparent;
	color: var(--color-black);
}
footer .footer-ending a:hover,
footer .footer-ending a:focus,
footer .footer-ending a.active {
	border-color: var(--color-primary);
	color: var(--color-primary);
}
footer .footer-ending a svg {
	transition: fill .2s;
}
footer .footer-ending a:hover svg,
footer .footer-ending a:focus svg {
	fill: var(--color-black);
}
footer .footer-copyright,
footer .footer-copyright h6 {
	font-size: .875rem;
	font-weight: 300;
}
/*
**
** Media Queries */
@media (min-width: 576px) {
	#klaro .cm-footer-buttons {
		flex-direction: row;
	}
	#klaro .cm-footer-buttons button {
		margin-bottom: 0;
	}
	#options #highlightAccordion.accordion {
		--bs-accordion-btn-icon-width: 2rem;
	}
	#options #highlightAccordion .accordion-header .accordion-button {
		font-size: clamp(1.25rem, calc(1rem + .5vw), 1.75rem);
	}
	#options #highlightAccordion .accordion-header:not(.active):hover button::after {
		transform: translateY(.75rem);
	}
}
@media (min-width: 768px) {
	header .logo a img {
		width: 200px;
	}
}
@media (min-width: 992px) {
	@keyframes left {
		from { opacity: 0; transform: translateX(-5rem); }
		to { opacity: 1; transform: translateX(0); }
	}
	@keyframes right {
		from { opacity: 0; transform: translateX(5rem); }
		to { opacity: 1; transform: translateX(0); }
	}
	header blockquote.h1 {
		font-size: clamp(2.5rem, calc(2rem + 2.5vw), 5rem);
		line-height: 1.1;
	}
	footer img {
		width: 150px;
	}
}
@media (min-width: 1200px) {
	#statements .carousel-indicators {
		right: auto;
		top: 0;
		width: 50%;
	}
	#statements .carousel-indicators button {
		background-color: transparent;
		border: 0;
		filter: grayscale(1);
		height: auto;
		opacity: 1;
		position: absolute;
		text-indent: 0;
		transition: all .2s;
		width: auto;
	}
	#statements .carousel-indicators button:hover,
	#statements .carousel-indicators button.active {
		filter: grayscale(0);
	}
	#statements .carousel-indicators button:nth-of-type(1) {
		left: 51%;
		top: 54%;
		transform: scale(.65);
	}
	#statements .carousel-indicators button:nth-of-type(2) {
		left: 60%;
		top: 33%;
		transform: scale(.55);
	}
	#statements .carousel-indicators button:nth-of-type(3) {
		left: 50%;
		top: 17%;
		transform: scale(.45);
	}
	#statements .carousel-indicators button:nth-of-type(4) {
		left: 34%;
		top: 11%;
		transform: scale(.35);
	}
	#statements .carousel-indicators button:nth-of-type(5) {
		left: 20%;
		top: 15%;
		transform: scale(.3);
	}
	#statements .carousel-indicators button:nth-of-type(6) {
		left: 13%;
		top: 25%;
		transform: scale(.25);
	}
	#statements .carousel-indicators button:nth-of-type(1).active {
		transform: scale(1);
	}
	#statements .carousel-indicators button:nth-of-type(2).active {
		transform: scale(.95);
	}
	#statements .carousel-indicators button:nth-of-type(3).active {
		transform: scale(.9);
	}
	#statements .carousel-indicators button:nth-of-type(4).active {
		transform: scale(.85);
	}
	#statements .carousel-indicators button:nth-of-type(5).active {
		transform: scale(.8);
	}
	#statements .carousel-indicators button:nth-of-type(6).active {
		transform: scale(.75);
	}
	#statements .carousel-control-prev::after,
	#statements .carousel-control-next::after {
		background: linear-gradient(90deg, var(--color-lightgrey), transparent);
		content: "";
		display: block;
		height: 100%;
		position: absolute;
		width: 100%;
		z-index: -1;
	}
	#statements .carousel-control-next::after {
		background: linear-gradient(-90deg, var(--color-lightgrey), transparent);
	}
}
@media (max-width: 1198.98px) {
	#statements .container,
	#statements .carousel > .row,
	#statements .col-xl-6 {
		margin: 0;
		max-width: 100%;
		padding: 0;
	}
	#statements .carousel-inner {
		padding: 0 calc(var(--bs-gutter-x) * .5);
	}
}
@media (max-width: 575.98px) {
	#appButton .btn,
	.app-button .btn,
	#appButtonSticky .btn {
		font-size: clamp(.75rem, calc(.75rem + 1vw), 1rem);
		padding: .75rem 1rem !important;
	}
}