/* ------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------ */
/* ---------------------------------------------------------------- general ----- */

@media (min-width: 1800px) {
	body {
		background-color: #eee;
	}
}

main {
	background: #fff;
	z-index: 1;
	position: relative;
	max-width: 1800px;
	margin: auto;
}

.anchor {
	position: relative;
	top: -100px;
}

.parallax-img {
	will-change: transform;
	transition: transform 0.05s linear;
}

/* ------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------ */
/* ------------------------------------------------------- section specific ----- */

@media (min-width: 1200px) {
	#logo-top {
		width: 326px;
		height: 70px;
	}
}

@media (min-width: 992px) {
	#fixed-buttons img {
		width: 40px;
		height: 40px;
	}
}

#header-placeholder {
	height: 94px;
}

#slogan-horizontal {
	font-size: 3rem;
	line-height: 120%;
}

#slogan-verical {
	font-size: 3rem;
	line-height: 120%;
	transform: rotate(-90deg) translate(-50%, 0);
}

@media (min-width: 992px) {
	#besonderheiten-content img {
		right: -5rem;
	}
}

#schwerpunkte-content::before,
#schwerpunkte-content::after {
	background-repeat: no-repeat;
	background-position: center;
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: -1;
}

#schwerpunkte-content::before {
	background-image: url('../images/blobs/blob_filled_2.svg');
	transform: rotate(90deg) scale(1.5, -1.5);
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

@media (min-width: 1200px) {
	#schwerpunkte-content::after {
		background-image: url('../images/blobs/blob_filled_1.svg');
		transform: rotate(-30deg) scale(1.25);
		right: -72%;
		top: -12%;
	}
}

@media (min-width: 1400px) {
	#schwerpunkte-content::after {
		right: -63%;
	}
}

#schwerpunkte-content .card {
	background-color: rgba(255, 255, 255, 0.5);
	hyphens: auto;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
}

/* ------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------ */
/* ------------------------------------------------------ decorative images ----- */

#swirl-outline-1 {
	height: 0;
	position: relative;
}

#swirl-outline-1 svg {
	transform: scale(1.5) translateY(-30%);
}

#swirl-outline-2 {
	height: 2rem;
	position: relative;
}

#swirl-outline-2 svg {
	transform: scale(1.5) translateX(10%) translateY(30%);
}

#swirl-filled {
	height: 0;
	position: relative;
}

#swirl-filled svg {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	z-index: -1;
	transform: scale(1.3) translateY(-10%) translateX(2%);
}

@media (min-width: 992px) {
	#swirl-filled svg {
		transform: scale(1.3) translateY(-15%) translateX(2%);
	}
}

@media (min-width: 1200px) {
	#swirl-filled svg {
		transform: scale(1.3) translateY(-20%) translateX(2%);
	}
}

#blob_outline_1 {
	right: -10%;
	top: 14%;
	z-index: -1;
}

#blob_outline_2 {
	transform: translateX(-15%) translateY(33%);
}

#blob_outline_3 {
	transform: translateX(-10%) translateY(10%);
}

/* ------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------ */
/* ----------------------------------------------------- navigation toggler ----- */

.navbar-toggler {
	height: 28px;
	width: 28px;
	box-sizing: content-box;
}

.navbar-toggler .main-nav-toggle {
	display: block;
	width: 28px;
	height: 16px;
	position: absolute;
	top: 12px;
}

.navbar-toggler .main-nav-toggle::before,
.navbar-toggler .main-nav-toggle::after {
	content: '';
	position: absolute;
	top: 0;
	height: 0;
	border-bottom: 4px solid #fff;
	width: 100%;
	left: 0;
	right: 0;
	transition: all ease-out 0.3s;
}

.navbar-toggler .main-nav-toggle::after {
	top: 100%;
}

.navbar-toggler .main-nav-toggle i {
	display: block;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
	height: 4px;
	background-color: #fff;
	width: 100%;
	position: absolute;
	top: 50%;
	transition: all ease-out 0.1s;
}

.navbar-toggler[aria-expanded='true'] .main-nav-toggle::after {
	transform: rotate(-45deg);
	transform-origin: center;
	top: 50%;
}

.navbar-toggler[aria-expanded='true'] .main-nav-toggle::before {
	transform: rotate(45deg);
	transform-origin: center;
	top: 50%;
}

.navbar-toggler[aria-expanded='true'] .main-nav-toggle i {
	opacity: 0;
}

/* ------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------ */
/* ---------------------------------------------------------- splide slider ----- */

.splide__pagination {
	margin-top: 1.5rem;
	position: static;
}

.splide__pagination__page.is-active {
	transform: none;
	background: black;
}

.splide__pagination__page {
	margin: 0 0.5rem;
}

.splide__arrow {
	height: 3em;
	width: 3em;
	background: #f3f5f0;
	opacity: 1;
}

.splide__arrow svg {
	height: 2em;
	width: 2em;
	fill: #bfceb0;
}

.splide__arrow--prev {
	left: 0;
}

.splide__arrow--next {
	right: 0;
}

.splide__arrow {
	top: auto;
	bottom: 0.5rem;
	transform: translateY(50%);
}

.splide .btn-link {
	font-weight: 400;
	text-transform: none;
}

.splide .btn-link,
.splide .btn-link:active,
.splide .btn-link:hover,
.splide .btn-link:focus {
	color: #7d8274 !important;
}
