/*
Theme Name: Twenty Twenty-Five Child
Template: twentytwentyfive
Version: 1.0.0
*/

/*
=======================================
=======================================
Fonts
=======================================
=======================================
*/

@font-face {
	font-display: swap;
	font-family: 'Work Sans';
	font-style: normal;
	font-weight: 100 900; /* variable font range */
	src: url('fonts/WorkSans-VariableFont_wght.ttf') format('truetype');
}

/* END - Fonts */

/*
=======================================
=======================================
Icons
=======================================
=======================================
*/

@font-face {
	font-display: block;
	font-family: 'icomoon';
	font-style: normal;
	font-weight: normal;
	src: url('fonts/icomoon/fonts/icomoon.eot?eycnti');
	src:
		url('fonts/icomoon/fonts/icomoon.eot?eycnti#iefix') format('embedded-opentype'),
		url('fonts/icomoon/fonts/icomoon.ttf?eycnti') format('truetype'),
		url('fonts/icomoon/fonts/icomoon.woff?eycnti') format('woff'),
		url('fonts/icomoon/fonts/icomoon.svg?eycnti#icomoon') format('svg');
}

[class^='ds-icon-'],
[class*=' ds-icon-'] {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: 'icomoon' !important;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	line-height: 1;
	speak: never;
	text-transform: none;
}

.ds-icon-building:before {
	content: '\e900';
}
.ds-icon-calendar:before {
	content: '\e901';
}
.ds-icon-chat:before {
	content: '\e902';
}
.ds-icon-down-arrow:before {
	content: '\e903';
}
.ds-icon-email:before {
	content: '\e904';
}
.ds-icon-facebook:before {
	content: '\e905';
}
.ds-icon-flash:before {
	content: '\e906';
}
.ds-icon-graph:before {
	content: '\e907';
}
.ds-icon-instagram:before {
	content: '\e908';
}
.ds-icon-left-arrow:before {
	content: '\e909';
}
.ds-icon-pin:before {
	content: '\e90a';
}
.ds-icon-play:before {
	content: '\e90b';
}
.ds-icon-pointer:before {
	content: '\e90c';
}
.ds-icon-reply:before {
	content: '\e90d';
}
.ds-icon-right-arrow:before {
	content: '\e90e';
}
.ds-icon-secure:before {
	content: '\e90f';
}
.ds-icon-telephone:before {
	content: '\e910';
}
.ds-icon-verified:before {
	content: '\e911';
}

/* END - Icons */

/*
=======================================
=======================================
Global settings
=======================================
=======================================
*/

:root {
	--ds-g1: #1e1e1e;
	--ds-g2: #979594;
	--ds-g3: #f0f0f0;
	--ds-g4: #020001;
	--ds-g5: #252525;
	--ds-g6: #8c8c8b;
	--ds-g7: #353535;

	--ds-white: #ffffff;

	--ds-primary: #e4180c;
	--ds-primary-dark: #740c06;

	--ds-primary-filter: brightness(0) saturate(100%) invert(19%) sepia(74%) saturate(5083%) hue-rotate(355deg) brightness(89%) contrast(102%);

	--ds-fs-1: 2.8rem;
	--ds-fs-2: 2.6rem;
	--ds-fs-3: 2rem;
	--ds-fs-4: 2.2rem;
	--ds-fs-5: 1.8rem;
	--ds-fs-6: 3.8rem;
	--ds-fs-7: 2.1rem;
	--ds-fs-8: 1.8rem;
	--ds-fs-9: 2rem;
	--ds-fs-10: 2.2rem;
	--ds-fs-11: 2.1rem;
	--ds-fs-12: 2.4rem;
	--ds-fs-13: 2.6rem;
	--ds-fs-14: 3.5rem;
}

@media (min-width: 781px) {
	:root {
		--ds-fs-1: 4.5rem;
		--ds-fs-2: 4rem;
		--ds-fs-4: 4rem;
		--ds-fs-6: 4rem;
		--ds-fs-7: 2.8rem;
		--ds-fs-9: 2.4rem;
		--ds-fs-12: 2.8rem;
		--ds-fs-13: 3rem;
		--ds-fs-14: 4rem;
	}
}

@media (min-width: 922px) {
	:root {
		--ds-fs-1: 10rem;
		--ds-fs-2: 6rem;
		--ds-fs-7: 3rem;
		--ds-fs-8: 2rem;
		--ds-fs-10: 2.5rem;
		--ds-fs-11: 2.4rem;
		--ds-fs-12: 3.2rem;
		--ds-fs-13: 3.4rem;
		--ds-fs-14: 5rem;
	}
}

@media (min-width: 1440px) {
	:root {
		--ds-fs-6: 8rem;
		--ds-fs-14: 6rem;
	}
}

html {
	font-size: 62.5%; /* 1rem = 10px; */
}

body {
	background-color: var(--ds-g1);
	color: var(--ds-g3);
	font-family: 'Work Sans';
	font-weight: 400;
}

button:focus-visible,
a:focus-visible {
	outline: 2px solid var(--ds-primary);
	outline-offset: 2px;
	z-index: 99;
}

.ds-accent-color {
	color: var(--ds-primary) !important;
}

.ds-links .wp-block-button__link {
	background-color: transparent;
	border: none;
	color: var(--ds-primary);
	font-size: var(--ds-fs-5);
	padding: 0;
	text-decoration: underline;
	text-transform: uppercase;
}

.ds-links .wp-block-button__link:hover {
	color: var(--ds-white);
}

.ds-btns .wp-block-button__link {
	background-color: var(--ds-g7);
	border-radius: 0;
	color: var(--ds-g3);
	font-size: var(--ds-fs-5);
	padding: 24px 20px;
	text-transform: uppercase;
}

.ds-btns .wp-block-button__link:hover {
	background-color: var(--ds-primary);
}

.ds-btn-icon-before a {
	align-items: center;
	display: flex;
	justify-content: center;
}

.ds-btn-icon-before a::before {
	content: '\e906';
	font-family: 'icomoon' !important;
	font-size: 3rem;
}

.ds-col-no-gap {
	gap: 0;
}

/* END - Global settings */

/*
=======================================
=======================================
Header
=======================================
=======================================
*/

.ds-top-header {
	background-color: var(--ds-g4);
	color: var(--ds-g3);
}

.ds-top-header-p {
	font-size: 1.4rem;
	font-weight: 500;
	text-align: center;
	text-transform: uppercase;
}

.ds-top-header-list {
	column-gap: 10px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style-type: none;
	padding-left: 0;
}

.ds-top-header-list img {
	height: auto;
	width: 20px;
}

.ds-top-header-list a {
	align-items: center;
	color: var(--ds-g3);
	display: flex;
	font-size: 1.2rem;
	text-decoration: none;
	transition: all 0.3s ease;
}

.ds-top-header-list a img {
	margin-right: 5px;
	transition: all 0.3s ease;
}

.ds-top-header-list a:hover {
	color: var(--ds-primary);
	transition: all 0.3s ease;
}

.ds-top-header-list a:hover img {
	filter: var(--ds-primary-filter);
	transition: all 0.3s ease;
}

header.wp-block-template-part {
	background-color: var(--ds-white);
}

header.wp-block-template-part .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	color: var(--ds-g4);
	font-size: 1.6rem;
	font-weight: 500;
	text-transform: uppercase;
}

.has-modal-open header.wp-block-template-part .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	color: var(--ds-g3);
}

.has-modal-open header.wp-block-template-part .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content:hover,
header.wp-block-template-part .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content:hover {
	color: var(--ds-primary);
	text-decoration: none;
}

header .wp-block-navigation ul {
	column-gap: calc(80 / 2560 * 100vw);
}

.ds-logo img {
	max-width: 8rem;
	transition: all 0.3s ease;
}

header .wp-block-navigation__responsive-container-close svg {
	fill: var(--ds-g3);
}

header .wp-block-navigation__responsive-container-open svg {
	fill: var(--ds-g4);
}

.ds-top-header-row {
	flex-direction: column;
	gap: 0;
}

header.wp-block-template-part .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item {
	background-color: var(--ds-g4);
}

header.wp-block-template-part .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a {
	color: var(--ds-g3);
}

.scroll-down .ds-main-header,
.scroll-up .ds-main-header {
	background: white;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9;
}

.ds-main-header .ds-logo {
	position: absolute;
	top: 30%;
	z-index: 9;
}

.scroll-down .ds-main-header .ds-logo,
.scroll-up .ds-main-header .ds-logo {
	top: 0%;
}

.ds-main-header .ds-logo,
.ds-main-header .ds-logo .scroll-down .ds-main-header .ds-logo img,
.scroll-down .ds-main-header .ds-logo img,
.scroll-up .ds-main-header .ds-logo img {
	max-width: 13.8rem;
	transition: all 0.3s ease;
}

.ds-main-header .ds-logo + .wp-block-group {
	margin-left: auto;
}

.wp-block-navigation .wp-block-navigation__submenu-icon {
	height: 100%;
	position: absolute;
	width: 100%;
}

/* END - Header */

/*
=======================================
=======================================
Footer
=======================================
=======================================
*/

footer.wp-block-template-part {
	margin-top: 0;
}

.ds-footer {
	background-color: var(--ds-g5);
}

.ds-footer p {
	color: var(--ds-g2);
	font-size: 1.6rem;
}

.ds-footer-company-info p {
	font-size: var(--ds-fs-5);
}

.ds-footer p strong {
	color: var(--ds-g3) !important;
	font-size: 1.6rem;
	line-height: 1.5;
}

.ds-footer p strong a {
	text-decoration: none;
}

.ds-footer p strong a:hover {
	text-decoration: underline;
}

.ds-footer .ds-social-links {
	display: flex;
	list-style-type: none;
	margin-top: 6rem;
	padding: 0;
}

.ds-footer .ds-social-links img {
	height: auto;
	transition: all 0.3s ease;
	width: 40px;
}

.ds-footer .ds-social-links a:hover img {
	filter: var(--ds-primary-filter);
	transition: all 0.3s ease;
}

.ds-footer-logo {
	margin-bottom: 4rem;
}

.ds-footer-logo img {
	width: 20rem;
}

.ds-footer-menu-row {
	border-bottom: 2px solid rgb(255 255 255 / 30%);
	margin: 30px 0 0;
	padding: 20px 0;
}

.ds-footer-menu2,
.ds-footer-menu {
	color: var(--ds-g2);
	display: flex;
	flex-wrap: wrap;
	font-size: 1.4rem;
	justify-content: center;
	list-style: none;
	padding: 0;
}

.ds-footer-menu2 {
	column-gap: 30px;
}

.ds-footer-menu a {
	padding: 0 10px;
	position: relative;
	text-decoration: none;
}

.ds-footer-menu2 a {
	text-decoration: none;
}

.ds-footer-menu a:hover::before {
	opacity: 1;
	transition: all 0.3s ease-in-out;
	width: 23px;
}

.ds-footer-menu a:hover {
	color: var(--ds-g3);
}

.ds-footer-menu2 a:hover {
	color: var(--ds-primary);
}

.ds-copyright-row {
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 5rem;
}

.ds-copyright-row p {
	text-align: center;
}

.ds-footer-h2 {
	color: var(--ds-g3);
	font-size: 2.2rem;
	font-weight: 800;
	margin-bottom: 5rem;
	text-transform: uppercase;
}

.ds-form .nf-form-content label {
	color: var(--ds-g6);
	font-size: 1.4rem;
	font-style: normal;
	font-weight: normal;
	letter-spacing: 0.56px;
	line-height: normal;
	position: relative;
	top: 0;
	transition: all 0.3s ease-in-out;
}

.ds-form .wa-checkbox label {
	font-size: 1.2rem;
	margin-bottom: 0;
	padding-bottom: 0;
	position: relative;
	top: 10px;
}

.ds-form .nf-form-content label a {
	color: var(--ds-g6);
	text-decoration: underline;
}

.ds-form .ninja-forms-req-symbol {
	color: var(--ds-g6);
}

.ds-form .nf-form-content label a:hover {
	color: var(--ds-primary);
}

.ds-form .nf-form-content .list-select-wrap .nf-field-element > div,
.ds-form .nf-form-content input:not([type='button']),
.ds-form .nf-form-content textarea {
	background: transparent !important;
	border: none !important;
	border-bottom: 1px solid rgb(255 255 255 / 15%) !important;
}

.ds-form .nf-form-content .list-select-wrap .nf-field-element > div:focus,
.ds-form .nf-form-content input:not([type='button']):focus,
.ds-form .nf-form-content textarea:focus {
	border-bottom: 2px solid rgb(255 255 255 / 100%) !important;
	color: var(--ds-white);
}

.ds-form form textarea,
.ds-form .nf-form-content textarea.ninja-forms-field {
	height: 80px;
	max-height: 80px;
	min-height: 90px;
	padding-top: 30px;
}

.ds-form .nf-form-content .list-select-wrap .nf-field-element > div,
.ds-form .nf-form-content input:not([type='button']),
.ds-form .nf-form-content textarea {
	color: var(--ds-white);
	font-size: var(--ds-fs-5);
	font-style: normal;
	font-weight: 800;
	height: 40px;
	letter-spacing: normal;
	line-height: normal;
	text-align: left;
}

.ds-form .nf-form-content button,
.ds-form .nf-form-content input[type='button'],
.ds-form .nf-form-content input[type='submit'] {
	background: rgb(255 255 255 / 10%);
	border: 0;
	color: var(--ds-white);
	float: right;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.64px;
	text-transform: uppercase;
	transition: all 0.5s;
	width: 100%;
}

.ds-form .nf-form-content input[type='submit']:focus-visible {
	outline: 2px solid var(--ds-primary);
}

.ds-form .nf-form-content button:hover,
.ds-form .nf-form-content input[type='button']:hover,
.ds-form .nf-form-content input[type='submit']:hover {
	color: var(--ds-primary);
	cursor: pointer;
}

.ds-form .checkbox-wrap .nf-field-element label:after,
.ds-form .checkbox-wrap .nf-field-label label:after,
.ds-form .listcheckbox-wrap .nf-field-element label:after,
.ds-form .listcheckbox-wrap .nf-field-label label:after {
	background: transparent;
	border-color: var(--ds-white);
}

.ds-form .checkbox-wrap .nf-field-element label.nf-checked-label:after,
.ds-form .checkbox-wrap .nf-field-label label.nf-checked-label:after,
.ds-form .listcheckbox-wrap .nf-field-element label.nf-checked-label:after,
.ds-form .listcheckbox-wrap .nf-field-label label.nf-checked-label:after {
	background: transparent;
	border-color: var(--ds-primary);
}

.ds-form .checkbox-wrap .nf-field-element label:before,
.ds-form .checkbox-wrap .nf-field-label label:before,
.ds-form .listcheckbox-wrap .nf-field-element label:before,
.ds-form .listcheckbox-wrap .nf-field-label label:before {
	aspect-ratio: 1 / 1;
	border: 2px solid var(--ds-white);
	color: transparent !important;
	content: '';
	font-size: 4rem;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	height: 20px;
	left: -26px;
	line-height: 1;
	opacity: 1;
	position: absolute;
	text-transform: none;
	top: 2px;
	width: 20px;
}

.ds-form .checkbox-wrap .nf-field-element label::after,
.ds-form .checkbox-wrap .nf-field-label label:after {
	border: none;
	color: red;
	content: '.';
	font-size: 7rem;
	left: -25px;
	line-height: 1;
	opacity: 0;
	position: absolute;
	top: -43px;
}

.ds-form .checkbox-wrap .nf-field-label label.nf-checked-label:before,
.ds-form .listcheckbox-wrap .nf-field-element label.nf-checked-label:before,
.ds-form .listcheckbox-wrap .nf-field-label label.nf-checked-label:before {
	color: #e4180c !important;
	opacity: 1;
}

.ds-form .checkbox-wrap .nf-field-element label.nf-checked-label::after,
.ds-form .checkbox-wrap .nf-field-label label.nf-checked-label:after {
	opacity: 1;
}

.ds-form .nf-error-msg {
	float: left;
}

.ds-form .wa-focus-label label {
	top: -15px;
}

.ds-form .nf-form-fields-required {
	display: none;
}

.ds-form .ds-checkbox {
	padding-left: 20px;
}

.ds-form .ds-checkbox .nf-field-element {
	height: 0;
	opacity: 0;
	width: 0;
}

/* END - Footer */

/*
=======================================
=======================================
Home page
=======================================
=======================================
*/

.ds-home-hero {
	background-image: url(/wp-content/uploads/2026/04/hela-hero-bg-02.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	clip-path: polygon(100% 0, 100% 90%, 50% 100%, 0 90%, 0 0);
	padding-bottom: calc(450 / 2560 * 100vw);
	padding-top: calc(450 / 2560 * 100vw);
}

.ds-home-hero .wp-block-heading {
	background-color: transparent;
	color: var(--ds-g3);
	font-size: var(--ds-fs-1);
	font-weight: 800;
	position: relative;
	z-index: 1;
}

.ds-home-hero .wp-block-heading .ds-accent-color {
	display: inline-block;
	position: relative;
}

.ds-home-hero .wp-block-heading .ds-accent-color::before {
	background-color: #020001;
	bottom: -3px;
	content: '';
	display: inline-block;
	height: 27px;
	left: -2%;
	opacity: 0.3;
	position: absolute;
	width: 104%;
	z-index: -1;
}

.ds-h2--smaller,
.ds-h2 {
	color: var(--ds-g3);
	font-size: var(--ds-fs-2);
	font-weight: 700;
	-webkit-hyphens: auto;
	text-transform: uppercase;
	word-wrap: break-word;
}

.ds-h2.ds-h2-capitalize {
	text-transform: initial;
}

.ds-h2--smaller {
	font-size: var(--ds-fs-13);
}

.ds-h2-leistungen {
	color: var(--ds-white);
	font-size: var(--ds-fs-4);
}

.ds-list li,
p,
.ds-legal-page-content p,
.ds-legal-page-content li,
.ds-legal-page-content,
.ds-text {
	color: var(--ds-white);
	font-size: var(--ds-fs-3);
	-webkit-hyphens: auto;
	word-wrap: break-word;
}

.ds-welcome-box figure.ds-img {
	object-fit: cover;
	width: 100%;
}

.ds-welcome-box figure.ds-img img {
	border-radius: 15px;
	margin-bottom: 5rem;
	width: 100%;
}

.ds-welcome-box .wp-block-heading {
	color: var(--ds-g3);
	font-size: var(--ds-fs-4);
	font-weight: 800;
}

.ds-welcome-box .ds-links {
	margin-top: 5rem;
}

.ds-bg-dark {
	background-color: var(--ds-g5);
}

.ds-bg-black {
	background-color: var(--ds-g4);
}

.ds-leisungen-boxes {
	gap: 0;
}

.ds-leistungen-box {
	background-color: var(--ds-g4);
	hyphens: auto;
	overflow: hidden;
	overflow-wrap: anywhere;
	padding: 2rem;
	position: relative;
	transition: all 0.3s ease;
}

.ds-leistungen-box:hover {
	background-color: var(--ds-primary-dark);
	transition: all 0.3s ease;
}

.ds-leistungen-box .wp-block-button .wp-block-button__link {
	background-color: transparent;
	border-radius: 0;
	bottom: 0;
	left: 0;
	opacity: 0;
	padding: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.ds-leistungen-box-subheading {
	color: var(--ds-g2);
	font-size: var(--ds-fs-5);
	font-weight: 700;
	text-transform: uppercase;
}

.ds-leistungen-box-heading {
	color: var(--ds-g3);
	font-size: var(--ds-fs-7);
	font-weight: 800;
}

.ds-leistungen-box-text {
	color: var(--ds-g3);
	font-size: var(--ds-fs-8);
	font-weight: 400;
}

.ds-leistungen-box::before {
	color: var(--ds-white);
	content: '';
	font-family: 'icomoon' !important;
	font-size: 43rem;
	line-height: 1;
	opacity: 0.05;
	position: absolute;
	right: -130px;
	top: 0;
}

.ds-leistungen-box.ds-leistungen-box1::before {
	content: '\e906';
}

.ds-leistungen-box.ds-leistungen-box2::before {
	content: '\e90f';
}

.ds-leistungen-box.ds-leistungen-box3::before {
	content: '\e902';
}

.ds-subheading-accent {
	color: var(--ds-primary);
	font-size: var(--ds-fs-9);
}

.ds-cta {
	padding-block: calc(120 / 2560 * 100vw);
}

.ds-cta .ds-btns .wp-block-button > *,
.ds-cta .ds-btns .wp-block-button {
	min-width: 100%;
}

.ds-contact-section {
	position: relative;
}

.ds-contact-section .wp-block-columns {
	gap: 0;
}

.ds-cta .wp-block-columns {
	gap: 20px;
}

.ds-map-col {
	position: relative;
}

.ds-map-pin {
	left: 85px;
	max-width: 67vw;
	position: absolute;
	top: 22px;
}

.ds-relative {
	position: relative;
}

.ds-contact-box {
	background-color: var(--ds-primary);
	padding: 0;
	padding-block: 3rem;
	position: static;
}

.ds-contact-box p {
	color: var(--ds-white);
	font-size: var(--ds-fs-11);
	font-weight: 700;
	margin-bottom: 2rem;
	padding-inline: 4rem;
	text-transform: uppercase;
}

.ds-contact-box .wp-block-list {
	color: var(--ds-white);
	list-style-type: none;
	margin: 0;
	padding-inline: 4rem;
}

.ds-contact-box .wp-block-list li {
	font-size: var(--ds-fs-8);
	padding-left: 30px;
	position: relative;
}

.ds-contact-box .wp-block-list li a {
	text-decoration: none;
}

.ds-contact-box .wp-block-list li a:hover,
.ds-contact-box .wp-block-list li a:focus-visible {
	text-decoration: underline;
}

.ds-contact-box .wp-block-button {
	margin-top: 0;
}

.ds-contact-box .wp-block-button__link {
	background-color: var(--ds-g1);
	border-radius: 0;
	font-size: var(--ds-fs-8);
}

.ds-contact-box .wp-block-button__link:focus-visible {
	outline: 2px solid var(--ds-white);
	outline-offset: 2px;
}

.ds-contact-box .wp-block-button__link:hover {
	background-color: var(--ds-g2);
}

.ds-contact-box .wp-block-button__link span {
	color: var(--ds-primary);
	margin-left: 10px;
}

.ds-contact-box .wp-block-list li::before {
	color: var(--ds-white);
	content: '';
	font-family: 'icomoon' !important;
	left: 0;
	position: absolute;
}

.ds-contact-box .wp-block-list li:nth-of-type(1):before {
	content: '\e90c';
}

.ds-contact-box .wp-block-list li:nth-of-type(2):before {
	content: '\e910';
}

.ds-contact-box .wp-block-list li:nth-of-type(3):before {
	content: '\e904';
}

.ds-map-col .ds-img-object-fit {
	margin-bottom: 3rem !important;
}

/* END - Home page */

/*
=======================================
=======================================
Single job post
=======================================
=======================================
*/

.single-job_listing h1 {
	color: var(--ds-white);
	font-size: var(--ds-fs-12);
	font-weight: 800;
	text-align: center;
	text-transform: uppercase;
}

.single-job_listing .job_application,
.single-job_listing .job-listing-meta {
	display: none;
}

.single-job_listing h2 {
	color: var(--ds-white);
	font-size: var(--ds-fs-8);
	font-weight: 500;
	letter-spacing: 0.8px;
	margin-top: 3rem;
}

.single-job_listing h2.ds-single-job-title2 {
	color: var(--ds-g2);
	font-size: var(--ds-fs-7);
	text-transform: uppercase;
}

.ds-single-job-sidebar p,
.single-job_listing .wp-block-mfb-meta-field-block,
.single-job_listing .job_description li,
.single-job_listing .job_description p {
	color: var(--ds-g2);
	font-size: var(--ds-fs-8);
	letter-spacing: 0.8px;
}

.ds-single-job-sidebar {
	background-color: var(--ds-g4);
	padding: 30px 35px;
}

.ds-list,
.ds-legal-page-content ul,
.single-job_listing .job_description ul {
	list-style-type: none;
	padding: 0;
}

.ds-list li,
.ds-legal-page-content ul li,
.single-job_listing .job_description ul li {
	padding-left: 3rem;
	position: relative;
}

.ds-list li::before,
.ds-legal-page-content ul li::before,
.single-job_listing .job_description ul li::before {
	background-color: var(--ds-primary);
	border-radius: 100%;
	content: '';
	height: 10px;
	left: 0;
	position: absolute;
	top: 10px;
	width: 10px;
}

.ds-single-job-modal {
	align-items: center;
	display: none;
	inset: 0;
	justify-content: center;
	position: fixed;
	z-index: 9999;
}

.ds-single-job-modal.is-open {
	display: flex;
}

.ds-single-job-modal__overlay {
	background: rgba(0, 0, 0, 0.55);
	inset: 0;
	margin: 0 !important;
	min-width: 100%;
	position: absolute;
}

.ds-single-job-modal__dialog {
	background: #fff;
	max-height: 90vh;
	max-width: 680px;
	overflow-y: auto;
	padding: 40px;
	position: relative;
	width: 90%;
	z-index: 1;
}

.ds-single-job-modal__close {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 24px;
	line-height: 1;
	position: absolute;
	right: 16px;
	top: 16px;
}

body.modal-open {
	overflow: hidden;
}

.ds-single-job-modal .wp-block-group {
	background-color: var(--ds-g5);
	max-width: 100%;
	padding: 2rem;
}

.ds-single-job-btn-close-modal {
	position: absolute;
	right: 2%;
	top: 1%;
}

.ds-single-job-btn-close-modal a {
	background: no-repeat;
	color: var(--ds-white);
	font-size: 3rem;
	margin: 0;
	padding: 0;
}

.ds-single-job-modal h2 {
	color: var(--ds-g6);
	font-size: var(--ds-fs-12);
	text-transform: uppercase;
}

.ds-single-job-modal h2::before {
	content: 'Anstellung: ';
	text-transform: capitalize;
}

.ds-single-job-modal .nf-form-fields-required {
	display: none;
}

.ds-single-job-modal .nf-field-element input:not([type='submit']):not([type='file']) {
	background-color: transparent;
	border: 1px solid var(--ds-g2);
	color: var(--ds-white);
	font-size: var(--ds-fs-8);
	height: 35px;
	padding: 20px;
}

.ds-single-job-modal .nf-field-element input[type='submit'] {
	background-color: var(--ds-g4);
	border: none;
	color: var(--ds-white);
	cursor: pointer;
	font-size: var(--ds-fs-5);
	left: 50%;
	max-width: 100%;
	padding: 10px;
	position: relative;
	text-transform: uppercase;
	transform: translate(-50%);
	transition: all 0.3s ease;
}

.ds-single-job-modal .nf-field-element input[type='submit']:hover {
	background-color: var(--ds-primary);
	transition: all 0.3s ease;
}

.ds-single-job-modal .nf-field-label {
	margin-bottom: 0;
}

.ds-single-job-modal .nf-field-label .nf-label-span,
.ds-single-job-modal .nf-field-label label {
	color: var(--ds-g6);
	font-size: var(--ds-fs-8);
	font-weight: normal;
}

.ds-single-job-btn {
	width: 100%;
}

.ds-single-job-btn a {
	background-color: var(--ds-primary);
	border-radius: 0;
	color: var(--ds-white);
	display: block;
	font-size: var(--ds-fs-8);
	margin-top: 3rem;
	padding-block: 10px;
	text-transform: uppercase;
	transition: all 0.3s ease;
}

.ds-single-job-btn a:hover {
	background-color: var(--ds-g1);
	transition: all 0.3s ease;
}

.ds-single-job-btn a::before {
	content: '\e906';
	font-family: 'icomoon' !important;
	margin-right: 15px;
}

.single-job_listing .nf-fu-fileinput-button {
	background: var(--ds-g4);
	border: none;
	color: var(--ds-white);
	font-size: var(--ds-fs-8);
	font-weight: 500;
	margin-top: 10px;
	padding: 15px;
	text-transform: uppercase;
	width: 100%;
}

.single-job_listing .nf-fu-fileinput-button:hover {
	background-color: var(--ds-primary);
}

.nf-fu-progress-bar {
	background-color: var(--ds-primary);
}

.nf-fu-progress {
	height: 2px;
}

.files_uploaded a {
	color: var(--ds-primary);
}

.files_uploaded a:hover {
	color: var(--ds-primary-dark);
}

/* END - Single job post */

/*
=======================================
=======================================
Jobs listings
=======================================
=======================================
*/

.ds-job_listings div.job_listings ul.job_listings {
	border: none;
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(1, 1fr);
}

.ds-job_listings ul.job_listings li.job_listing {
	border: none;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ds-job_listings ul.job_listings li.job_listing a {
	border: 1px solid rgb(255 255 255 / 30%);
	border-radius: 15px;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 20px;
}

.ds-job_listings ul.job_listings li.job_listing a:focus {
	background-color: transparent;
}

.ds-job_listings ul.job_listings li.job_listing a:focus-visible:focus,
.ds-job_listings ul.job_listings li.job_listing a:focus-visible {
	border: 1px solid var(--ds-primary);
	border-radius: 15px;
	outline: none;
}

.ds-job_listings ul.job_listings li.job_listing a:hover {
	background-color: transparent;
}

ul.job_listings li.job_listing a .meta li.date,
ul.job_listings li.job_listing a div.location,
.ds-job_listings ul.job_listings li.job_listing img {
	display: none;
}

.ds-job_listings ul.job_listings li.job_listing .position h3 {
	color: var(--ds-white);
	font-size: var(--ds-fs-10);
	font-weight: 700;
	hyphens: auto;
	-webkit-hyphens: auto;
	line-height: 1.2;
	text-transform: uppercase;
	word-wrap: break-word;
}

.ds-job_listings .job_listing .job-type {
	color: var(--ds-primary);
	font-size: var(--ds-fs-11) !important;
	letter-spacing: 0.8px;
}

ul.job_listings li.job_listing a div.position,
ul.job_listings li.job_listing a .meta {
	float: none;
	padding: 0;
	text-align: left;
	width: 100%;
}

ul.job_listings li.job_listing a .meta {
	margin-block: 3rem;
}

.ds-job-listing-btn {
	background-color: rgb(255 255 255 / 10%);
	color: var(--ds-white);
	display: block;
	font-size: var(--ds-fs-8);
	font-weight: 500;
	margin-bottom: 0;
	margin-top: auto;
	padding-block: 20px;
	text-align: center;
	text-transform: uppercase;
	transition: all 0.3s ease;
	width: 100%;
}

.ds-job_listings ul.job_listings li:hover .ds-job-listing-btn {
	background-color: var(--ds-primary);
	transition: all 0.3s ease;
}

/* END - Jobs listings */

/*
=======================================
=======================================
Single post
=======================================
=======================================
*/

.ds-single-post {
	margin-top: 0 !important;
}

.single-post .wp-block-post-title {
	color: var(--ds-white);
	font-size: var(--ds-fs-14);
	font-weight: 800;
	letter-spacing: 0.6px;
	line-height: 1.4;
}

.single-post .entry-content ul {
	margin: 3rem;
	padding-left: 20px;
}

.single-post .entry-content *,
.single-post .entry-content li,
.single-post .entry-content p {
	color: var(--ds-g2);
	font-size: var(--ds-fs-8);
	letter-spacing: 0.8px;
	line-height: 1.5;
}

.single-post .entry-content h1,
.single-post .entry-content h2,
.single-post .entry-content h3,
.single-post .entry-content h4,
.single-post .entry-content h5,
.single-post .entry-content h6 {
	color: var(--ds-white);
	font-weight: 800;
	letter-spacing: 0.8px;
	line-height: 1.5;
}

.single-post .entry-content h2 {
	font-size: var(--ds-fs-13);
}

.ds-legal-page-content a,
.single-post .entry-content a {
	color: var(--ds-primary);
	text-decoration: underline;
	transition: all 0.3s ease;
}

.ds-legal-page-content a:hover,
.single-post .entry-content a:hover {
	color: var(--ds-primary-dark);
	text-decoration: none;
	transition: all 0.3s ease;
}

.single-post .wp-block-post-date time {
	color: var(--ds-primary);
	font-size: var(--ds-fs-8);
	letter-spacing: 0.8px;
}

.single-post .wp-block-post-date time::before {
	content: '\e901';
	font-family: 'icomoon' !important;
	margin-right: 10px;
	position: relative;
	top: 1px;
}

.ds-single-post-data-row {
	margin: 0;
}

.ds-single-post-content {
	padding: 0;
}

/* END - Single post */

/*
=======================================
=======================================
Single project
=======================================
=======================================
*/

.ds-single-project-title {
	color: var(--ds-g3);
	font-size: var(--ds-fs-14);
	font-weight: 800;
	padding-bottom: 6rem;
	padding-top: 8.5rem;
	text-transform: uppercase;
}

.ds-img-border img,
.ds-single-project-feature-image img {
	border: 10px solid var(--ds-white);
}

.ds-single-project h2.wp-block-post-title {
	color: var(--ds-g3);
	font-size: var(--ds-fs-7);
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.ds-single-project-data-range p,
.ds-single-project-data-range {
	color: var(--ds-primary);
	font-size: var(--ds-fs-8);
	font-weight: 500;
	margin: 0;
}

.ds-single-project-info-box {
	padding-left: 8rem;
	position: relative;
}

.ds-single-project-info-box::before {
	color: var(--ds-primary);
	content: '\e907';
	font-family: 'icomoon' !important;
	font-size: 5rem;
	left: 0;
	position: absolute;
}

.ds-single-project-info-box p {
	color: var(--ds-white);
	font-size: var(--ds-fs-8);
	font-weight: 500;
	letter-spacing: 0.72px;
	line-height: 1.67;
	margin: 0;
}

.ds-single-project-info-box p:first-of-type {
	color: var(--ds-g2);
	font-size: var(--ds-fs-8);
	font-weight: 400;
	text-transform: uppercase;
}

.ds-separator {
	border-top: 2px solid var(--ds-g2);
}

.ds-single-project-row .wp-block-heading {
	color: var(--ds-white);
	font-size: var(--ds-fs-13);
	font-weight: 800;
	margin-bottom: 3rem;
	text-transform: uppercase;
}

.ds-single-project-row p,
.ds-single-project-row li {
	color: var(--ds-g2);
	font-size: var(--ds-fs-3);
}

.ds-single-project-row ul {
	list-style-type: none;
	padding-left: 20px;
}

.ds-single-project-row ul li {
	position: relative;
}

.ds-single-project-row ul li::before {
	background-color: var(--ds-primary);
	border-radius: 100%;
	content: '';
	height: 10px;
	left: -20px;
	position: absolute;
	top: 10px;
	width: 10px;
}

.ds-single-project-row {
	margin-bottom: 5rem;
	padding-inline: 50px !important;
}

.ds-acf-gallery {
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(1, 1fr);
}

.ds-acf-gallery__item img {
	border-radius: 15px;
	display: block;
	width: 100%;
}

.ds-single-project-gallery {
	padding-inline: 5rem;
}

.ds-single-project-video .video-wrapper {
	height: calc(755 / 1920 * 100vw);
	max-height: 755px;
	min-height: 400px;
	position: relative;
	width: 100%;
}

.ds-single-project-video .video-wrapper iframe {
	height: 100%;
	position: relative;
	width: 100%;
	z-index: 0;
}

.ds-single-project-video .wp-block-post-title {
	display: none;
}

.ds-single-project-video .video-wrapper + .wp-block-post-title {
	bottom: 0;
	color: var(--ds-white);
	display: block;
	font-size: var(--ds-fs-6);
	font-weight: 800;
	left: 0;
	line-height: 1;
	position: absolute;
	text-align: center;
	text-transform: uppercase;
}

.ds-single-project-video:has(iframe) {
	background: linear-gradient(180deg, rgba(30, 30, 30, 1) 0%, rgba(30, 30, 30, 1) 50%, rgba(37, 37, 37, 1) 50%, rgba(37, 37, 37, 1) 100%);
	padding-bottom: 10rem;
	padding-top: 5rem;
}

.ds-single-project-columns {
	gap: 0;
}

.ds-projects {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(1, 1fr);
}

.ds-link-block,
.ds-project-card {
	aspect-ratio: 1 / 1;
	background-repeat: no-repeat;
	background-size: cover;
	min-width: 0;
	position: relative;
}

.ds-link-block {
	min-height: auto;
}

.ds-project-card__value {
	align-items: center;
	background-color: var(--ds-g4);
	border-radius: 100%;
	color: var(--ds-white);
	display: flex;
	flex-direction: column;
	font-size: var(--ds-fs-5);
	height: 8rem;
	justify-content: center;
	line-height: 1;
	position: absolute;
	right: 20px;
	top: 20px;
	width: 8rem;
}

.ds-link-block__content,
.ds-project-card__content {
	background: rgb(0 0 0 / 90%);
	bottom: 10%;
	left: 0;
	padding: 1.5rem 2rem;
	position: absolute;
	right: 3rem;
	transition: all 0.3s ease;
}

.ds-link-block:hover .ds-link-block__content,
.ds-project-card__link {
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.ds-project-card:hover .ds-project-card__content {
	background: rgb(0 0 0 / 100%);
	transition: all 0.3s ease;
}

.ds-link-block__title,
.ds-project-card__title {
	font-size: var(--ds-fs-13);
	font-weight: 700;
	line-height: 1;
	margin-bottom: 1rem;
	margin-top: 0;
}

.ds-link-block__title {
	margin-bottom: 0;
}

.ds-project-card__subtitle {
	color: var(--ds-primary);
	font-size: var(--ds-fs-8);
	font-weight: 500;
	letter-spacing: 0.8px;
	margin: 0;
}

.ds-project-card__meta {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.ds-project-card__meta p {
	margin: 0;
}

.ds-link-block__content span,
.ds-project-card__meta span {
	align-items: center;
	background: var(--ds-g4);
	display: flex;
	font-size: 2rem;
	height: 45px;
	justify-content: center;
	transition: all 0.3s ease;
	width: 45px;
}

.ds-link-block__content span {
	margin-left: auto;
}

.ds-link-block:hover .ds-link-block__content span,
.ds-project-card:has(.ds-project-card__link:hover) .ds-project-card__meta span,
.ds-project-card:hover .ds-project-card__meta span {
	background-color: var(--ds-primary);
	transition: all 0.3s ease;
}

.single-project .ds-single-project-see-more .ds-h2 {
	display: none;
}

.ds-single-project-see-more:has(.ds-projects) .ds-h2 {
	display: block;
	padding: 9rem 0 5rem;
}

/* END - Single project */

/*
=======================================
=======================================
Pages
=======================================
=======================================
*/

.ds-subpage-header {
	clip-path: polygon(100% 0, 100% 80%, 50% 100%, 0 80%, 0 0);
}

.ds-h1,
.ds-subpage-header .wp-block-post-title {
	color: var(--ds-g3);
	font-size: var(--ds-fs-14);
	font-weight: 800;
	-webkit-hyphens: auto;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
	word-wrap: break-word;
}

.ds-legal-page-content h2,
.ds-legal-page-content h3,
.ds-legal-page-content h4 {
	color: var(--ds-g3);
	font-size: var(--ds-fs-12);
	font-weight: 800;
	margin-top: 3rem;
	margin-top: 5rem;
}

.wp-block-gallery img {
	border-radius: 15px;
}

.wp-lightbox-overlay .scrim {
	background-color: var(--ds-g5) !important;
}

.ds-columns-no-gap {
	gap: 0;
}

.ds-leistungen-grid-col {
	position: relative;
}

.ds-leistungen-grid-col a {
	background-color: transparent;
	color: transparent;
	inset: 0;
	margin: 0;
	position: absolute;
	z-index: 9;
}

.ds-leistungen-grid-col .wp-block-cover {
	border: 10px solid var(--ds-white);
	margin: 0;
	padding: 30px;
}

.ds-leistungen-grid-col.ds-leistungen-grid-col1 .wp-block-cover,
.ds-leistungen-grid-col.ds-leistungen-grid-col2 .wp-block-cover,
.ds-leistungen-grid-col.ds-leistungen-grid-col3 .wp-block-cover {
	border-bottom-width: 5px;
}

.ds-leistungen-grid-col.ds-leistungen-grid-col2 .wp-block-cover,
.ds-leistungen-grid-col.ds-leistungen-grid-col3 .wp-block-cover,
.ds-leistungen-grid-col.ds-leistungen-grid-col4 .wp-block-cover {
	border-top-width: 5px;
}

.ds-leistungen-grid-col .wp-block-cover p {
	color: var(--ds-white);
	font-size: var(--ds-fs-11) !important;
	font-weight: 800;
	text-align: left;
	text-transform: uppercase;
}

.ds-leistungen-grid-col .wp-block-cover img {
	filter: grayscale(1);
	transition: all 0.3s ease-in-out;
}

.ds-leistungen-grid-col:hover {
	cursor: pointer;
}

.ds-leistungen-grid-col:hover .wp-block-cover img {
	filter: grayscale(0);
	transition: all 0.3s ease-in-out;
}

.ds-leistungen-grid-col a:focus-visible {
	outline: 2px solid var(--ds-primary);
	outline-offset: 2px;
}

.ds-leistungen-grid-col .wp-block-cover {
	min-height: 300px;
}

/* Leistungen pages */
.page-id-746 .ds-leistungen-grid-col.ds-leistungen-grid-col4 .wp-block-cover img,
.page-id-739 .ds-leistungen-grid-col.ds-leistungen-grid-col3 .wp-block-cover img,
.page-id-732 .ds-leistungen-grid-col.ds-leistungen-grid-col2 .wp-block-cover img,
.page-id-684 .ds-leistungen-grid-col.ds-leistungen-grid-col1 .wp-block-cover img {
	filter: grayscale(0);
}

.ds-about-company-cols {
	border-radius: 10px;
	box-sizing: border-box;
	margin-left: -2% !important;
	margin-right: -2% !important;
	max-width: calc(100% + 4%);
	padding-block: 2%;
	padding-inline: 2%;
	position: relative;
}
.ds-about-company-cols:hover {
	background-color: var(--ds-g5);
	transition: all 0.3s ease;
}

.ds-about-company-cols p {
	margin: 0;
}

.ds-about-company-year {
	color: var(--ds-white);
	font-size: var(--ds-fs-14);
	font-weight: 800;
	letter-spacing: 2.4px;
	line-height: 1;
}

.ds-about-company-year::after {
	background-color: var(--ds-primary);
	content: '';
	display: block;
	height: 3px;
	position: relative;
	top: 7px;
	transition: all 0.3s ease-in-out;
	width: 70px;
}

.ds-about-company-cols:hover .ds-about-company-year {
	color: var(--ds-primary);
	transition: all 0.3s ease-in-out;
}

.ds-about-company-title {
	color: var(--ds-white);
	font-size: var(--ds-fs-11);
	font-weight: 800;
}

.ds-about-company-desc {
	font-size: var(--ds-fs-8);
}

.ds-text-width strong {
	color: var(--ds-white);
}

.ds-person {
	border: 1px solid rgb(255 255 255 / 30%);
	border-radius: 15px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 4rem;
}

.ds-person-name {
	color: var(--ds-g3);
	font-size: var(--ds-fs-7);
	font-weight: 800;
	margin: 0;
}

.ds-person-desc {
	color: var(--ds-primary);
	font-size: var(--ds-fs-5);
	font-weight: 500;
	letter-spacing: 0.72px;
	margin-bottom: 0;
	margin-top: auto;
}

.ds-person-phone,
.ds-person-email {
	color: var(--ds-g2);
	font-size: var(--ds-fs-5);
	letter-spacing: 0.72px;
	line-height: 1.67;
}

.ds-person-email a {
	text-decoration: none;
}

.ds-person-email a:hover {
	color: var(--ds-primary);
	text-decoration: underline;
}

.ds-person-email::before,
.ds-person-phone::before {
	color: var(--ds-white);
	display: inline-block;
	font-family: 'icomoon' !important;
	margin-right: 15px;
	position: relative;
	top: 2px;
}

.ds-person-phone::before {
	content: '\e910';
}

.ds-person-email::before {
	content: '\e904';
}

.ds-press-modal {
	background: rgba(0, 0, 0, 0.8);
	display: none;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9999;
}

.ds-press-modal img {
	left: 50%;
	max-height: calc(100vh - 4%);
	position: relative;
	top: 2%;
	transform: translateX(-50%);
}

.ds-press-modal-trigger {
	align-items: center;
	background: rgb(255 255 255 / 10%);
	display: flex;
	justify-content: center;
	padding: 2rem;
	position: relative;
	width: 100%;
}

.ds-press-modal-trigger img {
	border-radius: 5px;
	height: 100%;
	max-width: 100%;
	object-fit: cover;
	width: 100%;
}

.ds-press-modal-trigger span {
	align-items: center;
	background-color: var(--ds-g4);
	display: flex;
	font-size: var(--ds-fs-5);
	font-weight: 500;
	inset: 20px;
	justify-content: center;
	opacity: 0;
	position: absolute;
	text-decoration: underline;
	text-transform: uppercase;
	transition: all 0.3s ease;
}

.ds-press-modal-trigger span::after {
	background: red;
	border-bottom-left-radius: 100%;
	content: '';
	display: block;
	height: 12rem;
	position: absolute;
	right: 0;
	top: 0;
	width: 12rem;
}

.ds-press-modal-trigger:hover span {
	opacity: 1;
	transition: all 0.3s ease;
}

.ds-h3-presse {
	color: var(--ds-white);
	font-size: var(--ds-fs-9);
	font-weight: 500;
	letter-spacing: 0.96px;
}

.ds-chart {
	background-color: #020001;
}

@media (min-width: 769px) {
	.ds-chart {
		padding: 30px;
	}
}

/* END - Pages */

/*
=======================================
=======================================
Media query
=======================================
=======================================
*/

@media (min-width: 781px) {
	.ds-logo img {
		max-width: 18.8rem;
	}

	.ds-top-header-p {
		font-size: 1.4rem;
		text-align: left;
	}

	.ds-top-header-list {
		flex-wrap: nowrap;
	}

	.ds-footer-menu2,
	.ds-footer-menu {
		font-size: var(--ds-fs-5);
	}

	.ds-form .nf-form-content button,
	.ds-form .nf-form-content input[type='button'],
	.ds-form .nf-form-content input[type='submit'] {
		font-size: var(--ds-fs-5);
	}

	.ds-footer-h2 {
		font-size: 3.6rem;
	}

	.ds-copyright-row {
		flex-wrap: nowrap;
		justify-content: space-between;
	}

	.ds-copyright-row p {
		text-align: left;
	}

	.ds-footer p strong {
		font-size: var(--ds-fs-5);
	}

	.ds-home-hero .wp-block-heading {
		font-size: var(--ds-fs-1);
	}

	.ds-welcome-box > .wp-block-group {
		padding-inline: 4rem;
	}

	.ds-cta .ds-h2 {
		text-align: left;
	}

	.ds-home-hero .wp-block-heading .ds-accent-color::before {
		height: 37px;
	}

	.ds-map-pin {
		max-width: calc(467 / 2560 * 100vw);
	}

	.ds-contact-box {
		left: -190px;
		padding: 0;
		padding-block: 5px;
		position: absolute;
		top: 0;
	}

	.ds-img-object-fit {
		height: 100%;
		width: 100%;
	}

	.ds-img-object-fit img {
		object-fit: cover;
		width: 100%;
	}

	.ds-map-col .ds-img-object-fit {
		margin-bottom: 0 !important;
	}

	.ds-job_listings div.job_listings ul.job_listings {
		grid-template-columns: repeat(2, 1fr);
	}

	.ds-acf-gallery {
		grid-template-columns: repeat(2, 1fr);
	}

	.ds-acf-gallery__item img {
		height: 100%;
		object-fit: cover;
	}

	.ds-projects {
		grid-template-columns: repeat(2, 1fr);
	}

	.ds-cta .wp-block-columns {
		gap: 50px;
	}

	.ds-leistungen-grid-col.ds-leistungen-grid-col1 .wp-block-cover,
	.ds-leistungen-grid-col.ds-leistungen-grid-col3 .wp-block-cover {
		border-right-width: 5px;
	}

	.ds-leistungen-grid-col.ds-leistungen-grid-col2 .wp-block-cover,
	.ds-leistungen-grid-col.ds-leistungen-grid-col4 .wp-block-cover {
		border-left-width: 5px;
	}

	.ds-leistungen-grid-col.ds-leistungen-grid-col1 .wp-block-cover,
	.ds-leistungen-grid-col.ds-leistungen-grid-col2 .wp-block-cover {
		border-bottom-width: 5px;
	}

	.ds-leistungen-grid-col.ds-leistungen-grid-col3 .wp-block-cover,
	.ds-leistungen-grid-col.ds-leistungen-grid-col4 .wp-block-cover {
		border-top-width: 5px;
	}

	.ds-about-company-cols .wp-block-column:first-of-type {
		border-right: 4px solid var(--ds-primary);
	}

	.ds-about-company-year::after {
		display: none;
	}

	.ds-single-project-columns {
		gap: 5px;
	}
} /* End - 781px */

@media (min-width: 992px) {
	.ds-top-header-row {
		flex-direction: row;
	}

	.ds-home-hero .wp-block-heading {
		font-size: var(--ds-fs-1);
	}

	.ds-leistungen-box-text {
		max-width: 66%;
	}

	.ds-leistungen-box {
		padding: calc(130 / 2560 * 100vw) calc(40 / 2560 * 100vw) calc(80 / 2560 * 100vw) calc(150 / 2560 * 100vw);
	}

	.ds-cta .wp-block-columns {
		gap: 0;
	}

	.ds-home-hero .wp-block-heading .ds-accent-color::before {
		height: 57px;
	}

	.ds-contact-box {
		padding-block: 3rem;
	}

	.ds-contact-box .wp-block-button {
		margin-top: 3rem;
	}

	.ds-single-project-video .video-wrapper + .wp-block-post-title {
		left: 50%;
		transform: translate(-50%);
	}

	.ds-single-project-video .video-wrapper::before {
		background-color: var(--ds-g4);
		bottom: -50px;
		content: '';
		height: 100%;
		left: -40px;
		position: absolute;
		width: 100%;
		z-index: 0;
	}

	.ds-link-block__content,
	.ds-project-card__content {
		padding: 3.5rem 4rem;
	}

	.ds-leistungen-grid-col .wp-block-cover {
		min-height: 430px;
	}

	.ds-person {
		min-height: 300px;
	}

	.ds-link-block,
	.ds-project-card {
		min-height: 445px;
	}

	.ds-project-card__value {
		height: 6rem;
		width: 6rem;
	}

	.ds-footer-menu a {
		padding: 0 50px;
	}

	.ds-footer-menu a::before {
		background-color: var(--ds-primary);
		content: '';
		display: inline-block;
		height: 2px;
		left: 18px;
		opacity: 0;
		position: absolute;
		top: 50%;
		transition: all 0.3s ease-in-out;
		width: 0;
	}
} /* End - 992px */

@media (min-width: 1024px) {
	.ds-map-pin {
		left: 120px;
		top: 65px;
	}

	.ds-job_listings div.job_listings ul.job_listings {
		grid-template-columns: repeat(3, 1fr);
	}

	.ds-list-two-col,
	.ds-single-project-row ul {
		column-gap: 20px;
		columns: 2;
	}

	.ds-acf-gallery {
		gap: 4rem;
		grid-template-columns: repeat(3, 1fr);
	}

	.ds-main-header-row {
		padding-block: 5rem !important;
		transition: all 0.3s ease;
	}

	.scroll-up .ds-main-header-row,
	.scroll-down .ds-main-header-row {
		padding-block: 3rem !important;
		transition: all 0.3s ease;
	}

	header.wp-block-template-part .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a:hover {
		background-color: var(--ds-primary);
		color: var(--ds-g3);
	}

	header .wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container {
		border-top: 2px solid var(--ds-primary);
	}

	header .wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		min-width: 30rem;
		padding: 2rem 3rem !important;
	}
}

@media (min-width: 1280px) {
	.ds-text-max-width {
		margin: 0 auto;
		max-width: 80%;
	}

	.ds-cta .wp-block-columns .wp-block-column:first-of-type {
		flex-basis: 66% !important;
	}

	.ds-cta .wp-block-columns .wp-block-column:last-of-type {
		flex-basis: 33% !important;
	}

	.ds-contact-box {
		left: -205px;
		top: 15%;
	}

	.ds-single-job-modal .wp-block-group {
		padding: 5rem;
	}

	.ds-single-job-modal .nf-field-element input[type='submit'] {
		font-size: var(--ds-fs-12);
		padding: 20px;
	}

	.ds-single-job-btn a {
		padding-block: 20px;
	}

	.ds-job_listings ul.job_listings li.job_listing a {
		padding: 40px;
	}

	.ds-single-post-content {
		max-width: 80%;
		padding-left: 0;
	}

	.ds-single-project-row > * {
		margin-left: 0 !important;
		width: 70%;
	}

	.ds-projects {
		grid-template-columns: repeat(3, 1fr);
	}

	.ds-link-block {
		min-height: 445px;
	}

	.ds-text-width,
	.ds-leistungen-content {
		margin-left: 0 !important;
		max-width: 80%;
	}
} /* End - 1280px */

@media (min-width: 1440px) {
	.ds-text-max-width {
		margin: 0 auto;
		max-width: 50%;
	}

	.ds-map-pin {
		left: 120px;
		top: 120px;
	}

	.ds-single-project-gallery,
	.ds-single-project-row {
		padding: 0 !important;
	}
}

@media (min-width: 1921px) {
	.ds-link-block,
	.ds-project-card {
		aspect-ratio: initial;
	}
} /* End - 1921px */

@media (max-width: 1023px) {
	.wp-block-navigation__responsive-container-open {
		display: block !important;
	}

	.wp-block-navigation__responsive-container:not(.is-menu-open.has-modal-open) {
		display: none !important;
	}

	header.wp-block-template-part .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
		text-align: right;
	}
}

/* END - Media query */
