.dot:not(.no-multiply) {mix-blend-mode: multiply; pointer-events: none;}
.dot.pos-1 {transform: rotate(30deg);}
.dot.pos-2 {transform: rotate(60deg);}
.dot.pos-3 {transform: rotate(90deg);}
.dot.pos-4 {transform: rotate(120deg);}
.dot.pos-5 {transform: rotate(150deg);}
.dot.pos-6 {transform: rotate(180deg);}
.dot.pos-7 {transform: rotate(210deg);}
.dot.pos-8 {transform: rotate(240deg);}
.dot.pos-9 {transform: rotate(270deg);}
.dot.pos-10 {transform: rotate(300deg);}
.dot.pos-11 {transform: rotate(330deg);}
.article .container-dot.tf, .vacancy .container-dot.tf {transform: translate(-35%, -35%);}
.container-buttons.arrows > button > div {
	transition: background-color var(--transition-default) !important;
}
.container-buttons.arrows > button:disabled > div {
	background-color: var(--shade-grey-medium) !important;
}
.container-buttons.arrows > button > svg {
	transition: transform var(--transition-default) !important;
}
.container-buttons.arrows > button:not(:disabled):hover > svg, .container-buttons.arrows > button:not(:disabled):focus > svg {
	transform: translate(75%, -50%) !important;
}
/* Overrides */
header, main {
	overflow: initial !important;
}
div[overlay="search"] input[name="search"] {
	border-right: none !important;
}
.breadcrumb > div.border-round {
	border-bottom-right-radius: 1.375rem !important;
    -webkit-border-bottom-right-radius: 1.375rem !important;
    -moz-border-bottom-right-radius: 1.375rem !important;
}
nav.main #menu-mobile a.icon-xs > div.width.height {
	width: var(--icon-size-xs) !important;
	height: var(--icon-size-xs) !important;
}
nav.main .primary {
	border-right: none !important;
}
nav.main .primary:last-child:not(:hover):not(:focus), nav.main.bg-dark .primary:last-child:not(:hover):not(:focus) {
	background-color: var(--color-main) !important;
	border-color: var(--color-main) !important;
}
nav.main .container-submenu .submenu {
	top: 87.5%;
	transform: translateX(calc(-1 * var(--padding-default)));
	transition: opacity var(--transition-default), top var(--transition-default);
}
nav.main .container-submenu .submenu > div:first-child {
	transform: translate(calc(var(--padding-default) - 50%), 50%) rotate(45deg);
}
nav.main .container-submenu:not(:hover):not(:focus-within) .submenu:not(:hover) {
	top: 100%;
	pointer-events: none;
	opacity: 0;
}
footer .container-social {
	bottom: var(--padding-xxs);
}
@media only screen and (max-width: 992px) and (orientation: portrait) {
	nav.main #menu-mobile a.icon-xs > div.width.height {
		width: var(--icon-size-xs) !important;
		height: var(--icon-size-xs) !important;
	}
	footer > div:first-child > div:first-child > svg {
		width: 61.8% !important;
	}
	footer > div:first-child > div.gutter-2s, footer > div:last-child > * {
		justify-content: flex-start !important;
	}
	footer .container-social {
		position: relative !important;
		top: initial !important;
		bottom: initial !important;
		left: initial !important;
		right: initial !important;
		transform: initial !important;
	}
}

.headline-line {width: calc(var(--grid-padding) + calc(2 * var(--grid-column) + 1 * var(--grid-gutter)));}
@media only screen and (max-width: 992px) and (orientation: portrait) {
	.headline-line {width: calc(var(--grid-padding) + calc(3 * var(--grid-column) + 2 * var(--grid-gutter)));}
	.flex-v > .width-1.height-1, .flex-v > .width-1-5.height-1-5, .flex-v > .width-2.height-2, .flex-v > .width-2-5.height-2-5, .flex-v > .width-3.height-3, .flex-v > .width-3-5.height-3-5, .flex-v > .width-4.height-4, .flex-v > .width-4-5.height-4-5, .flex-v > .width-5.height-5, .flex-v > .width-5-5.height-5-5, .flex-v > .width-6.height-6, .flex-v > .width-6-5.height-6-5, .flex-v > .width-7.height-7, .flex-v > .width-7-5.height-7-5, .flex-v > .width-8.height-8, .flex-v > .width-8-5.height-8-5, .flex-v > .width-9.height-9, .flex-v > .width-9-5.height-9-5, .flex-v > .width-10.height-10, .flex-v > .width-10-5.height-10-5, .flex-v > .width-11.height-11, .flex-v > .width-11-5.height-11-5 {
		width: calc(12 * var(--grid-column) + 11 * var(--grid-gutter)) !important;
		height: calc(12 * var(--grid-column) + 11 * var(--grid-gutter)) !important;
	}
	*:not(.dot) > .width-1.height-1:not(.dot), *:not(.dot) > .width-1-5.height-1-5:not(.dot), *:not(.dot) > .width-2.height-2:not(.dot), *:not(.dot) > .width-2-5.height-2-5:not(.dot), *:not(.dot) > .width-3.height-3:not(.dot), *:not(.dot) > .width-3-5.height-3-5:not(.dot), *:not(.dot) > .width-4.height-4:not(.dot), *:not(.dot) > .width-4-5.height-4-5:not(.dot) {
		width: calc(6 * var(--grid-column) + 5 * var(--grid-gutter)) !important;
		height: calc(6 * var(--grid-column) + 5 * var(--grid-gutter)) !important;
	}
	*:not(.dot) > .width-5.height-5:not(.dot), *:not(.dot) > .width-5-5.height-5-5:not(.dot), *:not(.dot) > .width-6.height-6:not(.dot), *:not(.dot) > .width-6-5.height-6-5:not(.dot), *:not(.dot) > .width-7.height-7:not(.dot), *:not(.dot) > .width-7-5.height-7-5:not(.dot), *:not(.dot) > .width-8.height-8:not(.dot), *:not(.dot) > .width-8-5.height-8-5:not(.dot), *:not(.dot) > .width-9.height-9:not(.dot), *:not(.dot) > .width-9-5.height-9-5:not(.dot), *:not(.dot) > .width-10.height-10:not(.dot), *:not(.dot) > .width-10-5.height-10-5:not(.dot), *:not(.dot) > .width-11.height-11:not(.dot), *:not(.dot) > .width-11-5.height-11-5:not(.dot) {
		width: calc(12 * var(--grid-column) + 11 * var(--grid-gutter)) !important;
		height: calc(12 * var(--grid-column) + 11 * var(--grid-gutter)) !important;
	}
	.dot:not(.keep) > .width-1.height-1, .width-1.height-1.dot:not(.keep), .dot:not(.keep) > .width-1-5.height-1-5, .width-1-5.height-1-5.dot:not(.keep) {
		width: calc(2 * var(--grid-column) + 1 * var(--grid-gutter)) !important;
		height: calc(2 * var(--grid-column) + 1 * var(--grid-gutter)) !important;
	}
	.dot:not(.keep) > .width-2.height-2, .width-2.height-2.dot:not(.keep), .dot:not(.keep) > .width-2-5.height-2-5, .width-2-5.height-2-5.dot:not(.keep), .dot:not(.keep) > .width-3.height-3, .width-3.height-3.dot:not(.keep), .dot:not(.keep) > .width-3-5.height-3-5, .width-3-5.height-3-5.dot:not(.keep), .dot:not(.keep) > .width-4.height-4, .width-4.height-4.dot:not(.keep), .dot:not(.keep) > .width-4-5.height-4-5, .width-4-5.height-4-5.dot:not(.keep), .dot:not(.keep) > .width-5.height-5, .width-5.height-5.dot:not(.keep), .dot:not(.keep) > .width-5-5.height-5-5, .width-5-5.height-5-5.dot:not(.keep) {
		width: calc(4 * var(--grid-column) + 3 * var(--grid-gutter)) !important;
		height: calc(4 * var(--grid-column) + 3 * var(--grid-gutter)) !important;
	}
}
@media only screen and (max-width: 688px) and (orientation: portrait) {
	.headline-line {width: calc(var(--grid-padding) + calc(4 * var(--grid-column) + 3 * var(--grid-gutter)));}
}
/* ----------------------------------------------------------------
	Content
-----------------------------------------------------------------*/

/* Header & CTA */
section[name=header] .container-text {
	transform: translate(calc(var(--grid-padding) * -0.5), var(--padding-l)) !important;
}
section[name=header] .wrapper-faketext {
	width: calc(var(--grid-padding) * 0.5);
}
section[name=header] .container-faketext {
	transform: translateY(var(--padding-l)) !important;
}
section[name=header] .container-buttons.arrows {
	right: var(--grid-padding);
	bottom: var(--padding-xl);
}
@media only screen and (max-width: 1340px) and (min-width: 1271px) {
	section[name=header] .wrapper-text, section[name=header] .container-faketext {
		width: calc(7 * var(--grid-column) + 6 * var(--grid-gutter)) !important;
		height: calc(7 * var(--grid-column) + 6 * var(--grid-gutter)) !important;
	}
}
@media only screen and (max-width: 1270px) and (min-width: 992px) {
	section[name=header] .wrapper-text, section[name=header] .container-faketext {
		width: calc(7 * var(--grid-column) + 7 * var(--grid-gutter)) !important;
		height: calc(7 * var(--grid-column) + 7 * var(--grid-gutter)) !important;
	}
}
@media only screen and (max-width: 992px) and (orientation: portrait) {
	section[name=header] {
		height: calc(100vh - var(--nav-height) + var(--padding-s)) !important;
	}
	section[name=header] .slide {
		overflow: hidden !important;
	}
	section[name=header].bg-dark:not(.bg-trans), section[name=header] .bg-dark:not(.bg-trans) {
		background-color: color-mix(in srgb, var(--bg-dark) 92.5%, transparent) !important;
	}
	section[name=cta].bg-light:not(.bg-trans), section[name=cta] .bg-light:not(.bg-trans) {
		background-color: color-mix(in srgb, var(--bg-light) 87.5%, transparent) !important;
	}
	section[name=header] .wrapper-text.width-6-5.height-6-5:not(.dot) {
		left: calc(var(--grid-padding) * 0.5) !important;
		bottom: var(--padding-s) !important;
		width: calc(12 * var(--grid-column) + 11 * var(--grid-gutter) + var(--grid-padding)) !important;
		height: calc(12 * var(--grid-column) + 11 * var(--grid-gutter) + var(--grid-padding)) !important;
	}
	section[name=header] .container-text {
		transform: translateY(var(--padding-s)) !important;
		padding: var(--padding-xl) !important;
	}
	section[name=header] .container-text, section[name=header] .container-text * {
		align-items: center;
		justify-content: center !important;
		text-align: center !important;
	}
	section[name=header] .container-buttons.arrows {
		transform: translateX(50%);
		right: 50% !important;
		bottom: calc(var(--padding-xs) + var(--padding-s)) !important;
	}
}
@media only screen and (max-width: 688px) and (orientation: portrait) {
	section[name=header] .wrapper-text.width-6-5.height-6-5:not(.dot), section[name=cta] .wrapper-text.width-6.height-6:not(.dot) {
		left: calc(-2 * var(--grid-padding)) !important;
		width: calc(12 * var(--grid-column) + 11 * var(--grid-gutter) + 6 * var(--grid-padding)) !important;
		height: calc(12 * var(--grid-column) + 11 * var(--grid-gutter) + 6 * var(--grid-padding)) !important;
	}
	section[name=cta] .wrapper-text.width-6.height-6:not(.dot) {
		left: calc(-3 * var(--grid-padding)) !important;
	}
	section[name=header] .container-text, section[name=cta] .container-text {
		padding: calc(3 * var(--grid-padding)) !important;
	}
}

/* Text */
@media only screen and (max-width: 992px) and (orientation: portrait) {
	section[name=text] .flex-h.gutter-1:not(.slider):not(.infinity) > .flex-h.width-3 {
		width: calc(2 * var(--grid-column) + 1 * var(--grid-gutter)) !important;
	}
}
@media only screen and (max-width: 688px) and (orientation: portrait) {
	section[name=text] .container-text {
		width: calc(10 * var(--grid-column) + 9 * var(--grid-gutter)) !important;
	}
	section[name=text] .container-circles {
		transform: translate(-50%, -50%) !important;
	}
	section[name=text] .flex-h.gutter-1:not(.slider):not(.infinity) > .width-5 {
		width: calc(20 * var(--grid-column) + 19 * var(--grid-gutter)) !important;
		height: calc(20 * var(--grid-column) + 19 * var(--grid-gutter)) !important;
	}
}

/* Text-Image */
@media only screen and (max-width: 688px) and (orientation: portrait) {
	section[name=text-image] .flex-h.gutter-1:not(.slider):not(.infinity) > .width-3.height-3 {
		width: calc(6 * var(--grid-column) + 5 * var(--grid-gutter)) !important;
		height: calc(6 * var(--grid-column) + 5 * var(--grid-gutter)) !important;
	}
}

/* USPs */
@media only screen and (max-width: 992px) and (orientation: portrait) {
	section[name=usps] .container-usps {
		right: 50% !important;
		transform: translate(50%, -50%) !important;
		justify-content: center !important;
		align-items: center !important;
	}
	section[name=usps] .container-usps > * {
		width: calc(5 * var(--grid-column) + 4 * var(--grid-gutter)) !important;
	}
	section[name=usps] .container-usps > * > * {
		height: calc(5 * var(--grid-column) + 4 * var(--grid-gutter)) !important;
	}
}
@media only screen and (max-width: 688px) and (orientation: portrait) {
	section[name=usps] .container-usps {
		flex-wrap: wrap !important;
		justify-content: space-between !important;
		align-content: space-between !important;
		height: calc(14 * var(--grid-column) + 13 * var(--grid-gutter)) !important;
	}
	section[name=usps] .container-usps > * {
		width: calc(6 * var(--grid-column) + 5 * var(--grid-gutter)) !important;
	}
	section[name=usps] .container-usps > *:nth-child(2) {
		width: 100% !important;
		flex-direction: row !important;
		order: 4 !important;
	}
	section[name=usps] .container-usps > *:not(:nth-child(2)), section[name=usps] .container-usps > * > * {
		width: calc(7 * var(--grid-column) + 6 * var(--grid-gutter)) !important;
		height: calc(7 * var(--grid-column) + 6 * var(--grid-gutter)) !important;
	}
	section[name=usps] .container-usps > * > * {
		padding: var(--padding-xs) !important;
	}
	section[name=usps] .container-usps > * svg {
		width: var(--icon-size-s) !important;
	}
}

/* Accordion */
@media only screen and (max-width: 992px) and (orientation: portrait) {
	section[name=accordion] .container-text.main, section[name=accordion] .container-text.main * {
		justify-content: flex-start !important;
		align-items: flex-start !important;
		text-align: left !important;
	}
}

/* Cards */
@media only screen and (max-width: 992px) and (orientation: portrait) {
	section[name=cards] > .auto-w-tm.overflow:not(.wide-cards) {
		width: auto !important;
		align-self: flex-start !important;
	}
	section[name=cards] .wrapper picture {
		height: calc(5 * var(--grid-column) + 4 * var(--grid-gutter)) !important;
	}
	section[name=cards] .wrapper .container-text {
		padding: var(--padding-s) !important;
	}
	section[name=cards] > .z0.abs-cr, section[name=cards] > .z0.abs-cl {
		top: initial !important;
		bottom: 0px !important;
		width: auto !important;
	}
	section[name=cards] > .z0.abs-cr {
		transform: translate(50%, -12.5%) !important;
	}
	section[name=cards] > .z0.abs-cl {
		transform: translate(-50%, -12.5%) !important;
	}
	section[name=cards] > .z0.abs-cr > .width-8.height-8, section[name=cards] > .z0.abs-cl > .width-8.height-8 {
		width: calc(8 * var(--grid-column) + 7 * var(--grid-gutter)) !important;
		height: calc(8 * var(--grid-column) + 7 * var(--grid-gutter)) !important;
	}
}
@media only screen and (max-width: 688px) and (orientation: portrait) {
	section[name=cards] .wrapper picture {
		height: calc(7 * var(--grid-column) + 6 * var(--grid-gutter)) !important;
	}
}

/* Listing */
section[name=listing] .listing:first-child > .line-h:first-child {
	opacity: 0 !important;
}

/* Milestones */
section[name=milestones] .container-milestones {
	padding-top: calc((6 * var(--grid-column) + 5 * var(--grid-gutter)) * 0.5) !important;
	padding-bottom: calc((6 * var(--grid-column) + 5 * var(--grid-gutter)) * 0.5) !important;
}
@media only screen and (max-width: 992px) and (orientation: portrait) {
	section[name=milestones] {
		gap: 5rem !important;
	}
	section[name=milestones] .width-xxl.height-xxl {
		width: var(--gap-xl) !important;
		height: var(--gap-xl) !important;
	}
	section[name=milestones] .width-xxl.height-xxl .h3 {
		font-size: var(--font-size-h4) !important;
	}
}
@media only screen and (max-width: 688px) and (orientation: portrait) {
	section[name=milestones] .container-images {
		width: calc(9 * var(--grid-column) + 8 * var(--grid-gutter)) !important;
		height: calc(9 * var(--grid-column) + 8 * var(--grid-gutter)) !important
	}
	section[name=milestones] .container-milestones {
		padding-top: calc((9 * var(--grid-column) + 8 * var(--grid-gutter)) * 0.5) !important;
		padding-bottom: calc((9 * var(--grid-column) + 8 * var(--grid-gutter)) * 0.5) !important;
	}
	section[name=milestones] .milestone .container-text {
		width: calc(6 * var(--grid-column) + 6 * var(--grid-gutter)) !important;
	}
	section[name=milestones] .width-xxl.height-xxl {
		width: 4.25rem !important;
		height: 4.25rem !important;
	}
	section[name=milestones] .width-xxl.height-xxl .h3 {
		font-size: var(--font-size-h5) !important;
	}
}

/* Form */
section[name=form] .container-oRemove {
	left: calc(100% + var(--padding-xxs));
}
@media only screen and (max-width: 992px) and (orientation: portrait) {
	section[name=form] .container-oRemove {
		order: -1;
		position: relative !important;
		top: initial !important;
		bottom: initial !important;
		left: initial !important;
		right: initial !important;
		transform: initial !important;
		padding-top: var(--padding-xs) !important;
		border-top: var(--border-default) !important;
	}
}