/*
**
** Schriften-Import */
@font-face {
	font-family: 'Barlow';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: local(''), url('../fonts/barlow-v12-latin-regular.woff2') format('woff2'), url('../fonts/barlow-v12-latin-regular.woff') format('woff');
}
@font-face {
	font-display: swap;
	font-family: 'Barlow';
	font-style: italic;
	font-weight: 400;
	src: url('../fonts/barlow-v12-latin-italic.woff2') format('woff2');
}
@font-face {
	font-family: 'Barlow';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: local(''), url('../fonts/barlow-v12-latin-500.woff2') format('woff2'), url('../fonts/barlow-v12-latin-500.woff') format('woff');
}
@font-face {
	font-family: 'Barlow';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: local(''), url('../fonts/barlow-v12-latin-600.woff2') format('woff2'), url('../fonts/barlow-v12-latin-600.woff') format('woff');
}
@font-face {
	font-family: 'Source Serif Pro';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: local(''), url('../fonts/source-serif-pro-v15-latin-regular.woff2') format('woff2'), url('../fonts/source-serif-pro-v15-latin-regular.woff') format('woff');
}
/*
**
** Allgemein */
:root {
	--color-darkblue: #062353;
	--color-midblue: #2c527e;
	--color-midlightblue: #9fc0e4;
	--color-lightblue: #e5eef7;
	--color-darkgrey: #313131;
	--color-greyblue: #778ca0;
	--color-midgreyblue: #a9b9cb;
	--color-white: #fff;
	--color-green: #dbe09e;
}
::selection {
	background: var(--color-darkblue);
	color: var(--color-white);
}
html {
	scroll-behavior: smooth;
}
body {
	font-family: 'Barlow', var(--bs-body-font-family);
	color: var(--color-darkgrey);
	font-size: clamp(1rem, calc(1rem + .25vw), 1.25rem);
	-webkit-hyphens: auto;
	hyphens: auto;
}
.lead {
	font-size: clamp(1.5rem, calc(1.25rem + .75vw), 2rem);
	font-weight: 400;
	color: var(--color-darkblue);
}
.fit-cover {
	object-fit: cover;
}
strong {
	font-weight: 600;
}
strong.enpros {
	font-weight: 500;
}
strong.enpros + em {
	font-weight: 400;
}
a,
a:visited {
	color: var(--color-midblue);
	text-decoration: none;
	border-bottom: 1px solid var(--color-midblue);
	transition: all .2s;
}
a.text-white,
a.text-white:visited {
	border-color: var(--color-white);
}
a:hover,
a:focus,
a.text-white:hover,
a.text-white:focus {
	border-color: transparent;
	color: var(--color-midblue);
}
.container {
	max-width: 1600px !important;
}
.py-6 {
	padding-top: 6rem;
	padding-bottom: 6rem;
}
.pt-6 {
	padding-top: 6rem;
}
.pb-6 {
	padding-bottom: 6rem;
}
.fill-darkblue {
	fill: var(--color-darkblue) !important;
}
.bg-darkblue {
	background-color: var(--color-darkblue);
}
.bg-midblue {
	background-color: var(--color-midblue);
}
.bg-lightblue {
	background-color: var(--color-lightblue);
}
.bg-green {
	background-color: var(--color-green);
}
.text-darkgrey {
	color: var(--color-darkgrey) !important;
}
.text-darkblue {
	color: var(--color-darkblue) !important;
}
#noscript {
	background: var(--color-darkblue);
	padding: .75rem 2rem;
	z-index: 800;
	font-size: .875rem;
}
@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-midblue);
	content: "";
	display: block;
	height: 4rem;
	width: 4rem;
	z-index: 5001;
}
@keyframes loader {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
/*
**
** Buttons */
.btn {
	font-size: clamp(1rem, calc(1rem + .25vw), 1.25rem);
}
.btn.btn-primary {
	background-color: var(--color-darkblue);
	border-color: var(--color-darkblue);
	margin: 0;
	color: #fff;
	border-radius: 50rem;
	padding: .75rem 1.5rem;
}
.btn.btn-primary:hover,
.btn.btn-primary:focus {
	background-color: var(--color-midblue);
	border-color: var(--color-midblue);
	color: #fff;
}
.btn.btn-circle {
	background-color: rgba(255, 255, 255, .5);
	-webkit-backdrop-filter: blur(4rem);
	backdrop-filter: blur(4rem);
	border: .125rem solid var(--color-midblue);
	border-radius: 50%;
	padding: calc(3rem + 1.5vw);
	aspect-ratio: 1 / 1;
	transition: all .2s;
	margin: -1rem;
}
.btn.btn-circle h2 {
	color: var(--color-darkblue);
	transition: all .2s;
}
.btn.btn-circle:hover {
	background-color: var(--color-midblue);
}
.btn.btn-circle:hover,
.btn.btn-circle:hover h2 {
	color: var(--color-white);
}
.btn.btn-circle:hover svg {
	background-color: var(--color-white);
	fill: var(--color-midblue);
}
.btn.btn-arrow svg {
	background-color: var(--color-midlightblue);
	padding: .75rem;
	transition: all .2s;
}
a.btn.btn-arrow:hover svg {
	transform: scale(1.1);
}
/*
**
** Headlines */
h1,
.h1,
h2,
.h2 {
	font-family: 'Source Serif Pro', var(--bs-body-font-family);
	color: var(--color-darkblue);
	font-weight: 400;
	font-size: clamp(2.5rem, calc(2rem + 2.5vw), 5rem);
}
h2,
.h2 {
	font-size: clamp(2rem, calc(1.75rem + 1.5vw), 3.75rem);
}
h2.shape {
	padding-left: calc(2.75rem + 3.75vw);
	padding-top: calc(2.25rem + 3.75vw);
}
h2.shape svg {
	height: calc(5rem + 6vw);
	width: calc(5rem + 6vw);
}
h2.smaller,
.h2.smaller {
	font-size: clamp(1.5rem, calc(1.5rem + .75vw), 2.5rem);
}
h3,
.h3 {
	font-size: clamp(1.25rem, calc(1.25rem + .5vw), 1.75rem);
}
/*
**
** Accordion */
.accordion h3 {
	border-bottom: 1px solid var(--color-midblue);
}
.accordion .btn.btn-arrow svg {
	background-color: var(--color-midlightblue);
	transform: rotate(-90deg);
}
.accordion button:hover .btn.btn-arrow svg {
	background-color: var(--color-midblue);
}
.accordion button:not(.collapsed) .btn.btn-arrow svg {
	background-color: var(--color-midblue);
	transform: rotate(0);
}
.accordion .accordion-button::after {
	display: none;
}
/*
**
** Carousel */
#carousel {
	height: 75vh;
}
#carousel .carousel-item {
	z-index: -1;
}
#carousel .active.carousel-item-end,
#carousel .active.carousel-item-start {
	z-index: -2;
}
/*
**
** Modal */
.modal {
	background-color: rgba(96, 137, 182, .25);
	-webkit-backdrop-filter: blur(1rem);
	backdrop-filter: blur(1rem);
}
.modal-backdrop {
	background-color: transparent;
}
.modal-header {
	border-color: var(--color-midgreyblue);
}
.modal-title {
	line-height: 1.2;
}
/*
**
** Hamburger Icon */
.hamburger {
	padding: 0;
	display: inline-block;
	cursor: pointer;
	transition-property: opacity, filter;
	transition-duration: 0.15s;
	transition-timing-function: linear;
	font: inherit;
	color: inherit;
	text-transform: none;
	background-color: transparent;
	border: 0;
	margin: 0;
	overflow: visible; }
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
	background-color: var(--color-greyblue); }
.hamburger-box {
	width: 40px;
	height: 24px;
	display: inline-block;
	position: relative; }
.hamburger-inner {
	display: block;
	top: 50%;
	margin-top: -1px; }
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
	width: 40px;
	height: 3px;
	background-color: var(--color-greyblue);
	position: absolute;
	transition-property: transform;
	transition-duration: 0.15s;
	transition-timing-function: ease; }
.hamburger-inner::before, .hamburger-inner::after {
	content: "";
	display: block; }
.hamburger-inner::before {
	top: -12px; }
.hamburger-inner::after {
	bottom: -12px; }
.hamburger--spin .hamburger-inner {
	transition-duration: 0.22s;
	transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--spin .hamburger-inner::before {
	transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
.hamburger--spin .hamburger-inner::after {
	transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--spin.is-active .hamburger-inner {
	transform: rotate(225deg);
	transition-delay: 0.12s;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
.hamburger--spin.is-active .hamburger-inner::before {
	top: 0;
	opacity: 0;
	transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
.hamburger--spin.is-active .hamburger-inner::after {
	bottom: 0;
	transform: rotate(-90deg);
	transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }
.hamburger--spin.is-active .hamburger-inner::before {
	top: 0;
	opacity: 0;
	transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
.hamburger--spin.is-active .hamburger-inner::after {
	bottom: 0;
	transform: rotate(-90deg); }
/*
**
** Menü */
#menu {
	z-index: 50;
}
#menu .brand img {
	width: 12rem;
}
#menu > button {
	z-index: 1050;
}
#offcanvas {
	background: rgba(255, 255, 255, .6);
	-webkit-backdrop-filter: blur(1.5rem);
	backdrop-filter: blur(1.5rem);
	width: 30rem;
	border: 0;
}
#offcanvas .offcanvas-body {
	padding: 5rem 5rem 5rem 2.5rem;
}
#offcanvas + .offcanvas-backdrop {
	background: rgba(96, 137, 182, .5);
	width: 100%;
	transition: opacity .2s, width .4s;
}
#offcanvas + .offcanvas-backdrop.show {
	width: calc(100% - 30rem);
}
#menu a,
#menu a:visited {
	color: var(--color-greyblue);
	font-size: 1.5rem;
	font-weight: 500;
	border: 0;
}
#menu a:hover,
#menu a:focus,
#menu a.active {
	color: var(--color-darkblue);
}
#menu .dropdown-toggle::after {
	background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 15'%3e%3cpolygon fill='%23778ca0' points='12 15 0 1.76 1.96 0 12 11.08 22.04 0 24 1.76 12 15'/%3e%3c/svg%3e") right center / 1.25rem 1.25rem no-repeat;
	width: 1.25rem;
	height: 1.25rem;
	vertical-align: -.125rem;
	border: 0;
}
#menu .dropdown-menu {
	position: relative !important;
	transform: translate(0) !important;
	margin: 0 0 1.5rem 3rem !important;
	border-left: 1px solid var(--color-greyblue) !important;
}
#menu .dropdown-item,
#menu .dropdown-item:visited {
	font-size: 1.25rem;
	background: none;
	font-weight: 400;
	color: var(--color-darkgrey);
}
#menu .dropdown-item:hover,
#menu .dropdown-item:focus,
#menu .dropdown-item.active {
	font-weight: 600;
	color: var(--color-darkgrey);
}
#menu li:last-child .dropdown-item {
	padding-bottom: 0;
}
#menu .linkedin {
	right: 5rem;
	top: -.25rem;
}
/*
**
** Startseite */
#start .frame {
	background: url(../img/background-start.webp) left top / auto 100% no-repeat;
	height: 100vh;
	height: 100svh;
}
#start::after {
	background: url(../img/background-tile.webp) left top / contain repeat-x;
	height: 100vh;
	height: 100svh;
	display: block;
	width: 100%;
	content: "";
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
}
#start a,
#start a:visited {
	color: var(--color-darkblue);
	position: absolute;
	border: 0;
	font-size: .875rem;
}
#start a:hover,
#start a:focus {
	font-weight: 600;
}
#start a.btn {
	font-weight: 500;
	background: rgba(255, 255, 255, .6);
	-webkit-backdrop-filter: blur(.25rem);
	backdrop-filter: blur(.25rem);
	padding: .375rem 1.25rem .5rem 1.25rem;
}
#start a.btn:hover,
#start a.btn:focus {
	background: var(--color-white);
}
#start .swipe {
	left: 5%;
	bottom: 40%;
	animation: swipe 5s normal forwards;
	transition: all .2s;
}
@keyframes swipe {
	0% { transform: translateX(-1.5rem); }
	20% { transform: translateX(1.5rem); }
	40% { transform: translateX(-1.5rem); }
	60% { transform: translateX(1.5rem); }
	80% { transform: translateX(-1.5rem); opacity: 1; }
	100% { transform: translateX(1.5rem); opacity: 0; display: none }
}
/*
**
** Header */
header {
	background: url(../img/background-blur.webp) center top / cover no-repeat;
	min-height: 40vh;
	padding-top: 6rem;
}
header.header-full {
	height: 100vh;
	height: 100svh;
}
header img {
	max-height: 60vh;
	max-width: 100%;
}
header.ueber-uns {
	margin-bottom: -9.75rem;
	min-height: 60vh;
}
header.ueber-uns h2 {
	font-size: clamp(2rem, calc(1.75rem + 4vw), 5rem);
}
header.ueber-uns + main > section:first-child {
	padding-top: 15rem;
}
header.leistungen {
	margin-bottom: -11.75rem;
	min-height: 60vh;
}
header.leistungen + main > section:first-child {
	padding-top: 20rem;
}
/*header.referenzen::after {
	content: "";
	position: absolute;
	z-index: 1;
	background: linear-gradient(rgba(255, 255, 255, .75), transparent);
	width: 100%;
	height: 10rem;
	left: 0;
	top: 0;
}*/
header .btn.btn-arrow {
	transform: rotate(90deg);
}
/*
**
** Unterseiten */
.mood {
	height: 75vh;
}
.shape-spacing-text {
	padding-left: calc(2.5rem + 4vw);
}
main ul {
	list-style: none;
	padding: 1rem 0;
}
main ul li {
	display: flex;
	border-bottom: 1px solid var(--color-midlightblue);
	padding: .5rem 0;
	font-weight: 500;
}
main ul li:last-child {
	border-bottom: 0;
}
main ul li::before {
	content: "•";
	font-size: 2rem;
	line-height: 1;
	color: var(--color-midlightblue);
	min-width: 1em;
	transform: translateY(calc(-.45rem + .15vw));
}
#kunden img {
	transition: all .2s;
	filter: grayscale(1);
	max-height: 8rem;
}
#kunden figure:hover img,
#kunden figure:focus img {
	transform: scale(1.1);
	filter: grayscale(0);
}
/*
**
** Karriere */
main ul.jobs li::before {
	transform: translateY(calc(.1rem + .25vw));
}
main ul.jobs a,
main ul.jobs a:visited {
	border-color: transparent;
}
main ul.jobs a:hover,
main ul.jobs a:focus {
	border-color: var(--color-midblue);
}
/*
**
** Über uns */
.management {
	margin-top: -15rem;
	transform: translateY(15rem);
}
.management figure:first-child {
	color: var(--color-white);
}
.management figure img {
	background-color: var(--color-lightblue);
}
.geschichte {
	padding-top: 20rem;
}
/*
**
** Team */
.filter-select {
	border-bottom: .125rem solid var(--color-darkblue) !important;
	cursor: pointer;
	background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3e%3ccircle cx='20' cy='20' r='20' fill='%239fc0e4'/%3e%3cpolygon fill='%23fff' points='19.86 26.27 10.76 16.17 12.24 14.83 19.86 23.28 27.48 14.83 28.97 16.17 19.86 26.27'/%3e%3c/svg%3e") right center / 32px 32px no-repeat;
	font-size: clamp(1.5rem, calc(1.5rem + 1vw), 2.5rem);
	padding: 0 2.5rem 0 0;
}
.filter-select option {
	font-family: 'Barlow', var(--bs-body-font-family);
	color: var(--color-darkgrey);
	font-size: clamp(1rem, calc(1rem + .25vw), 1.25rem);
}
#team figure[data-color="red"] img {
	background-color: #eca6a9;
}
#team figure[data-color="green"] img {
	background-color: #dbe09e;
}
#team figure[data-color="blue"] img {
	background-color: #77addd;
}
#team figure {
	perspective: 600px;
}
#team .flip {
	width: 300px;
	height: 300px;
	transform-style: preserve-3d;
	transition: all .666s;
	min-width: 264px;
	min-height: 264px;
}
#team figure[data-reverse="true"] .flip {
	transform: rotateY(180deg);
}
#team .flip img {
	backface-visibility: hidden;
	min-width: 264px;
	min-height: 264px;
}
#team .flip img:nth-of-type(2) {
	transform: rotateY(180deg);
}
#team svg {
	right: 7%;
	top: 7%;
}

/*
**
** Planungs-Diagramm */
#plandia .btn-circle {
	background-color: var(--color-white);
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	padding: 1.5rem;
	margin: .5rem;
	width: 20rem;
	height: 20rem;
}
#plandia .btn-circle h3 {
	color: var(--color-darkblue);
	transition: all .2s;
}
#plandia .btn-circle:hover {
	background-color: var(--color-midblue);
}
#plandia .btn-circle:hover h3 {
	color: var(--color-white);
}
/*
**
** Google-Karte */
#map, header.referenzen {
	height: 100vh;
	height: 100svh;
}
#map .gm-style p {
	font-family: 'Barlow', var(--bs-body-font-family);
	color: var(--color-darkgrey);
	font-size: clamp(1rem, calc(1rem + .25vw), 1.25rem);
	line-height: 1.5;
}
#map .gm-style .infowindow {
	max-width: 25rem;
}
#map .gm-style img {
	max-width: 100%;
}
#map .gm-ui-hover-effect {
	top: -.25rem !important;
	right: -.25rem !important;
}
#map .gm-style div[style*="cluster"] {
	font-family: 'Barlow', var(--bs-body-font-family) !important;
	line-height: 3.25 !important;
	font-size: 1.5rem !important;
	font-weight: 600 !important;
	color: var(--color-midblue) !important;
}
#map .gm-style div[style*="cluster"]::before,
#map .gm-style div[style*="cluster"]::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: calc(100% - .75rem);
	transform: translateX(-50%);
	font-size: 1rem;
	line-height: 1.25;
	font-weight: 400;
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s, visibility .2s;
}
#map .gm-style div[style*="cluster"]::before {
	border-left: .25rem solid transparent;
	border-right: .25rem solid transparent;
	border-top: .25rem solid var(--color-lightblue);
}
#map .gm-style div[style*="cluster"]::after {
	content: "Weitere Marker per Klick anzeigen";
	bottom: calc(100% - .5rem);
	width: 200%;
	background: var(--color-lightblue);
	border-radius: 50rem;
	padding: .5rem;
}
#map .gm-style div[style*="cluster"]:hover::before,
#map .gm-style div[style*="cluster"]:hover::after {
	opacity: 1;
	visibility: visible;
}
/*
**
** Organigramm */
#organigramm {
	-webkit-hyphens: manual;
	hyphens: manual;
}
#organigramm .orga-wrap {
	transform-origin: left top;
}
#organigramm a {
	transition: all .2s;
}
#organigramm a:hover,
#organigramm a:focus {
	background: var(--color-darkblue);
}
#organigramm .orga-item-lg {
	width: 262px;
	border: .125rem solid var(--color-midgreyblue);
}
#organigramm .orga-item-sm {
	background: var(--color-lightblue);
	width: 160px;
	height: 80px;
}
#organigramm .orga-rounded {
	border-radius: 2rem !important;
}
#organigramm .orga-rounded-start {
	border-bottom-left-radius: 2rem;
	border-top-left-radius: 2rem;
}
#organigramm .orga-rounded-end {
	border-bottom-right-radius: 2rem;
	border-top-right-radius: 2rem;
}
#organigramm h3,
#organigramm h4 {
	color: var(--color-darkblue);
	line-height: 1.337;
	font-size: 1.25rem;
}
#organigramm a:hover h3,
#organigramm a:focus h3 {
	color: var(--color-white);
}
#organigramm h4 {
	font-size: 1rem;
}
#organigramm a:hover h4,
#organigramm a:focus h4 {
	color: var(--color-white);
}
#organigramm .orga-item-lg h4 {
	background: var(--color-midblue);
	color: var(--color-white);
	line-height: 1.5;
}
#organigramm span {
	background: var(--color-midgreyblue);
}
#organigramm .orga-lines-v span {
	width: .125rem;
	height: 20px;
	top: 540px;
}
#organigramm .orga-lines-h span {
	height: .125rem;
	top: 540px;
	width: 170px;
	left: 360px;
}
/*
**
** CTA */
#cta {
	padding-top: 10rem;
}
#cta .cta-arrow {
	display: none;
}
#cta .cta-wrap {
	width: 600px;
}
#cta .cta-person {
	border-radius: 0 0 150px 150px;
}
#cta a[href^="tel"]::before {
	content: "T";
	margin-right: 1rem;
}
#cta a[href^="mailto"]::before {
	content: "E";
	margin-right: 1rem;
}
/*
**
** Fußzeile */
footer {
	background-color: var(--color-midblue);
	color: var(--color-white);
	padding: 10rem 0 4rem 0;
}
footer a, footer a:visited {
	color: var(--color-white);
	border-color: transparent;
}
footer a:hover, footer a:focus, footer a.active {
	color: var(--color-white);
	border-color: var(--color-white);
}
/*
**
** Klaro CMP */
#klaro .cookie-notice {
	background-color: var(--color-darkgrey);
	border-radius: 0;
	box-shadow: none;
}
#klaro .cm-modal {
	background-color: var(--color-white);
	box-shadow: none;
	border-radius: .375rem;
	color: var(--color-darkgrey);
}
#klaro .cm-bg {
	background-color: rgba(96, 137, 182, .25);
	-webkit-backdrop-filter: blur(1rem);
	backdrop-filter: blur(1rem);
}
#klaro .title,
#klaro p,
#klaro .cm-list-title {
	color: var(--color-darkgrey);
}
#klaro span,
#klaro p,
#klaro .cm-services {
	font-size: clamp(.75rem, calc(.75rem + .125vw), 1rem);
}
#klaro .title span  {
	font-size: clamp(1.5rem, calc(1.5rem + .25vw), 1.75rem);
}
#klaro .slider {
	box-shadow: none;
}
#klaro .cm-header {
	border-color: var(--color-midgreyblue);
	padding-bottom: 1rem;
}
#klaro .cm-footer {
	border: 0;
}
#klaro .slider::before {
	background-color: var(--color-greyblue);
}
#klaro .cm-list-description {
	margin-bottom: .25rem;
}
header .klaro .context-notice {
	background-color: transparent;
	border: 0;
	font-size: clamp(1rem, calc(1rem + .25vw), 1.25rem);
}
#klaro .cm-list-input:checked + .cm-list-label .slider,
header .klaro .context-notice .cm-list-input:checked + .cm-list-label .slider,
#klaro .cm-list-input:checked + .cm-list-label .slider,
#klaro .cm-list-input.only-required + .cm-list-label .slider,
header .klaro .context-notice .cm-list-input.only-required + .cm-list-label .slider,
#klaro .cm-list-input.only-required + .cm-list-label .slider {
	background-color: var(--color-darkblue);
}
#klaro .cookie-modal a,
#klaro .context-notice a,
#klaro .cookie-notice a {
	color: var(--color-midblue);
	border-bottom: 0;
}
#klaro .cm-btn,
#klaro .cookie-modal .cm-btn.cm-btn-accept,
header .klaro .context-notice .cm-btn,
#klaro .cm-btn,
#klaro .cm-btn.cm-btn-success,
header .klaro .context-notice .cm-btn.cm-btn-success,
#klaro .cm-btn.cm-btn-success {
	background-color: var(--color-midlightblue);
	padding: .375rem .75rem;
	border-radius: 50rem;
}
#klaro .cm-btn.cm-btn-accept-all,
header .klaro .context-notice .cm-btn.cm-btn-info,
#klaro .cm-btn.cm-btn-info,
#klaro .cm-btn.cm-btn-success-var,
header .klaro .context-notice .cm-btn.cm-btn-success-var,
#klaro .cm-btn.cm-btn-success-var {
	background-color: var(--color-darkblue);
}
#klaro .cm-powered-by {
	display: none;
}
#klaro .cm-footer-buttons {
	flex-direction: column;
}
#klaro .cm-footer-buttons button:not(:last-child) {
	margin-bottom: .5rem;
}
/*
**
** Media Queries */
@media (min-height: 1000px) {
	#start a {
		font-size: 1rem;
	}
}
@media (min-height: 1200px) {
	#start a {
		font-size: 1.125rem;
	}
}
@media (min-width: 576px) {
	body {
		-webkit-hyphens: manual;
		hyphens: manual;
	}
	#menu .linkedin {
		right: 6.5rem;
	}
	.shape-spacing-lead,
	.shape-spacing-leistungen {
		padding-left: calc(2.5rem + 4vw);
	}
	.management figure:first-child {
		color: var(--color-darkgrey);
	}
	#grid {
		grid-gap: 1rem;
		max-width: 100rem;
		grid-template: 25rem 20rem 20rem 25rem / calc(100% / 3);
	}
	#grid picture:nth-child(1) {
		grid-area: 1 / 1 / 2 / 4; /* Y1 / X1 / Y2 / X2 */
	}
	#grid picture:nth-child(2) {
		grid-area: 2 / 1 / 3 / 2;
	}
	#grid picture:nth-child(3) {
		grid-area: 2 / 2 / 3 / 4;
	}
	#grid picture:nth-child(4) {
		grid-area: 3 / 1 / 4 / 3;
	}
	#grid picture:nth-child(5) {
		grid-area: 3 / 3 / 4 / 4;
	}
	#grid picture:nth-child(6) {
		grid-area: 4 / 1 / 5 / 4;
	}
	#cta {
		margin-bottom: -6rem;
	}
	#cta .cta-contact {
		border-radius: 150px 0 0 150px;
		min-height: 300px;
	}
	#cta .cta-person {
		border-radius: 0 0 0 150px;
		position: absolute;
	}
	#klaro .cm-footer-buttons {
		flex-direction: row;
	}
	#klaro .cm-footer-buttons button:not(:last-child) {
		margin-bottom: 0;
	}
	#klaro li.cm-purpose {
		padding-top: .5rem;
		padding-bottom: .5rem;
	}
}
@media (min-width: 768px) {
	.shape-spacing-refs {
		padding-left: calc(2.5rem + 4vw);
	}
	#offcanvas {
		width: 40rem;
	}
	#offcanvas .offcanvas-body {
		padding: 5rem 10rem 5rem 5rem;
	}
	#offcanvas + .offcanvas-backdrop.show {
		width: calc(100% - 40rem);
	}
	#menu .brand img {
		width: 15rem;
	}
	#menu .linkedin {
		top: -2px;
	}
	#menu .linkedin svg {
		width: 33px;
		height: 33px;
	}
	.hamburger-inner::before {
		top: -14px;
	}
	.hamburger-inner::after {
		bottom: -14px;
	}
}
@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); }
	}
	#grid {
		grid-gap: 1rem;
		max-width: 100rem;
		grid-template: 20rem 15rem 10rem 5rem 5rem 15rem / calc(100% / 4);
	}
	#grid picture:nth-child(1) {
		grid-area: 1 / 1 / 2 / 3;
	}
	#grid picture:nth-child(2) {
		grid-area: 1 / 3 / 2 / 5;
	}
	#grid picture:nth-child(3) {
		grid-area: 2 / 1 / 3 / 2;
	}
	#grid picture:nth-child(4) {
		grid-area: 2 / 2 / 5 / 4;
	}
	#grid picture:nth-child(5) {
		grid-area: 2 / 4 / 4 / 5;
	}
	#grid picture:nth-child(6) {
		grid-area: 3 / 1 / 6 / 2;
	}
	#grid picture:nth-child(7) {
		grid-area: 6 / 1 / 7 / 2;
	}
	#grid picture:nth-child(8) {
		grid-area: 5 / 2 / 7 / 4;
	}
	#grid picture:nth-child(9) {
		grid-area: 4 / 4 / 7 / 5;
	}
}
@media (min-width: 1200px) {
	.shape-spacing-text {
		padding-top: calc(2rem + 4vw + .125rem);
	}
	header img {
		max-width: 75rem;
	}
}
@media (min-width: 1400px) {
	#grid {
		grid-template: 25rem 25rem 20rem / calc(100% / 6);
	}
	#grid picture:nth-child(1) {
		grid-area: 1 / 1 / 2 / 3;
	}
	#grid picture:nth-child(2) {
		grid-area: 1 / 3 / 2 / 5;
	}
	#grid picture:nth-child(3) {
		grid-area: 1 / 5 / 2 / 7;
	}
	#grid picture:nth-child(4) {
		grid-area: 2 / 1 / 3 / 4;
	}
	#grid picture:nth-child(5) {
		grid-area: 2 / 4 / 4 / 6;
	}
	#grid picture:nth-child(6) {
		grid-area: 2 / 6 / 3 / 7;
	}
	#grid picture:nth-child(7) {
		grid-area: 3 / 1 / 4 / 2;
	}
	#grid picture:nth-child(8) {
		grid-area: 3 / 2 / 4 / 4;
	}
	#grid picture:nth-child(9) {
		grid-area: 3 / 6 / 4 / 7;
	}
}
@media (min-width: 1600px) {
	.d-xxxl-flex {
		display: flex !important;
	}
	#plandia .btn-circle {
		margin: 1rem -3.5rem;
	}
	#plandia .btn-circle:nth-of-type(even) {
		margin-top: 30rem;
	}
	#plandia .btn-circle .ele {
		width: 3rem;
		height: 30rem;
		background: linear-gradient(var(--color-midlightblue) 35%, rgba(159, 192, 228, .5) 50%, var(--color-midlightblue) 65%);
		left: calc(50% - 10rem + 2rem);
	}
	#plandia .btn-circle:nth-of-type(odd) .ele {
		top: 50%;
	}
	#plandia .btn-circle:nth-of-type(even) .ele {
		bottom: 50%;
	}
	#plandia .btn-circle .ele-first,
	#plandia .btn-circle .ele-last {
		background: var(--color-midlightblue);
	}
	#plandia .btn-circle .ele-last {
		left: auto;
		right: calc(50% - 10rem + 2rem);
	}
	#plandia .btn-circle .ele-first::after,
	#plandia .btn-circle .ele-last::after {
		content: "";
		width: 3rem;
		height: 20rem;
		background: linear-gradient(transparent, var(--color-white) 60%);
		display: block;
		position: absolute;
		bottom: 0;
	}
	#plandia .btn-circle:nth-of-type(odd) .ele svg {
		transform: rotate(180deg);
		margin-bottom: 7.5rem;
	}
	#plandia .btn-circle:nth-of-type(even) .ele svg {
		margin-top: 7.5rem;
	}
	#plandia .btn-circle .ele-last svg {
		transform: rotate(0);
		margin: 7.5rem 0 0 0;
	}
	#cta {
		padding-left: calc(50% - 50vw);
	}
	#cta .cta-wrap {
		width: 640px;
	}
	#cta .cta-arrow {
		display: block;
		top: -9rem;
		transform: rotate(-90deg);
	}
}
@media (min-width: 1800px) {
	#cta .cta-wrap {
		width: 720px;
	}
}
@media (hover: hover) {
	#team figure:hover .flip {
		transform: rotateY(180deg);
	}
	#team figure[data-reverse="true"]:hover .flip {
		transform: rotateY(360deg);
	}
}
@media (hover: none) {
	#team figure.active .flip {
		transform: rotateY(180deg);
	}
	#team figure[data-reverse="true"].active .flip {
		transform: rotateY(360deg);
	}
}