:root {
	--text-color: #030303;
	--white-color: #ffffff;
	--black-color: #000000;
	--theme-darkgrey: #262626;
	--theme-lightgrey: #C5C5B6;
	--theme-lightgrey2: #D9D9D9;
	--theme-beige: #C4B19B;
	--theme-green: #8F9082;
	--theme-lightgreen: #A8A177;
	--theme-buttondark: #25292C;
	--selection-color: #C4B19B;
	--theme-transition: cubic-bezier(.1,.85,.28,1);
}

/* dm-sans-100 - latin */
@font-face {
  font-display: swap; 
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 100;
  src: url('../fonts/dm-sans-v15-latin-100.eot'); 
  src: url('../fonts/dm-sans-v15-latin-100.eot?#iefix') format('embedded-opentype'),
       url('../fonts/dm-sans-v15-latin-100.woff2') format('woff2'), 
       url('../fonts/dm-sans-v15-latin-100.woff') format('woff'), 
       url('../fonts/dm-sans-v15-latin-100.ttf') format('truetype'), 
       url('../fonts/dm-sans-v15-latin-100.svg#DMSans') format('svg'); 
}
/* dm-sans-200 - latin */
@font-face {
  font-display: swap; 
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 200;
  src: url('../fonts/dm-sans-v15-latin-200.eot'); 
  src: url('../fonts/dm-sans-v15-latin-200.eot?#iefix') format('embedded-opentype'),
       url('../fonts/dm-sans-v15-latin-200.woff2') format('woff2'), 
       url('../fonts/dm-sans-v15-latin-200.woff') format('woff'), 
       url('../fonts/dm-sans-v15-latin-200.ttf') format('truetype'), 
       url('../fonts/dm-sans-v15-latin-200.svg#DMSans') format('svg'); 
}

/* dm-sans-300 - latin */
@font-face {
  font-display: swap; 
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/dm-sans-v15-latin-300.eot'); 
  src: url('../fonts/dm-sans-v15-latin-300.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/dm-sans-v15-latin-300.woff2') format('woff2'), 
       url('../fonts/dm-sans-v15-latin-300.woff') format('woff'), 
       url('../fonts/dm-sans-v15-latin-300.ttf') format('truetype'), 
       url('../fonts/dm-sans-v15-latin-300.svg#DMSans') format('svg'); 
}
/* dm-sans-300italic - latin */
@font-face {
  font-display: swap; 
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 300;
  src: url('../fonts/dm-sans-v15-latin-300italic.eot'); 
  src: url('../fonts/dm-sans-v15-latin-300italic.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/dm-sans-v15-latin-300italic.woff2') format('woff2'), 
       url('../fonts/dm-sans-v15-latin-300italic.woff') format('woff'), 
       url('../fonts/dm-sans-v15-latin-300italic.ttf') format('truetype'), 
       url('../fonts/dm-sans-v15-latin-300italic.svg#DMSans') format('svg'); 
}

/* dm-sans-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/dm-sans-v16-latin-500.eot'); /* IE9 Compat Modes */
  src: url('../fonts/dm-sans-v16-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/dm-sans-v16-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/dm-sans-v16-latin-500.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('../fonts/dm-sans-v16-latin-500.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('../fonts/dm-sans-v16-latin-500.svg#DMSans') format('svg'); /* Legacy iOS */
}
/* dm-sans-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 500;
  src: url('../fonts/dm-sans-v16-latin-500italic.eot'); /* IE9 Compat Modes */
  src: url('../fonts/dm-sans-v16-latin-500italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/dm-sans-v16-latin-500italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/dm-sans-v16-latin-500italic.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('../fonts/dm-sans-v16-latin-500italic.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('../fonts/dm-sans-v16-latin-500italic.svg#DMSans') format('svg'); /* Legacy iOS */
}

/* dm-sans-600 - latin */
@font-face {
  font-display: swap; 
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/dm-sans-v15-latin-600.eot'); 
  src: url('../fonts/dm-sans-v15-latin-600.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/dm-sans-v15-latin-600.woff2') format('woff2'), 
       url('../fonts/dm-sans-v15-latin-600.woff') format('woff'), 
       url('../fonts/dm-sans-v15-latin-600.ttf') format('truetype'), 
       url('../fonts/dm-sans-v15-latin-600.svg#DMSans') format('svg'); 
}
/* dm-sans-600italic - latin */
@font-face {
  font-display: swap; 
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 600;
  src: url('../fonts/dm-sans-v15-latin-600italic.eot'); 
  src: url('../fonts/dm-sans-v15-latin-600italic.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/dm-sans-v15-latin-600italic.woff2') format('woff2'), 
       url('../fonts/dm-sans-v15-latin-600italic.woff') format('woff'), 
       url('../fonts/dm-sans-v15-latin-600italic.ttf') format('truetype'), 
       url('../fonts/dm-sans-v15-latin-600italic.svg#DMSans') format('svg'); 
}
/* dm-sans-700 - latin */
@font-face {
  font-display: swap; 
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/dm-sans-v15-latin-700.eot'); 
  src: url('../fonts/dm-sans-v15-latin-700.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/dm-sans-v15-latin-700.woff2') format('woff2'), 
       url('../fonts/dm-sans-v15-latin-700.woff') format('woff'), 
       url('../fonts/dm-sans-v15-latin-700.ttf') format('truetype'), 
       url('../fonts/dm-sans-v15-latin-700.svg#DMSans') format('svg'); 
}
/* dm-sans-700italic - latin */
@font-face {
  font-display: swap; 
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/dm-sans-v15-latin-700italic.eot'); 
  src: url('../fonts/dm-sans-v15-latin-700italic.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/dm-sans-v15-latin-700italic.woff2') format('woff2'), 
       url('../fonts/dm-sans-v15-latin-700italic.woff') format('woff'), 
       url('../fonts/dm-sans-v15-latin-700italic.ttf') format('truetype'), 
       url('../fonts/dm-sans-v15-latin-700italic.svg#DMSans') format('svg'); 
}
/* inter-200 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Inter';
  font-style: normal;
  font-weight: 200;
  src: url('../fonts/inter-v18-latin-200.eot'); 
  src: url('../fonts/inter-v18-latin-200.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/inter-v18-latin-200.woff2') format('woff2'), 
       url('../fonts/inter-v18-latin-200.woff') format('woff'), 
       url('../fonts/inter-v18-latin-200.ttf') format('truetype'), 
       url('../fonts/inter-v18-latin-200.svg#Inter') format('svg'); 
}
/* inter-200italic - latin */
@font-face {
  font-display: swap; 
  font-family: 'Inter';
  font-style: italic;
  font-weight: 200;
  src: url('../fonts/inter-v18-latin-200italic.eot'); 
  src: url('../fonts/inter-v18-latin-200italic.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/inter-v18-latin-200italic.woff2') format('woff2'), 
       url('../fonts/inter-v18-latin-200italic.woff') format('woff'), 
       url('../fonts/inter-v18-latin-200italic.ttf') format('truetype'), 
       url('../fonts/inter-v18-latin-200italic.svg#Inter') format('svg'); 
}
/* inter-300 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/inter-v18-latin-300.eot'); 
  src: url('../fonts/inter-v18-latin-300.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/inter-v18-latin-300.woff2') format('woff2'), 
       url('../fonts/inter-v18-latin-300.woff') format('woff'), 
       url('../fonts/inter-v18-latin-300.ttf') format('truetype'), 
       url('../fonts/inter-v18-latin-300.svg#Inter') format('svg'); 
}
/* inter-300italic - latin */
@font-face {
  font-display: swap; 
  font-family: 'Inter';
  font-style: italic;
  font-weight: 300;
  src: url('../fonts/inter-v18-latin-300italic.eot'); 
  src: url('../fonts/inter-v18-latin-300italic.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/inter-v18-latin-300italic.woff2') format('woff2'), 
       url('../fonts/inter-v18-latin-300italic.woff') format('woff'), 
       url('../fonts/inter-v18-latin-300italic.ttf') format('truetype'), 
       url('../fonts/inter-v18-latin-300italic.svg#Inter') format('svg'); 
}
/* italiana-regular - latin */
@font-face {
  font-display: swap; 
  font-family: 'Italiana';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/italiana-v20-latin-regular.eot'); 
  src: url('../fonts/italiana-v20-latin-regular.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/italiana-v20-latin-regular.woff2') format('woff2'), 
       url('../fonts/italiana-v20-latin-regular.woff') format('woff'), 
       url('../fonts/italiana-v20-latin-regular.ttf') format('truetype'), 
       url('../fonts/italiana-v20-latin-regular.svg#Italiana') format('svg'); 
}

/* inter-500 - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/inter-v18-latin-500.eot'); 
  src: url('../fonts/inter-v18-latin-500.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/inter-v18-latin-500.woff2') format('woff2'), 
       url('../fonts/inter-v18-latin-500.woff') format('woff'), 
       url('../fonts/inter-v18-latin-500.ttf') format('truetype'),
       url('../fonts/inter-v18-latin-500.svg#Inter') format('svg');
}

/* inter-600 - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/inter-v18-latin-600.eot'); 
  src: url('../fonts/inter-v18-latin-600.eot?#iefix') format('embedded-opentype'),
       url('../fonts/inter-v18-latin-600.woff2') format('woff2'),
       url('../fonts/inter-v18-latin-600.woff') format('woff'), 
       url('../fonts/inter-v18-latin-600.ttf') format('truetype'), 
       url('../fonts/inter-v18-latin-600.svg#Inter') format('svg'); 
}
/* inter-600italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 600;
  src: url('../fonts/inter-v18-latin-600italic.eot'); 
  src: url('../fonts/inter-v18-latin-600italic.eot?#iefix') format('embedded-opentype'),
       url('../fonts/inter-v18-latin-600italic.woff2') format('woff2'),
       url('../fonts/inter-v18-latin-600italic.woff') format('woff'), 
       url('../fonts/inter-v18-latin-600italic.ttf') format('truetype'), 
       url('../fonts/inter-v18-latin-600italic.svg#Inter') format('svg'); 
}
/* inter-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/inter-v18-latin-700.eot'); 
  src: url('../fonts/inter-v18-latin-700.eot?#iefix') format('embedded-opentype'),
       url('../fonts/inter-v18-latin-700.woff2') format('woff2'),
       url('../fonts/inter-v18-latin-700.woff') format('woff'), 
       url('../fonts/inter-v18-latin-700.ttf') format('truetype'), 
       url('../fonts/inter-v18-latin-700.svg#Inter') format('svg'); 
}
/* inter-700italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/inter-v18-latin-700italic.eot'); 
  src: url('../fonts/inter-v18-latin-700italic.eot?#iefix') format('embedded-opentype'),
       url('../fonts/inter-v18-latin-700italic.woff2') format('woff2'),
       url('../fonts/inter-v18-latin-700italic.woff') format('woff'), 
       url('../fonts/inter-v18-latin-700italic.ttf') format('truetype'), 
       url('../fonts/inter-v18-latin-700italic.svg#Inter') format('svg'); 
}

html, body {
    margin: 0px;
    padding: 0px;
    font-weight: 300;
    color: var(--text-color);
    font-family: 'Inter', Helvetica, Arial, sans-serif;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	cursor: default;
}

body {
	position: relative;
	font-size: 1.25rem;
	line-height: 1.75;
	letter-spacing: 0.0125rem;
	background: var(--white-color);
}

/* ### --- SOME GLOBAL STYLES --- ### */
::-moz-selection {
    color: var(--white-color) !important;
	background: var(--selection-color) !important;
}
::-webkit-selection {
    color: var(--white-color) !important;
	background: var(--selection-color) !important;
}
::selection {
    color: var(--white-color) !important;
	background: var(--selection-color) !important;
}

strong {
	font-weight: 700;
	font-weight: 600;
	font-weight: 500;
}

p strong {
  font-weight: 600;
}

h1, .h1, h2, .h2, h3, .h3, h5, .h5, h6, .h6 {
    font-family: 'DM Sans', Helvetica, Arial, sans-serif;
	letter-spacing: 0;
	margin-bottom: 1.5rem;
}

 h4, .h4,  {
    font-family: 'Inter', Helvetica, Arial, sans-serif;
 }

pre {
    font-weight: 300;
    color: var(--text-color);
    font-family: 'DM Sans', Helvetica, Arial, sans-serif !important;
	text-transform: uppercase;
}

pre + p {
    display: none;
}

h1 {
	font-family: 'Italiana', serif;
	font-size: 6.25rem;
	line-height: 0.92;
	font-weight: 400;
}

h2 {
    font-family: 'DM Sans', Helvetica, Arial, sans-serif;
	font-size: 2.625rem;
	line-height: 1.21;
	font-weight: 300;
	font-weight: 500 !important;
	letter-spacing: 0.026875rem;
	margin-bottom: 2.5rem;
	text-transform: uppercase;
}


h1 small,
h2 small {
	display: block;
	font-size: 1.25rem;
	font-size: 0.875rem;
	line-height: 1.4;
	font-weight: 300;
	letter-spacing: 0.01rem;
	margin-bottom: 1.5rem;
}

h3,
.accordion-item .accordion-button,
#projects-intro h1 {
	font-size: 2.125rem;
	line-height: 1.17;
	font-weight: 700;
	text-transform: uppercase;
}

h4 {
	font-size: 1.25rem;
	line-height: 1.43;
	font-weight: 600;
	margin-bottom: 1rem;
}

h5 {
	font-size: 2.625rem;
	line-height: 1.21;
	font-weight: 300;
}

.imp-dse h1,
.imp-dse h2 {
	margin-bottom: 2.5rem;
}

p {
	margin-bottom: 1.5rem;
}

a {
	color: var(--theme-blue);
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

.text-white a:not(.btn) {
	color: var(--theme-coral) !important;
}

.text-white .text-links-white a:not(.btn) {
	color: var(--white-color) !important;
}

.bg-white {
	background: var(--white-color);
}

.text-white * {
	color: var(--white-color) !important;
}

.container {
	width: 100%;
	padding-left: 0rem;
	padding-right: 0rem;
}

.container.container-fluid {
	max-width: 100%;	
	max-width: 2560px;	
	margin-left: auto;
	margin-right: auto;
}

.row {
	--bs-gutter-x: 1.5rem;
}

#page-wrap {
	max-width:2560px;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
}

section {
	position: relative;
	padding: 7.4375rem 0;
	padding: 8.875rem 0;
}

section section .container {
	padding-left: 0;
	padding-right: 0;
}

.frame-type-ce_container.frame-layout-1 section {
	padding-top: 0 !important;
}

.frame-type-ce_container.frame-layout-2 section {
	padding-bottom: 0 !important;
}

.frame-type-ce_container.frame-layout-3 section {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

section .container-fluid > .row {
	margin: 0;
}

.bg-anthrazit {
	background: var(--theme-darkgrey);
}

.bg-beige {
	background: var(--theme-beige);
}

.bg-green {
	background: var(--theme-green);
}

.bg-lightgreen {
	background: var(--theme-lightgreen);
}

.btn {
	gap: 1.125rem;
	align-items: center;
	font-size: 1.25rem;
	line-height: 1.4;
	font-weight: 300;
	border: 1px solid var(--text-color);
	text-decoration: none !important;
	white-space: nowrap;
	padding: .75rem 2.8125rem;
	background: transparent;
	border-radius: 0;
	border: 1px solid var(--text-color);
	letter-spacing: 0.1rem;
	text-decoration: none !important;
	text-transform: uppercase;
	-moz-transition: all 400ms var(--theme-transition) 0ms;
	-webkit-transition: all 400ms var(--theme-transition) 0ms;
	transition: all 400ms var(--theme-transition) 0ms;
}

.btn:active {
	color: var(--theme-lightgreen);
	border: 1px solid var(--theme-lightgreen);
}

.btn-light {
	color: var(--white-color);
	border: 1px solid var(--white-color);
}

.btn-light.light-bg {
	background: rgb(217, 217, 217,.17);
}

.btn-green {
	color: var(--white-color);
	background: var(--theme-lightgreen);
	border: 1px solid var(--theme-lightgreen);
}

.btn-green svg path {
	-ms-stroke: var(--white-color);
	stroke: var(--white-color);
}

.btn-light.dark-bg {
	background: rgb(38, 38, 38,.15);
}

.bg-green .btn-light:active {
	background: rgba(38, 38, 38, .15);
}

.bg-beige btn:active {
	color: var(--theme-lightgreen) !important;
	background: var(--white-color) !important;
}

.bg-beige .btn {
	border: 1px solid var(--white-color);
}

.btn svg path {
	-ms-stroke: var(--white-color);
	stroke: var(--white-color);
}

.btn.btn-bordered {
	color: var(--text-color);
	background: transparent;
	border: 1px solid #000;
}

.btn.btn-bordered svg path {
	-ms-stroke: var(--text-color);
	stroke: var(--text-color);
}

.text-link {
	font-size: 1.25rem;
	line-height: 1.4;
	gap: 6.8125rem;
	gap: 3.125rem;
	text-decoration: none !important;
	text-transform: uppercase;
}

.btn svg,
.text-link svg {
	width: 1.875rem;
	height: auto;
	-moz-transition: all 400ms var(--theme-transition) 0ms;
	-webkit-transition: all 400ms var(--theme-transition) 0ms;
	transition: all 400ms var(--theme-transition) 0ms;
}

.pb-5 {
	padding-bottom: 4rem !important;
}

.pb-big {
	padding-bottom: 7.5rem;
}

/* ### --- PRELOADER --- ### */

#preloader {
	/*display: none;*/
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: var(--theme-green);
	background-image: url("../images/sumitra-intro.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	-webkit-transition: transform 1500ms var(--theme-transition) 2000ms;
	transition: transform 1500ms var(--theme-transition) 2000ms;
	z-index: 9999;
}
/*
#preloader.loaded {
	-webkit-transform: scale(3);
	transform: scale(3);
}*/

.preload-logo {
    position: fixed;
	width: 10.625rem;
	height: auto;
	top: 50%;
	left: 50%;
	transform: translate(calc(-50% - 7.5625rem),-50%);
	-webkit-transition: transform 1000ms var(--theme-transition) 0ms, left 1000ms var(--theme-transition) 0ms, top 1000ms var(--theme-transition) 0ms, margin 1000ms var(--theme-transition) 0ms;
	transition: transform 1000ms var(--theme-transition) 0ms, left 1000ms var(--theme-transition) 0ms, top 1000ms var(--theme-transition) 0ms, margin 1000ms var(--theme-transition) 0ms;
}

.preload-logo .init {
	position: relative;
	-webkit-transition: transform 600ms var(--theme-transition) 0ms, left 600ms var(--theme-transition) 0ms, top 600ms var(--theme-transition) 0ms;
	transition: transform 600ms var(--theme-transition) 0ms, left 600ms var(--theme-transition) 0ms, top 600ms var(--theme-transition) 0ms;
}

.preload-logo .init img,
.preload-logo .init svg {
	width: 10.625rem;
	height: auto;
	-webkit-filter: blur(2rem);
	filter: blur(2rem);
	opacity: 0;
	-webkit-transition: filter 800ms var(--theme-transition) 0ms, opacity 800ms var(--theme-transition) 0ms;
	transition: filter 800ms var(--theme-transition) 0ms, opacity 800ms var(--theme-transition) 0ms;
}

.preload-logo img,
.preload-logo svg {
	width: 10.625rem;
	width: 25.75rem;
	height: auto;
}

#preloader.loaded .preload-logo .init img,
#preloader.loaded .preload-logo .init svg {
	-webkit-filter: blur(0);
	filter: blur(0);
	opacity: 1;
}

.preload-logo .img-loaded {
    position: absolute;
	width: 0;
	height: 100%;
	top: 0;
	left: 0;
	-webkit-transition: width 500ms var(--theme-transition) 1000ms;
	transition: width 500ms var(--theme-transition) 1000ms;
	overflow: hidden;
	z-index: 1;
}

#preloader.loaded .preload-logo .img-loaded {
	width: 100%;
	width: 3rem !important;
}

#loader-wrap {
    position: absolute;
    right: 0;
	bottom: auto;
    left: 0;
	margin: 0 auto;
	top: 50%;
	transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 15.625rem;
    height: 3rem;
}

.loader-spinner {
	width: 3.5rem;
	height: 3.5rem;
    border-radius: 50%;
    position: relative;
    animation: rotate 1s linear infinite
}
.loader-spinner::before , .loader-spinner::after {
	content: "";
	box-sizing: border-box;
	position: absolute;
	inset: 0px;
	border-radius: 50%;
	border: 2px solid  var(--white-color);
	animation: prixClipFix 2s linear infinite ;
}
.loader-spinner::after{
	border-color: var(--white-color);
	animation: prixClipFix 2s linear infinite , rotate 0.5s linear infinite reverse;
	inset: 6px;
}

@keyframes rotate {
	0%   {transform: rotate(0deg)}
	100%   {transform: rotate(360deg)}
}

@keyframes prixClipFix {
	0%   {clip-path:polygon(50% 50%,0 0,0 0,0 0,0 0,0 0)}
	25%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 0,100% 0,100% 0)}
	50%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,100% 100%,100% 100%)}
	75%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 100%)}
	100% {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 0)}
}

/* ### --- HEADER --- ### */
#header {
	width: 100%;
	padding-top: 5.3125rem;
	z-index: 1011;
}

#header .navbar {
	height: 100%;
	padding: 0
}

#header .navbar-brand {
	display: block;
}

#header .navbar-brand img,
#header .navbar-brand svg {
	width: 10.625rem;
	height: auto;
}

#header .container,
#header .container .navbar {
	position: relative;
	height: 100%;
}

#header #main-nav {
	position: fixed;
	width: 12.625rem;
	max-width: 860px;
	height: 3.875rem;
	top: 6.25rem;
	right: 0; 
	justify-content: space-between;
	padding: 1.375rem calc((100vw - var(--container-w)) / 2) 1.375rem 3rem;
	will-change: width;
	overflow: hidden;
	z-index: 1020;
}

#header #main-nav.open {
	background: rgba(3, 3, 3, .30);
}

#header #main-nav ul {
	flex-direction: row;
	list-style: none;
	padding: 0;
}

#header.theme-dark #main-nav {
	background: rgba(255, 255, 255, 0);
}

#header.theme-dark #main-nav.open {
	background: rgba(255, 255, 255, .80);
}

#header #main-nav #main-nav-menu {
	flex-direction: row;
	opacity: 0;
	transform: translateX(100%);
	-webkit-transition: opacity 100ms var(--theme-transition) 0ms;
	-moz-transition: opacity 100ms var(--theme-transition) 0ms;
	transition: opacity 100ms var(--theme-transition) 0ms;
}

#header #main-nav.open #main-nav-menu {
	transform: translateX(0);
	opacity: 1;
	-webkit-transition: opacity 600ms var(--theme-transition) 300ms;
	-moz-transition: opacity 600ms var(--theme-transition) 300ms;
	transition: opacity 600ms var(--theme-transition) 300ms;
}

#header #main-nav #main-nav-menu .main-nav {
	align-items: center;
	gap: 3.5rem;
	margin-right: 3.5rem;
}

#header #main-nav #main-nav-menu .nav-link,
#header #main-nav #main-nav-menu .lang-link {
	font-size: 0.875rem;	
	line-height: 1;
	color: var(--white-color);
	text-transform: uppercase;
	font-variation-settings: "wght" 600;
	padding: 0;
}

#header.theme-dark #main-nav #main-nav-menu .nav-link,
#header.theme-dark #main-nav #main-nav-menu .lang-link {
	color: var(--text-color);
}

#header #main-nav #main-nav-menu .lang-item {
	height: 1rem;
}

#header #main-nav #main-nav-menu .lang-link {
	display: inline-block;
	height: 0.875rem;
    vertical-align: top;
}

#header #main-nav #main-nav-menu .nav-item.active .nav-link,
#header #main-nav #main-nav-menu .lang-link.active {
	font-weight: 600;
}

.nav-link::after,
.lang-link::after {
  content: attr(data-text); /* dupliziert den Text */
  font-weight: 600;
  visibility: hidden;
  height: 0;
  overflow: hidden;
  display: block;
}

#header #main-nav #main-nav-menu .language-nav {
	align-items: center;
	gap: 1.5rem;
}

#header #main-nav.open {
	width: 100%;
	-webkit-transition: width 600ms var(--theme-transition) 0ms, height 600ms var(--theme-transition) 0ms;
	-moz-transition: width 600ms var(--theme-transition) 0ms, height 600ms var(--theme-transition) 0ms;
	transition: width 600ms var(--theme-transition) 0ms, height 600ms var(--theme-transition) 0ms;
}

#header .navbar > .language-nav .lang-item .lang-link{
	-webkit-transition: color 600ms var(--theme-transition) 0ms;
	-moz-transition: color 600ms var(--theme-transition) 0ms;
	transition: color 600ms var(--theme-transition) 0ms;
}

#header .navbar-toggler {
	position: fixed;
	height: 1.125rem;
	top: calc(6.25rem + 1.375rem);
	right: calc((100% - var(--container-w)) / 2);
	padding: 0;
	border: 0 !important;
	box-shadow: none !important;
}

#header .navbar-toggler .icon-bar {
	width: 2.625rem;
	height: 1px;
	background: var(--white-color);
	will-change: transform;
}

#header.theme-dark .navbar-toggler .icon-bar {
	background: var(--text-color);
}

#header .navbar-toggler .icon-bar.top {
	margin-bottom: 0.5rem;
	margin-right: auto;
}

#header .navbar-toggler .icon-bar.bottom {
	margin-top: 0.5rem;
	margin-left: auto;
}

#header .navbar-toggler .icon-bar.middle-sub {
	margin-top: -1px;
}

#header .navbar-toggler .icon-bar.top,
#header .navbar-toggler .icon-bar.bottom {
	-webkit-transition: width 400ms var(--theme-transition) 300ms;
	-moz-transition: width 400ms var(--theme-transition) 300ms;
	transition: width 400ms var(--theme-transition) 300ms;
}

#header .navbar-toggler.active .icon-bar.top,
#header .navbar-toggler.active .icon-bar.bottom {
	-webkit-transition: width 400ms var(--theme-transition) 0ms;
	-moz-transition: width 400ms var(--theme-transition) 0ms;
	transition: width 400ms var(--theme-transition) 0ms;
}

#header .navbar-toggler.active .icon-bar.top,
#header .navbar-toggler.active .icon-bar.bottom {
	width: 0;
}

#header .navbar-toggler .icon-bar.middle,
#header .navbar-toggler .icon-bar.middle-sub {
	transform-origin: 50% 50%;
	-webkit-transition: transform 600ms var(--theme-transition) 0ms;
	-moz-transition: transform 600ms var(--theme-transition) 0ms;
	transition: transform 600ms var(--theme-transition) 0ms;
}

#header .navbar-toggler.active .icon-bar.middle,
#header .navbar-toggler.active .icon-bar.middle-sub {
	-webkit-transition: transform 600ms var(--theme-transition) 400ms;
	-moz-transition: transform 600ms var(--theme-transition) 400ms;
	transition: transform 600ms var(--theme-transition) 400ms;
}

#header .navbar-toggler.active .icon-bar.middle {
	transform: rotate(45deg);
}

#header .navbar-toggler.active .icon-bar.middle-sub {
	transform: rotate(-45deg);
}

#sticky-contact {
	width: 5.375rem;
	height: 4.875rem;
	top: 50%;
	left: 0;
	transform: translateY(-50%) translateX(-101%);
	background: #D9D9D9;
	-webkit-transition: transform 600ms var(--theme-transition) 0ms;
	-moz-transition: transform 600ms var(--theme-transition) 0ms;
	transition: transform 600ms var(--theme-transition) 0ms;
	z-index: 1000;
}

#sticky-contact.visible {
	transform: translateY(-50%) translateX(0);
}

#page-7 #sticky-contact {
	display: none !important;
}

.banner {
	height: 100vh;
	height: 100dvh;
	min-height: 768px;
	max-height: 1080px;
	padding: 0 !important;
	overflow: hidden;
}

.banner video {
	width: 100%;
	height: 100vh;
	height: 100dvh;
	min-height: 768px;
	max-height: 1080px;
	object-fit: cover;
}

.banner picture {
	display: block;
}

.banner picture,
.banner picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.banner picture:before {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	content: " ";
	background: rgba(0,0,0,.45);
	background: #2C364B;
	background: -webkit-linear-gradient(90deg,rgba(44, 54, 75, 1) 1%, rgba(55, 60, 70, 0) 50%, rgba(55, 60, 70, 0) 70%, rgba(44, 60, 90, 1) 100%);
	background: -moz-linear-gradient(90deg,rgba(44, 54, 75, 1) 1%, rgba(55, 60, 70, 0) 50%, rgba(55, 60, 70, 0) 70%, rgba(44, 60, 90, 1) 100%);
	background: linear-gradient(90deg,rgba(44, 54, 75, 1) 1%, rgba(55, 60, 70, 0) 50%, rgba(55, 60, 70, 0) 70%, rgba(44, 60, 90, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#2C364B",endColorstr="#2C3C5A",GradientType=1);
	z-index: 1;
}

.banner.overlay-left picture:before {
	background: #373C46;
	background: -webkit-linear-gradient(90deg, rgba(55, 60, 70, .8) 1%, rgba(55, 60, 70, 0) 40%, rgba(55, 60, 70, 0) 90%, rgba(55, 60, 70, 0) 100%);
	background: -moz-linear-gradient(90deg, rgba(55, 60, 70, .8) 1%, rgba(55, 60, 70, 0) 40%, rgba(55, 60, 70, 0) 90%, rgba(55, 60, 70, 0) 100%);
	background: linear-gradient(90deg, rgba(55, 60, 70, .8) 1%, rgba(55, 60, 70, 0) 40%, rgba(55, 60, 70, 0) 90%, rgba(55, 60, 70, 0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#373C46", endColorstr="#373C46", GradientType=1);
}

.banner.overlay-right picture:before {
	background: #373C46;
	background: -webkit-linear-gradient(90deg,rgba(55, 60, 70, 0) 7%, rgba(55, 60, 70, 0) 42%, rgba(69, 70, 72, .8) 82%);
	background: -moz-linear-gradient(90deg,rgba(55, 60, 70, 0) 7%, rgba(55, 60, 70, 0) 42%, rgba(69, 70, 72, .8) 82%);
	background: linear-gradient(90deg,rgba(55, 60, 70, 0) 7%, rgba(55, 60, 70, 0) 42%, rgba(69, 70, 72, .8) 82%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#373C46",endColorstr="#454648",GradientType=1);
}

.banner .slide-item:before {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	content: " ";
	background: rgba(0,0,0,.1);
	z-index: 1;
}

.banner .container {
	top: calc(50% + 2rem);
	left: 0;
	right: 0;
	margin: 0 auto;
	transform: translateY(-50%);
	z-index: 2;
}

.banner h1,
.banner p {
	color: var(--white-color);
}

.banner h1 em {
	color: var(--theme-goldsand);
	font-style: normal;
}

.banner h1 {
	margin-bottom: 3.5rem;
}

.banner .btn-light {
	background: rgba(217, 217, 217, .3);
}

.banner .btn-light:active {
	background: rgba(38,38, 38,.15);
}

.banner .text-element p:before {
	width: 8.3125rem;
	left: -11.3125rem;
	background: var(--white-color);
}

.banner .text-link {
	color: var(--white-color);
}

.banner .scroller {
	position: absolute;
	width: 1.875rem;
	left: 0;
	right: 0;
	margin: 0 auto;
	bottom: 2.5rem;
	z-index: 3;
}

.banner .scroller svg {
	width: 1.875rem;
	height: auto;
	-moz-animation: scroller 2s linear infinite;
	-webkit-animation: scroller 2s linear infinite;
	animation: scroller 2s linear infinite;
}

@-moz-keyframes scroller {
	0 {
		transform: translateY(-20%);
	}
	100% {
		opacity: 0;
		transform: translateY(75%);
	}
}

@-webkit-keyframes scroller {
	0 {
		transform: translateY(-20%);
	}
	100% {
		opacity: 0;
		transform:  translateY(75%);
	}
}

@keyframes scroller {
	0 {
		transform: translateY(-20%);
	}
	100% {
		opacity: 0;
		transform: translateY(75%);
	}
}

.banner .scroller svg * {
	-webkit-transition: opacity 600ms var(--theme-transition) 0ms;
	-moz-transition: opacity 600ms var(--theme-transition) 0ms;
	transition: opacity 600ms var(--theme-transition) 0ms;
}

.banner .scroller:hover svg circle {
	opacity: 1;
}

.banner .container .row {
	z-index: 2;
}

.banner #vignette {
	width: 15.8125rem;
	height: 13.5rem;
	right: 0;
	bottom: 0;
	flex-direction: column;
	gap: 1rem;
	font-size: 1.0625rem;
	background: rgba(255,255,255,.85);
	z-index: 2;
}

#page-3 .banner .project-header-overlay {
	align-items: flex-start !important;
}

#page-3 .banner .container .offset-md-1 {
	margin-left: 0;
}

#content.no-banner {
	padding-top: 22.75rem;
}

#content.no-banner > .content-wrap > .frame-type-ce_container:first-child section {
	padding-top: 0;
}

.content-wrap > .text-element {
	width: 100%;
	max-width: var(--container-w);
	margin-left: auto;
	margin-right: auto;
}

.text-element h1 {
	margin-bottom: 3.5rem;
}

.text-element .headline-smaller {
    font-family: 'Inter', Helvetica, Arial, sans-serif;
	font-size: 1.1875rem;
	font-weight: 500;
	letter-spacing: 0;
}

.text-element p {
	position: relative;
}

.text-element:before,
.text-element p:first-of-type:before {
	position: absolute;
	width: 11rem;
	height: 1px;
	content: " ";
	background: var(--text-color);
}

.text-element p:not(:last-child) {
	margin-bottom: 1rem;
}

.text-element.layout-0:before, 
.text-element.layout-0 p:before {
	display: none;
}

.text-element p:last-child {
	margin-bottom: 1rem !important;
}

/*
.text-element p:last-of-type,
.text-element-alt p:last-of-type {
	margin-bottom: 4rem;
}*/

/*.text-element p + ul,
.text-element-alt p + ul {
	margin-top: -3rem;
}*/

.text-element ul + a,
.text-element-alt ul + a {
	margin-top: 2rem;
}

.text-element.btn-right {
	text-align: right;
}

.text-element.btn-right *:not(a) {
	text-align: left;
}

.text-element .btn:last-child {
	margin-top: 2.75rem;
}

.mediaelement-video {
	z-index: 3;
}

.mediaelement-video .play-icon {
	width: 11.5rem;
	height: 11.5rem;
	width: 8.5rem;
	height: 8.5rem;
	top: 50%;
	left: 0;
	right: 0;
	margin: 0 auto;
	transform: translateY(-50%);
	text-align: center;
	z-index: 4;
}

.mediaelement-video.play .play-icon {
	display: none;
}

.mediaelement-video .play-icon svg {
	width: 100%;
	height: 100%;
	cursor: pointer;
}

.mediaelement-video .play-icon:hover svg circle {
	-ms-stroke: var(--theme-green-2);
	stroke: var(--theme-green-2);
}

.mediaelement-video .play-icon:hover svg path {
	-ms-fill: var(--theme-green-2);
	fill: var(--theme-green-2);
}

.projects-row {
	margin: 2rem 0 4rem; 
}

.projects-row > div {
	padding: 0;
}

.project-teaser {
	overflow: hidden;
}

.project-teaser picture {
	display: block;
}

.project-teaser picture:before,
.small-teaser picture:before,
.project-teaser .project-teaser-overlay {
	position: absolute;
	width: calc(100% + 1px);
	height: 100%;
	top: 0;
	left: 0;
}

.project-teaser picture:before,
.small-teaser picture:before {
	content: " ";
	background: rgba(0,0,0,.5);
    -moz-transition: background 800ms ease 0ms;
    -webkit-transition: background 800ms ease 0ms;
    transition: background 800ms ease 0ms;
	z-index: 1;
}

.project-teaser picture img {
	height: auto;
}

.project-teaser .project-teaser-overlay {
	flex-wrap: wrap;
	color: var(--white-color);
	padding: 6.75rem 10.5rem 6.75rem 6.75rem;
    -moz-transition: transform 600ms ease 0ms, opacity 800ms ease 0ms;
    -webkit-transition: transform 600ms ease 0ms, opacity 800ms ease 0ms;
    transition: transform 600ms ease 0ms, opacity 800ms ease 0ms;
	z-index: 2;
}

.project-teaser .project-teaser-overlay .project-teaser-overlay-inner {
	gap: 2rem;
}

.project-teaser .project-teaser-overlay h3 {
	margin-bottom: 1rem;
}

.project-teaser .project-teaser-overlay p {
	font-size: 1.5rem;
	line-height: 1.46;
	margin-bottom: 0;
}

.frame-type-textpic.frame-layout-1 .ce-gallery,
.frame-type-textpic.frame-layout-1 .ce-gallery .ce-column,
.frame-type-textpic.frame-layout-1 .ce-gallery figure,
.frame-type-image.frame-layout-1 .ce-gallery,
.frame-type-image.frame-layout-1 .ce-gallery .ce-column,
.frame-type-image.frame-layout-1 .ce-gallery figure {
	width:100%;
}

.frame-type-textpic.frame-layout-1 .ce-gallery img,
.frame-type-image.frame-layout-1 .ce-gallery img {
	width:100%;
	height:auto;
}

.frame-type-ce_columns2.frame-layout-1 .row .ce-col:last-child > div,
.frame-type-ce_columns2.frame-layout-2 .row .ce-col:first-child > div {
	width: calc(100% + 6.75rem);	
}

.frame-type-ce_columns2.frame-layout-2 .row .ce-col:first-child > div {
	transform: translateX(-6.75rem);	
}

.gallery.dce .row {
	--bs-gutter-x: 1.25rem;
}

.gallery.dce .right-col {
	position: relative;
	display: block;
}
 
#news-start {
	overflow: hidden;
}

#news-start .container .news-start-inner {
	padding-top: 10.5rem; 
	padding-bottom: 10.5rem; 
	z-index: 1;
}

#news-start .container .news-start-inner:before {
    position: absolute;
    width: 100%;
    height: calc(100% + 1px);
    top: 0;
	left: calc(var(--bs-gutter-x) / 2);
    content: " ";
    background: var(--theme-darkgrey);
    opacity: .85;
    z-index: 0;
}

#news-start .img-background,
#news-start .img-background img{
	width: 100%;
	height: 100%;
}

#news-start .img-background {
	top: 0;
	left: 0;
}

#news-start .img-background img {
	object-fit: cover;
}

#news-start .container .news-item {
	z-index: 2;
}

#news-start h2 {
	font-size: 2.5rem;
	font-weight: 300;
	line-height: 1.2;
	text-transform: none;
}

.news .date {
	font-size: 1rem;
	line-height: 2.1875;
	margin-bottom: 2rem;
}

.news .news-arrow {
	width: 2.375rem;
	height: auto;
	-moz-transition: all 400ms var(--theme-transition) 0ms;
	-webkit-transition: all 400ms var(--theme-transition) 0ms;
	transition: all 400ms var(--theme-transition) 0ms;
}

#news-start a {
	text-decoration: none !important;
}

#news-start .text-col p {
	margin-bottom: 3rem;
}

#news-kacheln .news-list.container .row {
	--bs-gutter-x: 3rem;
}

.news-col {
	margin-bottom: 3rem;
}

.news-col .news-teaser-img {
	overflow: hidden;
}

.news-col .news-teaser-img img {
	-moz-transition: transform 1200ms var(--theme-transition) 0ms;
	-webkit-transition: transform 1200ms var(--theme-transition) 0ms;
	transition: transform 1200ms var(--theme-transition) 0ms;
}

.news-col .news-teaser-text {
	color: var(--white-color);
	padding: 4.5rem 4rem 8rem;
	background: var(--theme-darkgrey);
	-moz-transition: background 400ms var(--theme-transition) 0ms;
	-webkit-transition: background 400ms var(--theme-transition) 0ms;
	transition: background 400ms var(--theme-transition) 0ms;
}

.news-col .news-item.topnews .news-teaser-text {
	background: var(--theme-beige);
	padding-bottom: 6rem;
}

.news-col .news-teaser-text h2 {	
	font-size: 2.125rem; 
	line-height: 1.18;
	font-weight: 300;
	text-transform: none;
	margin-bottom: .5rem;
	-webkit-hyphens: auto;
	hyphens: auto;
}

.news-col .news-item.topnews .news-teaser-text h2 {
	font-size: 3rem; 
	line-height: 1.25;
	text-transform: uppercase;
}

.news-col .news-item.topnews .news-teaser-text .date {
	color: var(--text-color);
}

.news-col p {
	color: var(--theme-lightgrey);
}

.news .news-col .news-arrow {
	position: absolute;
	width: 2.75rem;
	right: 4rem;
	bottom: 1.5rem;
}
.logos {
	flex-wrap: wrap;
	gap: 8.125rem;
	gap: 4.125rem;
	margin-top: 7.5625rem;
}

.frame-type-text blockquote,
.frame-type-text blockquote p{
	font-size: 2.1875rem;
	line-height: 1.43;
	font-weight: 200;
}

.frame-type-text i,
.frame-type-text em {
	font-weight: 500;
	color: var(--theme-beige);
	font-style: normal;
}

.frame-type-ce_accordion {
	position: relative;
	padding: 6.25rem 0;
	background: var(--theme-lightgreen);
}

.frame-type-ce_accordion:before {
	position: absolute;
	left: -.05em;
	bottom: 9.25rem;
	content: "Haltung";
    font-family: 'Italiana', serif;
	font-size: 12.5rem;
	color: var(--theme-lightgrey2);
	opacity: .5;	
}

html[lang="en"] .frame-type-ce_accordion:before {
	content: "Attitude";
}

.frame-type-ce_accordion > header h2 {
	width: calc(var(--container-w) - 16.66666% + 1.5rem);
    font-family: 'Italiana', serif;
	font-size: 6.25rem;
	color: var(--text-color);
	text-transform: none;
	margin-left: auto;
	margin-right: auto;
}

.accordion {
	max-width: 983px;
	margin-left: auto;
	margin-right: auto;
}

.accordion-item {
	position: relative;
	border: 0;
	/* border-bottom: 1px solid var(--text-color);*/
}

.accordion-item:last-child {
	border: none;
}

.frame-indent.frame-type-ce_accordion .accordion-item {
	border: 0 !important;
}

.accordion-item,
.accordion-item .accordion-button {
	border-radius: 0 !important;
	background: transparent;
	box-shadow: none !important;
	outline: none !important;
}

.accordion-item .accordion-button {
	font-size: 2rem;
	font-weight: 600;
	color: var(--white-color) !important;
}

.accordion-item .accordion-button span.outer {
	display: inline-block;
	overflow: hidden;
}

.accordion-item .accordion-button span.inner {
	display: inline-block;
	-webkit-filter: blur(1rem);
	filter: blur(1rem);
	transform: translateY(150%);
	-webkit-transition: filter 500ms var(--theme-transition) 400ms, transform 500ms var(--theme-transition) 400ms;
	transition: filter 500ms var(--theme-transition) 400ms, transform 500ms var(--theme-transition) 400ms;
}

.loaded .accordion-item.aos-animate .accordion-button span.inner {
	-webkit-filter: blur(0);
	filter: blur(0);
	transform: translateY(0);
}

.frame-indent.frame-type-ce_accordion {
	max-width: 983px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: auto;
	margin-right: auto;
}

.accordion-item .accordion-button {
	text-transform: uppercase;
	padding: 6.25rem 0 6.25rem;
	border: 0;
}

.accordion-button::before,
.accordion-button::after {
	position: absolute;
	content: " ";
	transform: none !important;
	background-image: none !important;
	background-color: var(--text-color);
}

.accordion-button::before {
	width: 5rem;
	width: 0;
	height: 1px;
	top: 50%;
	right: 0;
	-webkit-transition: width 400ms var(--theme-transition) 400ms;
	transition: width 400ms var(--theme-transition) 400ms;
}

.frame-indent.frame-type-ce_accordion .accordion-item .accordion-button:before {
	width: 5rem;
	width: 0;
}

.loaded .accordion-item.aos-animate .accordion-button::before {
	width: 5rem;
}

.loaded .frame-indent.frame-type-ce_accordion .accordion-item.aos-animate .accordion-button::before {
	width: 5rem;
}

.accordion-button::after {
	width: 1px;
	height: 0;
	top: 50%;
	right: calc(2.5rem - .5px);
	transform: translateY(-50%) !important;
	-webkit-transition: height 600ms var(--theme-transition) 0ms;
	transition: height 600ms var(--theme-transition) 0ms;
}

.frame-type-ce_accordion .accordion-item .accordion-button::after {
	height: 0;
}

.loaded .frame-type-ce_accordion .accordion-item.aos-animate .accordion-button::after {
	height: 5rem;
	-webkit-transition: height 600ms var(--theme-transition) 300ms;
	transition: height 600ms var(--theme-transition) 300ms;
}

.accordion-button:not(.collapsed)::after {
	height: 0 !important;
}

.frame-type-ce_accordion .accordion-button {
	padding: 4.75rem 10.3125rem 4.75rem 5.6875rem;
}

.frame-type-ce_accordion .accordion-item:before {
	position: absolute;
	display: block;
	width: 100%;
	width: 0;
	height: 1px;
	top: 0;
	left: 0;
	right: 0;
	content: " ";
	margin-left: auto;
	margin-right: auto;
	background: var(--text-color);
	-webkit-transition: width 400ms var(--theme-transition) 200ms, left 400ms var(--theme-transition) 200ms; 
	transition: width 400ms var(--theme-transition) 200ms, left 400ms var(--theme-transition) 200ms; 
}

.loaded .frame-type-ce_accordion .accordion-item.aos-animate:before {
	width: 100%;
}

.loaded .frame-type-ce_accordion .accordion-item.aos-animate.open:before,
.loaded .frame-type-ce_accordion .accordion-item.aos-animate.open + .accordion-item.aos-animate:before {
	width: 100vw !important;
	left: calc((983px - 100vw) / 2);
}

.frame-bordered .container {
	padding-top: 8.25rem;
	padding-bottom: 6.625rem;
	border:1px solid var(--text-color);
}

.frame-type-ce_accordion .accordion-item:first-child:before {
	display: none;
}

.accordion  .ce-textpic {
  overflow: visible;
}

.accordion-body {
	opacity: 0;
	padding: 0 6rem 4rem 0;
	-webkit-transition: opacity 200ms var(--theme-transition) 0ms;
	transition: opacity 200ms var(--theme-transition) 0ms;
}

.accordion-collapse.show .accordion-body {
	opacity: 1;
	-webkit-transition: opacity 300ms var(--theme-transition) 0ms;
	transition: opacity 300ms var(--theme-transition) 0ms;
}

.accordion-body header {
	display: none;
}

.accordion-body p {
	font-size: 1.375rem;
	line-height: 2.125rem;
}

.accordion-body p:last-child {
	margin-bottom: 0;
}

.frame-type-ce_accordion .accordion-body {
	padding: 0 0rem 6rem calc(8.3333% + 1.5rem);
}

.frame-type-ce_accordion .accordion-item .accordion-body .ce-gallery figure {
    margin: 0;
}

.frame-type-text p small {
	display: block;
	margin-top: -.5rem;
}

.keywords-wrapper { 
	-webkit-transition: transform 800ms var(--theme-transition) 0ms;
	transition: transform 800ms var(--theme-transition) 0ms;
}

.keywords {
    font-family: 'DM Sans', Helvetica, Arial, sans-serif;
	line-height: 1;
	font-weight: 100;
	text-transform: uppercase;
	transform: rotate(-90deg) translateX(-26rem) translateY(0rem);
	transform-origin: left top;
}

.keywords .keyword-one {
	font-size: 6.5625rem;
}

.keywords .keyword-two {
	font-size: 8.75rem;
}

.keywords .keyword-three {
	font-size: 5rem;
}

#projects-overview {
	padding-top: 40.5rem;
}

#page-2 .keywords {
	transform: rotate(-90deg) translateX(0rem) translateY(9rem);
}

#page-2 .keywords .keyword-one {
	font-size: 5.375rem;
}

#page-2 .keywords .keyword-two {
	font-size: 6.75rem;
}

#page-2 .keywords .keyword-three {
	font-size: 6rem;
}

#news-intro {
	padding-bottom: 21.25rem;
}

#page-5 .keywords {
	transform: rotate(-90deg) translateX(-26rem) translateY(12vw);
}

#page-5 .keywords .keyword-one {
	font-size: 4.875rem;
}

#page-5 .keywords .keyword-two {
	font-size: 6.1875rem;
}

#page-5 .keywords .keyword-three {
	font-size: 5.625rem;
}

.keyword-single {
	position: relative;
	font-family: 'Italiana', serif;
	font-size: 50rem;
	line-height: .8;
	color: #C4C4C4 !important;
	z-index: 2;
}

.keyword-single .parallax {
	color: #C4C4C4 !important;
}

.keyword-single.size-288 {
	font-size: 18rem;
}

.keyword-single.size-238 {
	font-size: 14.875rem;
}

.keyword-single.size-200 {
	font-size: 12.5rem;
}

#wohnungen-intro .keyword-single {
	color: var(--theme-grey);
	opacity: .42;
	margin-top: 4rem;
	margin-bottom: 8.8125rem;
	transform: translateX(-6.75rem);
}

#geschossplan .geschoss-overlay {
	display: block;
	top: 0;
	left:0;
	opacity: 0;
	z-index: 1;
}

#geschossplan .geschoss-overlay.visible {
	opacity: 1;
}

#geschossplan {
	font-size: 1rem;
	line-height: 1.375;
	color: var(--white-color);
	margin-top: 7.5625rem;
}

#geschossplan h3 {
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--white-color);
}

#geschossplan #floorplan-table {
	width: 100%;
	font-weight: 300;
	margin-bottom: 6.25rem;
}

#geschossplan #floorplan-table tr {
	border-bottom: 1px solid var(--white-color);
}

#geschossplan #floorplan-table tr td {
	padding: 1.875rem 0 1.5rem;
}

#geschossplan #floorplan-table tr td:first-child {
	padding-left: 1.125rem;
}

#geschossplan #floorplan-table tr td:last-child {
	padding-right: 3.25rem;
}

#geschossplan #floorplan-table .number {
	font-weight: 600;
}
#geschossplan #floorplan-table .link {
	width: calc(9.5rem + 0.875rem);
	padding-left: 0;
	padding-right: 0;
}

#geschossplan #floorplan-table .expose {
	width: 8rem;
}

#geschossplan #floorplan-table .wohnung-link {
	padding: .5rem .625rem .5rem .375rem;
	border: 1px solid var(--white-color);
	border-radius: 3px;
}

#geschossplan #floorplan-table .wohnung-link svg {
	margin-right: 0.625rem;
}

#page-1 #wohnungen-intro .keyword-single {
	color: var(--theme-grey);
	opacity: 1;
	margin-top: -4rem;
	margin-bottom: 5rem;
	transform: none;
}

.headline-white h2,
.headline-white h3 {
	color: var(--white-color);
}

.headline-white h2 small,
.headline-white h3 small {
	color: var(--text-color);
}

.teaser-row {
	--bs-gutter-x: 1.25rem;
}

.small-teaser {
	overflow: hidden;
}

.small-teaser .small-teaser-overlay {
	width: 100%;
	flex-wrap: wrap;
	bottom: 0;
	left: 0;
	color: var(--white-color);
	padding: 3rem 3rem 1.5rem 3rem;
	text-transform: uppercase;
    -moz-transition: transform 600ms ease 0ms, opacity 800ms ease 0ms;
    -webkit-transition: transform 600ms ease 0ms, opacity 800ms ease 0ms;
    transition: transform 600ms ease 0ms, opacity 800ms ease 0ms;
	z-index: 2;
}

.small-teaser .small-teaser-overlay .title {
	font-family: 'DM Sans', Helvetica, Arial, sans-serif;
	font-size: 2.5rem;
	line-height: 1.65;
	font-weight: 700;
}

.small-teaser .small-teaser-overlay p {
	font-size: 0.875rem;
	margin-bottom: 0;
}

#projects-intro {
	padding-top: 14.125rem;
}

#projects-intro h1 {
	color: var(--theme-beige) !important;
}

.projekt-teaser-big .projekt-teaser-big-overlay.bg-beige {
	background: rgba(196, 177, 155, .7);
}

.projekt-teaser-big .projekt-teaser-big-overlay h2 {
	margin-bottom: .5rem;
}

.projekt-teaser-big .projekt-teaser-big-overlay {
	width: 38.125%;
	top: 0;
	right: 0;
	bottom: 0;
	background: rgba(38,38,38,.6);
	padding: 6.75rem 12rem 0 6.75rem;
	z-index: 1;
}

.projekt-teaser-big .projekt-teaser-big-overlay address {
	font-size: 0.875rem;
	margin-bottom: 2rem;
}

.projekt-teaser-big .projekt-teaser-big-overlay p {
	text-transform: none;
}

.projekt-teaser-big .projekt-teaser-big-overlay .text-link {
	margin-top: 12rem;
}

.projekt-teaser-big .projekt-teaser-big-overlay.text-white .text-link {
	color: var(--white-color) !important;
}

.projekt-teaser-big .projekt-teaser-big-overlay .text-link svg path {
	-ms-stroke: var(--white-color) !important;
	stroke: var(--white-color) !important;
}

.full-service-col {
	margin-top: -8.5rem;
}

.frame-type-text.frame-layout-1 h2,
.text-headline-light h2 {
	font-size: 2.625rem;
	line-height: 1.2;
	font-weight: 300;
	margin-bottom: 1.75rem;
}

.frame-type-text.frame-layout-1 ul {
	padding: 0 0 0 1.25rem;
	/*list-style: none;*/
	letter-spacing: 0.0125rem;
}

.frame-type-text.frame-layout-1 ul li {
	padding: 0 0 1rem;
	/*margin-bottom: 1rem;
	border-bottom: 1px solid var(--text-color);*/
}

.frame-type-text.frame-layout-1 ul li:last-child {
	border: 0;
}

.frame-type-text + .btn-container {
	position: relative;
	margin-top: 3.5rem;
	z-index: 3;
}

.z-index-10 {
	position: relative;
	z-index: 10;
}

.frame-type-text.frame-layout-2 .contenttable {
	width: 100%;
}

.frame-type-text.frame-layout-2 .contenttable td {
	padding: 1.875rem 2.25rem;
}

.frame-type-text.frame-layout-2 .contenttable td:not(:first-child){
	border-left: 1px solid var(--text-color);
}

.frame-type-text.frame-layout-2 .contenttable tr:not:(last-child) td {
	border-bottom: 1px solid var(--text-color);
}

.frame-type-text.frame-layout-2 .contenttable tr:last-child,
.frame-type-text.frame-layout-2 .contenttable tr:last-child td {
	border-bottom: 0;
}
.frame-type-text.frame-layout-2 .contenttable td .lead {
	font-family: 'DM Sans', Helvetica, Arial, sans-serif;
	font-size: 6.25rem;
	font-weight: 100;
	line-height: 1.2;
	letter-spacing: 0.0625rem;
	text-transform: none;
}
.frame-type-text.frame-layout-2 .contenttable td small {
	font-family: 'Inter', Helvetica, Arial, sans-serif;
	font-size: 1.25rem;
	font-weight: 600;
	margin-top: 0;
	text-transform: uppercase;
}

#grundrisse h2 {
	font-size: 2.5rem;
	line-height: 1.55;
	font-weight: 300;
	margin-bottom: 5.25rem;
	letter-spacing: 0.0625rem;
}

#location-modul {
	margin-bottom: 11.5rem;
	border: 1px solid var(--white-color);
	margin-top: 1px;
}

#page-3 #location-modul {
	border: 1px solid var(--text-color);
}

#location-modul #location-controls {
	top: 2rem;
	left: -1px;
	z-index: 2;
}

#location-modul #location-controls button {
	color: var(--text-color) !important;
	width: 16.75rem;
	border: 1px solid var(--white-color) !important;
}

#page-3 #location-modul #location-controls button {
	border: 1px solid var(--text-color) !important;
}

#location-modul #location-controls button:first-child {
	margin-bottom: 1.25rem;
}

#location-modul #location-controls button:not(.active) {
	background: var(--theme-lightgreen);
}

#location-modul #location-controls button.active {
	background: rgba(255,255,255,.8) !important;
}

#location-modul picture#makrolage {
	width: 100%;
	top: 0;
	left: 0;
	opacity: 0;
    -moz-transition: opacity 800ms ease 0ms;
    -webkit-transition: opacity 800ms ease 0ms;
    transition: opacity 800ms ease 0ms;
	z-index: 1;
}

#location-modul picture#makrolage.active {
	opacity: 1;
}

.headline-black h3,
.headline-black h3 span {
	font-size: 1.25rem;
	color: #2B2A28 !important;
	font-weight: 600;
	margin-bottom: .75rem;
}

.lead {
    font-size: 1.25rem;
    font-weight: 600;
	text-transform: uppercase;
}

#projekt-nachhaltigkeit .contenttable .lead strong {
	font-weight: 200;
}

form input:not([type="checkbox"],[type="submit"]),
form select,
form textarea {
	font-size: 1rem !important;
	line-height: 1.25 !important;
	padding: 1.125rem 1.25rem !important;
	border: 1px solid var(--text-color) !important;
	border-radius: 0 !important;
	margin-bottom: 1.5rem;
}
form select {
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='11' viewBox='0 0 20 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.605469 0.866211L10.1055 9.86621L19.6055 0.866211' stroke='%23030303'/%3E%3C/svg%3E");
	background-repeat: no-repeat !important;
	background-position: calc(100% - 1.25rem) center;
}

form select:focus {
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='11' viewBox='0 0 20 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.6055 9.86621L10.1055 0.86621L0.605469 9.86621' stroke='%23030303'/%3E%3C/svg%3E%0A");
}

.form-group label:not(.add-on),
input[id*="-text-3"] {
	display: none;
}

.form-check {
    padding-left: 0;
}

.input.checkbox {
    position: relative;
    width: 30px;
    height: 33px;
    z-index: 10;
}

.form-check input.add-on {
	position:relative;
	width:20px;
	height: 20px;
	opacity: 0;
	margin-right: 7px;
	z-index: 1;
}

.form-check .add-on.form-check-label {
	position: relative;
	line-height: 20px;
}

.form-check .add-on.form-check-label>span {
	vertical-align: super;
}

.form-check .add-on.form-check-label>span:before {
	position: absolute;
	left: 0;
	top: 0;
	width:20px;
	height: 20px;
	color: #fff;
	font-size: 1rem;
	content: "";
	text-align: center;
	background: transparent;
	border: 1px solid var(--text-color);
}

.form-check .add-on.form-check-label>input:checked + span:before {
	background: var(--theme-beige);
	content: "✓";
	border: 1px solid var(--theme-beige);
}

.form-check .add-on.form-check-label>span {
    font-size: 0;
}

form input.checkbox {
    position: relative;
    z-index: 2;
}

form .frame-type-text {
	padding-left: 38px;
	margin-top: -2.25rem;
}

form .frame-type-text p {
	font-size: 0.8125rem;
	margin-bottom: 0;
}

form .frame-type-text p a {
	color: var(--theme-beige);
	text-decoration: underline;
}

form .actions {
	margin-top: 1.5rem;
}

form button[type="submit"] {
	border: 1px solid var(--theme-lightgreen);
	background: var(--theme-lightgreen);
}

.project-header-overlay {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 2;
}

.project-header-overlay .container {
	padding-bottom: 7.125rem;
	transform: none;
}

.project-header-overlay .container p {
	color: var(--theme-beige);
}

/*
#project-detail-header:before {
	position: absolute;
	width: 50%;
	height: 100%;
	content: " ";
	background: rgba(38, 38, 38, .6);
	z-index: 1;
}*/

#project-detail-header h1 {
	margin-bottom: 5rem;
}

#project-detail-header p {
	color: #A8A177;
}

#project-detail-header.banner.overlay-left p,
#project-detail-header.banner.overlay-right p {
	color: var(--white-color);
}

#project-detail-header p:last-of-type {
	font-size: 1.5rem;
	line-height: 1.33;
	margin-bottom: 2rem;
}

#project-detail-header .project-contact p {
	font-size: 1.25rem;
}

#project-detail-header .btn {
	margin-top: 9rem;
}

#project-detail-header .slick-list,
#project-detail-header .slick-list .slick-track,
#project-detail-header .slick-list .slide-item,
#project-detail-header .slick-list .slide-item picture {
	height: 100%;	
}

#project-detail-header .slick-list .slide-item picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#project-detail-header .slick-arrow,
.simple-slider .slick-arrow {
	width: 3rem;
	height: 3rem;
	top: auto;
	bottom: 6.75rem;
	left: auto;
	right: 6.75rem;
	transform: none;
	background-repeat: no-repeat !important;
	background-size: 1rem 2rem !important;
	background-position: center;
	z-index: 3;
}

.simple-slider .slick-arrow {
	bottom: 3.5rem;
}

#project-detail-header .slick-prev,
.simple-slider .slick-prev {
	right: 12.25rem;
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='34' viewBox='0 0 20 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.3828 1L2.38281 17L18.3828 33' stroke='white' stroke-width='2'/%3E%3C/svg%3E%0A");
}

.simple-slider .slick-prev {
	right: 11.75rem;
}

#project-detail-header .slick-next,
.simple-slider .slick-next {
	background-image: url("data:image/svg+xml,%3Csvg width='19' height='34' viewBox='0 0 19 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.38281 1L17.3828 17L1.38281 33' stroke='white' stroke-width='2'/%3E%3C/svg%3E%0A");
}

#project-detail-header .slick-arrow:before,
.simple-slider .slick-arrow:before {
	display: none;
}

#news-detail .detail-slider {
	margin-bottom: 10rem;
}

#news-detail h1 {
	font-size: 3.5rem;
	line-height: 1.28;
	font-weight: 300;
	margin-bottom: 3rem;
}

#news-detail p {
	font-size: 1.375rem;
	line-height: 1.86;
}

#news-detail .text-link {
	margin-top: 3rem;
}

.news-slider .slick-list {
	margin-left: -0.703125rem;
	margin-right: -0.703125rem;
}

.news-slider .slick-list .slide-item {
	margin-left: 0.703125rem;
	margin-right: 0.703125rem;
}

.news-slider .small-teaser .small-teaser-overlay .title {
    font-size: 1.5rem;
    line-height: 1.25;
}

.news .news-slider  .date {
    margin-bottom: 0;
}
.news .news-slider-top {
	width: 17.5625rem;
	font-size: 1.25rem;
	text-align: center;
	line-height: 1.875rem;
	margin-bottom: 2.375rem;
	margin-bottom: 0;
	margin-top: 2.375rem;
	text-transform: uppercase;
	
	margin-left: auto;
	margin-right: 0;
}

.news-slider .slick-arrow {
	width: 2.375rem;
	height: 1.875rem;
	top: -4.75rem;
	top: auto;
	bottom: -4.125rem;
	left: 0;
	right: auto;
	transform: none; 
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: 99% auto !important;
}

.news-slider .slick-prev {
	left: auto;
	right: 15.1875rem;
	background-image: url("data:image/svg+xml,%3Csvg width='41' height='33' viewBox='0 0 41 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.6328 32.2979L2.15133 16.8164L17.6328 1.33489' stroke='%23030303' stroke-width='2'/%3E%3Cpath d='M2.5042 16.8164L40.1523 16.8164' stroke='%23030303' stroke-width='2'/%3E%3C/svg%3E%0A");
}

.news-slider .slick-next {
	left: 15.1875rem;
	left: auto;
	right: 0;
	background-image: url("data:image/svg+xml,%3Csvg width='41' height='33' viewBox='0 0 41 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.3711 1.33301L38.8526 16.8145L23.3711 32.296' stroke='%23030303' stroke-width='2'/%3E%3Cpath d='M38.4997 16.8145H0.851562' stroke='%23030303' stroke-width='2'/%3E%3C/svg%3E%0A");
}

.news-slider .slick-arrow:before {
	display: none;
}

#kontakt-intro h1 {
	max-width: 660px;
    font-family: 'DM Sans', Helvetica, Arial, sans-serif;
	font-size: 2.625rem;
	line-height: 1.21;
	font-weight: 300;
	margin-bottom: 4.375rem;
	text-transform: uppercase;
}

#kontakt-intro p {
	margin-bottom: 1rem;
}

.frame-type-text ul:last-child {
	margin-bottom: 0;
}

section .frame-type-text {
	position: relative;
	z-index: 3;
}

.imp-dse p a {
	text-decoration: underline;
}

/*
#projekt-nachhaltigkeit h2 {
	max-width: 500px;
}*/

.frame-type-text.frame-layout-3 h2,
.frame-type-text.frame-layout-3 h3 {
	font-family: 'Italiana', serif;	
	text-transform: none;
	font-weight: 400;
}

.frame-type-text.frame-layout-3 h2 {
	font-size: 5.625rem;
	line-height: 1.11;
}
.frame-type-text.frame-layout-3 h3 {
	font-size: 5rem;
	line-height: 1.025;
}

/* Consent Tool */

.tx-om-cookie-consent {
	position: fixed;
	z-index: 1030;
}

.cookie-panel__attribution {
	display:none;
}

.om-cookie-panel {
	max-width:460px;
	top:0%;
	left:50%;
	right: auto;
	bottom:auto;
	transform: translateY(-120%) translateX(-50%);
	/*opacity:1 !important;*/
	line-height:24px;
	border:0;
	background:#fff;
	text-align:left;
	padding: 30px 43px 43px;
}

.om-cookie-panel.active {
	outline: 100vw solid rgba(0,0,0,.6);
}
/*
.tx-om-cookie-consent .om-cookie-panel.active:before {
	position:fixed;
	width:100%;
	height:100%;
	top:0;
	right:0;
	bottom:0;
	left:0;
	content:" ";
	background:rgba(0,0,0,.6);
	z-index:1;
}*/

.om-cookie-panel.active {
	top:50%;
	left:50%;
	transform: translateY(-50%) translateX(-50%);
}

.om-cookie-panel h3 {
	position:relative;
	font-size: 1.5rem;
	padding-bottom:0;
	margin-bottom: 1.5rem;
}

.om-cookie-panel .cookie-panel__checkbox-wrap {
	font-size: 1rem;
}

.om-cookie-panel .cookie-panel__checkbox-wrap:first-child {
	opacity:.7;
}

.om-cookie-panel p,
.om-cookie-panel a {
	color:  #121319 !important;
}

.om-cookie-panel p {
	padding:0.5em 0 1.5em;
}

.om-cookie-panel a {
	text-decoration:underline;
}

.om-cookie-panel a:hover,
.om-cookie-panel a:focus {
	text-decoration:none;
}

.om-cookie-panel .cookie-panel__control button {
	display:block;
	width:100%;
	width:100%;
	font-size:16px;
	margin:0 auto 10px;
	border-radius:0;
	border:0;
	color:  #121319 !important;
	background:#fff !important;
	border:1px solid  #121319;
}

.om-cookie-panel .cookie-panel__control button.black {
	color: #fff !important;
	background:  #121319 !important;
}

.om-cookie-panel .cookie-panel__control {
	margin-top:30px;
	margin-bottom:50px;
}

.om-cookie-panel .cookie-panel__control button:hover,
.om-cookie-panel .cookie-panel__control button:focus {
	color:#fff !important;
	background:  #121319 !important;
}

.om-cookie-panel .cookie-panel__control button.black:hover,
.om-cookie-panel .cookie-panel__control button.black:focus {
	color:#121319 !important;
	background:  #fff !important;
}

.om-cookie-panel .cookie-panel__checkbox + label::before {
    border: 1px solid   #121319;
	margin-right:10px;
}

.om-cookie-panel .cookie-panel__checkbox:checked + label::before {
    background-color:   #121319;
}

.om-cookie-panel .cookie-panel__link {
	text-align:center;
}

.om-cookie-panel ul,
.om-cookie-panel li {
	list-style:none;
	padding-left:0;
	margin-bottom:0;
}

.om-cookie-panel li {
	display:inline-block;
}

.om-cookie-panel li a{
	font-family: "Approach-Lt";
	text-decoration:none;
}

.om-cookie-panel li a:hover,
.om-cookie-panel li a:focus,
.om-cookie-panel li a:active{
	text-decoration:underline;
}

.om-cookie-panel li:first-child {
	margin-right:5px;
}

.om-cookie-panel li:first-child:after {
	display:inline-block;
	position:relative;
	content:"|";
	margin-left:5px;
}

.om-cookie-panel .cookie-panel__checkbox + label {
    line-height: 19px;
}

.om-cookie-panel .cookie-panel__checkbox + label::before {
	width:19px;
	height:19px;
	border-radius:0;
}

.om-cookie-panel .cookie-panel__checkbox:checked + label::before {
    box-shadow: none;
    content:"";
	color:#fff;
	background:url("../images/check-icon.png")no-repeat center;
	background-size:19px auto;
	background-color: #121319;
}

.toggle-cookie {
	white-space:nowrap;
}

.of-visible {
	overflow:visible;
}


/* ### FOOTER ### */

#footer .container .container {
	max-width: 100% !important;
}

#footer .footer-bottom {
	padding-top: 9.0625rem;
	padding-bottom: 8.375rem;
}

#footer .footer-bottom h3 {
	font-size: 2rem;
	font-weight: 300;
	text-transform: uppercase;
	margin-bottom: 3.5rem;
}

#footer .logo-col svg {
	width: 1.625rem;
	height: auto;
}

#footer .footer-bottom p {
	font-size: 1.5rem;
	line-height: 1.42;
	margin-bottom: 2.5rem;
}

#footer .footer-bottom p small {
	font-size: 1rem;
	font-weight: 500;
	color: var(--theme-beige);
}

#footer .footer-bottom a {
	text-decoration: none;
}

#footer ul {
	font-size: 1.25rem;
	list-style: none;
	line-height: 2.55;
	padding: 0;
	text-transform: uppercase;
}

#footer .socials {
	top: 0;
	right: calc(var(--bs-gutter-x) / 2);
	gap: 3rem; 
}

#footer .socials a {
	text-decoration: none !important;
}

/* ####################
#        MEDIAS       #
####################### */

@media (hover: hover) {	
	#header #main-nav #main-nav-menu .nav-link:hover,
	#header #main-nav #main-nav-menu .nav-link:focus,
	#header #main-nav #main-nav-menu .lang-link:hover,
	#header #main-nav #main-nav-menu .lang-link:focus {
		font-weight: 600;
	}
	#sticky-contact:hover {
		background: var(--theme-lightgreen);
	}
	#sticky-contact:hover svg * {
		-ms-stroke: var(--white-color);
		stroke: var(--white-color);
	}
	.text-link:hover {
		color: var(--theme-beige) !important;
	}
	.btn:hover svg,
	.text-link:hover svg {
		transform: translateX(.5rem);
	}
	.btn:hover,
	.btn:focus {
		color: var(--theme-lightgreen) !important;
		background: transparent;
		border: 1px solid var(--theme-lightgreen) !important;
	}
	.bg-lightgreen .btn-light:hover,
	.bg-lightgreen .btn-light:focus,
	.bg-lightgreen .btn-light:active,
	.bg-lightgreen .btn-light:hover,
	.bg-lightgreen .btn-light:focus,
	.bg-lightgreen .btn-light:active,
	.bg-green .btn-light:hover,
	.bg-green .btn-light:focus,
	.bg-green .btn-light:active {
		color: var(--white-color) !important;
		border: 1px solid var(--white-color) !important;
		background: rgba(38, 38, 38, .15);
	}
	.bg-beige .btn:hover,
	.bg-beige .btn:focus {
		color: var(--theme-beige);
		background: var(--white-color);
	}
	.btn:hover svg path {
		-ms-stroke: var(--white-color) !important;
		stroke: var(--white-color) !important;
	}
	.btn-green:hover svg path,
	.btn-green:focus svg path,
	.btn-green:active svg path {
		-ms-stroke: var(--theme-lightgreen) !important;
		stroke: var(--theme-lightgreen) !important;
	}
	.text-link:hover svg path {
		-ms-stroke: var(--theme-beige) !important;
		stroke: var(--theme-beige) !important;
	}
	.text-white .text-link:hover {
		color: var(--theme-beige) !important;
	}
	.banner .btn-light:hover,
	.banner .btn-light:focus {
		background: rgba(38,38, 38,.15);
	}
	.project-teaser picture:before,
	.small-teaser picture:before {
		background: rgba(0,0,0,0);
	}
	.project-teaser:hover picture:before,
	.small-teaser:hover picture:before {
		background: rgba(0,0,0,.5);
	}
	.project-teaser .project-teaser-overlay,
	.small-teaser .small-teaser-overlay {
		transform: translateY(10%);
		opacity: 0;
	}
	.project-teaser:hover .project-teaser-overlay,
	.small-teaser:hover .small-teaser-overlay {
		transform: translateY(0);
		opacity: 1;
	}
	.news a:hover .news-arrow {
		transform: translateX(.5rem);
	}
	.news-col .news-teaser-text {
		background: var(--text-color);
	}
	.news-col .news-item.topnews .news-teaser-text {
		background: var(--theme-beige);
	}
	.news-col:hover .news-teaser-img img {
		-webkit-transform: scale(1.05);
		transform: scale(1.05);
	}
	.news-slider .slick-prev:hover {
		background-image: url("data:image/svg+xml,%3Csvg width='41' height='33' viewBox='0 0 41 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.6328 32.2979L2.15133 16.8164L17.6328 1.33489' stroke='%23C4B19B' stroke-width='2'/%3E%3Cpath d='M2.5042 16.8164L40.1523 16.8164' stroke='%23C4B19B' stroke-width='2'/%3E%3C/svg%3E%0A");
	}

	.news-slider .slick-next:hover {
		left: 15.1875rem;
		background-image: url("data:image/svg+xml,%3Csvg width='41' height='33' viewBox='0 0 41 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.3711 1.33301L38.8526 16.8145L23.3711 32.296' stroke='%23C4B19B' stroke-width='2'/%3E%3Cpath d='M38.4997 16.8145H0.851562' stroke='%23C4B19B' stroke-width='2'/%3E%3C/svg%3E%0A");
	}
	#geschossplan #floorplan-table tr:hover {
		background: rgb(38, 38, 38, .3);
	}
	#geschossplan #floorplan-table .wohnung-link:hover,
	#geschossplan #floorplan-table .wohnung-link:focus,
	#geschossplan #floorplan-table .wohnung-link:active {
		background: var(--theme-buttondark);
		border: 1px solid var(--theme-buttondark);
	}
	#footer .footer-bottom a:hover,
	#footer .footer-bottom a:focus,
	#footer .footer-bottom a:active {
		color: var(--theme-beige);
	}
	#footer .socials a:hover svg path {
		-ms-fill: var(--theme-beige) !important;
		fill: var(--theme-beige) !important;
	}
}

@media screen and (min-width: 576px) {
	:root {
		--container-w: 100%;
	}
}

@media screen and (min-width: 768px) {
	:root {
		--container-w: calc(100% - 7rem);
	}
	HTML {
		font-size: 12px;
	}
	.container, .container-lg, .container-md, .container-sm {
        max-width: var(--container-w);
    }
	section.padded-left .container-fluid > .row > .ce-col:first-child,
	section.padded-right .container-fluid > .row > .ce-col:first-child {
		padding-left: 0;
	}
	section.padded-left .container-fluid > .row > .ce-col:last-child,
	section.padded-right .container-fluid > .row > .ce-col:last-child {
		padding-right: 0;
	}
	#header #main-nav {
		padding-right: 3.5rem;
	}
	#header .navbar-toggler {
		right: 3.5rem;
	}
	#header #main-nav #main-nav-menu .nav-link,
	#header #main-nav #main-nav-menu .lang-link {
		display: block;
		text-align:center;
	}
	#page-3 .banner .container {
		padding-top: 17.25rem;
		padding-bottom: 0;
	}
	#vision-intro {
		padding-top: 15rem;
	}
	#news-start .container:before {
		width: 100vw;
		left: 0;
	}
	.grundriss-col .frame-type-image {
		transform: translateX(-8%);
	}
	.gallery.dce .left-col > picture {
		width: 100%;
	}
	.gallery.dce .left-col > picture img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.gallery.dce .right-col > picture {
		display: block;
		width: calc(100% + 6.75rem);	
	}
	.gallery.dce .right-col > picture:first-child {
		height: calc(54% - 0.625rem);
		margin-bottom: 1.25rem;
	}
	.gallery.dce .right-col > picture:last-child {
		height: calc(46% - 0.625rem);
	}
	.gallery.dce .right-col > picture img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.pt-left-small {
		padding-left: 3.25rem;
	}
	form select {
		width: calc(50% - .75rem) !important;
	}
	form textarea {
	    height: 14.125rem;
		margin-top: 5.125rem;
	}
	form .actions {
		display: flex;
		justify-content: flex-end;
	}
	#index-intro .keyword-single {
		margin-left: calc(-1 * (var(--container-w) * 25 / 100));
	}
}

@media screen and (min-width: 992px) {
	:root {
		--container-w: calc(100% - 13.5rem);
	}
	HTML {
		font-size: 13px;
	}
	.loaded #preloader .preload-logo {
		top: 5.3125rem;
		left: 6.75rem;
		right: auto;
		transform: translate(0);
	}
	#preloader .preload-logo img,
	#preloader .preload-logo svg {
		width: 25.75rem;
		-webkit-transition: filter 800ms var(--theme-transition) 0ms, opacity 600ms var(--theme-transition) 0ms, width 600ms var(--theme-transition) 0ms;
		transition: filter 800ms var(--theme-transition) 0ms, opacity 600ms var(--theme-transition) 0ms, width 600ms var(--theme-transition) 0ms;
	}
	.loaded #preloader.loaded .preload-logo img,
	.loaded #preloader.loaded .preload-logo svg {
		width: 10.625rem;
	}
	.padded-left {
		padding-left: calc((100% - var(--container-w)) / 2)
	}
	.padded-right {
		padding-right: calc((100% - var(--container-w)) / 2)
	}
	#header #main-nav {
		padding-right: 6.75rem;
	}
	#header .navbar-toggler {
		right: 6.75rem;
	}
	.banner {
		max-height: 768px;
	}
	.text-element:before {
		display: none;
	}
	.text-element p:first-of-type:before {
		top: 0;
		left: -14rem;
	}	
	.banner .text-element p:first-of-type:before {
		background: var(--white-color);
	}	
    #vision-intro {
        padding-top: 21rem;
    }
	#news-kacheln .container {
		max-width: calc(1406px + 13.5rem);
		padding-left: 6.75rem;
		padding-right: 6.75rem;
	}
	.accordion-item .accordion-button {
		padding-left: calc(8.333333% + 1.5rem);
	}
	section.frame-bordered {
		padding-right: calc(8.33333% + 1.5rem);
	}
	section.frame-bordered .row {
		padding-left: 2%;
	}
}

@media screen and (min-width: 1200px) {
	HTML {
		font-size: 13px;
	}
	.banner,
	.banner video {
		max-height: 900px;
	}
}

@media screen and (min-width: 1400px) {
	HTML {
		font-size: 14px;
	}
	#news-start .news-arrow {
		position: absolute;
		left: calc(var(--bs-gutter-x) / 2);
		bottom: 0;
	}
	.accordion-item.has-pic .accordion-button {
        -webkit-transition: padding 500ms var(--theme-transition) 0ms;
        transition: padding 500ms var(--theme-transition) 0ms;
    }
	.accordion-item.has-pic.open .accordion-button {
        padding-left: calc(16.66666% + 3.5rem);
    }
	.frame-type-ce_accordion .accordion-item.has-pic .accordion-collapse .ce-bodytext {
		transform: translateX(calc(8.3333% + 3rem));
	}
	.frame-type-ce_accordion .accordion-item.has-pic .accordion-body .ce-gallery figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
	.frame-type-ce_accordion .accordion-item.has-pic .accordion-body .ce-gallery {
		position: absolute;
		max-width: calc(var(--container-w) * 0.33333 + 4.5rem);
		max-width: calc(var(--container-w) * 0.33333 + 4.5rem + 6.75rem);
		top: 4.75rem;
		left: calc(-1 * (25% - 3rem) - 6.75rem);
		max-height: 557px;
		margin-top: 0;
		opacity: 0;
        -webkit-transition: opacity 300ms var(--theme-transition) 0ms;
        transition: opacity 300ms var(--theme-transition) 0ms;
		overflow: hidden;
	}
	.frame-type-ce_accordion .accordion-item.has-pic.open .accordion-body .ce-gallery {
		opacity: 1;
        -webkit-transition: opacity 300ms var(--theme-transition) 300ms;
        transition: opacity 300ms var(--theme-transition) 300ms;
	}
}

@media screen and (min-width: 1600px) {
	HTML {
		font-size: 15px;
	}
}

@media screen and (min-width: 1920px) {
	HTML {
		font-size: 16px;
	}
	.banner {
        min-height: 1080px;
		max-height: 1080px;
	}
}

@media screen and (min-width: 2560px) {
	:root {
		--container-w: 2280px;
	}
	#header #main-nav {
		right: calc((100vw - 2560px) / 2);
	}
	#header .navbar-toggler {
        right: calc((100vw - 2560px) / 2 + 6.75rem);
    }
	.banner,
	.banner video {
		min-height: 1080px;
		max-height: 1280px;
		max-height: 1440px;
	}
	.keywords {
		transform: rotate(-90deg) translateX(-24rem);
	}
	#page-2 .keywords {
		transform: rotate(-90deg) translateX(0rem) translateY(11rem);
	}
	.frame-type-ce_columns2.frame-layout-1 .row .ce-col:last-child > div,
	.frame-type-ce_columns2.frame-layout-2 .row .ce-col:first-child > div {
		width: calc(100% + 8.75rem);
	}
	.frame-type-ce_columns2.frame-layout-2 .row .ce-col:first-child > div {
		transform: translateX(-8.75rem);	
	}
	.frame-type-ce_accordion .accordion-item.has-pic .accordion-body .ce-gallery {
		max-width: 735px;
		max-height: 457px;
		left: calc(-735px + 6.75rem);
		
		max-width: 830px;
        max-height: 500px;
        left: calc(-735px - 3.75rem);
	}
	.frame-type-ce_accordion .accordion-item.has-pic .accordion-body {
		min-height: 450px;
	}
	#index-intro .keyword-single {
		margin-left: calc(-1 * (var(--container-w) * 12.5 / 100));
	}
}
@media screen and (max-width: 1919px) and (min-width: 768px) {
	#header #main-nav #main-nav-menu .nav-link, #header #main-nav #main-nav-menu .lang-link {
		font-size: 1rem;
	}	
	#header #main-nav #main-nav-menu .lang-link {
		height: 1rem;
	}
}
@media screen and (max-width: 2559px) {
	#project-detail-header .btn {
		margin-top: 3rem;
	}
}
@media screen and (max-width: 1919px) {
	body, p,
	#project-detail-header .project-contact p,
	.frame-type-text.frame-layout-2 .contenttable td small {
		font-size: 1.125rem;
	}
	h1 {
		font-size: 4rem;
		font-size: 5rem;
	}
	h2,
	#kontakt-intro h1 {
		font-size: 2.25rem;
	}
	.project-header-overlay .container {
		padding-bottom: 5rem;
	}
	#project-detail-header h1 {
		margin-bottom: 3rem;
	}
	#project-detail-header .btn {
		margin-top: 2rem;
	}
	.project-teaser .project-teaser-overlay {
		padding: 4.75rem 8.5rem 4.75rem 4.75rem;
	}
	#project-detail-header p:last-of-type {
		margin-bottom: 1.5rem;
	}
	#page-5 .keywords {
		transform: rotate(-90deg) translateX(-26rem) translateY(3vw);
	}
	.frame-type-ce_accordion:before {
		bottom: 10.55rem;
		font-size: 10.5rem;
	}
	.frame-type-text.frame-layout-2 .contenttable td .lead {
		font-size: 5.625rem;
	}
}
@media screen and (max-width: 1599px) {
	.projekt-teaser-big .projekt-teaser-big-overlay {
		padding-right: 6.75rem;
	}
	.projekt-teaser-big .projekt-teaser-big-overlay .text-link {
		margin-top: 6rem;
	}
	.frame-type-ce_accordion:before {
        bottom: 12rem;
        font-size: 8.5rem;
    }
	#index-intro .keyword-single {
		font-size: 40rem;
	}
}
@media screen and (max-width: 1399px) {
	.frame-type-ce_accordion .accordion-item.has-pic .accordion-body .ce-gallery {
		margin-top: 2rem;
	}
	.projekt-teaser-big .projekt-teaser-big-overlay {
		width: 50%;
	}
	#project-detail-header h1 {
		font-size: 3.125rem;
		font-size: 4.5rem;
	}
	h2,
	#kontakt-intro h1,
	.frame-type-text.frame-layout-1 h2, .text-headline-light h2 {
		font-size: 1.75rem;
	}
	h3,
	#footer .footer-bottom h3 {
		font-size: 1.5rem;
	}
	.frame-type-ce_accordion:before {
        display: none;
    }
	.frame-type-ce_accordion:after {
		width: 100%;
		max-width: 983px;
		display: block;
		content: "Haltung";
		font-family: 'Italiana', serif;
		font-size: 12.5rem;
		color: var(--theme-lightgrey2);
		margin-left: auto;
		margin-right: auto;
		text-align: right;
		padding: 0 1.75rem;
		opacity: .5;
	}
	#index-intro .keyword-single {
		font-size: 35rem;
	}
	.accordion-collapse.show .accordion-body {
        overflow: hidden;
    }
	.frame-type-text.frame-layout-2 .contenttable td .lead {
		font-size: 4.5rem;
	}
	#geschossplan #floorplan-table tr td:first-child {
		padding-left: 0;
	}
	#geschossplan #floorplan-table tr td:last-child {
		padding-right: 0;
	}
	#geschossplan #floorplan-table .expose {
		width: 5rem;
	}
}
@media screen and (max-width: 1199px) {
	.keywords {
		transform: rotate(-90deg) translateX(-26rem) translateY(13vw);
	}
	.project-teaser .project-teaser-overlay,
	.projekt-teaser-big .projekt-teaser-big-overlay {
		padding: 4rem;
	}
	.projekt-teaser-big .projekt-teaser-big-overlay .text-link {
		margin-top: 2rem;
	}
	#page-2 .keywords {
		transform: rotate(-90deg) translateX(0rem) translateY(0rem);
	}
	#page-5 .keywords {
        transform: rotate(-90deg) translateX(-26rem) translateY(0vw);
    }
	.frame-type-text.frame-layout-2 .contenttable td .lead {
        font-size: 2.75rem;
		line-height: 1.5;
    }
	.frame-type-text.frame-layout-3 h2 {
		font-size: 4rem;
	}
	.frame-type-text.frame-layout-3 h3 {
		font-size: 3.25rem;
	}
	#wohnungen-intro .keyword-single {
		font-size: 10rem;
	}
	#geschossplan #floorplan-table {
		font-size: .875rem;
	}
	#geschossplan #floorplan-table .link {
		width: calc(8.75rem + 0.875rem);
	}
	#index-intro .keyword-single {
		font-size: 30rem;
	}
	#footer .socials {
		position: relative !important;
		right: unset;
		margin-bottom: 3.75rem;
	}
}
@media screen and (max-width: 1199px) and (min-width: 992px) {
	.loaded .accordion-item.aos-animate .accordion-button::before {
		right: 2rem;
	}
	.accordion-button::after {
		right: calc(4.5rem - .5px);
	}
}

@media screen and (max-width: 991px) {
.preload-logo {
    left: 0 !important;
    right: 0 !important;
    margin: 0 auto !important;
    transform: translateY(-50%);
}
  
	#header #main-nav {
	    width: 9.75rem;
        max-width: 710px;
    }
	.banner,
	.banner video {
		min-height: 640px;
		max-height: 800px;
	}
	#project-detail-header .btn {
		display: none !important;
	}
	#page-3 #project-detail-header .btn {
		display: inline-flex !important;
	}
	.keywords {
		transform: rotate(-90deg) translateX(-30rem) translateY(13vw);
	}
	.text-element {
		text-align: left !important;
		/*padding-top: 1.75rem;*/
	}
	.text-element:before {
		display: none;
	}
	.text-element h2 {
		margin-bottom: 3.5rem;
	}
	.text-element p:first-of-type:before {
		display: none;
	}
	.text-element p:last-of-type {
		margin-bottom: 2.5rem;
	}
	.text-element p + ul, .text-element-alt p + ul {
		margin-top: -1rem;
	}
	.project-teaser .project-teaser-overlay {
		padding: 3rem;
	}
	.accordion {
		max-width: calc(100% - 13.5rem);
	}
	.frame-type-ce_accordion .accordion-button,
	.frame-type-ce_accordion .accordion-body {
		padding-left: 0;
	}
	.frame-type-ce_accordion .accordion-button {
		-webkit-hyphens: auto;
		hyphens: auto;
	}
	.loaded .frame-type-ce_accordion .accordion-item.aos-animate:before {
		left: -6.75rem !important;
		width: 100vw;
	}
	.projekt-teaser-big .projekt-teaser-big-overlay p {
		font-size: 1rem;
	}
	.full-service-col {
		margin-top: -10.5rem;
	}
	#location-modul-inner {
		overflow: auto;
	}
	#location-modul picture,
	#location-modul picture img {
		width: 991px !important;
		max-width: 991px !important;
		width: auto !important;
		max-width: unset !important;
		height: 637px;
	}
	.frame-type-text.frame-layout-2 .contenttable td {
		padding: 1.875rem 2rem;
	}
	.frame-type-text.frame-layout-2 .contenttable td .lead {
        font-size: 2.125rem;
    }
	#wohnungen-intro .keyword-single {
		font-size: 8rem;
		transform: translateX(-3.75rem);
	}
	#page-1 #wohnungen-intro .keyword-single {
		margin-top: -3rem;
		margin-bottom: 5rem;
	}
}

@media screen and (max-width: 991px) and (min-width: 768px) {
	#news-start .container .news-start-inner:before {
		width: calc(100% + 6.75rem);
	}
}
@media screen and (max-width: 767px) {
	body, p {
		font-size: 1rem;
		line-height: 1.625;
	}
	section {
		padding: 5.25rem 0;
	}
	/*.frame-type-ce_container + .frame-type-ce_container section:not(.pt-0) {
		padding-top: 0;
	}*/
	#grundrisse {
		padding-top: 5.25rem;
	}
	#c105 {
		margin-top: 0 !important;
	}
	.pb-big {
		padding-bottom: 5.25rem !important;
	}
	.container,
	.container.container-fluid {
		width:100%;
		max-width: 100%;
	}
	.container {
		padding-left: 1.75rem;
		padding-right: 1.75rem;
	}
	.container .container {
		padding-left: 0;
		padding-right: 0;
	}
	.frame-bordered .container {
		width: calc(100% - 3.5rem);
		padding-top: 4rem;
		padding-bottom: 3.5rem;
	}
	section.padded-left .container-fluid > .row > .ce-col,
	section.padded-right .container-fluid > .row > .ce-col {
		padding: 0;
	}
	h1,
	#kontakt-intro h1 {
		font-size: 2.375rem;
		line-height: 1.315;
	}
	#project-detail-header h1 {
		font-size: 3.125rem;
		line-height: 0.95;
	}
	h2,
	#kontakt-intro h1,
	#projects-intro h1,
	.frame-type-text.frame-layout-1 h2,
	.text-headline-light h2,
	#grundrisse h2,
	.news-col .news-teaser-text h2,
	.news-col .news-item.topnews .news-teaser-text h2 {
		font-size: 1.625rem;
		line-height: 1.2;
	}
	.news-col .news-teaser-text h2 {
		-webkit-hyphens: auto;
		hyphens: auto;
	}
	#news-start h2 {
		font-size: 2.125rem;
		line-height: 1.18;
	}
	h3 {
		font-size: 1.375rem;
		line-height: 1.27;
	}
	.accordion-item .accordion-button {
        font-size: 1.5rem;
    }
	/*h1 small,
	h2 small {
		display: none;
	}*/
	.lead {
		font-size: 1.125rem;
	}
	.btn {
		font-size: 1rem;
		line-height: 1.125;
		padding: 1rem 1.5rem;
	}
	.text-link {
		font-size: 1rem;
		gap: 2rem;
	}
	.btn svg,
	.text-link svg {
		width: 1.125rem;
	}
	.frame-type-text blockquote, .frame-type-text blockquote p {
		font-size: 1.5625rem;
	}
	.mobile-text-right {
		text-align: right;
	}
	#header {
		padding-top: 2.1875rem;
	}
	#header .navbar-brand img,
	#header .navbar-brand svg {
		width: 5.4375rem;
	}
	#header #main-nav {
		width: 5.75rem;
		height: 3rem;
		top: 1.25rem;
		padding: 0;
		-webkit-transition: none !important;
		-moz-transition: none !important;
		transition:none !important;
	}
	#header #main-nav.open {
		top: 0;
		width: 100%;
		height: 100%;
		background: transparent;
		overflow-y: auto;
	}
	#header #main-nav #main-nav-menu {
		position: absolute;
		width: 100%;
		max-width: 575px;
		height: 100%;
		top: 0;
		right: 0;
		opacity: 1;
		padding: 9rem 1.75rem 2rem;
		transform: translateX(100%);
		-webkit-transition: transform 0ms var(--theme-transition) 00ms !important;
		-moz-transition: transform 0ms var(--theme-transition) 00ms !important;
		transition: transform 0ms var(--theme-transition) 00ms !important;
		background: rgba(38, 38, 38, .9);
	}
	#header.theme-dark #main-nav #main-nav-menu {
		background: rgba(255, 255, 255, .9);
	}
	#header #main-nav.open #main-nav-menu {
		transform: translateX(0);
		-webkit-transition: transform 600ms var(--theme-transition) 100ms !important;
		-moz-transition: transform 600ms var(--theme-transition) 100ms !important;
		transition: transform 600ms var(--theme-transition) 100ms !important;
	}
	#header #main-nav #main-nav-menu .main-nav {
		text-align: right;
	}
	#header #main-nav .navbar-nav .nav-item {
		margin-bottom: 2rem;
	}
	#header #main-nav #main-nav-menu .language-nav {
		justify-content: flex-end;
		margin-right: 3.5rem;
	}
	#header .navbar-toggler {
	    top: 2.125rem;
		right: 1.875rem;
	}
	#header .navbar-toggler .icon-bar {
		width: 2rem;
	}
	#header .navbar-toggler .icon-bar.top {
		margin-bottom: 0.375rem;
	}
	#header .navbar-toggler .icon-bar.bottom {
		margin-top: 0.375rem;
	}
	#content.no-banner {
		padding-top: 12rem;
	}
	#sticky-contact {
		width: 3.5rem;
		height: 3.5rem;
		left: auto;
		right: 0;
		transform: translateY(-50%) translateX(101%);
	}
	#sticky-contact svg {
		transform: scale(.75);
	}
	.banner .container {
		position: absolute;
		width: 100%;
		top: auto !important;
		bottom: 7.625rem !important;
		bottom: 4.875rem !important;
		transform: none !important;
	}
	.project-header-overlay .container {
        padding-bottom: 0;
    }
	.banner.video-banner,
	.banner video {
		max-height: 536px;
	}
	.mediaelement-video .play-icon,
	.mediaelement-video .play-icon svg {
		width: 6.5rem;
		height: 6.5rem;
	}
	.banner h1 {
		margin-bottom: 0;
	}
	.banner .text-element:before {
		display: none;
	}
	#project-detail-header h1 {
		margin-bottom: 4rem;
	}
	#project-detail-header .project-contact p {
		margin-bottom: 0;
	}
	.banner .scroller {	
		bottom: 1.8125rem;
	}
	.banner #vignette {
		width: 7rem;
		height: 6rem;
		font-size: 0.675rem;
		gap: .5rem;
	}
	.banner #vignette img {
		width: 4rem;
		height: auto;
	}
	.text-element-alt {
		padding: 4rem 1.75rem 4rem;
		background: var(--theme-darkgrey);
	}
	.frame-type-ce_container .text-element-alt {
		padding: 5.5rem 1.75rem 4rem;
		margin-left: -1.75rem;
		margin-right: -1.75rem;
	}
	.text-element-alt:before {
		top: 4rem;
		left: 1.75rem;
		background: var(--white-color);
	}
	.text-element-alt * {
		color: var(--white-color);
	}
	#about-intro {
		padding-top: 0;
	}
	.frame-bordered .container .text-element p:last-child {
		margin-bottom: 3rem !important;
	}
	.projects-row {
		margin: 2rem -1.75rem; 
	}
	.project-teaser .project-teaser-overlay {
		padding: 1.75rem;
	}
	.project-teaser .project-teaser-overlay .project-teaser-overlay-inner {
		align-items: flex-end;
	}
	.project-teaser .project-teaser-overlay h3 {
		font-size: 1.625rem;
	}
	.project-teaser .project-teaser-overlay p {
		font-size: 1rem;
		margin-bottom: 0;
	}
	.project-teaser .project-teaser-overlay svg {
		width: 1.875rem;
		height: auto;
	}
	.btn-container.justify-content-end {
		justify-content: flex-start !important;
	}
	/*
	.row .ce-col:not(:first-child) .frame-type-image.frame-layout-1,
	.row .ce-col:not(:first-child) .frame-type-textpic.frame-layout-1 {
		margin-top: 2.375rem;
	}	*/
	.row .frame-type-image.frame-layout-1,
	.row .frame-type-textpic.frame-layout-1 {
		float: none;
		margin-left: -1.75rem;
		margin-right:-1.75rem;
	}
	#grundrisse .row .frame-type-image.frame-layout-1,
	#grundrisse .row .frame-type-textpic.frame-layout-1 {
		margin-left: 0;
		margin-right: 0;
	}
	.frame-type-ce_columns2.frame-layout-2 .row .ce-col:first-child > div {
		transform: none;
	}
	#news-start {
		background: var(--theme-darkgrey);
	}
	#news-start .container .news-start-inner {
		padding-top: 1.5rem;
		padding-bottom: 6.25rem;
	}
	#news-start .container:before {	
		display: none;
	}
	#news-start .date {
		font-size: 0.75rem;
		margin-bottom: 1.5rem;
	}
	.news-col {
		margin-bottom: 1.75rem;
	}
	.news .news-arrow {
		width: 1.875rem;
		margin-bottom: 2.1875rem;
	}
	.news .news-col .news-arrow {
		position: absolute;
		width: 1.875rem;
		right: 1.75rem;
		bottom: 0rem;
	}
	.news-col .news-teaser-text {
		padding: 1.75rem 1.75rem 3.5rem;
	}
	.logos {
		justify-content: center !important;
		gap: 5.5rem;
		margin-top: 3.5rem;
	}
	.frame-type-text blockquote {
		font-size: 1.5625rem;
		line-height: 1.56;
	}
	.frame-type-text i, .frame-type-text em {
		font-size: 1.125rem;
	}
	.frame-type-ce_accordion > header h2 {
		width: 100%;
		font-size: 2.875rem;
		padding: 0 1.75rem;
	}
	.keywords-wrapper {
		height: 20.75rem;
		transform: none !important;
	}
	#page-2 .keywords-wrapper {
		height: 32.75rem;
	}
	.keywords {
        transform: rotate(-90deg) translateX(-23rem) translateY(35vw);
    }
	.keywords .keyword-one {
		font-size: 3.5625rem !important;
	}
	.keywords .keyword-two {
		font-size: 4.75rem !important;
	}
	.keywords .keyword-three {
		font-size: 3rem !important;
	}
	#projects-overview {
		padding-top: 10.5rem;
	}
	#page-2 .keywords {
        transform: rotate(-90deg) translateX(-25rem) translateY(36vw);
    }
	#page-5 .keywords {
        transform: rotate(-90deg) translateX(-25rem) translateY(53vw);
	}
	#news-intro {
		padding-bottom: 3.25rem;
	}
	.accordion {
		max-width: calc(100% - 3.5rem);
	}
	.loaded .frame-type-ce_accordion .accordion-item.aos-animate:before {
		left: -1.75rem !important;
	}
	h3, .accordion-item .accordion-button {
		font-size: 1.5rem;
	}
	.frame-type-ce_accordion .accordion-button {
		padding: 2.75rem 4.3125rem 2.75rem 0rem;
	}
	.loaded .accordion-item.aos-animate .accordion-button::before {
		width: 3.125rem;
	}
	.loaded .frame-type-ce_accordion .accordion-item.aos-animate .accordion-button::after {
		height: 3.125rem;
		right: calc(1.75rem - .5px);
	}
	.frame-type-ce_accordion:after {
		font-size: 5rem;
	}
    .accordion-body p {
		font-size: 1rem;
		line-height: 1.625;
	}
	.small-teaser {
		margin-left: -1.75rem;
		margin-right: -1.75rem;
	}
	.small-teaser .small-teaser-overlay {
		padding: 1.75rem 1.75rem 1.5rem 1.75rem;
	}
	#projects-intro {
		padding-top: 12.4375rem;
		padding-bottom: 3.5rem;
	}
	#projects-intro h1:before {
		display: block;
		width: 11rem;
		height: 1px; 
		content: " ";
		background: var(--theme-beige);
		margin-bottom: 1.5rem;
	}
	.projekt-teaser-big .projekt-teaser-big-overlay:not(.mobile) {
		display: flex;
		width: 100%;
		align-items: flex-end;
		flex-wrap: wrap;
		opacity: 1 !important;
		transform: none !important;
		padding: 1.75rem 1.75rem 2.25rem;
		background: rgba(0,0,0,.4) !important;
	}
	.projekt-teaser-big .projekt-teaser-big-overlay:not(.mobile) * {
		width: 100%;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
	}
	.projekt-teaser-big .projekt-teaser-big-overlay address {
		margin-bottom: 0;
	}
	.projekt-teaser-big .projekt-teaser-big-overlay.mobile {
		position: relative !important;
		width: 100%;
		padding: 1.75rem 1.75rem 2.25rem;
		background: rgba(0,0,0,.8);
	}
	.projekt-teaser-big .projekt-teaser-big-overlay.bg-beige.mobile {
		background: rgba(196, 177, 155, 1);
	}
	.projekt-teaser-big .projekt-teaser-big-overlay address{
		font-size: 0.75rem;
	}
	.full-service-col {
		margin-top: 2.5rem;
	}
	#project-detail-header:before {
		width: 100%;
		background: rgba(38, 38, 38, .4);
	}
	#project-detail-header .project-header-overlay {
		width:100%;
	}
	#project-detail-header .slick-arrow {
		bottom: 1.25rem;
		right: 0.75rem;
	}
	#project-detail-header .slick-prev {
		right: 4.75rem;
	}
	#location-modul {
		margin: 0 -1.75rem 5.75rem;
	}
	#location-controls {
		padding-left: 1.75rem;
		padding-right: 1.75rem;
	}
	.frame-type-text + .btn-container {
		margin-top: 4rem;
	}
	.news-slider .slick-arrow {
		width: 1.875rem;
		height: 1.5rem;
		bottom: -4rem;
	}
	.gallery.dce picture {
		display: block;
		margin-bottom: .5rem;
	}
	.frame-type-text.frame-layout-2 .contenttable td {
		padding: 1.125rem 0;
	}
	.frame-type-text.frame-layout-2 .contenttable td,
	.frame-type-text.frame-layout-2 .contenttable tr:last-child td {
        display: block;
		border-bottom: 1px solid var(--text-color);
		border-left: 0 !important;
    }
	.frame-type-text.frame-layout-2 .contenttable tr:last-child td:last-child {
		border-bottom: 0;
	}
	.frame-type-text.frame-layout-2 .contenttable td p:last-child {
		margin-bottom: .5rem;
	}
	.frame-type-text.frame-layout-2 .contenttable td .lead {
		font-size: 2.75rem;
	}
	.frame-type-text.frame-layout-2 .contenttable td small {
		font-size: 0.875rem;
		font-weight: 500;
	}
	.simple-slider {
		width: calc(100% + 3.5rem) !important;
		margin-left: -1.75rem !important;
	}
	.simple-slider .slick-arrow {
		right: 1.25rem;
		bottom: 1.5rem;
	}
	.simple-slider .slick-prev {
		right: 5rem;
	}
	.frame-type-text.frame-layout-3 h2 {
		font-size: 3.25rem;
	}
	.frame-type-text.frame-layout-3 h3 {
		font-size: 2.8125rem;
	}
	#geschossplan .img-col {
		text-align: center;
	}
	#geschossplan .geschoss-overlay {
		display: none !important;
	}
	#geschossplan #floorplan-table {
		display: block;
		font-size: 1rem;
	}
	#geschossplan #floorplan-table tbody {
		display: block;
		width: 100%;
	}
	#geschossplan #floorplan-table tr {
		position: relative;
		display: flex;
		width: 100%;
		flex-wrap: wrap;
		padding: 1.5rem 0 5rem 2rem;
	}
	#geschossplan #floorplan-table tr td {
		padding: 0 .5rem .5rem;
	}
	#geschossplan #floorplan-table .number {
		position: absolute;
		top: 1.5rem;
		left: 0;
	}
	#geschossplan #floorplan-table .link,
	#geschossplan #floorplan-table .expose {
		width: auto !important;
		position: absolute;
		right: 0;
		bottom: 1.5rem;
		text-align: right;
	}
	#geschossplan #floorplan-table .link {
		right: 4.5rem;
	}
	#geschossplan #floorplan-table .wohnung-link svg {
		margin-right: 0.375rem;
	}
	#wohnungen-intro .keyword-single {
		font-size: 3.25rem;
		transform: none;
		text-align: right;
		margin-top: 2rem;
		margin-bottom: 4rem;
	}
	.keyword-single .parallax {
		transform: none !important;
	}
	#index-intro .keyword-single {
		font-size: 12.5rem;
		transform: translateY(-4.5rem);
	}
	#lage-intro .keyword-single {
		font-size: 7.9375rem;
		text-align: right;
		margin-top: -4.5rem;
	}
	#page-1 #wohnungen-intro .keyword-single {
		font-size: 4.375rem;
		text-align: left;
        margin-top: -2rem;
        margin-bottom: 2.5rem;
    }
	.text-white.headline-black h3,
	.text-white.headline-black h3 span {
		font-size: 0.875rem;
	}
	#kontakt {
		padding-top: 5.25rem;
	}
	form textarea {
	    height: 10rem;
	}
	form .frame-type-text {
		margin-top: -1.8125rem;
	}
	#kontakt-intro h1 {
		margin-bottom: 1.5rem;
	}
	#page-1 #footer {
		color: var(--text-color);
		background: var(--white-color);
	}
	#footer .footer-bottom {
		padding-top: 9.0625rem;
		padding-top: 6.0625rem;
		padding-bottom: 3rem;
	}
	#footer .logo-col {
		margin-bottom: 4.5rem;
	}
	#footer .logo-col svg {
		width: 1.25rem;
	}
	#page-1 #footer .logo-col svg path {
		-ms-fill: var(--text-color);
		fill: var(--text-color);
	}
	#footer .footer-bottom h3 {
		font-size: 1.375rem;
		margin-bottom: 3rem;
	}
	#footer .footer-bottom p {
		font-size: 1rem;
		line-height: 1.625;
	}
	#footer ul {
		font-size: 0.875rem;
	}
	#page-1 #footer .logo-col svg path,
	#page-1 #footer .socials svg path {
		-ms-fill: var(--text-color);
		fill: var(--text-color);
	}
}

@media screen and (max-width: 575px) {
	.banner picture:before,
	.banner.overlay-left picture:before,
	.banner.overlay-right picture:before {
		background: #4E4F50;
		background: -webkit-linear-gradient(90deg, rgba(78, 79, 80, .98) 2%, rgba(55, 60, 70, 0) 66%, rgba(55, 60, 70, 0) 100%);
		background: -moz-linear-gradient(90deg, rgba(78, 79, 80, .98) 2%, rgba(55, 60, 70, 0) 66%, rgba(55, 60, 70, 0) 100%);
		background: linear-gradient(90deg, rgba(78, 79, 80, .98) 2%, rgba(55, 60, 70, 0) 66%, rgba(55, 60, 70, 0) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#4E4F50", endColorstr="#373C46", GradientType=1);
	}
	.om-cookie-panel {
		max-height: 90vh;
		max-height: 90dvh;
		padding: 1.75rem;
		overflow-y: auto;
	}
	.om-cookie-panel .cookie-panel__checkbox-wrap:first-child {
		margin-bottom: 1rem;
	}
	.om-cookie-panel .cookie-panel__checkbox-wrap {
		display: block !important;
		margin-left: 0 !important;
	}
	.om-cookie-panel .cookie-panel__description p {
		padding: 0;
	}
	#location-modul {
		border-left: 0;
		border-right: 0;
	}
	#location-modul #location-controls {
		top: auto;
		bottom: 1.125rem;
	}
	#location-modul #location-controls button {
		display: inline-block !important;
		padding-left: 1rem;
		padding-right: 1rem;
	}
	#page-5 .keywords {
        transform: rotate(-90deg) translateX(-18rem) translateY(50vw) scale(0.75);
	}
}
