/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 09 2026 | 07:13:52 */
/* urbanist-100 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 100;
  src: url('/fonts/urbanist/urbanist-v18-latin-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* urbanist-200 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 200;
  src: url('/fonts/urbanist/urbanist-v18-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* urbanist-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 300;
  src: url('/fonts/urbanist/urbanist-v18-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* urbanist-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/urbanist/urbanist-v18-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* urbanist-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 500;
  src: url('/fonts/urbanist/urbanist-v18-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* urbanist-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 600;
  src: url('/fonts/urbanist/urbanist-v18-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* urbanist-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 700;
  src: url('/fonts/urbanist/urbanist-v18-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* urbanist-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 800;
  src: url('/fonts/urbanist/urbanist-v18-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* urbanist-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 900;
  src: url('/fonts/urbanist/urbanist-v18-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root {
	--darkblue: #00213f;
	--housecolour: #00213f;
	--darkblue80: #334d65;
	--darkblue70: #4c6378;
	--darkblue60: #66798b;
	--darkblue50: #7f909f;
	--darkblue40: #99a6b2;
	--darkblue30: #b2bcc5;
	--darkblue20: #ccd2d8;
	
	--darkgrey: #626979; 
	--darkergrey: #4a5161;
	--midgrey: #99a6b2;
	--palestgrey: #ebecee;
	
	--mapgrey: #dbdfe4;
	--palemapgrey: #edeff1;
	
	--purple: #854ec3;
	--palepurple: #e7dcf3;
	--darkpurple: #610ca6;
	
	--pink: #ff2d5e;
	--mint: #00ac9c;
	--lime: #b7d100;
	--sky: #51b2ca;
	--orange: #ff6c00;
	
	--white: #ffffff;
	--black: #000000;
}

body.heerdter-forum { --housecolour: #854ec3; }
body.hansahaus { --housecolour: #ff2d5e; }
body.lohwerk { --housecolour: #00ac9c; }
body.twin-cubes { --housecolour: #b7d100; }
body.kraftwerk { --housecolour: #51b2ca; }
body.kontor { --housecolour: #ff6c00; }


/* DEV TOOLS FOR IPHONE */
div#eruda {
	/* */
	display: none !important;
	
}




.wp-block-image img{	
	height: auto !important;
}
img {
	image-rendering: -webkit-optimize-contrast;
}


html {
  	margin: 0 !important;
  	padding: 0 !important;	
  	width: 100% !important;
  	max-width: 100% !important;
  	overflow-x: hidden !important;
}

body {
  	width: 100% !important;
  	max-width: 100% !important;
  	margin: 0;
  	padding: 0;	
  	font-size: 17px;
  	line-height: 1.4em;
  	font-weight: 400;
  	background-color: #ffffff;
  	width: 100vw !important;
  	overflow-x: hidden !important;
}
body.elementor-editor-active {
	background: #cccccc;
}
body, p, h1, h2, h3, h4, h5, h6, ul, li, a {  
	font-family: 'Urbanist', sans-serif !important;
  	color: var(--darkblue);  
  	font-weight: 300;
	
}
body, p, ul, li, a {	
  	font-size: 22px;
	line-height: 1.5em;
}
@media (max-width: 1600px) {
	body, p, ul, li, a { font-size: 20px; line-height: 1.4em; }
}
@media (max-width: 1200px) {
	body, p, ul, li, a { font-size: 18px; line-height: 1.3em; }
}
@media (max-width: 768px) {
	body, p, ul, li, a { font-size: 17px; }
}

h1 {
	font-size: 120px;
	font-weight: 300;
	line-height: 1em;
}
h1 strong {
	font-weight: 600;
}

h2 {
  	font-size: 120px;
  	font-weight: 300;
}
h2 strong {
	font-weight: 600;
}
.smallh2 h2 {
	font-size: 50px;
}

h3 {
  	font-size: 50px;
  	font-weight: 400;
  	line-height: 1.2em;
}
h3 strong {
  font-weight: 800;
}

h4 {
	font-size: 27px;
    font-weight: 600;
    line-height: 1.3;
}
h4 strong {
  	font-weight: 700;
}
@media (max-width: 1024px) {
	h1 { font-size: 110px; line-height: 1.1em; }
	h2 { font-size: 110px; line-height: 1.1em; }
	h3 { font-size: 5vw; line-height: 1.2em; }
}
@media (max-width: 768px) {
	h1 { font-size: 18vw; line-height: 1.1em; }
	h2 { font-size: 13vw; line-height: 1.1em; }
	h3 { font-size: 8vw; line-height: 1.1em; }
}
@media (max-width: 572px) {
	h3 { font-size: 10vw; line-height: 1.1em; }
}


p {
	margin-bottom: 20px;
}
p strong {
	font-weight: 500;
}
.largetext p,
.largetext a {
	font-size: 34px;
	line-height: 1.3em;
}
.largetext a:hover {
	text-decoration: underline;
}
.largetext p strong {
	font-weight: 600;
}

.largetext.heading {
	margin-top: 20px !important;
}
.largetext.heading p {
	margin-top: 25px;
    font-weight: 300;
}
.largetext.heading p::before {
	content: '';
	display: block;
	background: var(--citron);
	position: absolute;
	top: 0;
	left: 0;
	width: 150px;
	height: 5px;
}



.mediumtext p {
	font-size: 28px;
	line-height: 1.6em;
}
.smalltext p {
	font-size: 12px;
}

@media (max-width: 1800px) {
	.mediumtext p, .mediumtext a { font-size: 26px; }
}
@media (max-width: 1024px) {
	.largetext p, .largetext a { font-size: 30px; }
}
@media (max-width: 576px) {
	.largetext p, .largetext a { font-size: 30px; }
}
a {
  	color: var(--black);
  	text-decoration: none;
}
a:hover {
 	color: #000000; 
  	text-decoration: none;
}

::selection {
    background: var(--darkblue);
    color: var(--white);
    text-shadow: none;
}

::-moz-selection {
    background: var(--darkblue);
    color: var(--white);
    text-shadow: none;
}


@media only screen and (max-width: 767px) {
	p { line-height: 1.4em; }
}

@media only screen and (max-width: 767px) and (orientation: portrait) {
	/*
	br.shy { display: none; }
	*/
}
body.elementor-editor-active .nowrap { background-color: rgba(255,255,0,0.3); border: rgba(230,210,0,1) 2px dashed; }
body.elementor-editor-active .contract { background-color: rgba(255,150,0,0.3); border: rgba(230,120,0,1) 2px dashed; }
body.elementor-editor-active .expand { background-color: rgba(255,50,0,0.3); border: rgba(230,40,0,1) 2px dashed; }

span.shy {
	/* for visiblitiy in the elementor environment only */
}
br.shy { 
	display: none;
}
body.elementor-editor-active span.shy { display: inline-block; width: 0.5em; min-width: 20px; border: red 2px dashed; background: rgba(255,0,0,0.3); }
body.elementor-editor-active br.shy { display: inline-block; width: 0.5em; min-width: 20px; border: red 2px dashed; background: rgba(255,255,0,0.3); }


@media (max-width: 1800px) {
	.spacer.vw1 { height: 1vw; }
	.spacer.vw2 { height: 2vw; }
	.spacer.vw3 { height: 3vw; }
	.spacer.vw4 { height: 4vw; }
	.spacer.vw5 { height: 5vw; }
	.spacer.vw6 { height: 6vw; }
}


#content.site-content {
 	padding-bottom: 0 !important; 
 	padding-top: 0 !important; 
}
figcaption {
	font-style: normal;
    color: var(--white) !important;
	text-align: right;
	opacity: 0.8;
    font-size: 14px;
    position: absolute;
    left: 0;
    bottom: 2px;
	width: 100%;
	padding-left: 5px;
	padding-right: 5px;
    font-family: inherit;
}
.captionright figcaption {
	text-align: right;
}
@media (max-width: 767px) {
	figcaption { font-size: 12px; text-shadow: 1px 1px 0 var(--darkblue); }
}
@media (max-width: 420px) {
	figcaption { font-size: 9px; }
}



	
.fixedbg .copyright {
	position: absolute;
    bottom: calc(50% - 135px);
    left: 10px;
    transform: rotate(-90deg);
    transform-origin: 0 0;
}
.fixedbg .copyright.right {
    bottom: calc(50% + 135px);
    left: unset;
    right: -10px;
    transform: rotate(-90deg);
    transform-origin: 100% 100%;
}
.fixedbg .copyright p {
	font-size: 18px;
	font-weight: 400;
	color: var(--darkblue);
	/*
	text-shadow: 1px 1px var(--white), -1px 1px var(--white), -1px 1px var(--white), -1px -1px var(--white);
	*/
}

body.elementor-editor-active .fixedbg .copyright { z-index: 999 !important; }
body.elementor-editor-active .fixedbg .copyright p { font-size: 30px; color: red; }

@media (max-width: 1024px) {
	.elementor-inner-section > .elementor-container.elementor-column-gap-default .elementor-widget-wrap { padding: 30px; }
}

@media (max-width: 767px) {
	.fixedbg .copyright p { color: var(--white); font-size: 14px; text-shadow: 1px 1px 0 var(--darkblue); }
}
@media (max-width: 420px) {
	.fixedbg .copyright p { font-size: 12px; }
}



/* hide some theme bits ----------------------------------------------------------------------------------------------------------------- */


header.page-header {
	display: none;
}
h1.entry-title {
 	display: none !important; 
}
.navbar-toggler {
  display: block;
}
button.navbar-toggler {
	display: none !important;
}



/* NICER FADE-UP EFFECT - the elements are shifted and hidden via php/js in functions.php ------------------------------------------- */


.fadeup, .fadedown {
	transition: top .8s cubic-bezier(.49,0,.4,1), opacity .8s cubic-bezier(.49,0,.4,1) !important;
}
.fadeup.delayed, .fadedown.delayed {
	transition-delay: .5s;
}
.fadeup.display, .fadedown.display {
	opacity: 1;
	top: 0;
}
body.elementor-editor-active .fadeup,
body.elementor-editor-active .fadedown { opacity: 1; top: 0; } 









/* HEADER ---------------------------------------------------------------------------------------------------------------------------------------- */


#site-header {
	position: fixed;
    top: 0;
    left: 0;
	width: 100%;
    height: 85px;
    z-index: 999;
	transition: all .3s linear;
	background: transparent;
	padding: 10px;
}
body.elementor-editor-active #site-header { position: relative; background: #999999; height: auto; }
body.passwordshield-active #site-header { display: none; }

#site-header.solid {
	background: var(--darkblue);
    box-shadow: 0px 8px 8px rgba(0, 0, 0, 0.3);
}
#site-header .header-inner {
	max-width: 100%;
	margin-top: 0;
	padding: 0;
}
#site-header .site-branding {
	left: 8px;
	top: 8px;
	transition: all .3s ease-in-out;
}
#site-header .site-branding h1 {
	font-size: 0;
	line-height: 0;
}
#site-header .site-branding a {
	font-size: 0;
	line-height: 0;
	padding: 5px;
}
#site-header .site-branding img {
	max-width: 64px;
    image-rendering: auto;
    transform: translateY(-2px);
}
#site-header .site-description {
	display: none;
}

.pagetitle {
	font-size: 36px;
    font-weight: 600;
    color: var(--housecolour);
    display: none;
    position: absolute;
    left: 105px;
    top: 26px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.childpage .pagetitle {
	display: block;
}

@media (max-width: 1400px) {
	#site-header { height: 70px; }
	#site-header .site-branding { top: 5px; }
	#site-header .site-branding img { max-width: 55px; transform: translateY(-5px); }
}
@media (max-width: 1023px) {
	#site-header .site-branding img { transform: translateY(-10px); }
}
@media (max-width: 480px) {
	#site-header { height: 50px; }
	#site-header.solid { background: var(--darkblue); }
	#site-header .site-branding { top: 3px; }
	#site-header .site-branding img { max-width: 40px; transform: translateY(-18px);}
	.pagetitle { font-size: 24px; left: 0; top: 16px; text-align: center; width: 100vw; }
}


/* NAVIGATION ----------------------------------------------------------------------------------- */

@media (min-width: 1px) {
	#site-header .site-navigation-toggle-holder { display: block !important; }
	#site-header .site-navigation { display: none !important; }
}
@media (min-width: 1024px) {
	#site-header .site-navigation-toggle-holder { display: none !important; }
	#site-header .site-navigation { display: block !important; }
}

#site-header .site-navigation {
	max-width: 90%;
	margin-right: 20px;
	margin-top: 10px;
}
#site-header .site-navigation a {
	white-space: nowrap;
}

#site-header .site-navigation > ul.menu > li:nth-last-of-type(1),
#site-header .site-navigation > ul.menu > li:nth-last-of-type(2) { display: none !important; }

#site-header .site-navigation > ul.menu > li a {
	color: var(--white);
	border: transparent 2px solid;
	padding: 5px 15px 6px 15px;
	border-radius: 100px;
	font-size: 20px;
	margin: 0 5px;
}
#site-header .site-navigation > ul.menu > li a:hover {
	color: var(--white);
	border: var(--white) 2px solid;
}

#site-header ul.menu li.current-menu-item a {
	background: var(--primary);
	color: var(--white);
}
#site-header ul.menu li.current-menu-item a:hover {
	filter: none;
}

#site-header .site-navigation ul.menu li.menu-item-has-children {
    padding-inline-end: 0;
}
#site-header .site-navigation ul.menu li.menu-item-has-children::after {
    display: none;
}

#site-header .site-navigation ul.menu li ul.sub-menu {
	background: transparent;
}
#site-header .site-navigation ul.menu li ul.sub-menu li {
	border: none;
	padding-top: 5px;
}
#site-header .site-navigation ul.menu li ul.sub-menu li a {
	background: var(--darkblue);
}
/*
#site-header .site-navigation > ul.menu > li ul.sub-menu li:nth-of-type(1) a:hover { border-color: var(--purple); }
#site-header .site-navigation > ul.menu > li ul.sub-menu li:nth-of-type(2) a:hover { border-color: var(--pink); }
#site-header .site-navigation > ul.menu > li ul.sub-menu li:nth-of-type(3) a:hover { border-color: var(--orange); }
#site-header .site-navigation > ul.menu > li ul.sub-menu li:nth-of-type(4) a:hover { border-color: var(--lime); }
#site-header .site-navigation > ul.menu > li ul.sub-menu li:nth-of-type(5) a:hover { border-color: var(--sky); }
#site-header .site-navigation > ul.menu > li ul.sub-menu li:nth-of-type(6) a:hover { border-color: var(--mint); }
*/
	
	

/* mobile menu */

#site-header .site-navigation-toggle-holder {
	max-width: 80px;
    padding: 5px;
	margin-top: -5px;
	z-index: 99999;
}
#site-header .site-navigation-toggle-holder .site-navigation-toggle {
	background-color: var(--darkblue);
	border: var(--white) 1px solid;
	width: 65px;
	height: 65px;
	border-radius: 100%;
}
#site-header .site-navigation-toggle span,
#site-header .site-navigation-toggle span::before, 
#site-header .site-navigation-toggle span::after { 
	content: '';
	background: var(--white);
	position: absolute;
	display: inline-block;
	width: 40px;
	height: 3px;
	border-radius: 2px;
	left: 0;
	transform: none;
	transition: all .2s ease-in-out;
}
#site-header .site-navigation-toggle span { 
	color: rgba(0,0,0,0);
	position: relative;
}
#site-header .site-navigation-toggle span::before { top: -10px; }
#site-header .site-navigation-toggle span::after { top: 10px; }

#site-header .site-navigation-toggle:hover span::before { top: -15px; }
#site-header .site-navigation-toggle:hover span::after { top: 15px; }

#site-header .elementor-active .site-navigation-toggle span { width: 0; }
#site-header .elementor-active .site-navigation-toggle span::before { transform: rotate(135deg); top: 0; left: -20px; }
#site-header .elementor-active .site-navigation-toggle span::after { transform: rotate(-135deg); top: 0; left: -20px; }

#site-header .site-navigation-dropdown {
	top: 0;
    right: 0;
    left: unset;
    width: 100%;
    max-width: 100%;
	margin-block-start: 0;
	margin-top: 0;
    background: transparent;
}
#site-header .site-navigation-dropdown ul.menu {
	height: auto;
	max-height: 100vh;
    width: 100%;
	max-width: 100%;
    background: none;
	box-shadow: 0px 50px 50px rgba(0, 0, 0, 0.6);
}
#site-header .site-navigation-dropdown ul.menu li {

}
#site-header .site-navigation-dropdown ul.menu li a {
   	background: var(--darkblue);
    color: var(--white);
    text-align: left;
    font-size: 44px;
    margin-bottom: -1px;
    padding: 10px 20px 10px 35px;
    border: var(--darkergrey) 1px solid;
    border-right: none;
	border-left: none;
}
#site-header .site-navigation-dropdown ul.menu > li > a {
   	padding-top: 30px;
}
#site-header .site-navigation-dropdown ul.menu li.menu-item-has-children a {
    padding-bottom: 10px;
}
#site-header .site-navigation-dropdown ul.menu li ul.sub-menu {
	margin-bottom: 0;
}
#site-header .site-navigation-dropdown ul.menu li ul.sub-menu li {
	max-height: 40px;
	transform: none;
	margin-top: 0;
}
#site-header .site-navigation-dropdown ul.menu li ul.sub-menu li a {
	font-size: 25px;
    padding: 3px 10px 3px 35px;
}

#site-header #menu-main-nav > li:nth-of-type(2) > .sub-menu > li > a {
	text-transform: uppercase;
}

/* override theme settings */

.site-navigation-toggle-holder.elementor-active+.site-navigation-dropdown {
	transform: translateX(0);
	transition: all .5s ease-in-out;
}
.site-navigation-toggle-holder:not(.elementor-active)+.site-navigation-dropdown {
    transform: translateX(120%);
	transition: all .5s ease-in-out;
}

@media (max-width: 1400px) {
	#site-header .site-navigation-toggle-holder .site-navigation-toggle { transform: scale(0.8); transform-origin: 100% 0; }
}
@media (max-width: 767px) {
	#site-header .site-navigation-dropdown ul.menu > li > a { font-size: 6vw; padding: 1vw 20px; }
	#site-header .site-navigation-dropdown ul.menu > li > ul.sub-menu li a { font-size: 4vw; padding: 0 40px; }
}
@media (max-width: 480px) {
	#site-header .site-navigation-toggle-holder { margin-top: -9px; }
	#site-header .site-navigation-toggle-holder .site-navigation-toggle { transform: scale(0.6); }
	#site-header .site-navigation-dropdown ul.menu > li > a { font-size: 7vw; padding: 0 20px; }
	#site-header .site-navigation-dropdown ul.menu > li > ul.sub-menu li a { font-size: 5vw; padding: 0 40px; }
}


/* building navigation ---------------------------------------------------------------------------------------------------------- */

.building-nav {
	position: absolute;
	left: 200px;
	top: 0;
}
#menu-building-nav {
	margin: 0;
	padding: 0;
	
	display: none !important;
	
}
#menu-building-nav li::marker {
	display: none;
}
#menu-building-nav li {
	display: inline-block;
	margin-right: 10px;
}
#menu-building-nav li a {
	display: inline-block;
	width: 40px;
	height: 40px;
	border: var(--white) 2px solid;
	border-radius: 100%;
	font-size: 0;
	line-height: 0;
	position: relative;
}
/*
#menu-building-nav li:nth-of-type(1) a { border-color: var(--purple); }
#menu-building-nav li:nth-of-type(1) a:hover { background-color: var(--purple); }

#menu-building-nav li:nth-of-type(2) a { border-color: var(--pink); }
#menu-building-nav li:nth-of-type(2) a:hover { background-color: var(--pink); }

#menu-building-nav li:nth-of-type(3) a { border-color: var(--orange); }
#menu-building-nav li:nth-of-type(3) a:hover { background-color: var(--orange); }

#menu-building-nav li:nth-of-type(4) a { border-color: var(--mint); }
#menu-building-nav li:nth-of-type(4) a:hover { background-color: var(--mint); }

#menu-building-nav li:nth-of-type(5) a { border-color: var(--sky); }
#menu-building-nav li:nth-of-type(5) a:hover { background-color: var(--sky); }

#menu-building-nav li:nth-of-type(6) a { border-color: var(--lime); }
#menu-building-nav li:nth-of-type(6) a:hover { background-color: var(--lime); }
*/

#menu-building-nav li a::before {
	content: '01';
	display: block;
	color: var(--white);
	font-size: 16px;
	line-height: 1em;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
#menu-building-nav li:nth-of-type(1) a::before { content: '01'; }
#menu-building-nav li:nth-of-type(2) a::before { content: '02'; }
#menu-building-nav li:nth-of-type(3) a::before { content: '03'; }
#menu-building-nav li:nth-of-type(4) a::before { content: '04'; }
#menu-building-nav li:nth-of-type(5) a::before { content: '05'; }
#menu-building-nav li:nth-of-type(6) a::before { content: '06'; }


  
/* containers --------------------------------------------------------------------------------------------------------------------- */

div[data-elementor-type="wp-page"] {
  	width: 100%;
	padding-top: 0;
}
.site-header+.elementor {
	min-height: 200px;
}

#content > .container {
  max-width: 100%;
}

div[data-elementor-type="wp-page"] section.elementor-top-section:nth-of-type(1) {
	padding-top: 0;
}

body.elementor-editor-active .startbox { margin-top: 120px; }

.headingbox h3 {
	margin-top: 35px;
}

.fullheight { height: 100vh; }
.fullheight.fhplus { height: 120vh; }
.notquitefullheight { height: 80vh; }
.shortheight { height: 90vh; }

@media (max-aspect-ratio: 1/1) {
	.fullheight.square { height: 100vw; }
	.fullheight.fhplus.square { height: 100vw; }
}

body.elementor-editor-active .fullheight { min-height: 100vh; height: auto; }

.elementor-widget-text-editor img {
  margin-bottom: 10px;
}

.elementor-editor-active .e-con { padding: 10px; border: blue 2px solid; }

.e-con-full.colgapwide, .e-con-boxed.colgapwide > .e-con-inner { column-gap: 100px !important; }
.e-con-full.colgapmedium, .e-con-boxed.colgapmedium > .e-con-inner { column-gap: 70px !important; }
.e-con-full.colgapnarrow, .e-con-boxed.colgapnarrow > .e-con-inner { column-gap: 40px !important; }

.e-con-full.rowgapwide, .e-con-boxed.rowgapwide > .e-con-inner { row-gap: 100px !important; }
.e-con-full.rowgapmedium, .e-con-boxed.rowgapmedium > .e-con-inner { row-gap: 65px !important; }
.e-con-full.rowgapnarrow, .e-con-boxed.rowgapnarrow > .e-con-inner { row-gap: 30px !important; }

@media (max-width: 1800px) {
	.e-con-full.colgapwide, .e-con-boxed.colgapwide > .e-con-inner { column-gap: 5vw !important; }
	.e-con-full.colgapmedium, .e-con-boxed.colgapmedium > .e-con-inner { column-gap: 3vw !important; }
	.e-con-full.colgapnarrow, .e-con-boxed.colgapnarrow > .e-con-inner { column-gap: 2vw !important; }
	
	.e-con-full.rowgapwide, .e-con-boxed.rowgapwide > .e-con-inner { row-gap: 5vw !important; }
	.e-con-full.rowgapmedium, .e-con-boxed.rowgapmedium > .e-con-inner { row-gap: 3.2vw !important; }
	.e-con-full.rowgapnarrow, .e-con-boxed.rowgapnarrow > .e-con-inner { row-gap: 1.3vw !important; }
}

@media (max-width: 992px) {
	.e-con-full.twocols, .e-con-boxed.twocols > .e-con-inner { flex-direction: column !important; }
	.e-con-full.twocols > .e-child, .e-con-boxed.twocols > .e-con-inner > .e-child { flex-basis: 100% !important; width: 100% !important; max-width: 100% !important; }
}

.e-con-boxed > .e-con-inner,
#site-footer .footer-inner {
	max-width: 2000px !important;
}
.boxed { max-width: 1000px !important; }

@media (max-width: 2200px) {
	.e-con-boxed > .e-con-inner,
	#site-footer .footer-inner { max-width: 1800px !important; }
	.boxed { max-width: 900px !important; }
}
@media (max-width: 2000px) {
	.e-con-boxed > .e-con-inner,
	#site-footer .footer-inner { max-width: 1600px !important; }
	.boxed { max-width: 800px !important; }
}







/* lightbox popup ------------------------ */
.elementor-lightbox .dialog-lightbox-close-button {
	/*
 	right: calc(50% - 15px); 
	*/
}
.elementor-lightbox i.eicon-share-arrow {
	display: none;
}
.elementor-lightbox i.eicon-zoom-in-bold {
	display: none;
}
.elementor-lightbox i.eicon-close {
	background: var(--coral);
    width: 60px;
    height: 60px;
    border-radius: 100%;
}
.elementor-lightbox i.eicon-close::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.elementor-lightbox .elementor-slideshow__header {
	display: none;
}
.elementor-lightbox .elementor-slideshow__title {
	display: none;
}

.buttuptonext .elementor-widget-wrap {
	padding-bottom: 0 !important;
}
.buttuptonext h2 {
	margin: 0 !important;
}




.ausklapper {
	flex-grow: 1;
    flex-shrink: 2;
}
.ausklapper .elementor-widget-text-editor {
	position: relative;
	margin-bottom: 25px;
}
.ausklapper h5 {
	font-size: 24px;
    line-height: 1.4em;
    font-weight: 600;
    cursor: pointer;
    position: relative;
    margin-bottom: 0px;
    padding-left: 30px;
    padding-bottom: 12px;
    padding-top: 5px;
    border-bottom: var(--housecolour) 2px solid;
}
.ausklapper h5::before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	top: 100%;
	transform: translateY(7px);
	width: 100%;
	height: 5px;
	z-index: 1;
}

.ausklapper .elementor-widget-text-editor:nth-of-type(1) h5::before { background-color: var(--wetypen1); }
.ausklapper .elementor-widget-text-editor:nth-of-type(2) h5::before { background-color: var(--wetypen2); }
.ausklapper .elementor-widget-text-editor:nth-of-type(3) h5::before { background-color: var(--wetypen3); }
.ausklapper .elementor-widget-text-editor:nth-of-type(4) h5::before { background-color: var(--wetypen4); }
#wohnkonzept .ausklapper .elementor-widget-text-editor:nth-of-type(5) h5::before { background-color: var(--wetypen5); }

.ausklapper .elementor-widget-text-editor:nth-of-type(1) h5::after { color: var(--wetypen1); }
.ausklapper .elementor-widget-text-editor:nth-of-type(2) h5::after { color: var(--wetypen2); }
.ausklapper .elementor-widget-text-editor:nth-of-type(3) h5::after { color: var(--wetypen3); }
.ausklapper .elementor-widget-text-editor:nth-of-type(4) h5::after { color: var(--wetypen4); }
.ausklapper .elementor-widget-text-editor:nth-of-type(5) h5::after { color: var(--wetypen5); }

.ausklapper h5::after {
	display: block;
    content: '+';
    position: absolute;
    left: 0;
    top: 0;
    transform: translate(0, 9%);
    font-size: 30px;
    font-weight: 500;
}
.ausklapper h5.active {
}
.ausklapper h5.active::after {
	content: '-';
}
.ausklapper p {
	position: relative;
	font-size: 20px;
	line-height: 1.4em;
	font-weight: 400;
	display: none;
	margin: 0;
	padding: 15px 0;
	padding-bottom: 30px;
}
.ausklapper p::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0.1;
}


body.elementor-editor-active #wohnkonzept .ausklapper p { display: block; }




/* SCROLLTOP ------------------------------------------------------------------------------------------------------ */

#scrolltop {
	width: 50px;
	height: 50px;
	display: inline-block;
	position: fixed;
	bottom: 20px;
	right: 20px;	
	background-color: var(--darkblue);
	border: var(--white) 3px solid;
	border-radius: 100%;
	transition: all .2s ease-in-out;
	opacity: 0;
	z-index: 9999;
}
#scrolltop.display {
	opacity: 1;
}
#scrolltop:hover {
	cursor: pointer;
	background-color: var(--darkblue40);
}
#scrolltop .scrollarrow {
	width: 22px;
    height: 22px;
    position: absolute;
    left: 11px;
    top: 15px;
    display: inline-block;
    border-top: var(--white) 3px solid;
    border-right: var(--white) 3px solid;
	transition: all .2s ease-in-out;
    transform: rotate(-45deg);
}
#scrolltop:hover .scrollarrow {
	/*
	transform: rotate(-405deg);
	*/
}
@media (max-width: 1400px) {
	#scrolltop { transform: scale(0.8); transform-origin: 100% 100%; right: 12px; }
}
@media (max-width: 1200px) {
	#scrolltop { transform: scale(0.6); right: 10px; }
}





/* IMAGE PRELOAD ----------------------------------------------------------------------------------------------------------------------- */

.imagepreloader { width: 1px; height: 0px; opacity: 0; visibility: hidden; overflow: hidden; }
body.elementor-editor-active .imagepreloader { width: 100%; height: auto; opacity: 0.5; visibility: visible; }



/* LOGO ANIMATION ON HOMEPAGE ------------------------------------------------------------------------------------------------------------------- */

.startbox #hansapark_logo * { 
	stroke: none;
	stroke-dasharray: none;
	opacity: 1;
	fill-opacity: 1;
	mix-blend-mode: normal;
}
.startbox #hansapark_logo #text_hansa *,
.startbox #hansapark_logo #text_park *,
.startbox #hansapark_logo #text_duesseldorf * { fill: var(--white); }
.startbox #hansapark_logo #bracketends_right * { fill: var(--white); }
.startbox #hansapark_logo #bracketline_right * { fill: var(--white); }
.startbox #hansapark_logo #bracketends_left * { fill: var(--white); }
.startbox #hansapark_logo #bracketline_left * { fill: var(--white); }
.startbox #hansapark_logo #logodot_1 { fill: var(--purple); }
.startbox #hansapark_logo #logodot_2 { fill: var(--pink); }
.startbox #hansapark_logo #logodot_3 { fill: var(--orange); }
.startbox #hansapark_logo #logodot_4 { fill: var(--mint); }
.startbox #hansapark_logo #logodot_5 { fill: var(--sky); }
.startbox #hansapark_logo #logodot_6 { fill: var(--lime); }


.startbox #hansapark_logo {
	transition: all .3s ease-in-out;
}
.startbox [id^="logodot_"] {
	transform-box: fill-box;
	transform-origin: 50% 50%;
	transform: scale(1);
	transition: all .3s ease-in-out;
}
.startbox [id^="text_"] {
	transform-box: view-box;
	transform-origin: 50% 50%;
	transition: all .3s ease-in-out;
}
.startbox [id^="bracket"] {
	transform-box: view-box;
	transition: all .3s ease-in-out;
}

/*
.startbox .elementor-element-508b818 { transform: scale(0.5); overflow: visible; }
.startbox .elementor-element-508b818 svg { overflow: visible; border: red 1px solid; background-image: url('https://hansapark.hhvision.de/wp-content/uploads/logoguide.png'); background-size: 100%; }
*/

.startbox #hansapark_logo.centered { transform: translateX(-7.7%); }

.startbox #text_hansa.masked { transform: translateX(60%); }
.startbox #text_park.masked { transform: translateX(-60%); }
.startbox #text_duesseldorf.masked { transform: translateX(-25%); }

.startbox #bracketends_right.outside { transform: translateX(-95.5%) scaleX(3.5); }
.startbox #bracketline_right.outside { transform: translateX(65%); }
.startbox #bracketends_left.outside { transform: translateX(-193.2%) scaleX(3.5); }
.startbox #bracketline_left.outside { transform: translateX(-65%); }

.startbox #bracketends_right.inside { transform: translateX(-159.1%) scaleX(3.5); }
.startbox #bracketline_right.inside { transform: translateX(1.7%); }
.startbox #bracketends_left.inside { transform: translateX(-130%) scaleX(3.5); }
.startbox #bracketline_left.inside { transform: translateX(-1.7%); }

.startbox #bracketends_right.closed { transform: translateX(-159.1%) scaleX(3.5); }
.startbox #bracketline_right.closed { transform: translateX(-3.92%); }
.startbox #bracketends_left.closed { transform: translateX(-130%) scaleX(3.5); }
.startbox #bracketline_left.closed { transform: translateX(3.92%); }

.startbox [id^='logodot_'].small { transform: scale(0); }




/* START / INTRO -------------------------------------------------------------------------------------------------------------------------------- */

#start {
	overflow: hidden;
	background: var(--white);
}
#start::before {
	content: '';
	display: block;
	width: 100%;
	height: 100vh;
	background: var(--darkblue);
	position: absolute;
	top: 0;
	left: 0;
}
.bubbleshapehead {
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(10%, -10vh);
	width: 100vw;
}
.bubbleshapehead svg * {
	fill: var(--housecolour);
    opacity: 0.2;
	stroke: none;
}
#start .bubbleshapehead svg * {
	fill: var(--midgrey);
	filter: saturate(2) hue-rotate(-10deg);
}


.startbox {
	height: 100vh;
}
.startbox::before {
	content: '';
    display: none;
    width: 100%;
    height: 100vh;
    background: radial-gradient(circle, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    position: absolute;
    top: 0;
    left: 0;
    mix-blend-mode: overlay;
}
.startbox > .e-con-inner {
	z-index: 1;
}




.introbox {
	background-color: rgba(255,255,255,0.9);
}
.introbox .textcol {
	
}
.introbox .spacercol {
	height: 800px;
}

.sixbuildingimages {
	position: absolute;
	top: calc(100% + 3vw);
	left: 60%;
	width: 550px;
	display: grid;
	column-gap: 40px;
	row-gap: 40px;
	margin-top: -0.5vw;
}
.sixbuildingimages .elementor-widget-image {
	width: 100%;
	aspect-ratio: 1/1;
}
.sixbuildingimages .elementor-widget-image img {
	width: 100%;
	height: 100%;
	border-radius: 100%;
	object-fit: cover;
}

@media (max-width: 1800px) {
	.sixbuildingimages { width: 30%; }
	.introbox .spacercol { height: 44vw; }
}
@media (max-width: 1600px) {
	.sixbuildingimages { top: calc(100% + 5vw); }
}
@media (max-width: 1400px) {	
	.introbox .textcol { flex: 60% 0 1; }
	.introbox .spacercol { flex: 40% 0 1; }
	.sixbuildingimages { column-gap: 3vw; row-gap: 3vw; left: 63%; }	
}
@media (max-width: 1024px) {	
	.introbox .e-child .e-con-inner {  }
	.introbox .textcol { flex: 100% 1 0; }
	.introbox .spacercol { display: none; }
	.sixbuildingimages { top: -6vw; width: 17%; left: calc(50px + 72vw); column-gap: 2vw; row-gap: 2vw; }	
}
@media (max-width: 768px) {	
	.sixbuildingimages { display: none; }	
}



.videobox > .elementor-background-video-container {
	position: fixed;
	z-index: -1;
}



@media (max-aspect-ratio: 1/1) {
	.bubbleshapehead { top: 0; right: 0; transform: translate(10%, -20px); width: 100vh; max-width: 500% !important; }
}





body.elementor-editor-active .startbox { height: auto; }
body.elementor-editor-active .introbox {  }

/* LAGE --------------------------------------------------------------------------------------- */

#lage {
	mix-blend-mode: multiply;
	margin-top: -10vw;
}
.macromap {
	box-shadow: 5px 5px 15px rgba(0,0,0,0.3)
}

.anbindungsbox {

}

.anbindung {
	
}
.anbindung > div {

}
.anbindung * {
	color: var(--darkblue);
}
.anbindung .elementor-widget-html {
	position: absolute;
    top: -19px;
    right: 0;
    width: 80px;
    height: 80px;
}
.anbindung svg * {
	stroke: var(--darkblue);
	stroke-width: 2px;
	fill: none;
}
.anbindung svg rect {
	opacity: 0;
}
.anbindung h4 {
	border-bottom: var(--darkblue) 2px solid;
	margin-bottom: 0;
	padding: 6px 0;
}
.anbindung p {
	border-bottom: var(--darkblue) 1px solid;
	display: flex;
	justify-content: space-between;
	padding: 6px 0;
	margin-bottom: 0;
}
.anbindung p strong {
	display: inline-block;
	padding-right: 20px;
    white-space: nowrap;
}
.anbindung p em {
	display: inline-block;
	text-align: right;
	font-style: normal;
    white-space: nowrap;
}
.anbindungsbox img {
	width: 100%;
	aspect-ratio: 2/3;
	object-fit: cover;
}

@media (max-width: 1600px) {
    .anbindungsbox {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-areas:
            "A A C"
            "B B C";
        gap: 5vw;
    }
    .A { grid-area: A; }
    .B { grid-area: B; }
    .C { grid-area: C; }
}
@media (max-width: 1600px) {
	.anbindungsbox .C { flex-direction: column; row-gap: 3vw; }
	.anbindungsbox .C img { width: 275px; }
}
@media (max-width: 768px) {
	.anbindungsbox { display: flex; flex-direction: row; }
	.anbindungsbox .C { display: flex; flex-direction: row; margin-top: 5vw; column-gap: 5vw; flex-wrap: nowrap; }
	.anbindungsbox .C .elementor-widget-image { flex: 50% 0 1; }
	.anbindungsbox .C img { aspect-ratio: 1/1; width: auto; } 
}







.micromap {
	
}
.micromap img {
    max-width: 100%;
    display: flex;
    align-self: flex-start;
}
.locationmapcontainer {
	position: relative;	
}
.locationmapcontainer::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 22.5vw;
	height: 100%;
	background: var(--palemapgrey);
	opacity: 0;
}


.locationmap {
	
}
.locationmapoverlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.locationmaptram {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


.microlegend {
	display: flex;
    flex-direction: column;
    row-gap: 0;
   	width: 300px;
	position: absolute;
	left: calc(50vw - 1000px);
	bottom: 6vw;
}
.microlegend .e-child {
	flex-direction: row;
	column-gap: 5px;
}
.microlegend img {
	width: 35px;
	height: 35px;
	border-radius: 100%;
}
.microlegend p {
	color: var(--darkblue) !important;
	display: inline-block;
	margin-right: 30px;
	font-size: 18px;
}

@media (max-width: 2200px) {
	.microlegend { left: calc(50vw - 900px); bottom: 5vw; }
}
@media (max-width: 2000px) {
	.locationmapcontainer::after { opacity: 0.8; }
	.microlegend { left: calc(50vw - 800px); bottom: 4.5vw; }
}
@media (max-width: 1800px) {
	.microlegend { left: 5vw; }
}
@media (max-width: 1600px) {
	.locationmapcontainer { width: 125%; transform: translateX(-11%); }
	.locationmapcontainer::after { opacity: 0; }
	.microlegend { position: relative; bottom: unset; left: 0; padding: 2vw 5vw; height: 210px; flex-direction: column; flex-wrap: wrap; }
	.microlegend::before { content: ''; display: block; width: 100vw; height: 90%; background: var(--palemapgrey); position: absolute; top: 0; left: 0; }
	
}
@media (max-width: 1024px) {
	.locationmapcontainer { width: 190%; transform: translateX(-25%); }
	.microlegend { padding: 3vw 5vw; height: 230px; }
}
@media (max-width: 767px) {
	.microlegend { width: 40vw; }
	.microlegend .e-child { column-gap: 7px; }
	.microlegend .e-child p { font-weight: 500; font-size: 17px; }
	.microlegend img { width: 30px; height: 30px; }
}
@media (max-width: 576px) {
	.microlegend { width: 50vw; height: 310px; }
	.microlegend .e-child p { font-size: 16px; }
}
@media (max-width: 400px) {
	.microlegend { width: 55vw; }
}



#tram2 {
	animation: tramRide2 66s infinite;
	transform: translate(-500%, -425%);
	transform-box: fill-box;
}
#tram2 * {
	fill: #ffffff;
	stroke: var(--darkblue);
	stroke-width: 1px;
	opacity: 1;
	
}

@keyframes tramRide2 {

	/* wait at start */
	0%,
	5% {
		transform: translate(-500%, -425%);
	}

	/* Stop A */
	11% {
		transform: translate(-300%, -255%);
		animation-timing-function: ease-out;
	}
	15% {
		transform: translate(-300%, -255%);
	}

	/* Stop B */
	25% {
		transform: translate(0, 0);
		animation-timing-function: ease-out;
	}
	29% {
		transform: translate(0, 0);
	}

	/* Stop C */
	36% {
		transform: translate(250%, 212.5%);
		animation-timing-function: ease-out;
	}
	40% {
		transform: translate(250%, 212.5%);
	}

	/* end position */
	47% {
		transform: translate(500%, 425%);
	}
	54% {
		transform: translate(500%, 425%);
	}

	/* Stop C back */
	61% {
		transform: translate(250%, 212.5%);
		animation-timing-function: ease-out;
	}
	65% {
		transform: translate(250%, 212.5%);
	}

	/* Stop B back */
	72% {
		transform: translate(0, 0);
		animation-timing-function: ease-out;
	}
	76% {
		transform: translate(0, 0);
	}

	/* Stop A back */
	83% {
		transform: translate(-300%, -255%);
		animation-timing-function: ease-out;
	}
	87% {
		transform: translate(-300%, -255%);
	}

	/* back to start */
	94% {
		transform: translate(-500%, -425%);
	}
	100% {
		transform: translate(-500%, -425%);
	}
}






.arbeitenbox {
	
}

@media (max-width: 1600px) {
    .arbeitenbox {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "A A"
            "B C";
        gap: 5vw;
    }
    .A { grid-area: A; }
    .B { grid-area: B; }
    .C { grid-area: C; }
}
@media (max-width: 1600px) {
	.arbeitenbox .A { width: 70%; }
	.arbeitenbox img { width: 450px; margin-left: 0; margin-right: auto; }
}
@media(max-width: 1024px) {
	.arbeitenbox .A { width: 80%; }
}
@media(max-width: 768px) {
	.arbeitenbox { display: flex; }
	.arbeitenbox .A { width: 100%; }
	.arbeitenbox > .e-child { row-gap: 5vw !important; margin-top: 2vw; }
}





.cubecafesignage {

}
.cubecafeaddress {
	row-gap: 15px;
}
.cubecafeaddress * {
	white-space: nowrap;
	text-align: right;
}
.cubecafeaddress .elementor-widget-image {
	margin-left: auto;
	margin-right: 0;
	margin-top: 10px;
}

















.kueche {
	width: 70%;
}







.locationimages {
	z-index: 1;
}
.locationimages .elementor-widget-html {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.locationimages svg {
	overflow: visible;
}
.locationimages svg * {
	stroke: var(--white);
	stroke-width: 10px;
	fill: none;
}









/* ÜBERSICHT HAEUSER ----------------------------------------------------------------------------------- */

#gebaeude {
	padding-bottom: 40vw;
}

.gebaeudetext {
	width: 50%;
	pointer-events: none;
}
.gebaeudetext h2 {
	color: var(--darkblue);
	background: var(--white);
	white-space: nowrap;
	display: inline-block;
}
.gebaeudetext p {
	color: var(--darkblue);
}

.gebaeudetext .addresslist {
	margin: 3vw;
	padding: 20px 1.5vw 0 1.5vw;
	border-left: var(--midgrey) 10px solid;
	border-right: var(--midgrey) 10px solid;
	transition: opacity .5s ease-in-out;
}
.gebaeudetext .addresslist.inactive {
	opacity: 0;
}
.gebaeudetext .addresslist::before,
.gebaeudetext .addresslist::after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	width: 60px;
	height: 100%;
	border-top: var(--midgrey) 10px solid;
	border-bottom: var(--midgrey) 10px solid;
}
.gebaeudetext .addresslist::before {
	left: 0;
	transform: translateX(-100%);
}
.gebaeudetext .addresslist::after {
	left: 100%;
}

.gebaeudetext .addresslist p {
	padding-left: 24px;
	position: relative;
}
.gebaeudetext .addresslist p::before {
	display: block;
	content: '';
	position: absolute;
	top: 10px;
	left: 0;
	width: 14px;
	height: 14px;
	border-radius: 100%;
}
.gebaeudetext .addresslist p:nth-of-type(1)::before { background-color: var(--purple); }
.gebaeudetext .addresslist p:nth-of-type(2)::before { background-color: var(--pink); }
.gebaeudetext .addresslist p:nth-of-type(3)::before { background-color: var(--mint); }
.gebaeudetext .addresslist p:nth-of-type(4)::before { background-color: var(--lime); }
.gebaeudetext .addresslist p:nth-of-type(5)::before { background-color: var(--sky); }
.gebaeudetext .addresslist p:nth-of-type(6)::before { background-color: var(--orange); }

.gebaeudetext .addresslist strong {
	text-transform: uppercase;
	font-weight: 800;
}
.gebaeudetext .panelcontainer {
	margin-top: 60px;
	width: 700px;
	background: var(--white);
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.3);
	padding: 0;
	pointer-events: all;
}

.gebaeudetext .panels {
	width: 100%;
	height: 100%;
	display: grid;
}
.gebaeudetext .panels > .e-child {
	grid-area: 1 / 1;
	opacity: 0;
	background-color: var(--white);
	z-index: 1;
	padding: 20px;
	padding-bottom: 50px;
	row-gap: 30px;
	transition: all .1s ease-in-out;
}
.gebaeudetext .panels > .e-child:nth-of-type(1) {
	opacity: 1;
}
.gebaeudetext .panels > .e-child.active {
	opacity: 1;
	z-index: 5;
	transition: opacity .5s ease-in-out;
}
.gebaeudetext .panels > .e-child h3 {
	text-transform: uppercase;
	font-weight: 800;
	margin-bottom: -18px;
}
.gebaeudetext .panels > .e-child .elementor-widget-image {
	width: 100%;
	height: 20vw;
}
.gebaeudetext .panels > .e-child .elementor-widget-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gebaeudetext .panels > .e-child .closebutton {
	width: 26px;
	height: 26px;
	background: var(--primary);
	border: var(--white) 1px solid;
	border-radius: 100%;
	border-top-right-radius: 0;
	position: absolute;
	top: 3px;
	right: 3px;
	color: var(--white);
	font-weight: 500;
	line-height: 24px;
	z-index: 2;
	text-align: center;
	cursor: pointer;
	display: none;
}

.gebaeudetext .linkbuttons {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	padding: 20px;
	pointer-events: all;
	flex-wrap: nowrap;
}
.gebaeudetext .linkbuttons p {
	margin: 0;
}
.gebaeudetext .linkbuttons a {
	background: var(--darkblue);
	border-radius: 3px;
	padding: 8px 12px;
	color: var(--white);
	margin-bottom: 0;
	font-weight: 500;
	background-size: 14px;
	background-repeat: no-repeat;
	white-space: nowrap;
}
.gebaeudetext .linkbuttons > div:nth-of-type(1) a { padding-left: 30px; background-position: 10px 50%; background-image: url(/wp-content/uploads/arrow-left-white.png); }
.gebaeudetext .linkbuttons > div:nth-of-type(2) a { padding-right: 30px; background-position: calc(100% - 10px) 50%; background-image: url(/wp-content/uploads/arrow-right-white.png); }

.gebaeudetext .linkbuttons.active a {
	opacity: 1;	
}




.buildingstack {
	margin-top: -3vw;
	position: absolute;
	top: 0;
	right: 0;
}

.buildingstack svg * { clip-path: none; }

.buildingstack svg *[id^="overlay_"] { opacity: 1; cursor: pointer; }
.buildingstack svg *[id^="overlay_"] *[id^="ol_shape"] { opacity: 0; stroke: none; fill: var(--white); }

.buildingstack svg *[id^="overlay_"] *[id^="ol_a"] { mix-blend-mode: color; opacity: 0; }
.buildingstack svg *[id^="overlay_"] *[id^="ol_b"] { mix-blend-mode: overlay; opacity: 0; }
.buildingstack svg *[id^="overlay_"] *[id^="ol_c"] { mix-blend-mode: screen; opacity: 0; }
.buildingstack svg *[id^="overlay_"]:hover *[id^="ol_c"] { opacity: 0.5; }

.buildingstack svg *[id^="overlay_"].active *[id^="ol_a"] { opacity: 1; }
.buildingstack svg *[id^="overlay_"].active *[id^="ol_b"] { opacity: 0.2; }
.buildingstack svg *[id^="overlay_"].active *[id^="ol_c"] { opacity: 0.5; }

.buildingstack svg *[id^="overlay_"] *[id^="ol_a"],
.buildingstack svg *[id^="overlay_"] *[id^="ol_b"],
.buildingstack svg *[id^="overlay_"] *[id^="ol_c"] { transition: all .2s linear; }
.buildingstack svg *[id^="overlay_"].active *[id^="ol_a"],
.buildingstack svg *[id^="overlay_"].active *[id^="ol_b"],
.buildingstack svg *[id^="overlay_"].active *[id^="ol_c"] { transition: opacity .1s linear; }

.buildingstack svg #names { display: block; }
.buildingstack svg #names g { transform-box: fill-box; transform: scale(1); pointer-events: none; }
.buildingstack svg #names * { clip-path: none; pointer-events: none; }

.buildingstack svg *[id^="roof_"] * { fill: var(--darkblue40); stroke: var(--white); }
.buildingstack svg *[id^="edges_"] * { fill: none; stroke: var(--white); opacity: 1; stroke-width: 1px; }
.buildingstack svg *[id^="floorlines_"] * { fill: none; stroke: var(--white); stroke-width: 1px; opacity: 1; visibility: hidden; }
.buildingstack svg *[id^="walls_"] *[id^="east_"] * { fill: var(--darkblue); }
.buildingstack svg *[id^="walls_"] *[id^="south_"] * { fill: var(--darkblue60); }
.buildingstack svg #wall_shadows * { stroke:none; }
.buildingstack svg #floor_shadow * { stroke:none; }

.buildingstack svg [id="roof_04a"] * { fill: var(--white); stroke: var(--darkblue); opacity: 0.5; stroke-width: 0.5px; }
.buildingstack svg [id="edges_04a"] * { stroke: var(--darkblue); opacity: 0.5; stroke-width: 0.3px; }
.buildingstack svg [id="floorlines_04a"] * { stroke: var(--darkblue); opacity: 0.5; visibility: hidden; }
.buildingstack svg [id="walls_04a"] * { fill: var(--white); opacity: 0.5; }



@media (max-width: 2200px) {
	#gebaeude { padding-bottom: 35vw; }
	.gebaeudetext .panelcontainer { width: 35vw; }
}
@media (max-width: 2000px) {
	.buildingstack { margin-top: 0; right: -1vw; }
}
@media (max-width: 1800px) {
	.gebaeudetext { left: 5vw; }
	.gebaeudetext > .e-con-inner > .e-child { margin: 0 !important; }
	.buildingstack { top: 5vw; }
}

@media(max-width: 1400px) {
	.buildingstack { top: 8vw; }
	.gebaeudetext .linkbuttons a { font-size: 16px; }
}
@media(max-width: 1200px) {
	.buildingstack { top: 12vw; }
}
@media(max-width: 1024px) {
	#gebaeude { padding-bottom: 60vw; }
	.buildingstack { top: 5vw; width: 160%; }
	.gebaeudetext h2 { padding-bottom: 70vw; background: none; pointer-events: none; }
	.gebaeudetext h2 strong { background: var(--white); }
	.gebaeudetext .panelcontainer { width: 90vw; margin-top: 0; }
	.gebaeudetext .panelcontainer .panels > .e-child:first-child { display: flex; }
	.gebaeudetext .panelcontainer .panels > .e-child { 
		display: grid;
		grid-template-columns: 1fr 2fr;
  		grid-template-rows: auto auto;
  		grid-template-areas:
    	"a b b"
    	"a c c";
		gap: 10px 0;
	}
    .panels > .e-child > div:nth-of-type(1) { grid-area: a; }
    .panels > .e-child > div:nth-of-type(2) { grid-area: b; }
    .panels > .e-child > div:nth-of-type(3) { grid-area: c; }
	.gebaeudetext .panelcontainer .panels > .e-child h3 { margin-top: 0; }
	.gebaeudetext .addresslist { width: calc(100% - 80px); column-count: 2; margin: 40px; padding: 20px 20px 0 20px; }
	.gebaeudetext .addresslist::before { left: -10px; transform: translateX(-100%); }
	.gebaeudetext .addresslist::after { left: calc(100% + 10px); }
	.gebaeudetext .panelcontainer .panels .elementor-widget-image { width: 25vw; height: 25vw; flex-grow: 1; flex-shrink: 0; }
	.gebaeudetext .panelcontainer .panels .elementor-widget-image img { width: 100%; height: 100%; object-fit: cover; }
}

@media (max-width: 767px) {
	#gebaeude { padding-bottom: 70vw; }
	.gebaeudetext .panelcontainer .panels > .e-child { display: flex; flex-direction: column !important; row-gap: 20px; }
	.gebaeudetext .addresslist p { font-size: 16px; }
	.gebaeudetext .panelcontainer .panels .elementor-widget-image { width: 50vw; height: 25vw; min-width: 300px; min-height: 150px; aspect-ratio: 2 / 1; flex-grow: 0; flex-shrink: 1; }
	.gebaeudetext .linkbuttons { position: relative; padding: 0; }
}
@media (max-width: 700px) {
	.gebaeudetext .addresslist::before, .gebaeudetext .addresslist::after { width: 30px; }
	.gebaeudetext .addresslist { column-count: 1; width: calc(100% - 20px); margin: 10px; }
	.gebaeudetext .addresslist p { font-size: 18px; }
}
@media (max-width: 572px) {
	.buildingstack { top: 5vw; width: 180%; right: -7vw; }
}
@media (max-width: 480px) {
	.gebaeudetext .addresslist::before, .gebaeudetext .addresslist::after { width: 30px; }
	.gebaeudetext .addresslist { column-count: 1; width: calc(100% - 20px); margin: 10px; }
}
@media (max-width: 400px) {
	.gebaeudetext .addresslist::before, .gebaeudetext .addresslist::after { display: none; }
	.gebaeudetext .addresslist { width: 100%; margin: 0; border: none; padding: 20px 10px; }
}






body.elementor-editor-active #gebaeude { min-height: 250vh; }
body.elementor-editor-active .gebaeudetext { width: 100% !important; }
body.elementor-editor-active .gebaeudetext > .e-con-inner > .e-child { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
body.elementor-editor-active .gebaeudetext .panelcontainer { height: auto; width: 100%; }
body.elementor-editor-active .gebaeudetext .panels { flex-wrap: nowrap; display: flex; flex-direction: row; background: var(--white); }
body.elementor-editor-active .gebaeudetext .panels > .e-child { opacity: 1; position: relative; flex: 15% 0 1; }
body.elementor-editor-active .gebaeudetext .panels > .e-child .elementor-widget-image { width: 300px; height: 240px; }
body.elementor-editor-active .gebaeudetext .panels > .e-child img { width: 100%; height: 100%; object-fit: contain; }
body.elementor-editor-active .gebaeudetext .linkbuttons { margin-top: 20px; }
body.elementor-editor-active .gebaeudetext .linkbuttons a { opacity: 1; }

body.elementor-editor-active .buildingstack { margin-top: 0; }
body.elementor-editor-active .buildingstack svg *[id^="overlay_"] { opacity: 0.3; }
body.elementor-editor-active .buildingstack svg *[id^="ol_shape"] { opacity: 1; stroke: var(--darkblue); fill: none; }








/*
#popuptint {
	background: rgba(0,0,0,0.5);
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: none;
}
#popuptint.active {
	width: 100%;
	height: 100%;
	opacity: 1;
	transition: width 0s linear, height 0s linear, opacity .3s ease-in-out;
}
*/


/* KONTAKT ---------------------------------------------------------------------------------------- */

#kontakt {
	padding-top: 100px;
	padding-bottom: calc(500px + 140px);
	transition: none;
	background: var(--darkblue);
	overflow: hidden;
}
#kontakt .bubbleshapefoot {
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(29%, -32%);
	width: 100vw;
	z-index: 0;
}
.bubbleshapefoot svg * {
	fill: var(--midgrey);
    fill-opacity: 0.2;
    filter: saturate(2) hue-rotate(-10deg);
    stroke: none;
}


/* FOOTER --------------------------------------------------------------------------------------------------- */


#site-footer {
	color: var(--white);
	padding-left: 100px;
	padding-right: 100px;	
	height: 500px;
	margin-top: -500px;
}
@media (max-width: 1800px) {
	#site-footer { padding-left: 5vw; padding-right: 5vw; }
}
#site-footer .footer-inner {
	max-width: 1600px;
	flex-direction: row-reverse;
	padding-top: 30px;
	border-top: var(--white) 1px solid;
}
#site-footer .site-branding {
	width: 400px;
	height: 100px;
	background-image: url(/wp-content/uploads/5672-hansapark-duesseldorf-logo-white-footer.png);
	background-repeat: no-repeat;
	background-size: contain;
}
#site-footer .site-branding img {
	display: none;
}
#site-footer .site-navigation > ul {
	flex-direction: column;
	flex-wrap: wrap;
	height: 240px;
	column-gap: 200px;
	position: relative;
}
#site-footer .site-navigation > ul > li::after {
	display: none;
}
#site-footer .site-navigation ul li {
	border: none;
	display: block;
	position: static;
	width: 200px;
}
#site-footer .site-navigation > ul > li:nth-of-type(4) {
	margin-bottom: 60px;
}
#site-footer .site-navigation ul li a {
	font-size: 18px;
	color: var(--white);
	background: transparent;
	border: transparent 2px solid;
	border-radius: 100px;
	display: inline-block;
}
#site-footer .site-navigation ul li a:hover {
	border-color: var(--white);
}
#site-footer .site-navigation ul li ul {
	display: block;
	background: transparent;
	position: absolute;
	top: 0;
	bottom: unset;
	text-transform: uppercase;
	left: 180px;
}
#site-footer .site-navigation > ul li:nth-of-type(1) ul {
	display: none;
}

body.elementor-editor-active #site-footer { margin-top: 0; }

@media (max-width: 578px) {
	#site-footer {
    	height: auto;
		background-color: var(--darkblue);
	}
	#site-footer .site-navigation > ul {
		flex-wrap: nowrap;
		height: auto;
	}
	#site-footer .site-navigation ul li {
		width: 100%;
	}
	#site-footer .site-navigation .menu-item-252, #site-footer .site-navigation .menu-item-263 { padding: 0; }
	#site-footer .site-navigation ul li ul {
		top: 176px;
		width: 100vw;
		left: calc(50% - 50vw);
	}
	#site-footer .site-navigation > ul > li:nth-of-type(4) {
		margin-bottom: 280px;
	}
}
@media (min-width: 579px) and (max-width: 1200px) {
  #site-footer .footer-inner {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 24px;
  }

  #site-footer .site-branding {
    align-self: flex-end;
    max-width: 100%;
    flex-shrink: 0;
  }

  #site-footer .site-navigation,
  #site-footer .site-navigation > ul {
    width: 100%;
  }
}



/* HOUSE PAGES ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

/* start -------------------------------------------------------- */

body.heerdter-forum .housestart .siteplansmall svg #houseshape_01 { fill: var(--white); }
body.hansahaus .housestart .siteplansmall svg #houseshape_02 { fill: var(--white); }
body.lohwerk .housestart .siteplansmall svg #houseshape_03 { fill: var(--white); }
body.twin-cubes .housestart .siteplansmall svg #houseshape_04 { fill: var(--white); }
body.kraftwerk .housestart .siteplansmall svg #houseshape_05 { fill: var(--white); }
body.kontor .housestart .siteplansmall svg #houseshape_06 { fill: var(--white); }

.housestart .bubbleshapehead svg * { fill: var(--housecolour); opacity: 1; }

.housestart {
	min-height: 100vh;
	background-color: var(--darkblue);
	justify-content: center;
}
.housestart * {
	color: var(--white);
}

.housestart .bubbleshapehead {
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(35%, 5vh); 
	width: 140vw;
	z-index: 0;
    max-width: 500% !important;
    z-index: 0;
}

.housestart .startcontent {
	height: calc(100vh - 85px);
	justify-content: center;
	padding-bottom: 10vw;
}

.housestart .backlink {
	position: relative;
    top: 30px;
    z-index: 1;
    margin-top: -30px;
    display: inline-block;
}
.housestart .backlink p {
	margin: 0;
}
.housestart .backlink a {
	color: var(--white);
    padding-left: 23px;
    display: inline-block;
    background-image: url(/wp-content/uploads/arrow-left-white.png);
    background-repeat: no-repeat;
    background-size: 14px;
    background-position: 0 42%;
    font-size: 18px;
    font-weight: 500;
	opacity: 0.6;
	transition: all .1s linear;
}
.housestart .backlink a:hover {
	opacity: 1;
}




.housestart .siteplansmall {
	width: 350px;
}
.housestart .siteplansmall svg {
	overflow: visible;	
}
.housestart .siteplansmall svg * {
	fill: none;
	stroke: var(--white);
	stroke-width: 10px;
	stroke-opacity: 1;
}
.housestart .siteplansmall svg #houseshape_04a {
	opacity: 0.3;	
}



.housestart .siteplan3d {
	width: 50%;
}




.housestart h1 {
	font-size: 200px;
	font-weight: 600;
	white-space: nowrap;
	text-transform: uppercase;
}
.housestart h1 em {
	font-style: normal;
	font-size: 400px;
	font-weight: 800;
	display: inline-block;
	margin-left: -1vw;
	letter-spacing: -0.03em;
}
.housestart .largetext * {
	font-size: 50px;
}

@media (max-width: 2000px) {
	.housestart .siteplansmall { width: 18vw; }
	.housestart h1 { font-size: 10vw; }
	.housestart .siteplansmall svg * { stroke-width: 16px; }
}
@media (max-width: 1600px) {
	.housestart .startcontent { padding-bottom: 0; }
	.housestart .siteplansmall { width: 280px; padding-bottom: 20px; }
	.housestart .siteplansmall svg * { stroke-width: 20px; }
	.housestart h1 { font-size: 12vw; line-height: 0.85em; white-space: wrap; }
	.housestart .largetext p { font-weight: 400; font-size: 40px; }
	.housestart p { font-weight: 500; }
}
@media (max-width: 1400px) {
	.housestart .siteplansmall {  }
}
@media (max-width: 1200px) {
	.housestart h1 { font-size: 13vw; line-height: 0.8em; }
}
@media (max-width: 1024px) {
	.housestart h1 { font-size: 15vw; line-height: 0.8em; }
	.housestart .largetext p { font-size: 36px; margin-top: 3vw; margin-bottom: 1vw; }
}
@media (max-width: 768px) {
	.housestart .backlink { transform: scale(0.8); transform-origin: 0 50%; }
	.housestart .siteplansmall { width: 220px; padding-bottom: 30px; }
	.housestart .siteplansmall svg * { stroke-width: 24px; }
	.housestart .largetext p { font-size: 32px; }
}
@media (max-width: 576px) {
	.housestart .siteplansmall { width: 180px; }
	.housestart .siteplansmall svg * { stroke-width: 28px; }
	.housestart .largetext p { font-size: 28px; }
}
@media (max-aspect-ratio: 1 / 1) {
	.housestart .startcontent { justify-content: flex-start; padding-top: 85px; }
}



/* intro -------------------------------------------------------- */

/* 2D lageplan ++++++++++++++++++++++++++++++ 

.houseintro .lageplanplain {
	width: 48vw;
	max-width: 500% !important;
    position: absolute;
    left: 0;
    top: 0;
}
.lageplanplain * { fill-opacity: 1; stroke-dasharray: none; }

.lageplanplain #roads_outlined * { stroke: var(--darkblue); stroke-width: 3px; fill: var(--white); opacity: 1; }
.lageplanplain #tram_rail * { stroke: var(--darkblue); stroke-width: 3px; fill: none; stroke-dasharray: 20px 10px; opacity: 1; display: block; }
.lageplanplain #tram_background { fill: var(--white); stroke: none; }
.lageplanplain #tram_lines * { stroke: var(--darkblue); stroke-width: 3px; fill: none; }
.lageplanplain #tram_stop_fill { fill: var(--white); stroke: none; }
.lageplanplain #tram_stop_lines * { stroke: var(--darkblue); stroke-width: 3px; fill: none; }
.lageplanplain #road_names * { stroke: none; fill: var(--darkblue); fill-opacity: 0.6; }
.lageplanplain #houses * { stroke-width: 10px; fill: var(--white); opacity: 1; display: block; }
.lageplanplain #house_names * { opacity: 1; display: block; }

.lageplanplain [id^="houseshape_"] { fill-opacity: 0.8; }

.lageplanplain #houseshape_01 { stroke: var(--purple); }
.lageplanplain #houseshape_02 { stroke: var(--pink); }
.lageplanplain #houseshape_03 { stroke: var(--mint); }
.lageplanplain #houseshape_04 { stroke: var(--lime); }
.lageplanplain #houseshape_04a { stroke: var(--lime); opacity: 0.4; }
.lageplanplain #houseshape_05 { stroke: var(--sky); }
.lageplanplain #houseshape_06 { stroke: var(--orange); }
	
.lageplanplain #house_names * { stroke: none; }
.lageplanplain #house_names text * { fill: var(--white); }

.lageplanplain #rect_01 { fill: var(--purple); }
.lageplanplain #rect_02 { fill: var(--pink); }
.lageplanplain #rect_03 { fill: var(--mint); }
.lageplanplain #rect_04 { fill: var(--lime); }
.lageplanplain #rect_05 { fill: var(--sky); }
.lageplanplain #rect_06 { fill: var(--orange); }

.lageplanplain [id^="rect_"] { stroke: var(--white) !important; stroke-width: 10px; opacity: 1; }
.lageplanplain [id^="text_"] { opacity: 1; }

body.heerdter-forum .lageplanplain #houseshape_01 { fill: var(--purple); }
body.hansahaus .lageplanplain #houseshape_02 { fill: var(--pink); }
body.lohwerk .lageplanplain #houseshape_03 { fill: var(--mint); }
body.twin-cubes .lageplanplain #houseshape_04 { fill: var(--lime); }
body.kraftwerk .lageplanplain #houseshape_05 { fill: var(--sky); }
body.kontor .lageplanplain #houseshape_06 { fill: var(--orange); }



#tram {		
	animation: tramRide 33s infinite;
	transform: translate(-500%, -425%);
	transform-box: fill-box;	
display: none;
}
@keyframes tramRide {
	0% { transform: translate(-500%, -425%); animation-timing-function: ease-out; }
  	15.15% { transform: translate(0, 0); }
	24.24% { transform: translate(0, 0); animation-timing-function: ease-in; }
  	36.36% { transform: translate(500%, 425%); }
  	51.52% { transform: translate(500%, 425%); animation-timing-function: ease-out; }
 	63.64% { transform: translate(0, 0); }
	72.73% { transform: translate(0, 0); animation-timing-function: ease-in; }
	84.85% { transform: translate(-500%, -425%); }
	100% { transform: translate(-500%, -425%); }
}

*/





/* LAGEPLAN 3D ++++++++++++++++++++++++++++++ */

.siteplan3d .container {
	width: 50vw;
}
.sitplan3d .base {
	
}
.siteplan3d .colour {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
body.heerdter-forum .colour image { clip-path: url(#clip-house-01); }
body.hansahaus .colour image { clip-path: url(#clip-house-02); }
body.lohwerk .colour image { clip-path: url(#clip-house-03); }
body.twin-cubes .colour image { clip-path: url(#clip-house-04); }
body.kraftwerk .colour image { clip-path: url(#clip-house-05); }
body.kontor .colour image { clip-path: url(#clip-house-06); }










.houseintro {
	background: rgba(255,255,255,0.9);
}
.houseintro .headingbox {
	align-items: center;
}
.houseintro h3 br.shy { 
	display: block;
}
.houseintro h3 strong {
	text-transform: uppercase;
	white-space: nowrap;
}
.houseintro .house3d svg {
	width: 300px;
}
.houseintro .house3d #walls #south * { filter: brightness(1.2) saturate(0.8); stroke: none; }
.houseintro .house3d #walls #east * { filter: brightness(0.8) saturate(1.2); stroke: none; }
.houseintro .house3d #roof * { fill-opacity: 1; }
.houseintro .house3d #cutout * { fill: var(--white); stroke-width: 2px; }
.houseintro .house3d #edges * { stroke-width: 1px; }
.houseintro .house3d #floorlines * { stroke: var(--white); stroke-width: 1px; stroke-dasharray: none; }
.houseintro .house3d #whiteout * { fill: var(--white); stroke-width: 0.5px; opacity: 1; }
.houseintro .house3d #text * { stroke: none; }

body.heerdter-forum .house3d #roof * { fill: var(--housecolour); filter: brightness(1.8) saturate(0.7) hue-rotate(-20deg); }
body.heerdter-forum .house3d #walls *, body.heerdter-forum .house3d #text * { fill: var(--housecolour); }
body.heerdter-forum .house3d #edges *, body.heerdter-forum .house3d #whiteout *, body.heerdter-forum .house3d #whiteout, body.heerdter-forum .house3d #cutout * { stroke: var(--housecolour); }

.mobile-title-break { display: none; }
@media (max-width: 576px) { .mobile-title-break { display: inline; } }

.keyfacts {
	display: flex;
	flex-direction: row;
	column-gap: 4%;
	width: 100%;
	align-self: center;
	margin: 3vw 0;
}
.keyfacts p {
	
}
.keyfacts p strong {
	border-bottom: var(--darkblue) 2px solid;
	padding-bottom: 10px;
	margin-bottom: 10px;
	display: block;
	white-space: nowrap;
}
.keyfacts p em {
	font-size: 32px;
	font-style: normal;
	font-weight: 600;
}
.keyfacts br {
	display: none;
}

body.heerdter-forum .keyfacts * { color: var(--darkblue); border-bottom-color: var(--purple); }

@media(max-width: 2000px) {
	.houseintro .lageplanplain { width: 52vw; }
}
@media (max-width: 1600px) {
	.houseintro .headingbox {  }
	.houseintro .house3d { width: 80%; margin: 0 auto; padding-bottom: 10px; }
	.houseintro .lageplanplain { width: 65vw; }
	.keyfacts p strong { width: 240px; white-space: wrap; font-size: 28px; line-height: 1.4em; }
}
@media (max-width: 1400px) {
	.houseintro .headingbox {  }
	.houseintro .headingbox h3 br.shy { display: none; }
	.houseintro .house3d { width: 400px; max-width: 85% !important; margin: 0; padding-bottom: 0; }
	.houseintro .lageplanplain { width: calc(90vw + 40px); }
	.houseintro .lageplanplain svg { mask: none; }
}
@media (max-width: 1200px) {
	.keyfacts p strong { width: 90%; font-size: 26px; line-height: 1.3em; }
}
@media (max-width: 1100px) {
	.keyfacts p strong { width: 100%; font-size: 25px; }
}
@media (max-width: 992px) {
	.keyfacts > .e-child { width: calc(25% - 2.9vw); }
	.keyfacts p:nth-of-type(1) { margin-bottom: 10px; }
	.keyfacts p strong { font-size: 20px; font-weight: 700; width: 90%; }
}
@media (max-width: 900px) {
	.keyfacts p strong { width: 100%; }
}
@media (max-width: 767px) {
	.houseintro .headingbox {  }
	.houseintro .headingbox > div:nth-of-type(1) { order: 2; }
	.houseintro .headingbox > div:nth-of-type(2) { order: 1; }
	.houseintro .headingbox .elementor-widget-spacer { height: 20px; }
	.houseintro .headingbox .siteplan3d .container { width: 100%; margin-bottom: -10vw; }
	.keyfacts { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }
	.keyfacts.colgapmedium { gap: 5vw !important; }
	.keyfacts > .e-child { width: 100%; }
	.keyfacts p strong { font-size: 22px; font-weight: 500; white-space: nowrap; }
}
@media (max-width: 700px) {
 	.houseintro h3 strong { white-space: normal; }
	.keyfacts p strong { white-space: wrap; width: 180px; }
}
@media (max-width: 500px) {
	.keyfacts p strong { width: 160px; font-size: 20px; font-weight: 700; }
}
@media (max-width: 450px) {
	.keyfacts p strong { width: 130px; font-size: 18px; line-height: 1.3em; white-space: normal;}
}



.description .img3 {
	width: 600px;
}

.highlightbox .e-child {
	flex-direction: row;
	column-gap: 20px;
	align-items: center;
	margin-bottom: 20px;
}
.highlightbox .e-child .elementor-widget-text-editor {
	display: flex;
}
.highlightbox .e-child p {
	font-weight: 700;
	line-height: 1.2em;
	margin-bottom: 0;
    max-width: 68vw;
}
.highlightbox .e-child .elementor-widget-html {
	width: 60px;
	height: 60px;
	flex-shrink: 0;
}
.highlightbox .e-child svg {
	overflow: visible;
}
.highlightbox .e-child svg #icon * {
	stroke: var(--white);
	fill: none;
	stroke-width: 3px;
}
.highlightbox .e-child svg #container * {
	stroke: var(--darkblue);
	fill: var(--darkblue);
	stroke-width: 3px;
}

@media (max-width: 1800px) {
	.description .img2 { margin-bottom: 23vw; }
	.description .img3 { position: absolute; left: 0; top: 65vw; transform: translate(-100%); margin-left: -5vw; width: 70%; }
}
@media (max-width: 1400px) {
	.description .img2 { margin-bottom: 35vw; }
	.description .img2 .kueche { width: 100%; }
	.description .img3 { top: 79vw; width: 100%; }
}
@media (max-width: 1024px) {
	.description { 
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-areas:
			"a a"
      		"b b"
      		"c e"
      		"d d";
		gap: 5vw;
	}
	.description > .e-child { display: contents; }
	.description .img1 { grid-area: a; }
	.description .text1 { grid-area: b; }
	.description .img2 { grid-area: c; }
	.description .highlightbox { grid-area: d; }
	.description .img3 { grid-area: e; }
	
	.description .img2 { margin-bottom: 0; }
	.description .img3 { position: relative; left: 0; top: 0; transform: none; margin-left: 0; width: 100%; }
}

@media (max-width: 572px) {	
	.highlightbox .e-child { column-gap: 10px; }
}



.flexibel .bubbleshapehead svg * {
	fill: var(--housecolour);
	opacity: 0.1;
	position: absolute;
}
.flexibel .addresses {
	flex-direction: row;
}

@media (max-width: 1024px) {	
	.flexibel .addresses { flex-direction: column; }
}





/* flächen und grundrisse ----------------------------------------------------------------------------------------------------- */

.flaechenheading {
	border-bottom: var(--housecolour) 1px solid;
}

/* floornames */

.floorname {
	flex-grow: 0 !important;
    flex-shrink: 1 !important;
}
.floorname p {
	text-transform: uppercase;
    font-weight: 400;
    font-size: 50px;
    line-height: 60px;
    color: var(--darkblue);
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 1.5vw;
    margin-right: 1.5vw;
    border-right: var(--darkblue) 1px solid;
    position: relative;
    top: 5px;
}

/* pagination */

.pagination {
	margin-left: auto;
	margin-right: 0;
	padding-top: 5px;
	flex-grow: 0 !important;
    flex-shrink: 0 !important;
	width: auto;
}
.pagination .elementor-widget-text-editor {
	flex-direction: row;
	flex-wrap: nowrap;
}
.pagination p {
	display: inline-block;
    width: 50px;
    height: 50px;
    font-size: 18px;
    font-weight: 600;
    line-height: 48px;
    border: var(--darkblue) 1px solid;
    border-radius: 100%;
    margin: 5px;
    text-align: center;
    background: var(--white);
    color: var(--darkblue);
	position: relative;
}
.pagination p em {
	display: inline-block;
    font-style: normal;
    font-size: 12px;
    position: relative;
    top: -2px;
}
.pagination p::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 100%;
	background: var(--housecolour);
	mix-blend-mode: multiply;
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
}
.pagination p:not(.active):hover {
    cursor: pointer;
}
.pagination p:not(.active):hover::after {
    opacity: 0.2;
}
.pagination p.active {
	border: var(--darkblue) 1px solid; 
	color: var(--white);
	background: var(--darkblue);
}





#flaechen .infocolumn {
	flex-direction: row;
	column-gap: 10vw;
}
#flaechen .infocolumn .unitsbox { flex: 35% 0 1; }
#flaechen .infocolumn .floorsizes { flex: 65% 0 1; }



.units3d {
	
}
.units3d svg {
	
}
body.heerdter-forum .units3d svg [id^="floornum_"] 		{ transform: scale(1.3) translate(-30%, -10%); transform-box: fill-box; }
.units3d svg [id^="floornum_"] * 	{ stroke: none; fill: var(--housecolour); }
.units3d svg [id^="numline_"] * 	{ stroke: var(--housecolour); stroke-width: 1px; }
.units3d svg [id^="text_"] * 		{ stroke: none; fill: var(--housecolour); mix-blend-mode: multiply; }
.units3d svg [id^="unavailable_"] * { stroke: var(--housecolour); stroke-width: 0.5px; fill: var(--white); }

.units3d svg [id^="overlay_"] * 	{ stroke: none; fill: var(--white); fill-opacity: 0; opacity: 0.4; }
.units3d svg [id^="top_"] * 		{ stroke: var(--housecolour); stroke-width: 1px; fill: var(--white); fill-opacity: 0.6; }
.units3d svg [id^="southwest_"] * 	{ stroke: var(--housecolour); stroke-width: 1px; fill: var(--white); fill-opacity: 0.4; }
.units3d svg [id^="south_"] * 		{ stroke: var(--housecolour); stroke-width: 1px; fill: var(--white); fill-opacity: 0.2; }
.units3d svg [id^="southeast_"] * 	{ stroke: var(--housecolour); stroke-width: 1px; fill: var(--white); fill-opacity: 0; }
.units3d svg [id^="utility_"] * 	{ stroke: var(--housecolour); stroke-width: 1px; fill: var(--housecolour); fill-opacity: 0.1; }
.units3d svg [id^="unit_"] * 		{ fill: var(--housecolour); stroke: var(--housecolour); stroke-width: 1px; }
.units3d svg [id^="background_"] * 	{ fill: var(--white); stroke: var(--housecolour); stroke-width: 1px; }
.units3d svg [id^="road_names"] * 	{ fill: var(--housecolour); stroke: none; }

.units3d svg [id^="unit_01_"] * { fill-opacity: 0.3; }
.units3d svg [id^="unit_02_"] * { fill-opacity: 0.45; }
.units3d svg [id^="unit_03_"] * { fill-opacity: 0.6; }
.units3d svg [id^="unit_04_"] * { fill-opacity: 0.8; }
.units3d svg [id^="unit_05_"] * { fill-opacity: 0.9; }
.units3d svg [id^="unit_06_"] * { fill-opacity: 1; }

.units3d svg [id$="_fl_4"] * {}
.units3d svg [id$="_fl_3"] * {}
.units3d svg [id$="_fl_2"] * {}
.units3d svg [id$="_fl_1"] * {}

.units3d svg [id^="floor_"].active [id^="background_"] * { fill: var(--housecolour); }
.units3d svg [id^="floor_"].active [id^="unit_"] * { mix-blend-mode: multiply; }
.units3d svg [id^="floor_"].active [id^="text_"] * { mix-blend-mode: normal; fill: var(--white); }
.units3d svg [id^="floor_"]:not(.active):hover [id^="overlay_"] * { fill-opacity: 1; cursor: pointer; }

.units3d svg [id^="floor_"].inactive [id^="unit_"] * { opacity: 0.5; }


.floorsize-table {
	background: var(--white);
	box-shadow: 7px 7px 15px rgba(0,0,0,0.3);
	border: var(--housecolour) 1px solid;
}
.floorsize-table p {
	display: none;
}
.floorsize-table ul {
	display: flex;
	flex-direction: row;
	margin: 0;
	padding: 0;
	list-style: none;
}
.floorsize-table ul.row {
	position: relative;
}
.floorsize-table ul.row::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background-color: var(--housecolour);
	opacity: 0;
}
.floorsize-table ul.row:not(.active):hover::after {
	opacity: 0.1;
	cursor: pointer;
}
.floorsize-table ul:nth-of-type(1) li {
	font-weight: 500;
}
.floorsize-table ul:nth-of-type(1) {
	border-bottom: var(--housecolour) 1px solid;
}
.floorsize-table ul:nth-last-of-type(1) {
	border-top: var(--housecolour) 1px solid;
	border-bottom: none;
}
.floorsize-table ul:nth-of-type(1) li {
	border-top: none;
}
.floorsize-table ul:nth-of-type(1) li:nth-of-type(1) {
	font-size: 16px;
	line-height: 33px;
}
.floorsize-table ul:nth-of-type(1) li:nth-of-type(1) em { font-style: normal; white-space: wrap; }
.floorsize-table ul:nth-of-type(1) li:nth-of-type(1) em:first-child { display: block; }
.floorsize-table ul:nth-of-type(1) li:nth-of-type(1) em:last-child { display: none; }

.floorsize-table ul:nth-last-of-type(1) li {
	font-weight: 700;
}
.floorsize-table ul li {
    white-space: nowrap;
    padding: 3px 10px;
    margin: 0;
    border: var(--housecolour) 1px solid;
	border-bottom: none;
    display: inline-block;
    margin-left: -1px;
}
.floorsize-table ul li strong {
	font-size: 14px;
	display: none;
}
.floorsize-table ul li:nth-last-of-type(1) {
	border-right: none;
}
.caption p {
	font-size: 16px; 
	text-align: right;
	margin-top: 20px;
}

.floorsize-table ul.active {
	background: var(--housecolour);
}
.floorsize-table ul.active * {
	color: var(--white);
}
.floorsize-table ul.active li:nth-of-type(1) { color: var(--housecolour); font-weight: 900; }
.floorsize-table ul.active li:nth-last-of-type(1) { background: var(--housecolour); position: relative; z-index: 0; color: var(--white); font-weight: 600; }
.floorsize-table ul.active li:nth-last-of-type(1)::before { content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.1); z-index: -1; inset: 0; }





body.heerdter-forum .floorsize-table ul li { width: calc(12.5% + 1px); }
body.heerdter-forum .floorsize-table ul:nth-last-of-type(1) li:nth-of-type(1) { width: calc(87.5% + 6px); }
body.heerdter-forum .floorsize-table ul:nth-of-type(2) li:nth-of-type(2) { width: calc(50% + 2px); }
body.heerdter-forum .floorsize-table ul:nth-of-type(2) li:nth-of-type(3) { width: calc(25% + 1px); }

body.heerdter-forum .floorsize-table ul li:nth-of-type(1) { background: rgba(255,255,255, 0.85); }
body.heerdter-forum .floorsize-table ul li:nth-of-type(2) { background: rgba(255,255,255, 0.5); }
body.heerdter-forum .floorsize-table ul li:nth-of-type(3) { background: rgba(255,255,255, 0.42); }
body.heerdter-forum .floorsize-table ul li:nth-of-type(4) { background: rgba(255,255,255, 0.35); }
body.heerdter-forum .floorsize-table ul li:nth-of-type(5) { background: rgba(255,255,255, 0.28); }
body.heerdter-forum .floorsize-table ul li:nth-of-type(6) { background: rgba(255,255,255, 0.21); }
body.heerdter-forum .floorsize-table ul li:nth-of-type(7) { background: rgba(255,255,255, 0.14); }
body.heerdter-forum .floorsize-table ul li:nth-of-type(8) { background: rgba(255,255,255, 0); }


body.twin-cubes .floorsize-table ul li { width: calc(20% + 1px); }
body.twin-cubes .floorsize-table ul:nth-last-of-type(1) li:nth-of-type(1) { width: calc(80% + 5px); }
body.twin-cubes .floorsize-table ul:nth-of-type(2) { display: none; }

body.twin-cubes .floorsize-table ul li:nth-of-type(1) { background: rgba(255,255,255, 0.8); }
body.twin-cubes .floorsize-table ul li:nth-of-type(2) { background: rgba(255,255,255, 0.2); }
body.twin-cubes .floorsize-table ul li:nth-of-type(3) { background: rgba(255,255,255, 0.1); }
body.twin-cubes .floorsize-table ul li:nth-of-type(4) { background: rgba(255,255,255, 0); }
body.twin-cubes .floorsize-table ul li:nth-of-type(5) { background: rgba(255,255,255, 0); }







/* grundrisse */


.slidercolumn {
	align-items: center;
}
.slidercontainer {
	overflow: hidden;
	margin-top: 0;
	margin-bottom: 0;
	width: 60vw;
}

.contentslider > .e-child {
	align-items: center;
	flex-direction: row;
}
.contentslider figcaption {
	position: absolute;
	font-size: 40px;	
	opacity: 1;
	color: var(--housecolour) !important; 
}



/* arrows */

.sliderarrows {
	position: absolute;
    top: 50%;
    width: 100%;
    height: 0;
}
.sliderarrows .prev,
.sliderarrows .next {
	display: block;
	width: 40px;
	height: 40px;
	position: absolute;
	top: 50%;
	border-top: var(--housecolour) 5px solid;
	border-left: var(--housecolour) 5px solid;
	border-bottom: transparent 5px solid;
	border-right: transparent 5px solid;
	transform-origin: center;
	cursor: pointer;
}
.sliderarrows .prev {
	left: 10px;
	transform: translateY(-50%) rotate(-45deg);
}
.sliderarrows .next {
	right: 10px;
	transform: translateY(-50%) rotate(135deg);
}
.sliderarrows p {
	text-indent: -99999px;
	color: transparent;
	margin: 0;
	display: none;
}


@media (max-width: 900px) {
	.sliderarrows .prev, .sliderarrows .next { width: 30px; height: 30px; border-width: 4px; }
}
@media (max-width: 600px) {
	.sliderarrows .prev, .sliderarrows .next { width: 25px; height: 25px; border-width: 3px; }
}


/* HEERDTER FORUM ---------------------------------------------------------------------------------------- */

body.heerdter-forum .contentslider { width: 400%; } 
body.heerdter-forum .contentslider > .e-child { width: 25%; }
body.heerdter-forum .contentslider figcaption { left: 19%; bottom: 20px; text-align: left; }


@media (max-width: 1800px) {
	#flaechen { padding-bottom: 200px; padding-top: 8vw; }
	.floorname p { font-size: 36px; }
	.floorsize-table ul:nth-of-type(1) li:nth-of-type(1) { font-size: 15px; }
}
@media (max-width: 1400px) {
	#flaechen .infocolumn { column-gap: 5vw; }
	.floorname p { font-size: 32px; }
	.floorsize-table ul li { font-size: 18px; }
	.floorsize-table ul:nth-of-type(1) li:nth-of-type(1) { font-size: 14px; }
}
@media (max-width: 1200px) {
	#flaechen { padding-top: 25vw; }
	.twin-cubes #flaechen { padding-bottom: 0; }
	#flaechen .flaechenheading { width: 100%; flex-direction: column; margin-bottom: 50px; }
	#flaechen .paginationbox { justify-content: flex-start; margin-top: 30px; }
	#flaechen .paginationbox > div { flex: 0 0 auto; width: auto; }
	#flaechen .pagination { margin: unset; margin-bottom: 20px; order: 1; }
	#flaechen .floorname { order: 2; }
	.floorname p { font-size: 24px; font-weight: 700; padding-left: 1.5vw; margin-left: 1.5vw; border-left: var(--darkblue) 1px solid; margin-right: 0; padding-right: 0; border-right: none; }
	#flaechen .infocolumn { display: contents; }
	#flaechen .infocolumn .unitsbox { position: absolute; top: 3.2vw; align-self: flex-end; width: 40vw; }
	.floorsize-table ul li { font-size: 20px; }
	.floorsize-table ul:nth-of-type(1) li:nth-of-type(1) { font-size: 16px; }
}
@media (max-width: 1024px) {
	#flaechen { padding-top: 30vw; }
	.floorsize-table ul li { font-size: 19px; }
	.floorsize-table ul:nth-of-type(1) li:nth-of-type(1) { font-size: 15px; }
}
@media (max-width: 900px) {
	.floorsize-table ul li { font-size: 18px; }
	.floorsize-table ul:nth-of-type(1) li:nth-of-type(1) { font-size: 14px; }
}
@media (max-width: 768px) {
	.floorsize-table ul li { font-size: 2.2vw; font-weight: 600; padding: 5px 5px; }
	.floorsize-table ul:nth-of-type(1) li:nth-of-type(1) { font-size: 2.5vw; white-space: wrap; line-height: 1em; }
	.floorsize-table ul:nth-of-type(1) li:nth-of-type(1) em:first-child { display: none; }
	.floorsize-table ul:nth-of-type(1) li:nth-of-type(1) em:last-child { display: block; }
}
@media (max-width: 580px) {
	body.heerdter-forum .contentslider figcaption,	body.twin-cubes .contentslider figcaption { font-size: 21px; }
}


/* TWIN CUBES -------------------------------------------------------------------------------------------- */

body.twin-cubes .contentslider { width: 200%; } 
body.twin-cubes .contentslider > .e-child { width: 50%; column-gap: 5%; align-items: flex-start; justify-content: center; }
body.twin-cubes .contentslider figcaption { left: 50%; bottom: 40%; text-align: center; transform: translate(-50%, 50%); }

body.twin-cubes .floorplan {
	width: 50%;
}
body.twin-cubes .layouts {
	width: 35%;
}
body.twin-cubes .layouts * {
	font-size: 1vw;
}
body.twin-cubes .layouts p {
	background: var(--housecolour);
	color: var(--white);
	padding: 0;
	display: block;
	margin-top: 0.5vw;
	margin-bottom: 0;
	text-transform: uppercase;
}
body.twin-cubes .layouts p strong {
	color: var(--white);
	display: block;
	width: 100%;
	height: 100%;
	padding: 0 0.4vw;
}
body.twin-cubes .layouts > .e-child:nth-of-type(1) p strong { background: rgba(255,255,255, 0); }
body.twin-cubes .layouts > .e-child:nth-of-type(2) p strong { background: rgba(255,255,255, 0.4); }
body.twin-cubes .layouts > .e-child:nth-of-type(3) p strong { background: rgba(255,255,255, 0.8); }

body.twin-cubes .layouts .extracaption p {
    font-size: 16px;
    text-align: left;
    margin-top: 5px;
    text-transform: none;
    background: none;
    color: var(--darkblue);
}


body.twin-cubes .layouts ul {
	list-style: none;
	margin: 0;
	margin-bottom: 1vw;
	padding: 0;
	background: #f6f6f6;
}
body.twin-cubes .layouts ul li {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	border-bottom: var(--midgrey) 1px solid;
	padding: 0 0.4vw;
}
body.twin-cubes .layouts ul li:first-child {
	justify-content: flex-end;
}
body.twin-cubes .layouts ul li * {
	display: flex;
	font-style: normal; 
}
body.twin-cubes .layouts ul li strong {
	
}
body.twin-cubes .layouts ul li em {
	text-align: right;
}

body.twin-cubes .north {
	position: absolute;
	left: 57%;
	bottom: 0.6vw;
	width: 8vw;
}

@media (min-width: 2000px) {	
	body.twin-cubes .layouts * { font-size: 20px; }
}
@media (max-width: 2000px) {	
	body.twin-cubes .floorplan { width: 60%; }
	body.twin-cubes .layouts { width: 35%; }
	body.twin-cubes .north { left: 67%; }
}
@media (max-width: 1600px) {	
	body.twin-cubes .floorplan { width: 65%; }
	body.twin-cubes .layouts { width: 30%; }
	body.twin-cubes .layouts * { font-size: 1.2vw; }
	body.twin-cubes .north { left: 67%; width: 10vw; }
}
@media (max-width: 1400px) {	
	body.twin-cubes .slidercontainer { width: 70vw; }
	body.twin-cubes .layouts * { font-size: 1.3vw; }
	body.twin-cubes .north { width: 12vw; }
}
@media (max-width: 1200px) {	
	body.twin-cubes .slidercontainer { width: 75vw; }
	body.twin-cubes .layouts * { font-size: 1.5vw; }
}
@media (max-width: 1024px) {	
	body.twin-cubes .slidercontainer { width: 75vw; }
	body.twin-cubes .layouts * { font-size: 1.5vw; }
}
@media (max-width: 992px) {	
	body.twin-cubes .contentslider > .e-child { flex-direction: column; row-gap: 5vw; align-items: center; }
	body.twin-cubes .layouts { width: 100%; /*flex-direction: row; column-gap: 3vw; justify-content: center; */}
	/*body.twin-cubes .layouts > .elementor-widget { flex: 30% 1 0; }*/
	body.twin-cubes .layouts .e-con { flex-direction: row; gap: 3vw; }
	body.twin-cubes .og-1 .einheitswrapper .elementor-widget-text-editor { width: calc( 50% - 1.5vw ); }
	body.twin-cubes .og-2 .einheitswrapper .elementor-widget-text-editor { width: 30%; }
	body.twin-cubes .layouts * { font-size: 1.8vw; }
	body.twin-cubes .north { left: 82%; bottom: unset; top: 52vw; }
}
@media (max-width: 767px) {	
	body.twin-cubes .floorsize-table ul li { font-size: 18px; font-weight: 500; }
	body.twin-cubes .floorsize-table ul:nth-of-type(1) li:nth-of-type(1) { font-size: 2.5vw; white-space: nowrap; line-height: 1em; }
	body.twin-cubes .floorsize-table ul:nth-of-type(1) li:nth-of-type(1) em:first-child { display: block; }
	body.twin-cubes .floorsize-table ul:nth-of-type(1) li:nth-of-type(1) em:last-child { display: none; }
	body.twin-cubes .contentslider > .e-child { justify-content: flex-start; }
	body.twin-cubes .layouts { flex-direction: column; row-gap: 2vw; align-items: center; }
	/*body.twin-cubes .layouts > .elementor-widget { width: 63%; }*/
	body.twin-cubes .layouts .e-con { flex-direction: column; gap: 3vw; }
	body.twin-cubes .og-1 .einheitswrapper .elementor-widget-text-editor, body.twin-cubes .og-2 .einheitswrapper .elementor-widget-text-editor { width: 68%; margin: auto; }
	body.twin-cubes .layouts .extracaption p { text-align: center; }
	body.twin-cubes .layouts * { font-size: 18px; }
	body.twin-cubes .north { top: 1vw; }
}
	
@media (max-width: 576px) {	
	body.twin-cubes .floorsize-table ul li { font-size: 16px; }
	body.twin-cubes .floorplan { width: 90%; }
	body.twin-cubes .layouts { flex-direction: column; row-gap: 2vw; align-items: center; }
	/*body.twin-cubes .layouts > .elementor-widget { width: 90%; }*/
	body.twin-cubes .layouts .e-con { flex-direction: column; gap: 3vw; }
	body.twin-cubes .og-1 .einheitswrapper .elementor-widget-text-editor, body.twin-cubes .og-2 .einheitswrapper .elementor-widget-text-editor { width: 90%; margin: auto; }
	body.twin-cubes .layouts .extracaption p { text-align: center; }
	body.twin-cubes .layouts * { font-size: 18px; }
	body.twin-cubes .north { display: none; }
}




body.elementor-editor-active .contentslider { width: 100%; flex-direction: column; }
body.elementor-editor-active .contentslider > .e-child { width: 100%; }
body.elementor-editor-active .sliderarrows { height: 50px; position: relative; transform: none; }




.innenhof .bubble {
	position: relative;
    display: flex;
    flex-direction: column;
    margin-right: auto;
}
.innenhof .bubble::before {
	content: '';
	display: block;
	border-radius: 100%;
    background: var(--housecolour);
    width: 700px;
    height: 700px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.3;
    mix-blend-mode: multiply;
	z-index: 0;
}
.innenhof .bubble h3 {
	z-index: 1;
}

body.elementor-editor-active .innenhof { overflow: visible; }
body.elementor-editor-active .innenhof .bubble p { font-size: 40px; line-height: 1.2em; color: red; }

@media (max-width: 767px) {	
	.innenhof .elementor-widget-text-editor:first-of-type  { transform: translateX(24px); }
}
@media (max-width: 576px) {	
	.innenhof .bubble::before { width: 450px; height: 450px; }
}

    transform: translateX(24px);
/* INTERIM: HOUSEINTRO -------------------------------------------------------------------------------------- */

.houseintro .interim.headingbox {
	display: flex;
	column-gap: 8vw !important;
}
.houseintro .interim.headingbox > .e-child:first-child {
	justify-content: center;
	padding-top: 0;
}
.houseintro .interim.headingbox p strong {
	font-size: 30px;
	font-weight: 300;
}
.houseintro .interim.headingbox .lageplanplain {
	width: 80vw;
	position: relative;
}

@media (max-width: 624px) {
	.houseintro .interim.headingbox p strong { font-size: 24px; }
}
@media (max-width: 480px) {
	.houseintro .interim.headingbox p strong { font-size: 22px; }
}

/* INTERIM: BILDABSCHNITT ----------------------------------------------------------------------------------- */

.interim.images {
	background: rgba(255, 255, 255, 0.95);
	padding-top: 0;
	padding-bottom: 120px;
}
.interim.images .e-child {
	column-gap: 2vw;
	row-gap: 2vw;
}
.interim.images img {
	position: relative;
	transition: all .5s ease-in-out; 
}
.interim.images img.show {
	top: 0;
	opacity: 1;
}

.interim.images figcaption {	
	position: absolute;
    left: 0;
    bottom: 0;
    text-align: left !important;
    color: transparent !important;
	font-size: 0 !important;
}
.interim.images figcaption::after {
	content: '*';
    font-size: 28px;
	line-height: 1em;
    display: block;
    color: var(--white);
    position: absolute;
    left: 12px;
    bottom: 0;
}

body.elementor-editor-active .interim.images img { top: 0; opacity: 1; }

.interim.images img {
	cursor: pointer;
}


.gallery-lightbox {
	position: fixed;
	inset: 0;

	z-index: 99999;

	display: none;
	align-items: center;
	justify-content: center;

	background: rgba(0, 0, 0, 0.88);
}


.gallery-image-wrap {
	display: flex;
	align-items: center;
	justify-content: center;

	width: min(80vw, 1600px);
	height: 90vh;
}


.gallery-lightbox-image {
	display: block;

	max-width: 100%;
	max-height: 100%;

	width: auto;
	height: auto;

	object-fit: contain;
}


.gallery-prev,
.gallery-next,
.gallery-close {
	position: absolute;

	z-index: 2;

	border: 0;
	padding: 0;

	background: none;
	color: white;

	cursor: pointer;

	font: inherit;
}


.gallery-prev,
.gallery-next {
	top: 50%;

	transform: translateY(-50%);

	font-size: 3rem;
}


.gallery-prev {
	left: 3vw;
}


.gallery-next {
	right: 3vw;
}


.gallery-close {
	top: 2rem;
	right: 2rem;

	font-size: 3rem;
	line-height: 1;
}


body.gallery-open {
	overflow: hidden;
}









/* DATENSCHUTZ, IMPRESSUM ------------------------------------------------------------------------------------------ */

body.impressum h1, body.datenschutz h1 {
	margin-top: 60px;
	margin-bottom: 50px;
	color: var(--primary);
    font-size: 70px;
}
body.impressum h2, body.datenschutz h2 {
	margin-bottom: 50px;
    font-size: 40px;
}
body.impressum h3, body.datenschutz h3 {
    font-weight: 500;
	margin-top: 30px;
	font-size: 27px;
    color: var(--midblue);
}

@media screen and (max-width: 1024px) { 	
	body.impressum h1, body.datenschutz h1 {  }
}
@media screen and (max-width: 767px) { 	
	body.impressum h1, body.datenschutz h1 { font-size: 7.5vw; }
	body.impressum h2, body.datenschutz h2 { font-size: 30px; }
}






/* CONTACT TAB -------------------------------------------------------------------------- */

.contacttab {
	position: fixed;
    top: 120vh;
    right: 8px;
    width: auto;
    height: 70px;
    transform: rotate(-90deg);
    transform-origin: 100% 100%;
	z-index: 999;
	transition: top .8s cubic-bezier(.08,.66,.44,1);
}
.contacttab.show {
	top: 80px;
}
.contacttab p {
	margin: 0;	
}
.contacttab a {
	color: var(--white);
    padding: 10px 20px;
    text-transform: uppercase;
    font-weight: 400;
	border: var(--primary) 1px solid;
	border-radius: 60px;
    letter-spacing: 0.1em;
    font-size: 24px;
	display: inline-block;
    background-color: var(--primary);
    box-shadow: -6px 6px 6px rgba(0, 55, 70, 0.4);
}
.contacttab a:hover {
    background-color: var(--white);
    color: var(--primary);
}

@media (max-width: 1800px) {
	.contacttab { transform: none; right: 120px; box-shadow: none; }
	.contacttab a { box-shadow: none; }
	.contacttab.show { top: 14px; }
}
@media (max-width: 1400px) {
	.contacttab { transform: scale(0.85); transform-origin: center; right: 100px; }
	.contacttab.show { top: 6px; }
}
@media (max-width: 1024px) {
	.contacttab { transform: translateX(50%) scale(0.7); right: 50%; }
}
@media (max-width: 480px) {
	.contacttab { transform: translateX(50%) scale(0.6); }
	.contacttab.show { top: -4px; }
}

body.elementor-editor-active .contacttab { position: relative; top: 0; right: 0; transform: none; }





/* 404 ----------------------------------------------------------------------------------------------------------------- */


body.error404 {
	background-color: var(--midgreen);
}
body.error404 #content {
	min-height: 100vh;
	width: 100%;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-image: url(/wp-content/uploads/5682-owork-historisches-fabrikgebaeude.webp);
	background-size: cover;
	background-position: center;
}
body.error404 #content::before {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.6);
	position: absolute;
	top: 0;
	left: 0;
}
body.error404 #content * {
	color: var(--white);
	text-align: center;
}
body.error404 .page-header {
	display: none;
}
body.error404 .content404 {
	z-index: 1;
}
body.error404 .content404 .number {
	font-size: 200px;
	font-weight: 400;
	margin-bottom: -30px;
}
body.error404 .content404 p {
	font-size: 26px;	
}
body.error404 .content404 a {
	text-align: center;
    color: var(--vidanblue) !important;
    background-color: var(--white);
    display: inline-block;
    text-decoration: none;
	font-size: 26px;	
	font-weight: 500;
    padding: 17px 30px 18px 30px;
    border-radius: 2px;
    margin-top: 20px;
    line-height: 1em;
}
body.error404 #site-footer { 
	background: var(--vidanblue);
}
body.error404 #site-footer::before { 
	background: rgba(0,0,0,0); 
}

@media (max-width: 576px) {
	body.error404 .content404 .number { font-size: 40vw; margin-bottom: -10px; }
	body.error404 .content404 p,
	body.error404 .content404 a { font-size: 20px; }
}




/* REAL COOKIE BANNER --------------------------------------------------------------------------- */

/* first layer (Startansicht) */

div[consent-skip-blocker="1"] dialog a[role="button"] {
	border-radius: 50px !important;
}
div[consent-skip-blocker="1"] dialog > div > div > div:nth-of-type(2) > div {
	display: flex;
	flex-direction: column !important;
}
div[consent-skip-blocker="1"] dialog > div > div > div:nth-of-type(2) > div > div {
	display: flex;
	flex-direction: row !important;
	width: 100% !important;
	column-gap: 20px !important;
}
div[consent-skip-blocker="1"] dialog > div > div > div:nth-of-type(2) > div > div a {
	margin: 0 !important;
	width: 30% !important;
    max-width: 200px !important;
}
div[consent-skip-blocker="1"] dialog a[role="button"] span {
	font-size: 18px !important;
}
div[consent-skip-blocker="1"] dialog p[role="presentation"] {
	
}

/* second layer (Einstellungen) */

div[consent-skip-blocker="1"] dialog.second-layer > div > div > div:nth-of-type(2) > div > div:nth-of-type(2) {
	flex-direction: column !important;
}
div[consent-skip-blocker="1"] dialog.second-layer > div > div > div:nth-of-type(2) > div > div:nth-of-type(2) > div {
	display: flex;
	flex-direction: row !important;
	column-gap: 30px;
}
div[consent-skip-blocker="1"] dialog.second-layer > div > div > div:nth-of-type(2) > div > div:nth-of-type(2) > div > div {
	border: none !important;
	padding: 30px 0 0 0 !important;
	display: flex;
	flex-direction: row !important;
	width: 50% !important;
	margin-bottom: 0 !important;
}
div[consent-skip-blocker="1"] dialog.second-layer > div > div > div:nth-of-type(2) fieldset {
	background: #555555 !important;
	padding: 10px !important;
	border-radius: 10px !important;
}
div[consent-skip-blocker="1"] dialog.second-layer > div > div > div:nth-of-type(2) fieldset > div {
	border-top: var(--citron) 1px solid;
	padding-top: 10px;
	display: flex;
	flex-direction: column !important;
	width: 100% !important;
}
div[consent-skip-blocker="1"] dialog.second-layer > div > div > div:nth-of-type(2) fieldset > div a {
	width: 100% !important;
	color: var(--citron) !important;
}


@media (max-width: 767px) {	
	div[consent-skip-blocker="1"] dialog > div > div > div:nth-of-type(2) > div > div a { max-width: 160px !important; }
}
@media (max-width: 576px) {	
	div[consent-skip-blocker="1"] dialog > div > div { max-height: unset !important; }
	div[consent-skip-blocker="1"] dialog > div > div > div:nth-of-type(2) > div > div { width: 100% !important; display: block !important; position: relative !important; top: 0 !important; }
	div[consent-skip-blocker="1"] dialog > div > div > div:nth-of-type(2) > div > div:nth-of-type(1) { padding-bottom: 20px !important; display: block !important; }
	div[consent-skip-blocker="1"] dialog > div > div > div:nth-of-type(2) > div > div a { margin-bottom: 10px !important; width: 200px !important; }
	div[consent-skip-blocker="1"] dialog.second-layer > div > div > div:nth-of-type(2) > div > div:nth-of-type(2) > div { flex-direction: column !important; row-gap: 0; }
	div[consent-skip-blocker="1"] dialog.second-layer > div > div > div:nth-of-type(2) > div > div:nth-of-type(2) > div > div { width: 100% !important; padding: 15px 0 0 0 !important; }
}



/* dies und das ---------------------------------------------------------------------------------- */


.boxed {
  margin: 0 auto;
}
.boxed.left {
  	margin-left: 0;
}
.boxed.right {
  	margin-right: 0;
}
.paddingleft {
	padding-left: 100px;
}
.paddingright {
	padding-right: 100px;
}


.sectionpadding {
	padding-top: 120px;
	padding-bottom: 140px;
}
.sectionpaddingtop {
	padding-top: 120px;
}
.sectionpaddingbottom {
	padding-bottom: 140px;
}

.pagemargin {
	padding-left: 100px !important;
	padding-right: 100px !important;
}
.pagemarginleft {
	padding-left: 100px !important;
	padding-right: 0 !important;
}
.pagemarginright {
	padding-left: 0 !important;
	padding-right: 100px !important;
}
@media (max-width: 1800px) {
	.sectionpadding { padding-top: 5vw; padding-bottom: 7vw; }
	.sectionpaddingtop { padding-top: 5vw; }
	.sectionpaddingbottom { padding-bottom: 7vw; }
	.pagemargin { padding-left: 5vw !important; padding-right: 5vw !important; }
	.pagemarginleft { padding-left: 5vw !important; padding-right: 0 !important; }
	.pagemarginright { padding-left: 0 !important; padding-right: 5vw !important; }
	.paddingleft { padding-left: 5vw; }
	.paddingright { padding-right: 5vw; }
}
@media (max-width: 1200px) {
	.sectionpadding { padding-top: 10vw; padding-bottom: 12vw; }
	.sectionpaddingtop { padding-top: 10vw; }
	.sectionpaddingbottom { padding-bottom: 12vw; }
}
@media (max-width: 576px) {
	.sectionpadding { padding-top: 14vw; padding-bottom: 16vw; }
	.sectionpaddingtop { padding-top: 14vw; }
	.sectionpaddingbottom { padding-bottom: 16vw; }
}



.short {
	max-width: 1100px !important;
}

.narrow {
  max-width: 1200px !important;
  margin: 0 auto;
}
.narrow.left {
	margin: 0;
}

.slim > .elementor-container, .slim.e-con {
  max-width: 700px !important;
  margin: 0 auto;
}
.slimleft {
  max-width: 400px;
  margin: 0;
}
.slimright {
  max-width: 400px;
  margin: 0;
}
.slim.half {
  margin: 0;
}
.veryslim {
  max-width: 520px;
}
.anorexic {
  max-width: 300px;
  margin: 0 auto;
}


.anchorfake {
  	position: relative; 
  	top: -100px;
  	height: 0;
}

body.elementor-editor-active .anchorfake { top: 0; height: 50px; background: rgba(255,100,0,0.5); }

body.elementor-editor-active .elementor-widget-spacer {
    background: rgba(0,255,196,0.4);
}
body.elementor-editor-active .desktop.elementor-widget-spacer {
    background: rgba(0,100,196,0.4);
}
body.elementor-editor-active .mobile.elementor-widget-spacer {
    background: rgba(140,100,196,0.4);
}


/* arrows between sections */


.inversearrow {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2vw;
	clip-path: polygon(0 0, 48% 0, 50% 100%, 52% 0, 100% 0, 100% 100%, 0 100%);
}
.attop {
	top: 0;
}
.atbottom {
	bottom: 0;
}
.inversearrow.greenbg { background-color: var(--primary); }
.inversearrow.whitebg { background-color: var(--white); }
.inversearrow.darkgreybg { background-color: var(--darkgrey); }
.inversearrow.nearblackbg { background-color: var(--nearblack); }
.inversearrow.black08bg { background-color: rgba(0,0,0,0.8); }

body.mobiledevice #anflug .inversearrow.black08bg { background-color: var(--nearblack); }
	
	
.shifttop50 {
	margin-top: -50px;
}


.desktop {
  
}
.mobile {
  display: none;
}
@media screen and (max-width: 767px) {
  .desktop { display: none; }
  .mobile { display: block; }
  .elementor-inner-column { width: 100% !important; }
}
body.elementor-editor-active .desktop, body.elementor-editor-active .mobile {
  display: block;
} 


.listbullets ul {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}
.listbullets li {
	padding-left: 30px;
	margin-top: 1em;
}
.listbullets li::before {
	content: "";
    position: absolute;
    left: 0px;
    margin-top: 2px;
    width: 0;
    height: 0;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-left: 18px solid var(--primary);
}


.uppercase {
	text-transform: uppercase;
}
.nowrap {
	white-space: nowrap;
}
br.smallscreen {
	display: none;
}
span.notsmallscreen { 
	display: inline;
}
@media (max-width: 576px) {
	br.smallscreen { display: block; }
	span.notsmallscreen { display: none; }
}




.round img {
  border-radius: 100%;
}
.grecaptcha-badge {
  visibility: hidden;
}



.fixedbg {
  background-attachment: fixed;
}
.fixedbg > .elementor-widget-wrap {
  background-attachment: fixed;
}
body.mobiledevice .fixedbg {
  	background-attachment: scroll !important;
	background-size: cover;
}
body.mobiledevice .fixedbg .elementor-background-overlay {
  	background-attachment: scroll !important;
	background-size: cover;
}
@media (max-aspect-ratio: 1/1) {
	/*
	body.mobiledevice .fixedbg.fullheight { max-height: 100vw; }
	*/
}

.prefooterimage {
	height: 50vh;
}
.fixedimage {
    position: fixed;
    top: 80px;
	left: 0;
    height: 50vh;
}
.fixedimage .elementor-widget-image,
.fixedimage .elementor-widget-image .elementor-widget-container {
	height: 100%;
}
.fixedimage img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}
body.elementor-editor-active .fixedimage { position: absolute; top: 0; height: calc(50vh - 20px); width: calc(100% - 30px); }



.white, .white p, .white h1, .white h2, .white h3, .white h4, .white h5, .white h6, .white a, .white ul li, .white td, .white th {
  color: #ffffff !important;
}
.white p {
  font-weight: 300;
}
.black, .black p, .black h1, .black h2, .black h3, .black h4, .black h5, .black h6, .black a, .black ul li, .black td, .black th {
  color: #000000 !important;
}
.purple, .purple * { color: var(--purple); }
.pink, .pink * { color: var(--pink); }
.mint, .mint * { color: var(--mint); }
.lime, .lime * { color: var(--lime); }
.sky, .sky * { color: var(--sky); }
.orange, .orange * { color: var(--orange); }

.mint .elementor-divider span { 
	border-top-color: var(--mint) !important;
}









body.haus-01 .palebg { background-color: var(--palepurple); }






.bggreen {
  background-color: var(--green);
}
.bgyellow {
  background-color: var(--yellow);
}
.bgwhite {
  background-color: #ffffff;
}







body:not(.elementor-editor-active) .invisible {
   	visibility: hidden;   
}
body:not(.elementor-editor-active) .hidden {
   	display: none;   
}
body.elementor-editor-active .elementor-widget-html {
	position: relative !important;
	left: 0 !important;
	top: 0 !important;
	transform: none !important;
	min-height: 50px;
	background-color: rgba(255,0,0,0.5);
}







.post-password-form {
    margin: 0 auto;
	margin-top: 30vh;
	width: 80%;
	max-width: 300px;
  	z-index: 2;
	position: relative;
	text-align: center;
}
.post-password-form .d-block {
	display: none !important;
}
.post-password-form label {
	color: rgba(0,0,0,0);
	font-size: 0;
	width: 100%;
}
.post-password-form p {
	display: block;
}
body.passwordshield-active {
	background: var(--white);
}
body.passwordshield-active p {
	font-size: 32px;
	font-weight: 700;
	color: var(--black);
	font-size: 0;
}

.post-password-form p:nth-of-type(1) {
	display: none;
}
body.passwordshield-active p:nth-of-type(2)::before {
	content: 'Login';
	display: block;
	font-size: 32px;
	padding-bottom: 25px;
}

.mr-2 {
  margin-right: 0 !important;
}
.post-password-form input[type='password'] {
 	height: 150px;
    width: 150px;
	background-color: #a2d6e2;
    color: var(--black);
    -webkit-user-select: text;
    font-size: 18px;
    border-radius: 100%;
    border: #50b1c9 30px solid;
}

.post-password-form input[type='submit'] {
    width: 50px;
    height: 50px;
    text-indent: -99999px;
    margin: 0 auto;
    margin-top: 18px;
    background-color: rgba(0,0,0,0);
    border: rgba(0,0,0,0) 2px solid;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    border-radius: 100%;
    filter: brightness(0);
}
.post-password-form input[type='submit']:hover {
  	cursor: pointer;
}
.post-password-form input[type='submit'] { background-image: url(https://nmk.koeln/wp-content/uploads/ArrowRight_Duexx.png); }

body.passwordshield-active #site-footer {
	display: none;
}




input.button.logout {	
    position: fixed;
    display: inline-block;
    top: 75px;
    right: 18px;
    z-index: 99999999;
    background: rgba(0,0,0,0);
    background-repeat: no-repeat;
    background-size: 36px;
    background-position: 50% 50%;
    width: 42px;
    height: 50px;	
    filter: saturate(0) brightness(2);
    color: var(--white);
    border: none;
    text-indent: -9999px;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;	
	opacity: 0.5;
	transform: scaleX(-1);
	background-image: url(https://nmk.koeln/wp-content/uploads/LogoutIcon_Duexx.png);
}
input.button.logout:hover {
  color: var(--ultramarine);
}



/* Rotation thingy --------------------------------------------------------------- */

.drehwurm {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	min-height: 40vh;
	background: rgba(0,0,0,0.7);
	display: none;
	padding: 50px 20px 100px 20px;
	text-align: center;
}
body.elementor-editor-active .drehwurm { display: block; height: auto; position: relative; bottom: unset; top: 0; left: 0; opacity: 1; width: 100%; }

.drehwurm img {
	max-width: 180px;
	margin-bottom: 10px;
}
.drehwurm p {
	font-size: 30px;
	color: white;
	text-align: center;
	margin: 0 auto;
}
@media (max-width: 480px) {
	.drehwurm p { font-size: 7vw; }
}
@media (min-aspect-ratio: 5/4) {
	.drehwurm, .drehwurm.display, .drehwurm.remove, .drehwurm.remove.display { display: none !important; }
}

@media (max-aspect-ratio: 5/4) {
	.drehwurm.display { display: block; }
	.drehwurm.remove, .drehwurm.remove.display { width: 0; height: 0; left: -9999px; opacity: 0; display: none; visibility: hidden; }
}


.drehwurm.remove, .drehwurm.remove.display { width: 0; height: 0; left: -9999px; opacity: 0; display: none; visibility: hidden; }



