/*
	Theme Name: HTML5 Blank
	Theme URI: http://html5blank.com
	Description: HTML5 Blank WordPress Theme
	Version: 1.4.3
	Author: Todd Motto (@toddmotto)
	Author URI: http://toddmotto.com
	Tags: Blank, HTML5, CSS3

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}
body {
	font:300 11px/1.4 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-family: "elza-text", sans-serif;
font-weight: 300;
	color: #3C3C3C;
font-style: normal;
	overflow-x: hidden;
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
	vertical-align:bottom;
	width: 100%;
}
a {
	color: inherit;
	text-decoration:none;
}
a:hover {
	color: inherit;
	text-decoration: none !important;
}
a:focus {
	outline:0;
	text-decoration: none !important;
}
a:hover,
a:active {
	outline:0;
}

p a:hover {
	text-decoration: underline !important;
}

input:focus {
	outline:0;
	border:1px solid #04A4CC;
}

strong {
	font-weight: 500;
}

.hide {
	display: none !important;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */
.wrapper {
	font-size: clamp(13px, 1.1vw, 36px);
	
}


main {
	opacity: 0;
	transition: opacity 0.3s;
}

.page_loaded main {
	opacity: 1;
}

section {
	overflow-x: hidden;
}

article, .article {
	width: 90%;
	max-width: 76em;
	margin: 0 auto;
}

/* header */
.header {
	position: fixed;
	width: 100%;
	left: 0;
	top: 2em;
	z-index: 10;
	height: 4em;
	background-color: rgba(60,60,60,0);
	transform: translateY(0);
	transition: all 0.5s;
}

.scrolled-intro.header {
	top: 0em;
}

.scrolled-intro.header, .menuopen .header, body:not(.home) .header {
	background-color: rgba(60,60,60,0.6);
	backdrop-filter: blur(20px);
	height: 4em;
}

.scrolled-down.header {
	transform: translateY(-100%);
}



.menuopen .header {
	transform: translateY(0%) !important;
	background-color: rgba(60,60,60,0) !important;
}

.header_inner {
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* logo */
.logo {
	height: 1.8em;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.5s;
}

.scrolled-intro .logo, .menuopen .logo, body:not(.home) .logo {
	opacity: 1;
	pointer-events: auto;
}

.logo-img {
	height: 100%;
	width: auto;
	transition: all 0.5s;
	filter: invert(0);
}

.menuopen .logo-img {
	filter: invert(1);
}

/* nav */

.menu_icon_wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 2em;
}

.menu_icon_ct {
	width: 1.2em;
	height: 1.2em;
	display: flex;
	align-items: center;
	cursor: pointer;
}

.menu_icon {
	height: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	transition: all 0.5s;
}


.menu_icon_line {
	width: 100%;
	height: 2px;
	background-color: #fff;
	transition: all 0.5s;
}

.menuopen .menu_icon_line {
	background-color: #3C3C3C;
}

.menu_icon_ct .menu_icon_line.line1 {
	transform: translateY(calc(-0.5em + 4px)) rotate(0);
}

.menu_icon_ct .menu_icon_line.line3 {
	transform: translateY(calc(0.5em - 4px)) rotate(0);
}



.menu_icon_ct:hover .menu_icon_line.line2 {
	width: 60%;
}

.menuopen .menu_icon_ct .menu_icon_line.line2 {
	width: 0%;
}

.menuopen .menu_icon_ct .menu_icon_line.line1 {
	transform: translateY(2px) rotate(45deg);
}

.menuopen .menu_icon_ct .menu_icon_line.line3 {
	transform: translateY(-2px) rotate(-45deg);
}



.nav {
	position: fixed;
	z-index: 8;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	min-height: 100%;
	background-color: rgba(255,255,255,0.85);
	display: flex;
	flex-direction: column;
	justify-content: center;
	opacity: 0;
	align-items: center;
	text-align: center;
	backdrop-filter: blur(12px);
	pointer-events: none;
	transition: all 0.5s;
}

footer.nav {
	opacity: 1;
	position: relative;
	pointer-events: auto;
	z-index: 2;
}

.menuopen .nav {
	opacity: 1;
	pointer-events: auto;
}


.head_meta {
	display: flex;
	gap: 2em;
}

.jetzt_anfragen {
	transition: all 0.5s;
}

.menuopen .jetzt_anfragen {
	opacity: 0;
	pointer-events: none;
}


.wp-block-button__link.on_bg {
	border-color: #fff;
	border: 1px solid;
	color: #fff;
	background-color: rgba(255,255,255,0);
	text-transform: uppercase;
	font-size: 0.86em;
	font-weight: 400;
}

.wp-block-button.is-style-outline .wp-block-button__link.on_bg:hover {
	color: #3c3c3c;
	background-color: rgba(255,255,255,0.6);
}


.nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nav ul li {
	
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 1em 0;
}

.nav ul li a {
	font-size: 1.2em;
	transition: all 0.5s;
	letter-spacing: 0.04em;
}

.nav ul li a:hover {
	letter-spacing: 0.12em;
}


footer .nav_extra_cols.col2 a::before, footer .nav_extra_cols.col4 a::before {
	background-color: #fff;
}

.nav > article {
	display: grid;
	grid-gap: 6em;
	grid-template-columns: max-content max-content max-content auto;
	padding-top: 4em;
	padding-bottom: 3em;
	height: 100%;
}

.nav_extra_cols {
	align-self: flex-end;
	text-align: left;
}

.nav_extra_cols.col4 {
	text-align: right;
}

.soc_med_wrapper {
	display: flex;
	gap: 1em;
}

.soc_med_ico_wrapper {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	width: 2em;
	height: 2em;
	border-radius: 100%;
	border: 0.1em solid;
	position: relative;
}

.soc_med_ico_wrapper .soc_med_ico {
	width: 100%;
	height: auto;
}

footer.nav .soc_med_ico_wrapper .soc_med_ico {
	filter: brightness(0) invert(1);
}



.soc_med_ico_neg {
	background-color: #3C3C3C;
	border-radius: 0%;
	border: 0.1em solid;
	width: 2em !important;
	height: 2em !importan;
	margin-left: -0.1em;
	position: absolute;
	top: -0.1em;
	opacity: 0;
	transition: all 0.5s;
}

.soc_med_ico_wrapper:hover .soc_med_ico_neg {
	/*transform: translateY(-100%);*/
	opacity: 1;
}

footer.nav .soc_med_ico_neg {
	background-color: #fff;
	filter: none !important;
}



.soc_med_ico_neg img {
	filter: brightness(0) invert(1);
}

footer.nav .soc_med_ico_neg img {
	filter: none;
}


.sub-menu a {
	display: inline-block;
	position: relative;
	transition: all 0.3s;
}

.sub-menu a::after {
	content: '';
	width: 0%;
	height: 0.04em;
	background-color: #3C3C3C;
	position: absolute;
	bottom: 0;
	right: 0;
	transition: all 0.3s;
}

footer.nav .sub-menu a::after {
	background-color: #fff;
}

.sub-menu a:hover::after {
	width: 100%;
	left: 0;
	right: auto;
}

.footer-logo {
	height: 1.7em;
	margin-bottom: 0.8em;
	display: inline-block;
	width: auto;
	filter: brightness(0) invert(1);
}

footer.nav > article {
	justify-content: space-between;
}

footer.nav .nav_extra_cols.col0 {
	align-self: flex-start;
	max-width: 15em;
}

.nl_info_text {
	margin-bottom: 2em;
}

.nl_input {
	position: relative;
	display: inline-block;
}

.nl_input::after {
	content: '';
	position: relative;
	width: 1em;
	height: 1em;
	background-image: url(/wp-content/uploads/2026/03/sym_arrow.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	filter: brightness(0) invert(1);
	display: inline-block;
	cursor: pointer;
	transform: translateX(-100%);
	opacity: 0.5;
}


.nl_input input {
	background: none !important;
	border: none;
	border-bottom: 1px solid rgba(255,255,255,0.5);
	
}

.nl_input input:focus {
	border-bottom: 1px solid rgba(255,255,255,1);
}


/* sidebar */
.sidebar {

}
/* footer */
.footer {
	background-color: #3c3c3c;
	margin-top: 6em;
	color: #fff;
}


/*------------------------------------*\
    ELEMENTE
\*------------------------------------*/


/* Intro */

.intro_frame_wrapper::after {
	content: '';
	width: 100%;
	height: 50lvh;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #000000;
background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0) 100%);
}

.intro_frame_bg {
	height: 100lvh;
}

.intro_frame_bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}


.intro_frame_content {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	width: 100%;
	height: 100%;
	color: #fff;
	padding-top: 2.1em;
}

.intro_frame_content > div, .intro_frame_content article {
	height: 100%;
}

.intro_frame_content article > div {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}



.intro_logo_wrapper {
	background-color: rgba(255,255,255,0.6);
	-webkit-mask-image: url(/wp-content/uploads/2026/08/logo_four.svg);
	  mask-image: url(/wp-content/uploads/2026/08/logo_four.svg);
	  mask-repeat: no-repeat;
	  mask-size: cover;
	backdrop-filter: blur(20px);
	width: 75%;
	opacity: 0;
	transform: translateY(30%);
	transition: all 3s;
	transition-delay: 0.3s;
	}

.intro_logo_wrapper img {
	opacity: 0;
	
}

.page_loaded .intro_logo_wrapper {
	opacity: 1;
	transform: translateY(0%);
}

.intro_frame_titel {
	font-size: 1.2em;
}

.intro_frame_titel h2 {
	transition: all 2s;
	transition-delay: 0.8s;
	opacity: 0;
	transform: translateX(2em);
}

.page_loaded .intro_frame_titel h2 {
	opacity: 1;
	transform: translateX(0em);
}

.intro_frame_cols {
	width: 80%;
	margin-top: 4em;
	padding-bottom: 1em;
}

.intro_frame_cols p {
	margin: 0;
}

.intro_frame_cols .wp-block-column  {
	border-right: 1px solid rgba(255,255,255,0.7);
	position: relative;
	transition: all 2s;
	opacity: 0;
	transform: translateY(4em);
}

.page_loaded .intro_frame_cols .wp-block-column  {
	opacity: 1;
	transform: translateY(0em);
}

.page_loaded .intro_frame_cols .wp-block-column:nth-of-type(1)  {
	transition-delay: 1.5s;
}
.page_loaded .intro_frame_cols .wp-block-column:nth-of-type(2)  {
	transition-delay: 2s;
}

.page_loaded .intro_frame_cols .wp-block-column:nth-of-type(3)  {
	transition-delay: 2.5s;
}


.intro_frame_cols .wp-block-column::before {
	content: '';
	position: absolute;
	top: -1.25em;
	left: 0;
	width: 100%;
	height: 1px;	
	background-color: rgba(255,255,255,0.7);
}

.intro_frame_cols .wp-block-column:last-of-type {
	border-right: none;
}

.intro_frame_text .wp-block-button {
	display: none;
}


/* haus details */

.haus_details_wrapper {
	position: relative;
	color: #fff;
}

.haus_details_wrapper .haus_details_tx1 {
	position: absolute;
	top: 1.5em;
	right: 10%;
	font-size: 1.2em;
}

.haus_details_wrapper figure img {
	aspect-ratio: 1.42;
	object-fit: cover;
	object-position: center 88%;
}

.haus_details_info {
	position: absolute;
	border-left: 1px solid rgba(255,255,255,0.5);
	padding-left: 0.8em;
}

.haus_details_dot {
	position: absolute;
	transform-origin: center center;
	left: -1.5em;
	bottom: -1.5em;
	border-radius: 100%;
	width: 3em;
	height: 3em;
	background-color: #fff;
	animation: dotpulse 3s linear infinite;
}

@keyframes dotpulse {
  0% {
    transform: scale(0.03);
	opacity: 1;
  }
  100% {
    transform: scale(1);
	opacity: 0;
  }
}

.haus_details_info p {
	margin-top: 0;
	font-size: 0.8em;
}

.haus_details_info.info1 {
	top: 7.5em;
	left: 16%;
	height: 21em;
}

.haus_details_info.info2 {
	top: 14em;
	left: 22.5%;
	height: 11em;
}

.haus_details_info.info3 {
	top: 18em;
	left: 41.5%;
	height: 15em;
	text-align: right;
	border-right: 1px solid rgba(255,255,255,0.5);
	padding-right: 0.8em;
	padding-left: 0;
	border-left: none;
}

.haus_details_info.info3 .haus_details_dot {
	left: auto;
	right: -1.5em;
}

.haus_details_info.info4 {
	top: 22em;
	left: 59.25%;
	height: 10em;
}


/* lp buttons */


.wp-block-button.is-style-outline {
	font-size: 0.8em;
	text-align: center;
}

.wp-block-button.is-style-outline .wp-block-button__link {
	text-align: center;
	letter-spacing: 0.1em;
	min-width: 13em;
	border-width: 1px;
	border-radius: 2em;
	transition: all 0.5s;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: #3C3C3C;
	color: #fff;
}

.wp-block-buttons.is-content-justification-center {
	gap: 3em;
}



/* Angebot */





.angebot_pre_wrapper .teaser_text {
	margin-bottom: -1em;
	position: relative;
	z-index: 5;
}

.ang_wrapper {
font-weight: 200;
font-style: normal;
margin-top: -4em;	
}


#ang_iso {
	position: sticky;
	top: 0;
	z-index: 4;
}

#ang_iso svg {
	overflow: visible;
}


.status_legende {
	font-family: archivo, sans-serif;
	font-weight: 200;
	font-style: normal;
	text-align: center;
	display: flex;
	justify-content: center;
	font-size: 0.9em;
	margin-top: 4em;
	grid-gap: 2em;
}

.status_legende div span {
	display: inline-block;
	width: 0.9em;
	height: 0.9em;
	border-radius: 100%;
	background-color: #9C9D9C;
	margin-right: 0.6em;
	margin-bottom: -0.15em;
}

.status_legende div.st_frei span {
	background-color: #65CB9C;
}

.status_legende div.st_verkauft span {
	background-color: #EF7373;
}

.status_legende div.st_vorreserviert span {
	background-color: #EBDE99;
}


/*

#ang_iso svg .cls-7, #ang_iso svg .cls-2, #ang_iso svg .cls-4 {
	fill: transparent;
	stroke: #fff;
	stroke-width: 2;
}

#ang_iso svg .cls-9 {
	fill: #fff;
}

#ang_iso svg .cls-10 {
	opacity: 0.8;
}

#ang_iso svg .cls-9x {
	fill: #988778;
}
*/

.ang_iso_inner {
	/*background-color: rgba(255,255,255,0.0);*/
	padding: 5em 11em 0em 4em;
	/*backdrop-filter: blur(0.7em);*/
	background-color: #F5F5F5;
}

.whg_row {
	display: contents;
	text-align: center;
}



.row_header > div {
	font-size: 0.7em;
	text-transform: uppercase;
	border-bottom: 1px solid rgba(100,100,100,1);
font-weight: 200;
font-style: normal;
	padding: 0.5em 0;
}

.row_item > div {
	border-bottom: 1px solid rgba(100,100,100,1);
	padding: 0.2em;
}

.row_item small {
	font-size: 0.65em;
}

.hlt_item:hover > div {
	background-color: rgba(0,0,0,0.1);
	font-weight: 400;
}

.whg_head_haus {
	grid-column: 1 / -1;
}

.whg_head_haus.whg_head_pp {
	padding-top: 2.4em;
}

.whg_head_haus span {
	text-transform: uppercase;
	font-family: archivo-expanded, sans-serif;
font-weight: 200;
font-style: normal;
	transform: translateX(-7em) translateY(1.5em);
	display: inline-block;
	font-size: 1.4em;
}

.whg_head_haus.first span {
	padding-top: 0;
}

.whg_info_wa8 {
	grid-column: 1 / -1;
	font-family: source-serif-pro, serif;
	font-size: 0.9em;
	padding-top: 1em;
	padding-left: 1.8em;
	font-weight: 300;
}

.ang_list {
	display: grid;
	grid-template-columns: 4em repeat(6, auto);
	width: 80%;
	margin: 0 auto;
}

.ang_legende {
	padding-right: 8em;
	padding-left: 1.4em;
}

.ang_legende_text {
	font-size: 0.8em;
	padding: 1em 2em 1em 2em;
	position: relative;
}

.ang_legende_text em {
	position: absolute;
	left: 0;
	font-style: normal;
}

[data-wid='pp1'] .col5::before {
	content: 'p.P. ';
}

.whg_row .col6 img {
	height: 1em;
	width: auto;
	top: -0.15em;
	position: relative;
}

.row_item:hover .col6 img {
	filter: none;
}

.row_item:hover .col6 img:hover {
	transform: scale(1.2);
}

.whg_row.st_vorreserviert .col6 img, .whg_row.st_reserviert .col6 img, .whg_row.st_verkauft .col6 img {
	opacity: 0.5;
}


.row_item .col1 {
	text-align: left;
	padding-left: 1.5em;
}

.row_item .col4, .row_item .col5 {
	text-align: right;
}

.row_item .col4 {
	padding-right: 29%;
}

.row_item .col5 {
	padding-right: 25%;
}


.whg_int {
	cursor: pointer;
}

.whg_row .col7 {
	position: relative;
}

.row_item .col7 span::before {
	content: '';
	display: inline-block;
	width: 0.8em;
	height: 0.8em;
	border-radius: 100%;
	background-color: #65CB9C;
}


.whg_row.st_vorreserviert .col7 span::before {
	background-color: #EBDE99;
}

.whg_row.st_reserviert .col7 span::before {
	background-color: #9C9D9C;
}

.whg_row.st_verkauft .col7 span::before {
	background-color: #EF7373;
}

.whg_row.st_verkauft, .whg_row.st_reserviert {
	color: rgba(100,100,100,0.5);
}


[data-lvl="pp"] .col1 {
	grid-column: span 2;
	text-align: left;
}

[data-lvl="pp"] .col2 {
	display: none;
}



.ang_iso_img .cls-3 {
	fill: #fff !important;
	transition: all 0.5s;
}

.wa1 #wa1 polygon, .wa2 #wa2 polygon, .wa3 #wa3 polygon, .wa4 #wa4 polygon, .wa5 #wa5 polygon, .wa6 #wa6 polygon, .wa7 #wa7 path, .wa8 #wa8 path,
.wb1 #wb1 path, .wb2 #wb2 polygon, .wb3 #wb3 polygon, .wb4 #wb4 polygon, .wb5 #wb5 polygon, .wb6 #wb6 path, .wb7 #wb7 path,
.wc1 #wc1 path, .wc2 #wc2 polygon, .wc3 #wc3 polygon, .wc4 #wc4 polygon, .wc5 #wc5 polygon, .wc6 #wc6 polygon, .wc7 #wc7 path {
	/*fill: #f5f3f2;*/
	fill: #c0bab3 !important;
	
}

#ha_og1, #ha_og2, #ha_og3, #ha_og4, #hb_og1, #hb_og2, #hb_og3, #hc_og1, #hc_og2, #hc_og3 {
	transition: all 0.5s;
}

.h_a.eg #ha_og1, .h_a.eg #ha_og2, .h_a.eg #ha_og3, .h_a.eg #ha_og4,
.h_a.og1 #ha_og2, .h_a.og1 #ha_og3, .h_a.og1 #ha_og4, 
.h_a.og2 #ha_og3, .h_a.og2 #ha_og4,
.h_a.og3 #ha_og4,
.h_b.eg #hb_og1, .h_b.eg #hb_og2, .h_b.eg #hb_og3, .h_b.eg #hb_og4,
.h_b.og1 #hb_og2, .h_b.og1 #hb_og3, .h_b.og1 #hb_og4, 
.h_b.og2 #hb_og3, .h_b.og2 #hb_og4,
.h_b.og3 #hb_og4,
.h_c.eg #hc_og1, .h_c.eg #hc_og2, .h_c.eg #hc_og3, .h_c.eg #hc_og4,
.h_c.og1 #hc_og2, .h_c.og1 #hc_og3, .h_c.og1 #hc_og4, 
.h_c.og2 #hc_og3, .h_c.og2 #hc_og4,
.h_c.og3 #hc_og4 
{
	transform: translateY(-2em);
} 


#ang_iso_wrapper {
	position: relative;
}

.iso_img_ovl {
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	opacity: 0;
	transition: all 0.5s;
}

.w1 .iso_w1, .w2 .iso_w2, .w3 .iso_w3, .w4 .iso_w4 {
	opacity: 1;
}

.pp_item .col1 {
	grid-column: span 2;
}

.pp_item.row_header .col1 {
	padding-left: 2em;
}

.ang_list h4 {
	padding-left: 0.8em;
}

.col_sort {
	position: absolute;
	margin-left: 0.4em;
	margin-top: -0.4em;
	opacity: 0;
}

.col_sort img {
	height: auto;
	width: 1.2em;
	transform: rotate(180deg);
}

.sort_desc .col_sort img {
	transform: rotate(0deg);
}

.whg_row .active .col_sort {
	opacity: 1;
}

.whg_row .col_inner {
	cursor: pointer;
}




/* downloads */

.dl_items_wrapper {
	width: 70%;
	margin: 0 auto;
}

.dl_items_wrapper > div {
	column-count: 2;
	padding-left: 4em;
	padding-top: 1.2em;
}

.dl_items_wrapper .wp-block-file a::before {
	content: '';
	display: inline-block;
	margin-right: 0.5em;
	width: 1em;
	height: 1em;
	background-image: url(/wp-content/uploads/2026/08/ico_dl.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
	transform: scale(1);
	transition: all 0.5s;
}

.dl_items_wrapper .wp-block-file a:hover::before {
	transform: scale(1.4);
}

/* standardeinzug */

.def_einzug {
	width: 100%;
	max-width: 66em;
	margin: 0 auto;
}

.def_einzug2 {
	width: 100%;
	max-width: 56em;
	margin: 0 auto;
}

.def_einzug3 {
	width: 100%;
	max-width: 46em;
	margin: 0 auto;
}



/* Intro-Box */

.intro_box_img img {
	object-fit: cover;
	object-position: center center;
	transform-origin: top left;
	transform: scale(1.025);
	opacity: 1;
	height: calc(100vh - 6em);
}

.page-id-8 .intro_box_img img {
	height: calc(100vh - 10em);
}


.intro_box.box_v1 .intro_box_img img {
	/*clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);*/
}
.intro_box.box_v1.inview .intro_box_img img {
	opacity: 1;
	/*clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);*/
}

.intro_box .wp-block-buttons {
	padding-right: 1em;

}


/* Bild Text Teaser */


.bild_text_teaser {
	margin: 3.6em 0;
}

.text_box h3 {
	margin-top: 0.1em;
	line-height: 1.2;
}

.titel_top_line {
	margin-bottom: 0.25em;
	letter-spacing: 0.1em;
}

.wp-block-columns.bild_text_teaser .bild_box {
	flex-basis: auto;
}

.wp-block-columns.bild_text_teaser .bild_box figure {
	overflow: hidden;
}

.wp-block-columns.bild_text_teaser .bild_box img {
	object-fit: cover;
	object-position: center 85%;
	transition: all 1.5s;
	transform: scale(1);
}

.wp-block-columns.bild_text_teaser .bild_box a:hover img {
	transform: scale(1.1);
}

.bild_text_teaser .bild_box:first-of-type {
	padding-left: 11em;
}

.bild_text_teaser .bild_box:first-of-type img {
	aspect-ratio: 1.6;
}

.bild_text_teaser .bild_box:last-of-type {
	
}

.bild_text_teaser .bild_box:last-of-type img {
	aspect-ratio: 1.5;
}

.wp-block-columns.bild_text_teaser .text_box {
	padding-right: 3em;
	flex-basis: 40%;
	flex-shrink: 0;
}

.bild_text_teaser .wp-block-buttons {
	margin-top: 2em;
}

/* immotip in zahlen */

.it_in_zahlen_box {
	width: 66%;
	margin: 2em auto;
	padding: 2em 0;
	position: relative;
	gap: 3em;
}

.it_in_zahlen_box::before {
	content: '';
	width: 0%;
	height: 1px;
	left: 50%;
	background-color: #3c3c3c;
	position: absolute;
	top: 0;
	opacity: 0;
	transition: all 2s;
}
.it_in_zahlen_box.inview::before {
	opacity: 1;
	width: 56%;
	left: 22%;
}

.it_in_zahlen_box::after {
	content: '';
	width: 0%;
	height: 1px;
	left: 50%;
	background-color: #3c3c3c;
	position: absolute;
	bottom: 0;
	opacity: 0;
	transition: all 2s;
}
.it_in_zahlen_box.inview::after {
	opacity: 1;
	width: 56%;
	left: 22%;
}

.it_in_zahlen_box h2 {
	padding: unset;
	margin: 0.25em 0;
	display: inline;
}

.it_in_zahlen_box h2 em {
	font-style: normal;
}

.it_in_zahlen_box h2 strong {
	font-style: normal;
	font-size: 0.5em;
	font-weight: normal;
}


/* teaser box suchprofil */

.teaser_box_suchprofil {
	aspect-ratio: 2.16;
	background-image: url(/wp-content/uploads/2026/03/img34.jpg);
	background-position: center center;
	background-size: 100% auto;
	background-repeat: no-repeat;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	overflow: hidden;
	position: relative;
}

.teaser_box_suchprofil .hintergrundbild_wrapper {
	position: absolute;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	top: 0;
	left: 0;
	transform: scale(1);
	transition: all 1.5s;
}


#kaufen_grid_wrapper .teaser_box_suchprofil {
	aspect-ratio: 1.8;
}

.teaser_box_suchprofil:hover .hintergrundbild_wrapper {
	transform: scale(1.1);
}

#kaufen_grid_wrapper .teaser_box_suchprofil {
	margin-bottom: 2em;
}

.teaser_box_suchprofil.text_unten {
	justify-content: flex-end;
}
.teaser_box_suchprofil.text_mitte {
	justify-content: center;
}
.teaser_box_suchprofil.text_oben {
	justify-content: flex-start;
}

.teaser_box_suchprofil h3 {
	margin-top: 0;
}

.teaser_box_suchprofil .wp-block-columns {
	position: relative;
	z-index: 4;
}

.teaser_box_suchprofil.text_mitte .wp-block-columns {
	margin-bottom: 0;
}

.teaser_box_suchprofil:hover {
	background-size: 110% auto;
}

.teaser_box_suchprofil.bewertung {
	background-image: url(/wp-content/uploads/2026/03/img6.jpg);
	background-size: auto 100%;
}

.teaser_box_suchprofil.bewertung:hover {
	background-size: auto 110%;
}

.teaser_box_suchprofil .wp-block-columns .content_inner {
	padding: 2em 2.5em;
	flex-basis: 100%;
	flex-shrink: 0;
	flex-grow: 0;
}

.teaser_box_suchprofil .wp-block-buttons {
	margin-top: 3em;
}


.teaser_box_suchprofil.in_objekte_liste {
	margin-bottom: 2em;
	aspect-ratio: 1.8;
	background-size: auto 100%;
	justify-content: flex-start;
	position: relative;
}




.teaser_box_suchprofil.in_objekte_liste::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background-color: rgba(0,0,0,0.3);
}



.teaser_box_suchprofil.in_objekte_liste .wp-block-columns .content_inner {
	flex-basis: 50%;
}

.teaser_box_suchprofil.in_objekte_liste.immobilie_verkaufen {
	background-image: url(/wp-content/uploads/2026/03/img21.jpg);
	background-size: 100% auto;
}

.teaser_box_suchprofil.bg_dunkel::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	background-color: rgba(0,0,0,0.45);
}
.teaser_box_suchprofil.bg_blur::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	backdrop-filter: blur(3px);
}



/* teaser box objekt */

.btn_kauf_grid {
	gap: 4em;
}

#kaufen_grid_wrapper.kaufen_grid_col2 > div {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 2em;
}

#kaufen_grid_wrapper.kaufen_grid_col2 .teaser_box_objekt .wp-block-columns .content_inner {
	flex-basis: 100%;
}

#kaufen_grid_wrapper.kaufen_grid_col2 .teaser_box_objekt {
	aspect-ratio: unset;
}

#kaufen_grid_wrapper.kaufen_grid_col2 .teaser_box_objekt .refimg_wrapper img {
	aspect-ratio: 1.8;
	object-fit: cover;
	object-position: center center;
	width: 100%;
}

#kaufen_grid_wrapper.kaufen_grid_col2 .teaser_box_objekt .wp-block-columns {
	position: absolute;
	top: 0;
	left: 0;
}


#kaufen_grid_wrapper.kaufen_grid_list .teaser_box_objekt {
	aspect-ratio: unset;
	height: 18em;
	background-size: 40% auto;
	background-position: left center;
	background-color: transparent !important;
	color: #3c3c3c !important;
}

#kaufen_grid_wrapper.kaufen_grid_list .teaser_box_objekt .wp-block-columns .content_inner {
	transform: none !important;
	opacity: 1;
	color: inherit;
}

#kaufen_grid_wrapper.kaufen_grid_list .teaser_box_objekt::before {
	display: none !important;
}

#kaufen_grid_wrapper.kaufen_grid_list .teaser_box_objekt .wp-block-columns {
	flex-direction: column;
	margin-left: 40%;
}


#kaufen_grid_wrapper.kaufen_grid_list .btn_neg .wp-block-button__link::before, #kaufen_grid_wrapper.kaufen_grid_list .btn_neg .wp-block-button__link::after {
	filter: none !important;
}

#kaufen_grid_wrapper.kaufen_grid_list .btn_neg .wp-block-button::before {
	background-color: #3c3c3c;
}

.referenz_grid h3 {
	margin-bottom: 0;
}

.referenz_grid p {
	margin-top: 0.5em;
}


.teaser_box_objekt {
	aspect-ratio: 1.8;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	display: flex;
	flex-direction: column;
	position: relative;
	margin-bottom: 2em;
}

.teaser_box_objekt h3 {
	margin-bottom: 0.25em !important;
	padding-top: 0.5em;
}

.teaser_box_objekt p {
	margin-top: 0.25em !important;
}

.teaser_box_objekt.p2 {
	background-image: url(/wp-content/uploads/2026/03/ang1d.jpg);
}

.teaser_box_objekt.p3 {
	background-image: url(/wp-content/uploads/2026/03/ang1h.jpg);
}

.teaser_box_objekt::before {
	content: '';
	background-color: rgba(0,0,0, 0.4);
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0;
	/*backdrop-filter: blur(8px);*/
	transition: all 1s;
}

.teaser_box_objekt:hover::before {
	width: 100%;
	opacity: 1;
}

.teaser_box_objekt .wp-block-columns {
	position: relative;
	z-index: 3;
}


.teaser_box_objekt .wp-block-columns .content_inner {
	padding: 0em 2.5em;
	flex-basis: 50%;
	flex-shrink: 0;
	flex-grow: 0;
	transform: translateX(3em);
	opacity: 0;
	pointer-events: none;
	transition: all 1s;
}

.teaser_box_objekt:hover .wp-block-columns .content_inner {
	opacity: 1;
	transform: translateX(0);
	pointer-events: auto;
}

.teaser_box_objekt .wp-block-buttons {
	margin-top: 3em;
}

.teaser_box_objekt .hintergrundbild_wrapper {
	position: absolute;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	top: 0;
	left: 0;
	transform: scale(1);
	transition: all 1.5s;
}

.teaser_box_objekt::before {
	z-index: 3;
}

.objekt_status {
	position: absolute;
	color: #fff;
	font-family: "ivyora-display", serif;
	font-weight: 400;
	background-color: rgba(60,60,60,0.8);
	line-height: 1.2;
	font-size: 1.2em;
	letter-spacing: 0.03em;
	text-align: center;
	border-radius: 100%;
	z-index: 3;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 7em;
	height: 7em;
	top: 3em;
	right: 3em;
	backdrop-filter: blur(5px);
}


.referenz_grid .teaser_box_objekt .wp-block-columns .content_inner {
	padding: 0 2em;
}

.referenz_grid .teaser_box_objekt h3 {
	padding-top: 0em;
	margin-top: 0.5em;
	margin-bottom: 0 !important;
}

.referenz_grid .teaser_box_objekt h3 span {
	font-size: 0.8em;
}



/* immotip map */

.it_map_wrapper {
	position: relative;
}

.it_map_wrapper figcaption {
	transform: translateY(-150%);
}

.it_map_wrapper .wp-block-columns {
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color: rgba(60, 60, 60, 0.7);
	border-radius: 100%;
	aspect-ratio: 1;
	line-height: 1.2;
	top: 0;
	left: 0;
	padding: 0 0.5em;
	font-weight: 500;
	color: #fff;
	font-family: "ivyora-display", serif;
	/*animation: pulse-bg 2s linear infinite;*/
	transform-origin: center center;
}

.it_map_wrapper .wp-block-columns::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 100%;
	top: 0;
	left: 0;
	z-index: -1;
	background-color: rgba(60,60,60,0.1);
	transform: scale(0.1);
	animation: pulse-bg 2s linear infinite forwards;
}

@keyframes pulse-bg {
  0% {transform: scale(0.1); background-color: rgba(60,60,60,0.1); }
  50% { transform: scale(0.9); background-color: rgba(60,60,60,0.2);  }
 100% { transform: scale(1.7); background-color: rgba(60,60,60,0); }	
}

.it_map_wrapper .wp-block-columns .wp-block-column:first-of-type {
	transition: all 1s;
	/*transform: translateY(0%);*/
	opacity: 0;
}

.it_map_wrapper .wp-block-columns:hover .wp-block-column:first-of-type {
	opacity: 1;
	/*transform: translateY(-30%);*/
	z-index: 3;
}

.it_map_wrapper .wp-block-columns:hover .wp-block-column:last-of-type {
	opacity: 0;
	/*transform: translateY(0%);*/
	z-index: 3;
}

.it_map_wrapper .wp-block-columns:hover {
	/*z-index: 3;*/
}

.it_map_wrapper .wp-block-columns p {
	margin: 0;
}

.it_map_wrapper .wp-block-columns .wp-block-column:last-of-type {
	position: absolute;
	opacity: 1;
	text-align: center;
	left: 0;
	width: 100%;
	transition: all 1s;
	font-size: 1.4em;
	/*transform: translateY(30%);*/
}



.it_map_wrapper .wp-block-column {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}



#dot_zurzach div:last-of-type p, #dot_zentralschweiz div:last-of-type p, #dot_lenzburg div:last-of-type p, #dot_dietikon div:last-of-type p, #dot_dielsdorf div:last-of-type p {
	font-size: 1.3em;
}

#dot_bremgarten div:last-of-type p {
	font-size: 1.6em;
}


#dot_baden {
	top: 26%;
	left: 66%;
	transform: scale(2.6);
}

#dot_lenzburg {
	top: 34%;
	left: 51%;
	transform: scale(1.3);
}

#dot_zurzach {
	top: 2%;
	left: 62%;
	transform: scale(1.2);
}

#dot_zofingen {
	top: 53%;
	left: 30%;
	transform: scale(0.75);
}

#dot_aarau {
	top: 40%;
	left: 41%;
	transform: scale(1.15);
}

#dot_kulm {
	top: 55%;
	left: 49%;
	transform: scale(1.3);
}

#dot_kulm {
	top: 55%;
	left: 49%;
	transform: scale(1.3);
}

#dot_zentralschweiz {
	top: 80%;
	left: 59%;
	transform: scale(0.9);
}



#dot_bremgarten {
	top: 40%;
	left: 67%;
	transform: scale(1.1);
}

#dot_zuerich {
	top: 43%;
	left: 89%;
	transform: scale(1.3);
}

#dot_dietikon {
	top: 29%;
	left: 78%;
	transform: scale(1);
}

#dot_dielsdorf {
	top: 14%;
	left: 76%;
	transform: scale(1.1);
}

#dot_brugg {
	top: 19%;
	left: 52%;
	transform: scale(2.1);
}



/* faq */


.faq_wrapper details {
	padding: 0.5em 0;
	border-top: 1px solid;
}

.faq_wrapper details:last-of-type {
	border-bottom: 1px solid;
}

.faq_wrapper details summary {
	position: relative;
	padding-left: 3.33em;
}

.faq_wrapper details summary::before {
	content: '';
	width: 1.1em;
	height: 1px;
	position: absolute;
	background-color: #3c3c3c;
	left: 1em;
	top: 0.65em;
}

.faq_wrapper details summary::after {
	content: '';
	width: 1.1em;
	height: 1px;
	position: absolute;
	background-color: #3c3c3c;
	left: 1em;
	top: 0.65em;
	transform: rotate(90deg);
	transition: all 0.5s;
}

.faq_wrapper details[open] summary::after {
	transform: rotate(0deg);
}

.faq_wrapper details > * {
	max-width: 56em;
	padding-left: 5em;
}

.faq_wrapper details p:last-of-type {
	margin-top: 0;
	/*padding-top: 1em;*/
}

.faq_wrapper details p:last-of-type {
	margin-bottom: 0;
	padding-bottom: 1em;
}



.faq_wrapper details .pipeline_kontakt_wrapper {
	max-width: 80%;
	 max-height: 0;
    overflow: hidden;
    transition: max-height 1s ease;
}

.faq_wrapper details .pipeline_kontakt_wrapper.open {
    max-height: 2000px; 
}

.pipeline_kontakt {
	display: grid;
	grid-template-columns: auto 25%;
	grid-gap: 6em;
	padding-top: 3em;
	padding-bottom: 3em;
}

.pipeline_form {
	align-content: flex-end;
	padding-bottom: 1.1em;
}

.pipeline_form form {
	padding-top: 2em;
}

.pipeline_person {
	align-content: flex-end;
}


/* Team */

.team_ovl {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	text-align: left;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 0.5em 1.5em;
	background-color: rgba(60,60,60,0.7);
	color: #fff;
	opacity: 0;
	transition: all 0.5s;
}

.cols-slider-wrapper.team .col_sld > div:hover .team_ovl {
	opacity: 1;
}

.cols-slider-wrapper.team .col_sld:hover .team_ovl a:hover {
	text-decoration: underline !important;
}




/* Meilensteine */



.cols-slider-wrapper.geschichte .col_sld {
	position: relative;
	padding-top: 7em;
}



.cols-slider-wrapper.geschichte .col_sld h4 strong {
	font-size: 0.8em;
	font-weight: 400;
	letter-spacing: 0.02em;
}


.cols-slider-wrapper.geschichte .col_sld > div::before {
	content: '';
	position: absolute;
	width: 2.4em;
	height: 2.4em;
	border-radius: 100%;
	border: 1px solid;
	top: 2.4em;
	left: 0 !important;
	background-color: #fff;
	transition: all 0.5s;
}

.cols-slider-wrapper.geschichte .col_sld.is-animating > div::before {
	width: 2.4em !important;
	height: 2.4em !important;
	top: 2.4em !important;
}


.cols-slider-wrapper.geschichte .col_sld.active > div::before {
	/*background-image: url(/wp-content/uploads/2026/08/ico_ms_active.svg);
	background-size: 80% 80%;
	background-repeat: no-repeat;
	background-position: center center;
	border: none;
	animation: msactive 10s linear infinite;
	transform: scale(1.2) rotate(0deg);*/
	content: '';
	position: absolute;
	width: 2.4em;
	height: 2.4em;
	border-radius: 100%;
	border: 1px solid;
	top: 2.4em;
	left: 0 !important;
	background-color: #3c3c3c;
	transition: all 0.5s;
	-webkit-box-shadow:inset 0 0 0 0.4em #fff;
	box-shadow:inset 0 0 0 0.4em #fff;
}


.cols-slider-wrapper.geschichte .col_sld.active > div::after {
	content: '';
	position: absolute;
	width: 1.2em;
	height: 1.2em;
	top: 3em;
	left: 0.6em;
	background-color: #3c3c3c;
	border-radius: 100%;
	animation: msactive 3s ease infinite;
}



@keyframes msactive {
  0% {
    transform: scale(0.1);
	  background-color: #3c3c3c;
	  opacity: 1;
  }
  100% {
    transform: scale(3);
	  background-color: #3c3c3c;
	 opacity: 0;
  }
}
	

/*
@keyframes msactive {
  0% {
    transform: scale(1.2) rotate(0deg);
  }
  100% {
    transform: scale(1.2) rotate(360deg);
  }
}
*/

.cols-slider-wrapper.geschichte .col_sld.done::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 1px;
	border-top: 1px solid;
	top: 3.6em;
}

.cols-slider-wrapper.geschichte .col_sld.active::before, .cols-slider-wrapper.geschichte .col_sld.open::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 1px;
	border-top: 1.5px dashed;
	top: 3.6em;
}

.cols-slider-wrapper.geschichte .col_sld.done > div::after {
	content: '';
	position: absolute;
	width: 0.1em;
	height: 0.1em;
	border-radius: 100%;
	top: 3.5em;
	left: 1.1em !important;
	background-color: #3c3c3c;
	opacity: 0;
	transition: all 0.5s;
}

.cols-slider-wrapper.geschichte .col_sld.done > div::after {
	width: 1.6em !important;
	height: 1.6em !important;
	top: 2.8em !important;
	left: 0.4em !important;
	opacity: 1 !important;
}










/*------------------------------------*\
    PAGES
\*------------------------------------*/

/* objekt detail seiten */


.objekt_head_img {
	overflow: hidden;
}

.objekt_head_img img {
	aspect-ratio: 1.8;
	object-fit: cover;
	object-position: center center;
	width: 100%;
}

.casawp-single h1 {
	max-width: 12em;
}

.objekt_content_wrapper {
	display: flex;
	margin-top: 3em;
}

.objekt_text_wrapper {
	padding-right: 4em;
	flex-basis: 65%;
}

.immo_features {
	column-count: 2;
}


.objekt_infos_wrapper {
	font-size: 0.9em;
	padding-left: 2em;
	border-left: 1px solid;
	margin-top: 1.1em !important;
	flex-basis: 35%;
}

.objekt_infos_wrapper p:first-of-type {
	margin-top: 0;
}

.objekt_infos_wrapper p:last-of-type {
	margin-bottom: 0;
}

.objekt_infos_wrapper em {
	font-style: normal;
	font-size: 0.7em;
	text-transform: uppercase;
}

table.immo_details {
	font-size: 1em;
	font-weight: 300;
}

table.immo_details tr {
	display: flex;
	flex-direction: column;
	margin-bottom: 2em;
}

table.immo_details tr:last-of-type {
	margin-bottom: 0;
}

table.immo_details tr td:first-of-type {
	font-style: normal;
	font-size: 0.7em;
	text-transform: uppercase;
}




.gal_box_wrapper .wp-block-columns {
	display: flex;
	margin-bottom: 2em;
	gap: 2em;
}

.gal_box_wrapper .wp-block-columns.reverse {
	flex-direction: row-reverse;
}

.gal_box_wrapper figure {
	overflow: hidden;
}

.gal_box_wrapper img {
	transition: all 1s;
	transform: scale(1);
}

.gal_box_wrapper figure:hover img {
	transform: scale(1.05);
}


.gal_box_4 .wp-block-column {
	display: flex;
	flex-direction: column;
	gap: 2em;
}

.gal_box_4 .img_ar_breit img {
	aspect-ratio: 1.2;
	object-fit: cover;
	object-position: center center;
}

.gal_box_4 .img_ar_hoch img {
	aspect-ratio: 0.725;
	object-fit: cover;
	object-position: center center;
}


.gal_box_3 .img_ar_quad img {
	aspect-ratio: 1;
	object-fit: cover;
	object-position: center center;
}

.gal_box_3 .img_ar_hoch {
	height: 100%;
}

.gal_box_3 .img_ar_hoch a {
	display: contents;
}

.gal_box_3 .img_ar_hoch img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center center;
}

.wp-block-columns.gal_box_3 > div:first-of-type {
	display: flex;
	flex-direction: column;
	gap: 2em;
	flex-basis: 33.5%;
}

.wp-block-columns.gal_box_3 > div:last-of-type {
	flex-basis: 66.5%;
}


.img_ar_fw {
	margin-bottom: 2em;
}

.img_ar_fw img {
	aspect-ratio: 1.6;
	object-fit: cover;
	object-position: center center;
	width: 100%;
}

.wp-block-columns.gal_box_2 .col_short {
	flex-basis: 40%;
}

.wp-block-columns.gal_box_2 .col_wide {
	flex-basis: 60%;
}

.gal_box_2 img {
	width: 100%;
	object-fit: cover;
	object-position: center center;
}

.wp-block-columns.gal_box_2 .col_wide img {
	aspect-ratio: 0.9;
}

.wp-block-columns.gal_box_2 .col_short figure, .wp-block-columns.gal_box_2 .col_short img {
	height: 100%;
}




/* Bewerten */


#dmt #root {
	max-width: unset !important;
	
	width: 100% !important;
	aspect-ratio: 2;
}

@media only screen and (min-width:960px) {
	#dmt #root {
		height: auto !important;
	}
}


/* link box */

.link_box {
	cursor: pointer;
}




/*------------------------------------*\
    FORMULARE
\*------------------------------------*/

form.wpcf7-form {
	display: flex;
	flex-direction: column;
	font-family: "ivyora-display", serif;
	font-style: normal;
}

form.wpcf7-form p {
	display: contents;
}

.kf_feld {
	position: relative;
	margin-top: 1.8em;
}

.kf_response, .kf_submit {
	margin-top: 0.8em;
}

.kf_text input, .kf_text textarea, .kf_dropdown {
	border: none;
	outline: none;
	background-color: transparent;
	color: #3C3C3C;
	border-bottom: 1px solid;
	width: 100%;
	font-family: "ivyora-display", serif;
	font-weight: 300;
	font-style: normal;
	max-height: 6em;
	padding-bottom: 0.1em;
}

.kf_text input, .kf_text textarea {
	padding-left: 1em;
	font-family: "ivyora-display", serif;
font-weight: 300;
font-style: normal;
}

.kf_text label {
  position: absolute;
  left: 0.15em;
  top: 0.2em;
  transition: all 0.2s ease-out;
  pointer-events: none;
	opacity: 1;
	letter-spacing: 0.05em;
	font-weight: 200;
	font-family: "ivyora-display", serif;
	font-style: normal;
}

.kf_text .wpcf7-form-control-wrap:focus-within + label, .kf_text .wpcf7-form-control-wrap.is_filled + label {
  top: -1.5em;
  font-size: 0.75em;
}



.wpcf7-list-item-label::before {
	content: "";
	position: relative;
	width: 1.2em;
	height: 1.2em;
	border-radius: 100%;
	border: 1px solid;
	display: inline-block;
	margin-right: 0.5em;
	margin-bottom: -0.2em;
}

.wpcf7-list-item input[type="checkbox"], .wpcf7-list-item input[type="radio"] {
	display: none;
}

input[type="checkbox"]:checked + .wpcf7-list-item-label::before, input[type="radio"]:checked + .wpcf7-list-item-label::before {
	background-color: #3C3C3C;	
	-webkit-box-shadow:inset 0 0 0 0.25em #fff;
box-shadow:inset 0 0 0 0.25em #fff;
}

[data-name="Interesse"] input {
	/*pointer-events: none;*/
}

.kf_check {
	display: block;
}

.kf_check .wpcf7-list-item {
	display: inline-block;
	margin: 0 2em 0 0em;
}

.kf_grid_wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 0 1em;
}

.kf_grid_wrapper.kf_grid_name {
	grid-template-columns: 1fr 1fr;
}

.kf_grid_wrapper.kf_grid_adresse {
	grid-template-columns: 1fr 1fr;
}

.kf_grid_wrapper.kf_grid_plzort {
	grid-template-columns: 1fr 1fr;
}

.kf_grid_wrapper.kf_grid_kontakt {
	grid-template-columns: 1fr 1fr;
}

.kf_title_line {
	padding-bottom: 0.4em;
}

.kf_dropdown .wpcf7-select {
	width: 100%;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border: none;
	background-color: rgba(255,255,255,0.0);
	padding: 0.0em;
	font-weight: 300;
	color: #3C3C3C;
	font-family: "ivyora-display", serif;
	font-style: normal;
}

.kf_dropdown .wpcf7-form-control-wrap::after {
	content: "";
	justify-self: end;
	width: 0.6em;
	height: 0.6em;
	border-bottom: 3px solid #3C3C3C;
	border-right: 3px solid #3C3C3C;
	position: absolute;
	top: 0.25em;
	right: 0.5em;
	transform: rotate(45deg);
	pointer-events: none;
}

.kf_dropdown .wpcf7-select option {
	font-size: 0.8em;
	color: #3C3C3C;
	background-color: #fff;
}



.kf_datenschutz {
	font-size: 0.9em;
}

.kf_datenschutz .wpcf7-list-item {
	margin: 0 0 0 0em;
}



.kf_datenschutz a {
	text-decoration: underline;
}

.kf_submit {
	text-align: center;
	display: flex;
	justify-content: center;
	margin-top: 2em;
}

.wpcf7-submit {
	border-radius: 0px;
	padding: 0;
	font-family: "elza-text", sans-serif;
font-weight: 300;
font-style: normal;
	transition: all 0.5s;
	border: 1px solid #3C3C3C;
	border-radius: 2em;
	padding: 0.667em 1.33em;
	text-transform: uppercase;
	background-color: transparent;
	color: #3C3C3C;
	outline: none !important;
	letter-spacing: 0.06em;
	font-size: 0.8em;
	font-weight: 300;
	min-width: 12em;
	height: min-content;
}

.wpcf7-submit:hover {
	outline: none !important;
	color: #fff;
	background-color: #3C3C3C;
}




.wpcf7-acceptance {
	font-family: archivo, sans-serif;
font-weight: 300;
font-style: normal;
	font-size: 0.8em;
}

.wpcf7-acceptance .wpcf7-list-item {
	margin-left: 0;
}

.wpcf7-acceptance a {
	color: inherit;
	text-decoration: underline;
}
	

.wpcf7-spinner {
	position: absolute;
}

.wpcf7 form.sent .wpcf7-response-output {
	background-color: #65ae6c;
	border: none;
	padding: 1em;
	color: #3C3C3C;
	font-weight: 700;
	margin: 0;
	font-family: archivo, sans-serif;
font-weight: 600;
font-style: normal;
}

.wpcf7-not-valid-tip {
	font-size: 0.6em;
	font-weight: normal;
	letter-spacing: 0.06em;
	color: #f00;
	font-style: normal;
	font-family: archivo, sans-serif;
font-weight: 600;
font-style: normal;
}


/* newsletter */

.nl_form_wrapper {
	position: relative;
}

.footer .formbox input[name="email"] {
	background-color: transparent;
	outline: none !important;
	border: none;
	border-bottom: 1px solid #3C3C3C;
	color: #3C3C3C;
}

.footer .formbox .def_btn[type="submit"] {
	position: absolute;
	margin: 0;
	border-bottom: none;
	right: 0;
	top: 0;
}

.footer .formbox .def_btn::before, .footer .formbox .def_btn::after {
	filter: brightness(0) invert(1);
}


/*------------------------------------*\
    IMAGES
\*------------------------------------*/


.prt_img img {
	border-radius: 100%;
	width: 16em;
	height: auto;
	margin: 1em auto;
	aspect-ratio: 1;
	object-fit: cover;
	object-position: center center;	
}

.sign_img img {
	height: 4.2em;
	width: auto;
}


/* lage */


.lage_bg_wrapper {
	position: relative;
	overflow: hidden;
}

#poi_labels {
	position: absolute;
	width: 100%;
	height: auto;
	bottom: 0;
	left: 0;
	z-index: 3;
}

#poi0 {
	display: none !important;
}

[data-name="bg"] {
	fill: rgba(255,255,255,0) !important;
	cursor: default;
}

[data-name="tx_bg"] {
	fill: rgba(255,255,255,1) !important;
		transition: all 0.5s;
	transform-origin: center bottom;
	transform-box: fill-box;
	opacity: 0 !important;
	transform: scaleX(5%);
}

#poi_labels > g:hover [data-name="tx_bg"] {
	opacity: 1 !important;
	transform: scaleX(100%);
}

[data-name="txt"] * {
		transition: all 0.5s;
}

#poi_labels > g:hover [data-name="txt"] * {
	fill: #3C3C3C !important;
}


[data-name="dot"] {
	transform: scale(3);
	transform-origin: center center;
	transform-box: fill-box;
	animation: dotpulse2 3s linear infinite;
}

#poi_labels > g:hover [data-name="dot"] {
	transform: scale(8) !important;
	opacity: 1 !important;
}
	


@keyframes dotpulse2 {
  0% {
    transform: scale(0.5);
	opacity: 1;
  }
  100% {
    transform: scale(16);
	opacity: 0;
  }
}

/* Haus Mood */

.haus_mood_wrapper {
	position: relative;
}

.haus_mood_img img {
	aspect-ratio: 1.1;
	object-fit: cover;
	object-position: center bottom;
}

.haus_mood_tx1 {
	position: absolute;
	top: 3em;
	left: 6em;
	color: #fff;
	font-size: 1.4em;
}

.haus_mood_tx1 h3 {
	line-height: 1.1;
}














.bu_wrapper {
	width: 65%;
	margin: 0 auto;
	padding-left: 5em;
}

.bu_col_head {
	text-transform: uppercase;
	font-size: 0.8em;
	letter-spacing: 0.07em;
}

.bu_logo {
	margin: 2em 0;
}


.bu_logo img {
	height: 4em;
	object-fit: contain;
	object-position: left center;
}

.bu_logo.logo1 img {
	width: 8em;
}

.bu_logo.logo3 img {
	width: 5em;
}

.bu_wrapper p a, .nav_extra_cols.col2 a, .nav_extra_cols.col4 a {
	text-decoration: none !important;
}

.bu_wrapper a:hover, .nav_extra_cols.col2 a:hover, .nav_extra_cols.col4 a:hover {
	text-decoration: underline !important;
}


/* Kontakt Box */


.form_mit_kontaktperson .person_kontakt_box {
	padding-top: 1em;
}

.form_mit_kontaktperson > div:first-of-type {
	padding-bottom: 1.1em;
	flex-grow: 1;
}

.form_mit_kontaktperson > div:last-of-type {
	align-self: center;
}

.person_kontakt_box figure {
	display: flex;
	justify-content: center;
}



/* image zoom */

.hov_zoom {
	overflow: hidden;
}

.hov_zoom img {
	transition: 1.5s all;
	transform: scale(1);
}

.hov_zoom:hover img {
	transform: scale(1.1);
}


/* slick sliders */

.testimonial-slider-wrapper {
	padding-left: 5em;
}


/* Slick Arrows – Custom SVG */
.slick-prev,
.slick-next {
  position: absolute;
  top: 50%;
left: 0;
  transform: translateY(-50%) translateX(-5.4vw);
  z-index: 10;
  width: clamp(30px, 2.5vw, 64px);
  height: clamp(30px, 2vw, 54px);
  border: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  cursor: pointer;
  font-size: 0;
	opacity: 0.5;
  color: transparent;
	z-index: 5;
	background-color: transparent;
}

.slick-prev:hover,
.slick-next:hover {
 opacity: 1;
}

.slick-prev {
  background-image: url(/wp-content/uploads/2026/08/sym_arrow2.svg);
	transform: translateY(-70%) translateX(0%);
}

.slick-next {
	transform: translateY(70%) translateX(0%) rotate(180deg);
  background-image: url(/wp-content/uploads/2026/08/sym_arrow2.svg);
}

/* Slick Default-Styles überschreiben */
.slick-prev:before,
.slick-next:before {
  content: '';
  display: none;
}

.tst_sld_wrapper {
	aspect-ratio: 2.1;
	background-color: rgba(60,60,60,0.1);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	position: relative;
}

.tst_sld_wrapper .hintergrundbild_wrapper {
	position: absolute;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	top: 0;
	left: 0;
	transform: scale(1);
	transition: all 1.5s;
}


.testimonial-slider-wrapper .copyright_wrapper {
	position: absolute;
	color: #fff;
	right: 1em;
	bottom: 1em;
	font-size: 0.75em;
	font-weight: 500;
	aspect-ratio: 1;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	pointer-events: none;
	transform: translateX(50%) rotate(-90deg);
}

.tst_sld_wrapper > div {
	height: 100%;
	display: flex;
	align-items: flex-end;
}


.tst_sld_wrapper > div .wp-block-group {
	width: 30%;
	padding: 0.5em 1em;
	padding-top: 1em;
	background-color: rgba(60,60,60,0.8);
	color: #fff;
	margin-left: 6em;
}


.testimonial-slider-wrapper .tst_sld_wrapper > div .wp-block-group {
	width: 40%;
	opacity: 1;
	margin-left: 2em;
	/*transform: translateX(2em);*/
	/*transition: all 1s;
	transition-delay: 0.5s;*/
	position: relative;
}

.testimonial-slider-wrapper .tst_sld_wrapper.slick-current > div .wp-block-group {
	opacity: 1;
	/*transform: translateX(0);*/
}

.tst_sld_wrapper .testimonial_kunde {
	font-size: 0.8em;
}


.referenz-slider-wrapper .tst_sld_wrapper {
	aspect-ratio: 1.86;
}

.referenz-slider-wrapper .slick-prev, .referenz-slider-wrapper .slick-next {
	background-color: rgba(255,255,255,0.9);
	opacity: 1;
	width: clamp(30px, 2.5vw, 64px);
	height: clamp(30px, 2.5vw, 64px);
	background-size: 60% auto;
}

.referenz-slider-wrapper .slick-prev:hover, .referenz-slider-wrapper .slick-next:hover {
	background-color: rgba(255,255,255,1);
}

.referenz-slider-wrapper .slick-prev {
	transform: translateX(-40vw);
	left: 50%;
}

.referenz-slider-wrapper .slick-next {
	transform: translateX(40vw) rotate(180deg);
	left: auto;
	right: 50%;
}

.referenz-slider-wrapper .tst_sld_wrapper.sld1 {
	background-image: url(/wp-content/uploads/2026/03/img1.jpg);
}
.referenz-slider-wrapper .tst_sld_wrapper.sld2 {
	background-image: url(/wp-content/uploads/2026/03/img2.jpg);
}
.referenz-slider-wrapper .tst_sld_wrapper.sld3 {
	background-image: url(/wp-content/uploads/2026/03/img3.jpg);
}

.referenz-slider-wrapper .tst_sld_wrapper {
	margin-left: 1em;
	margin-right: 1em;
}

.referenz-slider-wrapper .tst_sld_wrapper h3 {
	margin-top: 0em;
	margin-bottom: 0em;
	line-height: 1;
}

.referenz-slider-wrapper .tst_sld_wrapper p {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.referenz-slider-wrapper.interior .tst_sld_wrapper.sld1 {
	background-image: url(/wp-content/uploads/2026/03/img11.jpg);
}
.referenz-slider-wrapper.interior .tst_sld_wrapper.sld2 {
	background-image: url(/wp-content/uploads/2026/03/img12.jpg);
}
.referenz-slider-wrapper.interior .tst_sld_wrapper.sld3 {
	background-image: url(/wp-content/uploads/2026/03/img13.jpg);
}
.referenz-slider-wrapper.interior .tst_sld_wrapper.sld4 {
	background-image: url(/wp-content/uploads/2026/03/img14.jpg);
}
.referenz-slider-wrapper.interior .tst_sld_wrapper.sld5 {
	background-image: url(/wp-content/uploads/2026/03/img23.jpg);
}
.referenz-slider-wrapper.interior .tst_sld_wrapper.sld6 {
	background-image: url(/wp-content/uploads/2026/03/img24.jpg);
}
.referenz-slider-wrapper.interior .tst_sld_wrapper.sld7 {
	background-image: url(/wp-content/uploads/2026/03/img25.jpg);
}





.cols-slider-wrapper {
	padding-left: 0em;
}

.cols-slider-wrapper .col_sld {
	padding-right: 6em;
}

.cols-slider-wrapper.punkte {
	position: relative;
}

/*
.cols-slider-wrapper.punkte::before {
	content: '';
	width: 100vw;
	height: 1px;
	background-color: #3c3c3c;
	position: absolute;
	left: 0;
	top: 3.6em;
}*/

.cols-slider-wrapper.punkte h3 {
	width: 1.5em;
	height: 1.5em;
	position: relative;
}

.cols-slider-wrapper.punkte h3 em {
	width: 1.5em;
	height: 1.5em;
	padding-bottom: 0.1em;
	border-radius: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid;
	transform-origin: center center;
	transform: scale(0.5);
	transition: all 0.5s;
	background-color: #fff;
	position: relative;
	z-index: 3;
	font-style: normal;
}



.cols-slider-wrapper.punkte .slick-slide:not(.slick-current) h3::before {
content: '';
	width: 100%;
	height: 100%;
	background-color: rgba(60,60,60,0.15);
	border-radius: 100%;
	display: inline-block;
	position: absolute;
	transform-origin: center center;
	animation: scaleOut2 1.5s linear infinite;
	z-index: -1;
}

@keyframes scaleOut2 {
  0% {
    transform: scale(0.5);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}

.cols-slider-wrapper.punkte .slick-current h3 em, .cols-slider-wrapper.punkte .is-animating h3 em {
	transform: scale(1);
}

.cols-slider-wrapper.team {
	padding-left: 0;
	padding-right: calc(5em + (50% - 38em));
}

.cols-slider-wrapper.team .col_sld {
	padding-right: 0;
	padding-left: 0em;
	position: relative;
}

.cols-slider-wrapper.team .slick-slide > div {
	position: relative;
	width: 28em;
	margin-left: 2em;
}

.cols-slider-wrapper.team .slick-slide img {
	aspect-ratio: 1.2;
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: auto;
}

.cols-slider-wrapper.team .slick-prev {
	left: auto;
	right: 0;
	transform: translateY(70%) translateX(5.4vw) rotate(180deg);
}

.cols-slider-wrapper.team .slick-next {
	left: auto;
	right: 0;
	transform: translateY(-70%) translateX(5.4vw);
}

.slick-list {
	padding-left: 5em !important;
}

.slick-list::before {
	content: '';
	position: absolute;
	background-color: #fff;
	width: 5em;
	height: 15em;
	left: 0;
	top: 7em;
	pointer-events: none;
	z-index: 3;
}

/* ablaufgrafik */


.ablauf_grafik_wrapper {
	position: relative;
	margin-top: 10em;
	margin-bottom: 10em;
}

.ag_dot {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
}

.ag_dot:not(.active)::before {
	content: '';
	width: 100%;
	height: 100%;
	background-color: rgba(60,60,60,0.15);
	border-radius: 100%;
	display: inline-block;
	position: absolute;
	transform-origin: center center;
	animation: scaleOut 1.5s linear infinite;
}

@keyframes scaleOut {
  0% {
    transform: scale(0.5);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}


#ag_dot1 {
	top: 8em;
	left: -1.55em;
}
#ag_dot2 {
	top: -1.8em;
	left: 8.25em;
}
#ag_dot3 {
	top: -1.8em;
	left: 25em;
}
#ag_dot4 {
	top: -1.8em;
	left: 42.25em;
}
#ag_dot5 {
	top: 16.8em;
	left: 45.25em;
}
#ag_dot6 {
	top: 16.8em;
	left: 28.5em;
}
#ag_dot7 {
	top: 16.8em;
	left: 13.25em;
}

.ag_dot h3 {
	width: 1.5em;
	height: 1.5em;
	padding-bottom: 0.1em;
	border-radius: 100%;
	display: flex;
	margin: 0;
	justify-content: center;
	align-items: center;
	border: 1px solid;
	transform-origin: center center;
	transform: scale(0.5);
	transition: all 0.5s;
	background-color: #fff;
}

.ag_dot.active h3 {
	background-color: #3c3c3c;
	color: #fff;
	transform: scale(1);
}

    
.ag_txt {
	position: absolute;
	text-align: center;
	opacity: 0;
	transition: all 0.5s;
}
.ag_txt.active {
	opacity: 1;
}

#ag_txt1 {
	top: 14em;
	left: -1.5em;
}
#ag_txt2 {
	top: -3.5em;
	left: 7em;
}
#ag_txt3 {
	top: -3.5em;
	left: 22.5em;
}
#ag_txt4 {
	top: -3.5em;
	left: 41.5em;
}
#ag_txt5 {
	top:20.5em;
	left: 44.5em;
}
#ag_txt6 {
	top: 20.5em;
	left: 27.5em;
}
#ag_txt7 {
	top: 20.5em;
	left: 12.5em;
}


.ag_desc {
	position: absolute;
	top: 30em;
	max-width: 14em;
	opacity: 0;
	transition: all 0.5s;
}

.ag_desc.active {
	opacity: 1;
}

.ag_desc p {
	margin: 0;
	font-size: 0.8em;
	line-height: normal;
}

.ag_desc p strong {
	font-size: calc(1em / 0.8);
}

#ag_desc1 {
	top: 13em;
	left: -5.5em;
}
#ag_desc2 {
	top: -7.5em;
	left: 3.5em;
}
#ag_desc3 {
	top: -7.5em;
	left: 22.5em;
}
#ag_desc4 {
	top: -8.75em;
	left: 40.5em;
	max-width: 17em;
}
#ag_desc5 {
	top: 21.5em;
	left: 44.75em;
}
#ag_desc6 {
	top: 21.5em;
	left: 27.75em;
	max-width: 12em;
}
#ag_desc7 {
	top: 21.5em;
	left: 12em;
	max-width: 12em;
}


/* Parallax Collage */


.plx-collage {
  position: relative;
  max-width: 72em;
  margin-inline: auto;
margin-top: -12em;	
}
.plx-collage .wp-block-image { margin: 0; position: relative; }
.plx-collage img { display: block; width: 100%; height: auto; will-change: transform; }

.plx-slow { z-index: 1; }
.plx-mid  { z-index: 2; }
.plx-fast { z-index: 3; }

/* Collage-Versätze – nach Geschmack anpassen */
.plx-collage  .wp-block-image a { display: contents; }
.plx-collage .wp-block-image { /*transform: scale(1.2); */ }
.plx-collage .wp-block-image:nth-child(1) { width: 53%; margin-left: auto; }
.plx-collage .wp-block-image:nth-child(2) { width: 52%; margin-left: 5%; margin-top: -15%; }
.plx-collage .wp-block-image:nth-child(3) { width: 60%; margin-left: 18%; margin-top: -10%;  }
.plx-collage .wp-block-image:nth-child(4) { width: 56%; margin-left: -4%; margin-top: -12%; }
.plx-collage .wp-block-image:nth-child(5) { width: 60%; margin-left: 42%; margin-top: -10%;  }
.plx-collage .wp-block-image:nth-child(6) { width: 32%; margin-left: 31%; margin-top: -13%; aspect-ratio: 0.74 }

.plx-collage .wp-block-image:nth-child(6) img {
	object-fit: cover;
	object-position: left center;
	height: 100%;
}

@media (prefers-reduced-motion: reduce) {
  .plx-collage img { transform: none !important; }
}




/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/


h1 {
	font-size: 4.2em;
	font-family: "ivyora-display", serif;
	font-weight: 400;
	font-style: normal;
	position: relative;
	z-index: 3;
	line-height: 1.3;
	margin: 0.5em 0;	
}

.single-casawp_property h1 {
	line-height: 1.15;
}

.intro_box {
	margin-top: 4.2em;
}

.intro_box h1 {
	white-space: nowrap;
	line-height: 1;
	display: flex;
	flex-direction: column;
    
}

body:not(.home) .intro_box h1 {
	padding-top: 0.7em;
}

.intro_box h1 br {
	display: contents;
}

.intro_box h1 div {
	display: inline-block;
	width: max-content;
	padding-bottom: 0.25em;
	padding-right: 0.25em;
}

.intro_box.box_v1 h1 div, h1.anim div {
		overflow: hidden;
}

.intro_box.anim.box_v1 h1 span, h1.anim span {
	transition: transform 2s, opacity 3s;
	transform-origin: top right;
	transform: translateY(100%);
	display: inline-block;
	opacity: 0;
}

.intro_box.box_v1.inview h1 span, h1.anim.inview span {
	opacity: 1;
	transform: translateY(0%);
}




.intro_box h1 div:nth-of-type(1) span, h1.anim div:nth-of-type(1) span {
	margin-left: 0.7em;
	transition-delay: 0.3s !important;
}
.intro_box h1 div:nth-of-type(2) span, h1.anim div:nth-of-type(2) span {
	margin-left: 1.3em;
	transition-delay: 0.6s !important;
}
.intro_box h1 div:nth-of-type(3) span, h1.anim div:nth-of-type(3) span {
	margin-left: 0.1em;
	transition-delay: 0.9s !important;
}

body.wohnobjekte .intro_box h1 div:nth-of-type(1) span {
	margin-left: 0em;
}
body.wohnobjekte .intro_box h1 div:nth-of-type(2) span {
	margin-left: 0.8em;
}

body.neubauprojekte .intro_box h1 div:nth-of-type(2) span {
	margin-left: 1.7em;
}

body.anlageobjekte .intro_box h1 div:nth-of-type(1) span {
	margin-left: 1.62em;
}
body.anlageobjekte .intro_box h1 div:nth-of-type(2) span {
	margin-left: 0em;
}
body.anlageobjekte .intro_box h1 div:nth-of-type(3) span {
	margin-left: 0.8em;
}

body.entwickeln .intro_box h1 div:nth-of-type(1) span {
	margin-left: 1em;
}
body.entwickeln .intro_box h1 div:nth-of-type(2) span {
	margin-left: 0em;
}
body.entwickeln .intro_box h1 div:nth-of-type(3) span {
	margin-left: 0.8em;
}

body.suchauftrag .intro_box h1 div:nth-of-type(1) span {
	margin-left: 0.5em;
}
body.suchauftrag .intro_box h1 div:nth-of-type(2) span {
	margin-left: 1em;
}
body.suchauftrag .intro_box h1 div:nth-of-type(3) span {
	margin-left: 0em;
}

body.projektpipeline .intro_box h1 div:nth-of-type(1) span {
	margin-left: 0em;
}
body.projektpipeline .intro_box h1 div:nth-of-type(2) span {
	margin-left: 1em;
}
body.projektpipeline .intro_box h1 div:nth-of-type(3) span {
	margin-left: 0em;
}

body.referenzen .intro_box h1 div:nth-of-type(1) span {
	margin-left: 0em;
}
body.referenzen .intro_box h1 div:nth-of-type(2) span {
	margin-left: 0.8em;
}
body.referenzen .intro_box h1 div:nth-of-type(3) span {
	margin-left: 0.4em;
}


body.firma .intro_box h1 div:nth-of-type(1) span {
	margin-left: 0.2em;
}
body.firma .intro_box h1 div:nth-of-type(2) span {
	margin-left: 0.6em;
}
body.firma .intro_box h1 div:nth-of-type(3) span {
	margin-left: 0em;
}

body.kontakt .intro_box h1 div:nth-of-type(1) span {
	margin-left: 0em;
}
body.kontakt .intro_box h1 div:nth-of-type(2) span {
	margin-left: 0.8em;
}
body.kontakt .intro_box h1 div:nth-of-type(3) span {
	margin-left: 0em;
}






h1.anim span {
	margin-left: 0 !important;
}

h2 {
	font-size: 3em;
	font-family: "ivyora-display", serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.15;
	position: relative;
	margin: 0.5em 0;
}

.datenschutz h2 {
	margin-top: 1em;
}


h3 {
	font-size: 2.4em;
	font-family: "ivyora-display", serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.3;
	position: relative;
	margin: 0.75em 0;
}

.datenschutz h3 {
	margin-bottom: 0em;
}

h4, .faq_wrapper summary {
	font-size: 1.5em;
	font-family: "ivyora-display", serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.3;
	position: relative;
	margin: 0.5em 0;
}

p {
	margin: 1em 0;
}

.h1 {
	font-size: 4.2em;
	font-family: "ivyora-display", serif;
	font-weight: 400;
	font-style: normal;
}


.animate-letters .word {
  display: inline-block;
  white-space: nowrap;
	overflow: hidden;
	padding: 0.2em;
	margin: -0.2em;
}



.animate-letters span {
  display: inline-block;
  opacity: 0;
  transform: translateX(-40%) rotateZ(-10deg) translateX(40%) scale(0.9) translateY(150%);
  will-change: transform;
  transition-property: transform, opacity;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.84, 0, 0.16, 1), linear;
  transition-delay: calc(0s + .01s * var(--splitTextDelay));
	
}

.inview.animate-letters span {
  opacity: 1;
  transform: none;
}




/*
.wp-block-button {
	position: relative;
	display: flex;
	line-height: 1;
}

.wp-block-button::before {
	content: '';
	position: absolute;
	height: 1px;
	width: 100%;
	bottom: 0;
	left: 0;
	background-color: #3c3c3c;
	transition: all 0.5s;
}

.btn_neg .wp-block-button::before {
	background-color: #fff;
}




.wp-block-button__link, .def_btn {
	color: inherit;
	background-color: unset;
	border-radius: 0;
	box-shadow: none;
	text-decoration: none;
	padding: 0;
	padding-bottom: 0.1em;
	font-size: 0.9em;
	text-transform: uppercase;
	position: relative;
	padding-bottom: 0.4em;
}



.wp-block-button__link::after, .def_btn::after {
	content: '';
	width: 0.9em;
	height: 0.9em;
	margin-left: 0.6em;
	display: inline-block;
	transform: translateX(0);
	background-image: url(/wp-content/uploads/2026/03/sym_arrow.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	transition: all 0.5s;
	transition-delay: 0.3s;
}

.btn_neg .wp-block-button__link::after {
	filter: brightness(0) invert(1);
}

.wp-block-button:hover .wp-block-button__link::after, .def_btn:hover::after {
	transform: translateX(100%);
	opacity: 0;
	transition-delay: 0s;
}

.arrow_down .wp-block-button__link::after {
	transform: rotate(90deg) translateX(0%);
}

.wp-block-button.arrow_down:hover .wp-block-button__link::after {
	transform: rotate(90deg) translateX(100%);
	opacity: 0;
	transition-delay: 0s;
}


.wp-block-button__link::before, .def_btn::before {
	content: '';
	width: 0.9em;
	height: 0.9em;
	margin-left: 0.6em;
	display: inline-block;
	background-image: url(/wp-content/uploads/2026/03/sym_arrow.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	transition: all 0.5s;
	position: absolute;
	right: 0;
	transition-delay: 0s;
}

.btn_neg .wp-block-button__link::before {
	filter: brightness(0) invert(1);
}

.wp-block-button__link::before, .def_btn::before {
	transform: translateX(-100%);
	opacity: 0;
}

.wp-block-button:hover .wp-block-button__link::before, .def_btn:hover::before {
	transform: translateX(0%);
	opacity: 1;
	transition-delay: 0.3s;
}

.arrow_down .wp-block-button__link::before {
	transform: rotate(90deg) translateX(-100%);
	opacity: 0;
}

.wp-block-button.arrow_down:hover .wp-block-button__link::before {
	transform: rotate(90deg) translateX(0%);
	opacity: 1;
	transition-delay: 0.3s;
}
*/

/* unsere werte */


#grp1 {
	transform: translateY(3.5%);	
}

#grp2 {
	transform: translateX(-3.2%) translateY(1.55%);
}
#grp3 {
	transform: translateX(-3.2%) translateY(-1.55%);
}
#grp4 {
	transform: translateY(-3.5%);
}
#grp5 {
	transform: translateX(3.2%) translateY(-1.55%);
}
#grp6 {
	transform: translateX(3.2%) translateY(1.55%);
}

.grp_ct {
	transition: all 0.5s;
}

.grp_ct.active {
	transform: translateX(0%) translateY(0%) !important;
}




.cls-uw-2 {
	stroke: #3c3c3c !important;
	fill: #ffffff !important;
	transition: all 0.5s;
}

.cls-uw-5 {
	fill: #3c3c3c !important;
	transition: all 0.5s;
}


.grp_ct.active .cls-uw-2 {
	fill: #3c3c3c !important;
}

.grp_ct.active .cls-uw-5 {
	fill: #ffffff !important;
}


.werte_texte_wrapper {
	height: 10em;
	position: relative;
	/*background-color: rgba(0,0,0,0.1);*/
}

.werte_text_ct {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	pointer-events: none;
	transition: all 0.5s;
}

.werte_text_ct.active {
	opacity: 1;
	pointer-events: auto;
}


.unsere_werte_wrapper {
	width: 30%;
	margin: 0 auto;
}




/* content boxes */

.content_box_40 {
	width: 100%;
	max-width: 32em;
	margin: 0 auto;
}


/*------------------------------------*\
    ANIMATION
\*------------------------------------*/



@media only screen and (min-width: 960px) {
.anim {
	transition: all 2s;
}

.delay01 {
	transition-delay: 0.1s;
}
.delay02 {
	transition-delay: 0.2s;
}
.delay03 {
	transition-delay: 0.3s;
}
.delay04 {
	transition-delay: 0.4s;
}
.delay05 {
	transition-delay: 0.5s;
}
.delay06 {
	transition-delay: 0.6s;
}
.delay07 {
	transition-delay: 0.7s;
}
.delay08 {
	transition-delay: 0.8s;
}
.delay09 {
	transition-delay: 0.9s;
}
.delay10 {
	transition-delay: 1s;
}


.anim.fade_in {
	opacity: 0;
}
.anim.inview.fade_in {
	opacity: 1;
}

.anim.zoom_in {
	transform: scale(0.8);
	opacity: 0;
}
.anim.inview.zoom_in {
	transform: scale(1);
	opacity: 1;
}

.anim.from_left {
	transform: translateX(-2em);
	opacity: 0;
}
.anim.inview.from_left {
	transform: translateX(0em);
	opacity: 1;
}

.anim.from_right {
	transform: translateX(2em);
	opacity: 0;
}
.anim.inview.from_right {
	transform: translateX(0em);
	opacity: 1;
}

.anim.from_top{
	transform: translateY(-2em);
	opacity: 0;
}
.anim.inview.from_top {
	transform: translateY(0em);
	opacity: 1;
}

.anim.from_btm{
	transform: translateY(2em);
	opacity: 0;
}
.anim.inview.from_btm {
	transform: translateY(0em);
	opacity: 1;
}


}


.obj_status_mob {
	display: none;
}



.alert-danger.casawp-ajax-error {
	background-color: #c13030;
	color: #fff;
	font-weight: bold;
	padding: 0.5em;
	margin-top: 1em;
}


.lage_swipe_ovl {
	display: none;
}


/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

@media only screen and (max-width:1400px) {
	
	.wp-block-button__link, .def_btn {
		font-size: 1.2em;
	}
	
	.it_in_zahlen_box {
		width: 80%;
	}
	
	.unsere_werte_wrapper {
		width: 40%;
	}
	
}


@media only screen and (max-width:1140px) {
	
	.wrapper {
		font-size: clamp(16px, 1.1vw, 36px);
	}
	
	.logo-img {
		transform: none;
	}
	
	.menu_icon_wrapper {
		transform: none;
	}
	
	.footer.nav > article {
		grid-gap: 6em 2em;
	}
	
	.wp-block-button__link, .def_btn {
		font-size: 1em;
		white-space: nowrap;
	}
	
	.intro_box {
		margin-top: 0;
		flex-direction: column;
		padding-top: 0.5em;
	}
	
	.intro_box_img img {
		transform: none;
		aspect-ratio: 1.5;
	}
	
	.intro_box .wp-block-buttons.is-content-justification-right {
		justify-content: center;
	}
	
	.page-id-8 .intro_box_img img, .intro_box_img img {
		height: auto;
	}
	
	.bild_text_teaser .bild_box:first-of-type {
		padding-left: 0em;
	}
	
	.wp-block-columns.bild_text_teaser .text_box {
		flex-basis: 35%;
	}
	
	.bild_text_teaser .bild_box:last-of-type {
		padding-left: 2em;
		padding-right: 0em;
	}
	
	.wp-block-columns.bild_text_teaser .text_box {
		padding-left: 0em;
	}
	
	
	.teaser_box_suchprofil {
		background-size: cover !important;
	}
	
	.tst_sld_wrapper > div .wp-block-group {
		width: 50%;
	}
	
	.referenz-slider-wrapper .slick-prev, .referenz-slider-wrapper .slick-next {
		width: 5vw;
		height: 5vw;
	}
	
	.referenz-slider-wrapper .slick-prev {
		transform: translateX(-47vw);
	}
	
	.referenz-slider-wrapper .slick-next {
		transform: translateX(47vw) rotate(180deg);
		left: auto;
		right: 50%;
	}
	
	
	.ablauf_grafik_wrapper {
		margin-top: 2em;
		margin-bottom: 1em;
	}
	
	.ablauf_grafik_wrapper #ablauf_grafik, .ablauf_grafik_wrapper .ag_dot, .ablauf_grafik_wrapper .ag_txt {
		display: none;
	}
	
	.ablauf_grafik_wrapper > div {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 0;
	}
	
	.ablauf_grafik_wrapper .ag_desc {
		position: relative;
		opacity: 1;
		top: auto !important;
		left: auto !important;
		flex-basis: auto;
		max-width: 33em !important;
		margin: 0 auto;
		padding-left: 5em;
		padding-bottom: 3em;
	}
	
	.ablauf_grafik_wrapper .ag_desc::before {
		top: -0.4em;
		left: 0;
		position: absolute;
		z-index: 3;
		outline: 0.5em solid #fff;
	}
	
	.ablauf_grafik_wrapper .ag_desc::after {
		content: '';
		width: 1.5px;
		height: 100%;
		left: 1.4em;
		top: 2em;
		position: absolute;
		background-color: rgba(60,60,60,0.4);
	}
	
	.ablauf_grafik_wrapper > div .ag_desc:last-of-type::after {	
		display: none;
	}
	
	
	.ag_desc {
		display: flex;
		flex-basis: 24em;
		flex-grow: 0;
		flex-shrink: 0;
		max-width: none !important;
	}
	
	.ag_desc p {
		font-size: 1em;
	}
	
	.ag_desc::before {
		content: '1';
		background-color: #fff;
		border: 1px solid #3c3c3c;
		color: #3c3c3c;
		font-size: 2.1em;
		line-height: 1;
		width: 1.4em;
		height: 1.4em;
		aspect-ratio: 1;
		margin-right: 0.5em;
		font-family: "ivyora-display", serif;
		border-radius: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		font-weight: 400;
	}
	
	#ag_desc2::before {
		content: '2';
	}
	#ag_desc3::before {
		content: '3';
	}
	#ag_desc4::before {
		content: '4';
	}
	#ag_desc5::before {
		content: '5';
	}
	#ag_desc6::before {
		content: '6';
	}
	#ag_desc7::before {
		content: '7';
	}
	
	.form_mit_kontaktperson {
		flex-wrap: nowrap;
	}

	.form_mit_kontaktperson > div:nth-child(2) {
		display: none;
	}
	.form_mit_kontaktperson > div:nth-child(3) {
		min-width: 18em;
	}
	
	.cols-slider-wrapper.team .slick-prev {
		top: 100%;
		left: 0;
		right: auto;
		transform: translateY(100%) translateX(50%);
	}
	
	.cols-slider-wrapper.team .slick-next {
		top: 100%;
		left: auto;
		right: 0;
		transform: translateY(100%) translateX(-50%) rotate(180deg); 
	}
	

	.intro_box {
		margin-bottom: 0;
	}
	
	.intro_box .wp-block-spacer, .intro_box .wp-block-buttons {
		display: none;
	}
	
	.nav .sub-menu a {
		font-size: 0.86em;
	}
	
	.teaser_box_objekt {
		aspect-ratio:  unset;
	}
	
	.teaser_box_objekt > div {
		display: flex;
		flex-direction:  column;
	}
	
	.teaser_box_objekt::before {
		display: none;
	}
	
	.teaser_box_objekt .hintergrundbild_wrapper {
		aspect-ratio: 1.8;
		position: relative;
	}
	
	.teaser_box_objekt .wp-block-columns {
		color: #3c3c3c;
	}
	
	.teaser_box_objekt .wp-block-columns .content_inner {
		opacity: 1;
		transform: none;
		pointer-events: auto;
		padding: 0;
		flex-basis: 100%;
		transition: none;
	}
	
	.teaser_box_objekt .btn_neg .wp-block-button__link::after, .teaser_box_objekt .btn_neg .wp-block-button__link::before {
		filter: unset;
	}
	
	.teaser_box_objekt .btn_neg .wp-block-button::before {
		background-color: #3c3c3c;
	}
	
	.teaser_box_objekt .wp-block-buttons {
		margin-top: 1.5em;
	}
	
	.teaser_box_objekt h3 {
		padding-top: 0em;
	}
	
	.referenz-slider-wrapper .tst_sld_wrapper {
		margin-left: 0;
		margin-right: 0;
	}
	
	.referenz-slider-wrapper {
		max-width: 90%;
		margin: 0 auto;
	}
	
	.referenz-slider-wrapper .slick-prev {
		transform: translateY(-50%) translateX(50%);
		left: 0;
	}
	
	 .referenz-slider-wrapper .slick-next {
		transform: translateY(-50%) translateX(-50%) rotate(180deg);
		 right: 0;
	}
	
	.referenz-slider-wrapper.ref_mit_text {
		
	}
	
	.referenz-slider-wrapper.ref_mit_text .tst_sld_wrapper {
		margin-bottom: 7em;
	}
	
	.referenz-slider-wrapper.ref_mit_text .tst_sld_wrapper > div .wp-block-group {
		width: 100%;
		margin-left: 0;
		background-color: #fff;
		color: #3c3c3c;
		opacity: 1;
		transition: none;
		padding: 1em 0;
		transform: translateY(100%);
	}
	
	.referenz-slider-wrapper.ref_mit_text .slick-prev, .referenz-slider-wrapper.ref_mit_text .slick-next {
		top: 25vw;
	}
	
	
	.it_in_zahlen_box {
		width: 100%;
	}
	
	
	
	

	
	.cols-slider-wrapper.team {
		padding-right: 0;
		max-width: 90%;
		margin: 0 auto;
	}
	
	.cols-slider-wrapper.team .col_sld {
		margin-bottom: 2em;
		position: relative;
	}
	
	.team_ovl {
		position: relative;
		opacity: 1;
		background-color: #fff;
		color: #3c3c3c;
		padding: 0.5em 0;
	}
	
	
	.intro_box h1 {
		white-space: unset;
		flex-direction: row;
		flex-wrap: wrap;
		line-height: 1.2;
		padding-top: 0 !important;
		gap: 0.6em;
	}
	
	.intro_box h1 span {
		margin-left: 0 !important;
	}
	
	.intro_box h1 div {
		display: contents !important;
	}
	
	.intro_box h1 span {
		display: contents !important;
	}
	
	.intro_box h1 br {
		display: none !important;
	}
	
	
	.intro_box_img img {
		aspect-ratio: 1.25;
	}
	
	#kaufen_grid_wrapper:not(.kaufen_grid_col2) .teaser_box_objekt h3 {
		margin-top: 0.25em;
	}
	
	.testimonial-slider-wrapper .tst_sld_wrapper > div .wp-block-group {
		width: 50%;
	}
	
	.kaufen_grid_col2.referenz_grid .teaser_box_objekt .wp-block-columns .content_inner {
		padding: 0;
	}
	
	
	#kaufen_grid_wrapper.kaufen_grid_col2 .teaser_box_objekt .wp-block-columns {
		position: relative;
		top: auto;
		left: auto;
		margin-bottom: 0;
	}
	
	#kaufen_grid_wrapper.kaufen_grid_col2 .teaser_box_objekt .wp-block-columns h3 {
		margin-top: 0;
	}
	
	
	.titel_team {
		text-align: left;
		letter-spacing: -0.025em;
	}
	
	.cols-slider-wrapper.team figure {
		text-align: left;
	}
	
	.cols-slider-wrapper.team figure img {
		width: 100%;
		aspect-ratio: 1.2;
		object-fit: cover;
		object-position: center center;
		max-width: 42em;
		height: auto;
	}
	
	
	.haus_details_wrapper figure img {
		aspect-ratio: 0.9;
		object-position: center bottom;
	}
	
	
	.intro_frame_cols {
		width: 100%;
	}
	
	
	.haus_details_info.info1 {
		top: auto;
		bottom: 44%;
		height: 27%;
	}
	
	.haus_details_info.info2 {
		top: auto;
		bottom: 47.5%;
		height: 14%;
	}
	
	.haus_details_info.info3 {
		top: auto;
		bottom: 38%;
		left: 54%;
		border-left: 1px solid rgba(255,255,255,0.5);
		border-right: none;
		text-align: left;
		padding-right: 0;
		padding-left: 0.8em;
		height: 30%;
	}
	
	.haus_details_info.info3 .haus_details_dot {
		right: auto;
		left: -1.5em;
	}
	
	.haus_details_info.info4 {
		top: auto;
		bottom: 38%;
		height: 18%;
	}
	
	.haus_details_info > div {
		font-size: 2vw;
	}
	
	.downloads_cols_wrapper {
		flex-direction: column;
	}
	
	.bu_wrapper {
		padding-left: unset;
		width: 80%;
	}
	
}




@media only screen and (max-width:960px) {
	
	
	.footer.nav > article {
		grid-template-columns: 1fr 1fr 1fr;
	}
	
	footer.nav .nav_extra_cols.col0 {
		/*grid-column: 1 / -1;*/
		display: none;
	}
	
	.footer.nav .nav_extra_cols.col4 {
		grid-column: 1 / -1;
		text-align: left;
	}
	
		h2 br:not(.intro_frame_titel h2 br) {
		display: none;
	}
	

	.teaser_box_suchprofil {
		aspect-ratio: 1.5;
	}
	
	.teaser_box_suchprofil .wp-block-columns .content_inner {
		/*flex-basis: 66% !important;*/
	}
	
	.teaser_box_suchprofil .wp-block-column.content_inner > * {
		width: 100%;
	}
	
	
	
	.testimonial-slider-wrapper .tst_sld_wrapper > div .wp-block-group {
		margin-left: 0;
		width: 100%;
	}
	
	
	.tst_sld_wrapper > div .wp-block-group {
		margin-left: 2em;
	}
	
	

	.verkaufen_3cols {
		flex-direction: column;
	}
	
	.verkaufen_3cols img {
		aspect-ratio: 1.8 !important;
	}
	
	.verkaufen_3cols > div {
		padding-bottom: 2em;
	}
	
	.it_map_wrapper {
		font-size: 1.8vw;
	}
	
		.testimonial-slider-wrapper .tst_sld_wrapper > div .wp-block-group {
		line-height: 1.2;
	}
	
	h1 br {
		display: none !important;
	}
	
	#kaufen_grid_wrapper.kaufen_grid_col2 > div {
		grid-template-columns: 1fr;
	}
	
	.team_ovl {
		opacity: 1;
		height: auto;
		top: auto;
		bottom: 0;
	}
	
	.cols-slider-wrapper.team .slick-slide img {
		aspect-ratio: 1;
	}
	
	.faq_wrapper details .pipeline_kontakt_wrapper {
		max-width: unset;
	}
	
	.pipeline_kontakt {
		grid-template-columns: auto max-content;
		grid-gap: 3em;
		padding-top: 3em;
	}
	
	.form_mit_kontaktperson {
		flex-direction: column-reverse;
	}
	
	.form_mit_kontaktperson h3 {
		font-size: 1.5em;
	}
	
	.form_mit_kontaktperson > div:first-of-type {
		width: 100%;
	}
	
	.form_mit_kontaktperson > div:last-of-type {
		align-self: center;
		width: 100%;
	}
	
	.testimonials .tst_sld_wrapper {
		aspect-ratio: unset;
	}
	
	.testimonials .tst_sld_wrapper .hintergrundbild_wrapper {
		position: relative;
		background-color: transparent;
		aspect-ratio: 2.1;
	}
	
	.testimonials .tst_sld_wrapper > div .wp-block-group {
		width: 100%;
		padding: 0;
		padding-top: 0.5em;
		background-color: #fff;
		color: #3c3c3c;
		margin-left: 0em;
		transition: none;
		transform: none;
		opacity: 1;
	}
	
	.testimonial-slider-wrapper .slick-next {
		top: 15vw;
		transform: translateY(100%) translateX(-25%) rotate(180deg);
		left: auto;
		right: 0;
		background-color: rgba(255,255,255,0.7);
		padding: 0.3em;
		opacity: 1;
		background-size: 70% auto;
		background-position: center center;
	}
	
	.testimonial-slider-wrapper .slick-prev {
		top: 15vw;
		transform: translateY(100%) translateX(25%);
		left: auto;
		left: 0;
		background-color: rgba(255,255,255,0.7);
		padding: 0.3em;
		opacity: 1;
		background-size: 70% auto;
		background-position: center center;
	}
	
	
	
	.unsere_werte_wrapper {
		width: 65%;
	}
	
	
	.menu_void_col {
		display: none;
	}
	
	.nav > article, .footer.nav > article {
		grid-template-columns: auto auto auto;
		grid-gap: 5em 2em;
		/*padding-left: 2.4em; */
	}
	
	.nav_extra_cols.col4 {
		grid-column: 1 / -1;
		padding-bottom: 1em;
	}
	
	.verkaufen_3cols img {
		aspect-ratio: 1.25 !important;
	}
	
	.it_in_zahlen_box {
		text-align: center;
		flex-direction: column;
	}
	
	.testimonial-slider-wrapper {
		padding-left: 0em;
	}
	
	.testimonial-slider-wrapper .copyright_wrapper {
		height: auto;
		top: 39vw;
		transform: none;
		aspect-ratio: unset;
		bottom: auto;
	}
	
	.haus_details_wrapper .haus_details_tx1 {
		position: absolute;
		top: 0em;
		right: 10%;
		width: 80%;
		text-align: center;
		font-size: 1em;
	}
	
	.haus_mood_img img {
		aspect-ratio: 0.8;
	}
	
	.haus_mood_tx1 {
		top: 6%;
		left: 10%;
	}
	
	.bu_wrapper {
		width: 100%;
	}
	
}









@media only screen and (max-width:781px) {
	

	
	.bild_text_teaser .bild_box:last-of-type {
		padding-left: 0;
	}
	
	
	.nav .sub-menu {
		font-size: 1.8em;
	}
	
	.mob_reverse {
		flex-direction: column-reverse;
	}
	
	h1, .h1 {
		font-size: 3.2em;
	}
	
	h2 {
		font-size: 2.4em;
	}
	
	h3 {
		font-size: 1.8em;
	}
	

	
	.wp-block-column.content_inner > * {
		width: 50%;
	}
	
	.teaser_box_suchprofil .wp-block-columns {
		align-items: flex-end;
	}
	
	
	.teaser_box_objekt {
		justify-content: flex-end;
		aspect-ratio: 1.5;
	}
	
	
	
	
	
	.objekt_status {
		top: 1em;
		right: 1em;
		font-size: 0.8em;
	}
	
	.objekt_content_wrapper {
		flex-direction: column;
	}
	
	.objekt_infos_wrapper {
		padding-left: 0;
		border-left: none;
	}
	
	.cols-slider-wrapper .slick-prev {
		top: 100%;
		left: 0;
		transform: translateY(100%) translateX(0%);
	}
	
	.cols-slider-wrapper .slick-next {
		top: 100%;
		left: auto;
		right: 0;
		transform: translateY(100%) translateX(-80px) rotate(180deg); 
	}
	
	

	
	

	
	.table.immo_details {
		margin-bottom: 3em;
	}
	
	.table.immo_details tbody {
		display: contents;
	}
	
	
	.objekt_text_wrapper {
		padding-right: 0;
	}
	
	
	
	.objekt_head_img img {
		aspect-ratio: 1.5;
	}
	
	
	.cols-slider-wrapper.punkte h3 {
		margin-top: 1.2em;
	}
	

	
	.testimonial-slider-wrapper {
		padding-left: 0em;
	}
	

	
	.tst_sld_wrapper {
		aspect-ratio: 0.7;
		background-position: 85% bottom;
	}
	

	
	.teaser_box_objekt .wp-block-columns .content_inner {
		padding-bottom: 1.5em;
		line-height: 1.25em;
	}
	
	.faq_wrapper details > *, .faq_wrapper details summary {
		padding-left: 60px;
	}
	
	.pipeline_kontakt {
		grid-template-columns: 1fr;
	}
	
	.pipeline_form .casawp-contactform-form .row {
		grid-template-columns: 1fr;
		grid-gap: 0;
	}
	
	.cols-slider-wrapper.team .slick-slide > div {
		max-width: 85vmin;
	}
	
	.cols-slider-wrapper.team .slick-slide img {
	aspect-ratio: 0.8;
}
	
	article, .article {
		width:90%;
	}
	
	.teaser_box_suchprofil .wp-block-columns {
		gap: 0;
		margin: 0;
	}
	
	.teaser_box_suchprofil .wp-block-columns .content_inner {
		flex-basis: 90% !important;
	}
	
	.teaser_box_suchprofil .wp-block-buttons {
		margin-top: 2em;
	}
	
	.cols-slider-wrapper.punkte::before {
		display: none;
	}
	
	.cols-slider-wrapper.punkte {
		position: relative;
	}
	
	.cols-slider-wrapper.punkte h3 {
		position: absolute;
		margin: 0;
		left: 0;
		margin-top: -0.15em;
	}
	
	.cols-slider-wrapper.punkte h3 em {
		transform: scale(1);
	}
	
	.cols-slider-wrapper {
		padding-left: 4em;
	}
	

	

	
	.cols-slider-wrapper.geschichte {
		padding-left: 0;
	}
	
	
	
	.obj_status_desk {
		display: none;
	}
	
	.obj_status_mob {
		display: block;
		margin-bottom: 2em;
		margin-top: 1em;
	}
	
	.mob_no {
		display: none;
	}
	
	.mob_half {
		font-size: 0.3em;
	}
	
	.ag_desc {
		flex-basis: 100%;
	}
	
	.cols-slider-wrapper.team .col_sld {
		margin-bottom: 0em;
	}
	
	
	.cols-slider-wrapper.punkte {
		padding-left: 0;
	}
	
	.cols-slider-wrapper.punkte:not(.geschichte) .col_sld {
		padding-left: 4em;
		position: relative;
	}
	
	.cols-slider-wrapper.punkte h3 em {
		outline: 0.5em solid #fff;
	}
	
	.cols-slider-wrapper.punkte:not(.geschichte) .col_sld::after {
		content: '';
		width: 1.5px;
		position: absolute;
		background-color: rgba(60,60,60,0.4);
		height: 100%;
		left: 1.3em;
		top: 1em;
	}
	
	.cols-slider-wrapper.punkte:not(.geschichte) > div .col_sld:last-of-type::after {
		display: none;
	}
	
	#kaufen_grid_wrapper:not(.kaufen_grid_col2) .teaser_box_objekt h3 {
		margin-top: 0.5em;
	}
	
	.referenz_grid .teaser_box_objekt h3 span {
		font-size: 1em;
	}
	
	#kaufen_grid_wrapper.kaufen_grid_col2 .teaser_box_objekt .wp-block-columns h3 {
		margin-top: 0.25em;
	}
	
	.referenz-slider-wrapper.ref_mit_text .tst_sld_wrapper > div .wp-block-group {
		padding: 0.75em 0;
	}
	
	

	
	.bild_text_teaser {
		gap: 0.5em;
	}
	
	.bild_text_teaser .wp-block-buttons {
		margin-top: 0;
	}
	
	
	.intro_frame_cols {
		display: none !important;
	}
	
	.head_meta .wp-block-button {
		display: none;
	}
	
	.intro_frame_titel {
		
	}
	
	
	.intro_frame_titel h2 {
		font-size: 6.6vw;
	}
	
	.intro_frame_text .wp-block-button {
		display: block;
		padding: 2em 0 4em 0;
		text-align: left;
	}
	
	.wp-block-button__link.on_bg, .wp-block-button.is-style-outline .wp-block-button__link, .wpcf7-submit {
		font-size: 1.3em;
	}
	
	.text_box {
		text-align: center;
		padding-right: 0 !important;
	}
	
	
	.plx-collage {
		margin-top: auto;
	}
	
	.plx-collage .wp-block-image {
		width: 100% !important;
		aspect-ratio: auto !important;
		margin: 0 !important;
		margin-bottom: 5vw !important;
	}
	
	.plx-collage .wp-block-image img {
		transform: none !important;
	}
	
	.col_sld p {
		display: none;
	}
	
	
	.cols-slider-wrapper.geschichte > div {
		width: max-content;
		margin: 0 auto;
	}
	
	.cols-slider-wrapper.geschichte .col_sld::before {
		width: 1px !important;
		height: 100% !important;
		border-top: none !important;
		border-left: 1px solid !important;
		top: 3.6em;
	}
	
	.cols-slider-wrapper.geschichte .col_sld {
		padding-top: 0em;
		padding-bottom: 3em;
		padding-left: 4em;
	}
	

	#meilensteine .cols-slider-wrapper.geschichte .col_sld > div::before {
		top: -0.2em !important;
	}
	
	.cols-slider-wrapper.geschichte .col_sld.done > div::after {
		top: 0.2em !important;
	}
	
	.cols-slider-wrapper.geschichte .col_sld h4 strong {
		font-size: 1.2em;
	}
	
	.cols-slider-wrapper.geschichte .col_sld.active h4 strong {
		font-size: 1.6em;
		position: relative;
		top: -0.2em;
	}
	
	.cols-slider-wrapper.geschichte .col_sld.done::before, .cols-slider-wrapper.geschichte .col_sld.active::before, .cols-slider-wrapper.geschichte .col_sld.open::before {
		left: 1.2em;
		top: 2.1em;
		height: 5em !important;
	}
	
	.cols-slider-wrapper.geschichte .col_sld.active::before, .cols-slider-wrapper.geschichte .col_sld.open::before {
		border-left: 1px dashed !important;
	}
	
	
	.lage_bg_wrapper figure {
		position: relative;
	}
	
	.lage_bg_wrapper figure, .lage_bg_wrapper #poi_labels {
		width: 240%;
		/*left: -130vw;*/
	}
	
	.lage_bg_wrapper {
		overflow-x: scroll;
	}
	
	.lage_bg_outer {
		position: relative;
	}
	
	.lage_swipe_ovl {
		display: flex;
		justify-content: center;
		position: absolute;
		width: 100%;
		background-color: rgba(0,0,0,0.5);
		bottom: 0;
		left: 0;
		z-index: 3;
		padding-top: 1em;
		pointer-events: none;
	}
	
	.lage_swipe_ovl img {
		height: 4em;
		width: auto;
		filter: invert(1);
	}

	.ang_list {
		width: 100%;
	}
	
	.dl_items_wrapper > div {
		column-count: unset;
		padding-left: 0em;
	}
	
	.titel_top_line {
		margin-bottom: 0.7em;
	}
	
	.wp-block-file:not(.wp-element-button) {
		font-size: 1em;
	}
	
	
	.bu_wrapper {
		text-align: center;
	}

	.cols-slider-wrapper.geschichte .col_sld.active > div::after {
		top: 0.4em;
	}
	
	
	
	

}



@media only screen and (max-width:600px) {
	
	article {
		overflow-x: hidden;
	}
	
	h1, .h1 {
		font-size: 2.4em;
	}
	
	h2 {
		font-size: 1.7em;
	}
	
	
	.intro_frame_bg, .intro_frame_content {
		height: 110lvh;
	}
	
	.btns_lage {
		flex-direction: column;
	}
	
	.status_legende {
		font-size: 0.8em;
	}
	
	.ang_legende_text br {
		display: none;
	}
	
	h4, .faq_wrapper summary, .form_mit_kontaktperson h3 {
		font-size: 1.25em;
	}
	
	.menu_icon_wrapper {
		gap: 1em;
	}

	.menu_icon_text {
		font-size: 0.8em;
	}
	
	.menu_icon_ct {
		font-size: 1.4em;
	}
	
	.logo {
		height: 1.8em;
	}
	
	.nav > article, .footer.nav > article {
		grid-template-columns: 1fr;
		grid-gap: 3em;
		text-align: center;
	}

	.nav_extra_cols, .footer.nav .nav_extra_cols.col4 {
		text-align: center;
	}
	
	
	.gal_box_wrapper .wp-block-columns {
		flex-direction: column !important;
	}
	
	
	.form_mit_kontaktperson .wp-block-column {
		flex-basis: 100%;
	}
	
	.form_mit_kontaktperson .prt_img {
		display: flex;
		justify-content: center !important;
	}
	
	.soc_med_wrapper {
		justify-content: center;
	}
	
	.casawp-contactform-form .row {
		grid-template-columns: 1fr;
		grid-gap: 0em;
	}
	
	
	.tst_sld_wrapper > div .wp-block-group {
		width: 70%;
		padding: 1em;
		padding-top: 0;
	}
	
	
	
	.teaser_box_suchprofil .wp-block-columns .content_inner {
		padding: 1em 1em;
		flex-basis: 50%;
	}
	

	

	.menu_icon_text {
		display: none;
	}
	
	
	
	


	.no_br br {
		display: none;
	}
	
	.it_in_zahlen_box h2 {
		font-size: 2em;
	}
	
	.wp-block-column.content_inner > * {
	width: 80%;
}
	

	
	.teaser_box_suchprofil br {
		display: none;
	}
	
	.gal_box_wrapper img {
		aspect-ratio: unset !important;
		height: auto !important;
	}
	
	.teaser_box_suchprofil .wp-block-buttons {
		margin-top: 1em;
	}
	
	.teaser_box_objekt .wp-block-columns {
		gap: 0;
	}
	
	.teaser_box_objekt .wp-block-column.content_inner > * {
		width: 100%;
	}
	
	.cols-slider-wrapper .col_sld {
		padding-right: 0;
	}
	
	.cols-slider-wrapper {
		padding-left: 3em;
	}
	

	
	.bild_text_teaser {
		gap: 2em;
	}
	
	.bild_text_teaser .text_box {
		padding-top: 0.5em;
	}
	
	.objekt_content_wrapper {
		margin-top: 2em;
	}
	
	
	.it_in_zahlen_box {
		padding: 2em 3em;
	}
	
	
	
	.unsere_werte_wrapper {
		width: 100%;
	}
	

	.cols-slider-wrapper.geschichte .col_sld::after {
		left: 3.1em;
		width: 2.1em;
	}
	
	
	.cols-slider-wrapper.punkte:not(.geschichte) .col_sld::after {
		left: 1.1em;
	}
	
	.teaser_box_suchprofil .wp-block-columns .content_inner h3 {
		line-height: 1.1;
	}
	
	.teaser_box_suchprofil .wp-block-columns .content_inner p {
		line-height: 1.1;
	}
	
	.teaser_box_suchprofil {
		justify-content: center !important;
	}
	
	body.kaufen .teaser_box_objekt .wp-block-buttons {
		margin-top: 0;
	}
	
	body.kaufen .widget2 {
		display: none;
	}
	
	
	
	.intro_frame_titel h2 {
		font-size: 7.8vw;
	}
	
	
	
	.haus_details_info.info1, .haus_details_info.info2, .haus_details_info.info3, .haus_details_info.info4 {
		bottom: 0;
		width: 100%;
		height: 72%;
		left: 0;
		text-align: center;
		border-left: none;
		padding-left: 0;
		pointer-events: none;
		padding-top: 6vw;
	}
	
	.haus_details_info > div {
		font-size: 3.6vw;
		line-height: 1.3;
	}
	
	.haus_details_dot {
		pointer-events: auto;
	}
	
	.haus_details_info p {
		opacity: 0;
		transition: all 0.5s;
	}
	
	.haus_details_info.active p {
		opacity: 1;
	}
	
	.haus_details_info.active .haus_details_dot {
		animation: none;
		border: 1.5vw solid #fff;
		background-color: transparent;
		opacity: 1;
		transform: scale(0.6);
	}
	
	.haus_details_info.info1 .haus_details_dot {
		bottom: 48%;
		left: 11%;
	}
	
	.haus_details_info.info2 .haus_details_dot {
		bottom: 54%;
		left: 21%;
	}
	
	.haus_details_info.info3 .haus_details_dot {
		bottom: 42%;
		left: 47%;
	}
	
	.haus_details_info.info4 .haus_details_dot {
		bottom: 44%;
		left: 58%;
	}
	
	.haus_details_wrapper figure img {
		aspect-ratio: 0.8;
	}
	
	.haus_details_wrapper .haus_details_tx1 {
		top: 0.5em;
	}
	
	.haus_details_info p {
		font-size: 1em;
	}
	
	
	.wp-block-buttons.is-content-justification-center {
		gap: 1em;
		padding-top: 2em;
	}
	
	.whg_row .col4 {
		display: none;
	}
	
	.ang_list {
		grid-template-columns: 4em repeat(5, auto);
	}
	
	.whg_row .col5 {
		text-align: right;
		padding-right: 0.5em;
	}
	
	.row_item .col5 {
	padding-right: 0em;
		
}
	
	.faq_wrapper details {
	border-top: 0.5px solid;
}

.faq_wrapper details:last-of-type {
	border-bottom: 0.5px solid;
}
	
	.kf_text input, .kf_text textarea, .kf_dropdown {
		border-bottom: 0.5px solid;
	}	
	
	
	
	.intro_frame_wrapper::after {
		bottom: auto;
		top: 20lvh;
		height: 90lvh;
	}
	
	.intro_frame_text {
		padding-bottom: 15lvh;
	}
	
	.intro_frame_wrapper::after {
		background: linear-gradient(0deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.65) 50%, rgba(0, 0, 0, 0) 100%);
	}
	
	.intro_frame_bg img {
		object-position: 25% center;
	}
	
}



@media only screen and (min-width:600px) {
	
	.mob_only {
		display: none;
	}
	
}















/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}
