/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Apr 10 2026 | 12:18:17 */
/* 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;
	--darkgrey: #626979; 
	--darkergrey: #4a5161;
	
	--palestgrey: #ebecee;
	
	--purple: #854ec3;
	--pink: #ff2d5e;
	--mint: #00ac9c;
	--lime: #b7d100;
	--sky: #cd88e3;
	--orange: #ff6c00;
	
	--white: #ffffff;
	--black: #000000;
}


/* 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: 'Poppins', 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: 700;
}

h2 {
  	font-size: 120px;
  	font-weight: 300;
}
h2 strong {
	font-weight: 700;
}
.smallh2 h2 {
	font-size: 50px;
}

h3 {
  	font-size: 50px;
  	font-weight: 400;
  	line-height: 1.5em;
}
h3 strong {
  font-weight: 800;
}

@media (max-width: 1024px) {
	h3 { font-size: 5vw; line-height: 1.2em; }
}

h4 {
	font-size: 27px;
    font-weight: 600;
    line-height: 1.3;
}
h4 strong {
  	font-weight: 700;
}

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;
}
@media (max-width: 1024px) {
	.largetext p, .largetext a { font-size: 30px; }
}
@media (max-width: 576px) {
	.largetext p, .largetext a { font-size: 30px; }
}

.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;
}

a {
  	color: var(--black);
  	text-decoration: none;
}
a:hover {
 	color: #000000; 
  	text-decoration: none;
}

::selection {
    background: var(--primary);
    color: var(--white);
    text-shadow: none;
}

::-moz-selection {
    background: var(--primary);
    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 {
	text-align: left;
	font-size: 14px;
    padding-top: 5px;
    color: var(--darkmint) !important;
	font-weight: 500 !important;
}
.captionright figcaption {
	text-align: right;
}

/* 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;
}
#site-footer {
	display: none;
}



/* 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;
	/*
	border-bottom: rgba(255,255,255,0.2) 1px solid;
	box-shadow: 0px 6px 6px rgba(0,0,0,0.15);
	*/
}
body.elementor-editor-active #site-header { position: relative; background: #999999; height: auto; }
body.passwordshield-active #site-header { display: none; }

#site-header.solid {
	background: rgba(255, 255, 255, 0.8);
    box-shadow: 0px 8px 8px rgba(0, 55, 70, 0.3);
}
#site-header .header-inner {
	max-width: 100%;
	margin-top: 0;
	padding: 0;
}
#site-header .site-branding {
	position: fixed;
	left: 8px;
	top: 8px;
	transform: scale(0);
	transition: all .3s ease-in-out;
}
#site-header.active .site-branding {
	transform: scale(1);
}
#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: 70px;
    image-rendering: auto;
}
#site-header .site-description {
	display: none;
}
#site-header .site-navigation {
	max-width: 90%;
}

@media (max-width: 1400px) {
	#site-header { height: 70px; }
	#site-header .site-branding { top: 5px; }
	#site-header .site-branding img { max-width: 55px; }
}
@media (max-width: 480px) {
	#site-header { height: 50px; }
	#site-header.solid { background: var(--white); }
	#site-header .site-branding { top: 3px; }
	#site-header .site-branding img { max-width: 40px; }
}


/* NAVIGATION ----------------------------------------------------------------------------------- */

@media (min-width: 1px) {
	#site-header .site-navigation-toggle-holder { display: block !important; }
}
@media (min-width: 1px) {
	#site-header .site-navigation { display: none !important; }
}
#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: rgba(0,55,70,0.6);
	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: 0px;
    right: 0;
    left: unset;
    width: 500px;
    max-width: 100%;
	margin-block-start: 0;
	margin-top: 0;
}

#site-header ul.menu li:nth-last-of-type(1),
#site-header ul.menu li:nth-last-of-type(2) { display: none !important; }

#site-header ul.menu {
	height: 100vh;
	max-height: 100vh;
    width: 500px;
	max-width: 100%;
    background: var(--primary);
	box-shadow: 20px 0 20px rgba(0,0,0,0.3);
}
#site-header ul.menu a {
	background: var(--primary);
	color: var(--white);
	text-align: left;
	font-size: 40px;
	font-weight: 300;
	padding: 20px 20px 20px 35px;
}
#site-header ul.menu a:hover {
	color: var(--highlight);
}
#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;
}

/* 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: 480px) {
	#site-header .site-navigation-toggle-holder { margin-top: -9px; }
	#site-header .site-navigation-toggle-holder .site-navigation-toggle { transform: scale(0.6); }
}
@media (max-height: 900px) {
	#site-header ul.menu a { font-size: 35px; padding: 2vh 2vh 2vh 25px; }
}
@media (max-height: 600px) {
	#site-header ul.menu a { font-size: 5vh; padding: 2vh 2vh 2vh 4vh; }
}




  
/* 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; }
}

.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; }
}


/* 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;
}



/* SCROLLTOP ------------------------------------------------------------------------------------------------------ */

#scrolltop {
	width: 50px;
	height: 50px;
	display: inline-block;
	position: fixed;
	bottom: 20px;
	right: 20px;	
	background-color: var(--white);
	border: var(--primary) 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(--primary);
}
#scrolltop .scrollarrow {
	width: 22px;
    height: 22px;
    position: absolute;
    left: 11px;
    top: 15px;
    display: inline-block;
    border-top: var(--primary) 3px solid;
    border-right: var(--primary) 3px solid;
	transition: all .2s ease-in-out;
    transform: rotate(-45deg);
}
#scrolltop:hover .scrollarrow {
	transform: rotate(-405deg);
    border-top: var(--white) 3px solid;
    border-right: var(--white) 3px solid;
}
@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; }







/* START / INTRO -------------------------------------------------------------------------------------------------------------------------------- */

#start {
	overflow: hidden;
}
#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;
	z-index: 1;
}
.bubbleshapehead svg * {
	fill: var(--darkergrey);
	
}

.startbox {
	height: 100vh;
	z-index: 1;
}

.introbox {
	background-color: rgba(255,255,255,0.9);
	z-index: 1;
}
.sixbuildingimages {
	width: 40%;
	column-gap: 20px;
	row-gap: 20px;
}
.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;
}



body.elementor-editor-active .startbox { height: auto; }
body.elementor-editor-active .introbox {  }






.macromapbox {
	z-index: 1;
	margin-top: -200px;
}
.macromapbox > .e-con-inner > .e-child:nth-of-type(1) { width: 65%; }
.macromapbox > .e-con-inner > .e-child:nth-of-type(2) { width: 35%; }

.macromap {
	width: 65vw;
	max-width: 2000px !important;
    display: flex;
    justify-content: flex-end;
}
.macromap img {
	border-top-right-radius: 500px;
    border-bottom-right-radius: 500px;
    max-width: 100%;
    display: flex;
    align-self: flex-end;
}


.micromapbox {
	background: var(--darkblue);
}
.micromapbox > .e-con-inner > .e-child:nth-of-type(1) { width: 35%; }
.micromapbox > .e-con-inner > .e-child:nth-of-type(2) { width: 65%; }

.micromap {
	width: 65vw;
	max-width: 2000px !important;
    display: flex;
    justify-content: flex-start;
}
.micromap img {
	border-top-left-radius: 500px;
    border-bottom-left-radius: 500px;
    max-width: 100%;
    display: flex;
    align-self: flex-start;
}

.microlegend {
	background: var(--darkblue);
}
.microlegend p {
	display: inline-block;
	margin-right: 30px;
	font-size: 18px;
}





























/* LAGE -------------------------------------------------------------------------------------- */

#lage {

}
.lageheading h2 {
	font-size: 120px;
	font-weight: 400;
}

.connections.tablebox .elementor-widget-html {
	width: 50px;
	position: absolute;
	top: -16px;
	left: 0;
}
.connections.tablebox .elementor-widget-html svg .cls-2 {
	fill: var(--primary);
}

.connections.tablebox h4 {
	background-size: 100px;
	background-repeat: no-repeat;
	background-position: 100% 50%;
	display: block;
	padding-bottom: 10px;
    margin-bottom: 21px;
	border-bottom: var(--primary) 2px solid;
	color: var(--primary);
	text-align: right;
	font-size: 22px;
	font-weight: 500;
}

.connections.tablebox p {
	border-bottom: var(--darkblue) 1px solid;
	margin-top: -12px;
	padding-bottom: 7px;
	display: flex;
	justify-content: space-between;
	border-bottom: var(--secondary) 1px solid;
}
.connections.tablebox p strong {
	font-weight: normal;
}
.connections.tablebox p em {
	font-style: normal;
}

@media (max-width: 1400px) {
	.connections.tablebox .e-con-inner { flex-wrap: wrap; }
	.connections.tablebox .e-child { flex-basis: 47%; }
}
@media (max-width: 600px) {
	.connections.tablebox .e-child { flex-basis: 100%; }
}

#locationmap {
	width: 100vw;
	height: 100vh;
}
.mapcontainer {
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: relative;
}
.mapcontainer::before,
.mapcontainer::after {
	content: '';
	display: block;
	width: 100%;
	height: 16px;
	position: absolute;
	left: 0;
	z-index: 1;
	background: linear-gradient(0deg, rgba(0,0,0,0.2), transparent);
}
.mapcontainer::before {
	top: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0.2), transparent);
}
.mapcontainer::after {
	bottom: 0;
	background: linear-gradient(0deg, rgba(0,0,0,0.2), transparent);
}

.mapcontainer #zoomicons {
	position: absolute;
	top: 50vh;
	right: 10px;
	transform: translateY(-40px);
}
.mapcontainer #zoomicons div {
	width: 40px;
    height: 40px;
    background: var(--primary);
    color: var(--white);
    cursor: pointer;
    text-align: center;
    font-weight: 400;
    font-size: 24px;
    margin-bottom: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
	position: relative;
	border-radius: 3px;
}
.mapcontainer #zoomicons div:nth-of-type(2) {
    font-weight: 500;
}
.mapcontainer #zoomicons div::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 22px;
	height: 22px;
	border: var(--white) 2px solid;
	border-radius: 100%;
}
.mapcontainer #zoomicons div:hover {
	background: var(--white);
	color: var(--primary);
}
.mapcontainer #zoomicons div:hover::before {
	border-color: var(--primary);
}

.locationmapsvg {
	width: 130vw;
	height: 130vw;
	max-width: 20000vw !important;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: all .5s ease-in-out;
}
.mapcontainer.zoomedin .locationmapsvg {
	transform: translate(-63%, -50%);
}
.locationmapsvg svg * {
	mix-blend-mode: normal;
	opacity: 1;
}
.locationmapsvg svg .outline * {
	stroke: var(--white);
	stroke-width: 4px;
}
.locationmapsvg svg #green * { fill: var(--locationmap-green); }
.locationmapsvg svg #green_labels * { fill: var(--locationmap-greenlabels); }
.locationmapsvg svg #background * { fill: var(--locationmap-background); }
.locationmapsvg svg #water * { fill: var(--locationmap-water); }
.locationmapsvg svg #water_labels * { fill: var(--locationmap-waterlabels); }
.locationmapsvg svg #ferry * { fill: var(--locationmap-waterlabels); }
.locationmapsvg svg #site * { fill: var(--primary); }
.locationmapsvg svg #local_roads * { stroke: var(--locationmap-roads); fill: none; stroke-width: 6px; stroke-dasharray: none; }
.locationmapsvg svg #minor_roads * { stroke: var(--locationmap-roads); fill: none; stroke-width: 14px; stroke-dasharray: none; }
.locationmapsvg svg #main_roads * { stroke: var(--locationmap-roads); fill: none; stroke-width: 20px; stroke-dasharray: none; }
.locationmapsvg svg #main_roads_wide * { stroke: var(--locationmap-roads); fill: none; stroke-width: 24px; stroke-dasharray: none; }
.locationmapsvg svg #motorway * { stroke: var(--locationmap-roads); fill: none; stroke-dasharray: none; }
.locationmapsvg svg #mway_centerline * { stroke: var(--locationmap-background); fill: none; stroke-dasharray: none; }
.locationmapsvg svg #motorway_bits * { stroke: var(--locationmap-roads); fill: none; stroke-dasharray: none; }

.locationmapsvg svg #cargo_lines * { stroke: var(--locationmap-rail); fill: none; stroke-width: 3px; stroke-dasharray: 8 8; opacity: 0.6; }

.locationmapsvg svg #rail_lines * { stroke: var(--locationmap-rail); fill: none; stroke-width: 3px; }
.locationmapsvg svg #rail_icons circle:nth-of-type(1) { fill: var(--locationmap-rail); stroke: none; }
.locationmapsvg svg #rail_icons circle:nth-of-type(2) { fill: transparent; stroke: transparent; stroke-width: 4px; cursor: pointer; }
.locationmapsvg svg #rail_icons circle:nth-of-type(2):hover { stroke: var(--primary); }
.locationmapsvg svg #rail_stations * { fill: var(--locationmap-rail); stroke: none; }
.locationmapsvg svg #rail_destinations * { fill: var(--locationmap-rail); stroke: none; }

.locationmapsvg svg #tram_stops * { fill: var(--locationmap-tram); stroke: none; display: none; }
.locationmapsvg svg #tram_lines * { stroke: var(--locationmap-tram); fill: none; stroke-width: 3px; }
.locationmapsvg svg #tram_icons circle:nth-of-type(1) { fill: var(--locationmap-tram); stroke: none; }
.locationmapsvg svg #tram_icons circle:nth-of-type(2) { fill: transparent; stroke: transparent; stroke-width: 4px; cursor: pointer; }
.locationmapsvg svg #tram_icons circle:nth-of-type(2):hover { stroke: var(--primary); }
.locationmapsvg svg #tram_stations * { fill: var(--locationmap-tram); stroke: none; }
.locationmapsvg svg #tram_destinations * { fill: var(--locationmap-tram); stroke: none; }

.locationmapsvg svg #bus_lines * { stroke: var(--locationmap-bus); fill: none; stroke-width: 3px; stroke-dasharray: none; }
.locationmapsvg svg #bus_icons circle:nth-of-type(1) { fill: var(--locationmap-bus); stroke: none; }
.locationmapsvg svg #bus_icons circle:nth-of-type(2) { fill: transparent; stroke: transparent; stroke-width: 4px; cursor: pointer; }
.locationmapsvg svg #bus_icons circle:nth-of-type(2):hover { stroke: var(--primary); }
.locationmapsvg svg #bus_stations * { fill: var(--locationmap-bus); stroke: none; }

.locationmapsvg svg #bus_stops * { fill: var(--locationmap-bus); stroke: none; display: none; }

.locationmapsvg svg #oworksite * { fill: transparent; stroke: none; cursor: pointer; }


/* traveltime popups */
.traveltimes {
	height: 100%;
	width: 100%;
	z-index: 20;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
}
.traveltimes.active {
	pointer-events: auto;
}
.traveltimes .elementor-widget-text-editor {
	display: none;
	position: absolute;
	background: var(--white);
	box-shadow: 6px 6px 6px rgba(0,0,0,0.3);
	min-width: 300px;
	padding-bottom: 2px;
}
.traveltimes .elementor-widget-text-editor .closebutton {
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(50%, -50%);
	width: 26px;
	height: 26px;
	border-radius: 100%;
	background: var(--primary);
	background-image: url(/wp-content/uploads/CloseIcon.svg);
	background-repeat: no-repeat;
	background-size: 12px;
	background-position: center;
	border: var(--white) 1px solid;
}
body.desktopdevice .traveltimes .elementor-widget-text-editor .closebutton { 
	display: none;
}
.traveltimes .oworksite .closebutton { background-color: var(--primary); }
.traveltimes .wattstrasse .closebutton { background-color: var(--locationmap-bus); }
.traveltimes .rolshoverstrasse .closebutton { background-color: var(--locationmap-bus); }
.traveltimes .kalkpost .closebutton { background-color: var(--locationmap-tram); }
.traveltimes .koelnhbf .closebutton,
.traveltimes .messedeutz .closebutton,
.traveltimes .trimbornstrasse .closebutton { background-color: var(--locationmap-rail); }

.traveltimes .elementor-widget-text-editor h4 {
	white-space: nowrap;
	margin: 0;
	font-size: 18px;
	padding: 11px 15px 10px 15px;
	color: var(--white) !important;
	display: flex;
	justify-content: space-between;
	line-height: 30px;
}
.traveltimes .elementor-widget-text-editor h4 em {
	font-style: normal;
    font-weight: normal;
    display: flex;
    padding-left: 40px;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 30px;
}
.traveltimes .elementor-widget-text-editor p {
	padding: 4px 15px;
	border-top: white 1px solid;
	display: flex;
	justify-content: space-between;
}
.traveltimes .elementor-widget-text-editor p em {
	background-repeat: no-repeat;
	background-position: 0 2px;
    background-size: 22px;
}
.traveltimes .elementor-widget-text-editor p,
.traveltimes .elementor-widget-text-editor p em,
.traveltimes .elementor-widget-text-editor p strong {
	white-space: nowrap;
	margin: 0;
	font-size: 18px;
	font-weight: 400;
	font-style: normal !important;
}


.traveltimes .oworksite {  }
.traveltimes .wattstrasse {  }
.traveltimes .rolshoverstrasse {  }
.traveltimes .kalkpost {  }
.traveltimes .koelnhbf {  }
.traveltimes .messedeutz  {  }
.traveltimes .trimbornstrasse {  }

.traveltimes .oworksite h4 { background: var(--primary); }
.traveltimes .wattstrasse h4 { background: var(--locationmap-bus); }
.traveltimes .rolshoverstrasse h4 { background: var(--locationmap-bus); }
.traveltimes .kalkpost h4 { background: var(--locationmap-tram); }
.traveltimes .koelnhbf h4,
.traveltimes .messedeutz h4,
.traveltimes .trimbornstrasse h4 { background: var(--locationmap-rail); }

.traveltimes .oworksite h4 em { background-image: url(wp-content/uploads/5682-owork-vidan-icons-traveltimes-ped-bike-car.png); width: 100px; background-size: 90px; background-position: 100% 0; font-size: 0; color: transparent; }
.traveltimes .wattstrasse h4 em { background-image: url(wp-content/uploads/5682-owork-vidan-icons-traveltimes-bus.png); }
.traveltimes .rolshoverstrasse h4 em { background-image: url(wp-content/uploads/5682-owork-vidan-icons-traveltimes-bus.png); }
.traveltimes .kalkpost h4 em { background-image: url(wp-content/uploads/5682-owork-vidan-icons-traveltimes-tram.png); }
.traveltimes .koelnhbf h4 em,
.traveltimes .messedeutz h4 em,
.traveltimes .trimbornstrasse h4 em { background-image: url(wp-content/uploads/5682-owork-vidan-icons-traveltimes-rail.png); }

.traveltimes .oworksite p * { color: var(--primary); }
.traveltimes .wattstrasse p * { color: var(--locationmap-bus); }
.traveltimes .rolshoverstrasse p * { color: var(--locationmap-bus); }
.traveltimes .kalkpost p * { color: var(--locationmap-tram); }
.traveltimes .koelnhbf p *,
.traveltimes .messedeutz p *,
.traveltimes .trimbornstrasse p * { color: var(--locationmap-rail); }

.traveltimes .oworksite p { border-color: var(--primary); }
.traveltimes .wattstrasse p { border-color: var(--locationmap-bus); }
.traveltimes .rolshoverstrasse p { border-color: var(--locationmap-bus); }
.traveltimes .kalkpost p { border-color: var(--locationmap-tram); }
.traveltimes .koelnhbf p,
.traveltimes .messedeutz p,
.traveltimes .trimbornstrasse p { border-color: var(--locationmap-rail); }

.traveltimes .oworksite p em { padding-left: 30px; }
.traveltimes .oworksite p.pedestrian em { background-image: url(wp-content/uploads/5682-owork-vidan-icons-traveltimes-pedestrian-red.png); background-position: -4px 3px; }
.traveltimes .oworksite p.bike em { background-image: url(wp-content/uploads/5682-owork-vidan-icons-traveltimes-bike-red.png); }
.traveltimes .oworksite p.car em { background-image: url(wp-content/uploads/5682-owork-vidan-icons-traveltimes-car-red.png); }


.distancering {
	border: var(--primary) 1px dashed;
	border-radius: 100%;
	position: absolute;
	top: 50%;
    left: 63.8%;
	transform: translate(-50%, -50%) rotate(0);
	width: 0;
	height: 0;
	opacity: 0;
	transition: all .5s ease-in-out;
	pointer-events: none;
}
.distancering .pcdisplay {
	font-weight: 500;
	font-size: 18px;
	color: var(--primary);
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
}
.mapcontainer.zoomedin .distancering {
	border: var(--primary) 1px dotted;
	opacity: 0.7 !important;
}
.mapcontainer.zoomedin .distancering .pcdisplay {
	font-size: 10px;
	left: 4px;
}


.maplabel {
	position: absolute;
    top: 49%;
    left: 69.4%;
    transform: translateY(-100%);
    width: 10vw;
	transition: all .5s ease-in-out;
}
.mapcontainer.zoomedin .maplabel {
	top: 48%;
    left: 54%;
    width: 15vw;
}

@media (max-width: 2000px) {
	.distancering .pcdisplay { font-size: 1vw; left: 0.5vw; }
}
@media (max-width: 1400px) {
	.locationmapsvg svg #background * { fill: var(--locationmap-background-dk1); }
}
@media (max-width: 1024px) {
	.locationmapsvg svg #background * { fill: var(--locationmap-background-dk2); }
	.distancering { display: none; }
}
@media (max-width: 768px) {
	/*
	.locationmapsvg svg #local_roads * { stroke-width: 6px; }
	.locationmapsvg svg #minor_roads * { stroke-width: 14px; }
	.locationmapsvg svg #main_roads * { stroke-width: 20px; }
	.locationmapsvg svg #main_roads_wide * { stroke-width: 24px; }
	.locationmapsvg svg #motorway * { stroke-width: 24px; }
	.locationmapsvg svg #motorway_bits * { stroke-width: 24px; }
	*/
}
@media (max-aspect-ratio: 1/1) {
	#locationmap { width: 100vw; height: 120vw; }
	.mapcontainer #zoomicons { top: 50vw; }
}

body.elementor-editor-active #locationmap { width: 100vw; height: 100vw; }
body.elementor-editor-active .locationmapsvg { width: 100%; height: 100%; }
body.elementor-editor-active .traveltimes { width: 100%; height: 500px; position: absolute; left: 0; top: 0; overflow: visible; }
body.elementor-editor-active .traveltimes .elementor-widget-text-editor { display: flex; position: relative; }




/* VORTEILE -------------------------------------------------------------------------------------- */

#vorteile {
	background-color: var(--midblue);
}

@media (max-width: 1300px) {
	#vorteile .maincontent { flex-direction: column; }
	#vorteile .maincontent > .e-child:nth-of-type(2) { flex-direction: row; width: 100%; }
	#vorteile .maincontent > .e-child:nth-of-type(2) > div { width: 50%; }
}
@media (max-width: 767px) {
	#vorteile .maincontent > .e-child:nth-of-type(2) { flex-direction: column-reverse; margin-top: 6vw; }
	#vorteile .maincontent > .e-child:nth-of-type(2) > div { width: 100%; }
}

@media (max-width: 576px) {
	#vorteile .swiper-pagination-bullet { width: 8px; height: 8px; margin: 0 3px; }
}




/* HIGHLIGHTS ------------------------------------------------------------------------------------ */


#highlights {
	background: var(--palestblue);
}
#highlights h2 {
	color: var(--primary);
}
#highlights h4 {
	font-size: 24px;
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: var(--primary) 2px solid;
}
#highlights .elementor-widget-html {
	width: 140px;
	height: 140px;
	position: absolute;
	left: 0;
	top: 0;
}
#highlights svg * {
	fill: var(--white);
	stroke: var(--primary);
	stroke-width: 2px;
	filter: brightness(1.1);
}
#highlights p {
	padding-top: 12px;
	padding-left: 150px;
}


@media (max-width: 1700px) {
	#highlights h4 span.shy { display: block; height: 0; margin: 0; }
}
@media (max-width: 1200px) {
	#highlights .elementor-widget-html { width: 110px; }
	#highlights p { padding-left: 120px; }
}
@media (max-width: 1024px) {
	#highlights .highlightsbox { display: flex; flex-direction: column; row-gap: 5vw !important; }
	#highlights h4 span.shy { display: none; }
	#highlights .elementor-widget-html { width: 140px; }
	#highlights p { padding-left: 150px; }
}
@media (max-width: 768px) {
	#highlights .elementor-widget-html { width: 110px; }
	#highlights p { padding-left: 120px; }
}
@media (max-width: 500px) {
	#highlights .elementor-widget-html { width: 16vw; top: 2vw; }
	#highlights p { padding-left: 18vw; }
}
@media (max-width: 440px) {
	#highlights .elementor-widget-html svg * { stroke: none; fill: var(--primary); }
}








/* FLOORSTACK ----------------------------------------------------------------------------------- */

#gebaeude {
	background: var(--white);
	min-height: 100vh;
}
#gebaeude h2 {
	color: var(--floorstack-west);
}
.panelcontainer .spacer {
	height: 0;
	width: 60%
}
.panelcontainer .buildingpanel {
	width: 40%;
	align-items: flex-start;
	z-index: 1;
	transform: translateY(-60px);
}
.buildingpanel > .e-child {
	width: 90%;
	box-shadow: -10px 10px 10px rgba(0,0,0,0.3);
	transform: translateX(-3vw);
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
	z-index: 1;
	background: #f6f6f6;
	transform: scale(0.9);
	transform-origin: 50% 50%;
	transition: all .3s ease-in-out;
	z-index: 0;
}
.buildingpanel > .e-child.active {
	opacity: 1;
	transform: scale(1);
	transition: all .5s ease-in-out;
	z-index: 5;
	left: 0;
}


.buildingpanel > .e-child > .imglogocol {

}

/* logo */
.buildingpanel > .e-child.seven > .imglogocol .cls-2,
.buildingpanel > .e-child.seven > .imglogocol > .e-child > .elementor-widget-html:nth-of-type(2) path { fill: var(--floorstack-seven); }
.buildingpanel > .e-child.core > .imglogocol .cls-2,
.buildingpanel > .e-child.core > .imglogocol > .e-child > .elementor-widget-html:nth-of-type(2) path { fill: var(--floorstack-core); }
.buildingpanel > .e-child.edge > .imglogocol .cls-2,
.buildingpanel > .e-child.edge > .imglogocol > .e-child > .elementor-widget-html:nth-of-type(2) path { fill: var(--floorstack-edge); }
.buildingpanel > .e-child.lab > .imglogocol .cls-2,
.buildingpanel > .e-child.lab > .imglogocol > .e-child > .elementor-widget-html:nth-of-type(2) path { fill: var(--floorstack-lab); }
.buildingpanel > .e-child.one > .imglogocol .cls-2,
.buildingpanel > .e-child.one > .imglogocol > .e-child > .elementor-widget-html:nth-of-type(2) path { fill: var(--floorstack-one); }
.buildingpanel > .e-child.flex > .imglogocol .cls-2,
.buildingpanel > .e-child.flex > .imglogocol > .e-child > .elementor-widget-html:nth-of-type(2) path { fill: var(--floorstack-flex); }
.buildingpanel > .e-child.med > .imglogocol .cls-2,
.buildingpanel > .e-child.med > .imglogocol > .e-child > .elementor-widget-html:nth-of-type(2) path { fill: var(--floorstack-med); }
.buildingpanel > .e-child.twin > .imglogocol .cls-2,
.buildingpanel > .e-child.twin > .imglogocol > .e-child > .elementor-widget-html:nth-of-type(2) path { fill: var(--floorstack-twin); }

.buildingpanel > .e-child > .imglogocol > .e-child {
	padding: 30px;
	width: 460px;
    height: 190px;
    margin-bottom: -30px;
	z-index: 1;
}
.buildingpanel > .e-child > .imglogocol > .e-child > .elementor-widget-html:nth-of-type(1) svg .cls-1 { fill: var(--secondary); opacity: 1; }
.buildingpanel > .e-child > .imglogocol > .e-child > .elementor-widget-html:nth-of-type(2) {
	width: 160px;
    position: absolute;
    bottom: 15px;
    right: 34px;
	overflow: visible;
}
.buildingpanel > .e-child > .e-child > .elementor-widget-html:nth-of-type(2) svg rect.cls-1 { opacity: 0; fill: transparent; }


/* panel image */
.buildingpanel .elementor-widget-image {
	height: 0;
	width: 100%;
	padding-bottom: 66%;
}
.buildingpanel .elementor-widget-image img {
	height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    object-fit: cover;
}




/* panel text */

.buildingpanel .textcol {
	background: #f6f6f6; 
}
.buildingpanel .elementor-widget-text-editor {
	padding: 30px 30px 10px 30px;
}
.buildingpanel p {
	font-weight: 300;
}
.buildingpanel ul {
	display: none;
	margin-left: 0;
	list-style: none;
	position: relative;
	top: 10px;
	padding: 0; 
	border-top: var(--midblue) 1px solid;
	width: 95%;
}
.buildingpanel ul li {
	display: flex;
	justify-content: space-between;
	padding: 5px 0 5px 0;
	border-bottom: var(--midblue) 1px solid;
}
.buildingpanel ul li em {
	font-style: normal;
	font-weight: 500;
}
.buildingpanel ul li strong {
	font-weight: 500;
	text-align: right;
}


.buildingpanel .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;
}
.buildingpanel .seven .closebutton { background: var(--floorstack-seven); }
.buildingpanel .core .closebutton { background: var(--floorstack-core); }
.buildingpanel .edge .closebutton { background: var(--floorstack-edge); }
.buildingpanel .lab .closebutton { background: var(--floorstack-lab); }
.buildingpanel .one .closebutton { background: var(--floorstack-one); color: var(--darkblue); }
.buildingpanel .flex .closebutton { background: var(--floorstack-flex); }
.buildingpanel .med .closebutton { background: var(--floorstack-med); }
.buildingpanel .twin .closebutton { background: var(--floorstack-twin); }

#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;
}



/* floorstack */
.floorstack {

}
.floorstack #background_for_svg *,
.floorstack #ground_plate * {
	stroke: none;
}
.floorstack .building {
	cursor: pointer;
}
.floorstack .building .colour {
	mix-blend-mode: hard-light;
}
.floorstack .building .colour path {
	opacity: 0;
	transition: all .2s ease-in-out;
	filter: brightness(0.8);
}
.floorstack .building .colour.active path {
	opacity: 1;
}

.floorstack .building.seven .colour path { fill: var(--floorstack-seven); }
.floorstack .building.core .colour path { fill: var(--floorstack-core); }
.floorstack .building.edge .colour path { fill: var(--floorstack-edge); filter: brightness(0.8) saturate(1.3); }
.floorstack .building.lab .colour path { fill: var(--floorstack-lab); filter: brightness(0.8) saturate(1.2); }
.floorstack .building.one .colour path { fill: var(--floorstack-one); filter: brightness(0.8) saturate(2); }
.floorstack .building.flex .colour path { fill: var(--floorstack-flex); }
.floorstack .building.med .colour path { fill: var(--floorstack-med); }
.floorstack .building.twin .colour path { fill: var(--floorstack-twin); }

.floorstack .floors * {
	opacity: 0;
	mix-blend-mode: hard-light;
	transition: opacity .3s linear;
}
.floorstack .floors *:hover {
	opacity: 1;
	transition: opacity 0s linear;
}

.floorstack .building .colour * { stroke: none; }
.floorstack .building .floorlines * { stroke: var(--floorstack-lines); stroke-dasharray: none; }
.floorstack .building .top * { fill: var(--floorstack-top); stroke: var(--floorstack-lines); stroke-width: 1px; }
.floorstack .building .west * { fill: var(--floorstack-west); stroke: var(--floorstack-lines); stroke-width: 1px; }
.floorstack .building .south * { fill: var(--floorstack-south); stroke: var(--floorstack-lines); stroke-width: 1px; }
.floorstack .building .shade * { fill: var(--floorstack-shade); stroke: none; }
.floorstack .building .name * { fill: var(--floorstack-name); stroke: none; }
.floorstack .building .floors * { fill: var(--floorstack-floors); stroke: none; }

.floorstack .shadow * { fill: var(--floorstack-shadow); stroke: none; }
.floorstack .road * { stroke: var(--floorstack-roads); stroke-width: 1px; }
.floorstack .road_names * { fill: var(--floorstack-roads); stroke: none; }

.floorstack .bus_stops g path:nth-of-type(1) { fill: var(--locationmap-bus); stroke: none; }
.floorstack .bus_stops g path:nth-of-type(2) { fill: var(--white); stroke: none; }
.floorstack .p_signs * { stroke: var(--floorstack-parking); stroke: none; }
.floorstack .parking * { stroke: var(--floorstack-parking); stroke: none; }
.floorstack .north * { fill: var(--floorstack-roads); stroke: none; }

.floorstack svg * { stroke-dasharray: none; }


#sizelabel {
	background: black;
	color: var(--white);
	padding: 5px 14px;
	position: fixed;
	z-index: 10;
	display: none;
	box-shadow: 6px 6px 6px rgba(0,0,0,0.3);
	border: var(--white) 1px solid;
}
#sizelabel em {
	font-style: normal;
	padding-right: 10px;
	border-right: var(--white) 1px solid;
	color: var(--white);
}
#sizelabel strong {
	font-weight: normal;
	padding-left: 10px;
	color: var(--white);
}
#sizelabel.one { border-color: var(--black); }
#sizelabel.one * { color: var(--black); }
#sizelabel.one em { border-color: var(--black); }

#sizelabel.active {
	display: block;
}
#sizelabel.seven { background: var(--floorstack-seven); }
#sizelabel.core { background: var(--floorstack-core); }
#sizelabel.edge { background: var(--floorstack-edge); }
#sizelabel.lab { background: var(--floorstack-lab); }
#sizelabel.one { background: var(--floorstack-one); }
#sizelabel.flex { background: var(--floorstack-flex); }
#sizelabel.med { background: var(--floorstack-med); }
#sizelabel.twin { background: var(--floorstack-twin); }


@media (max-width: 1800px) {
	.panelcontainer .buildingpanel { transform: translateY(-200px); }
	.buildingpanel > .e-child > .imglogocol > .e-child { width: 360px; height: 155px; margin-bottom: -30px; }
	.buildingpanel > .e-child > .imglogocol > .e-child > .elementor-widget-html:nth-of-type(2) { width: 120px; bottom: 14px; }
}
@media (max-width: 1200px) {	
	.buildingpanel > .e-child > .imglogocol > .e-child { padding: 20px; width: 320px; height: 132px; margin-bottom: -20px; }
	.buildingpanel > .e-child > .imglogocol > .e-child > .elementor-widget-html:nth-of-type(2) { width: 111px; bottom: 13px; right: 24px; }
	.buildingpanel .elementor-widget-text-editor { padding: 20px 20px 10px 20px; }
	.buildingpanel p { hyphens: auto; }
}
@media (max-width: 1024px) {
	.panelcontainer .spacer { display: none; }
	#popuptint { transform: none; width: 100%; z-index: 999998; }
	.panelcontainer .buildingpanel { transform: none; width: 100%; z-index: 999999; }
	.buildingpanel > .e-child { left: 100vw; transition: none; flex-direction: row; width: 100%; max-height: 90vh; overflow-x: hidden; overflow-y: auto; }
	.buildingpanel > .e-child.active { position: fixed; top: 50%; left: 50%; width: 90%; transition: none; transform: translate(-50%, -50%); }
	.buildingpanel > .e-child > .imglogocol { background: var(--white); }
	.buildingpanel > .e-child > .textcol { padding: 20px 0 40px 10px; z-index: 1; background: #f6f6f6; }
	.buildingpanel ul { display: block; }
	.floorstack svg { max-width: 200%; width: 170%; }
	.buildingpanel .closebutton { display: block; }
}
@media (max-width: 1024px) and (max-aspect-ratio: 1/1) {
	#gebaeude { min-height: 120vw; }
	.buildingpanel > .e-child { left: 100vw; transition: none; flex-direction: column; flex-wrap: nowrap; width: 450px !important; max-width: 90% !important; }
	.buildingpanel > .e-child > .imglogocol > .e-child { width: 260px; height: 114px; margin-left: 4px; margin-bottom: -10px; }
	.buildingpanel > .e-child > .imglogocol > .e-child > .elementor-widget-html:nth-of-type(2) { width: 86px; bottom: 14px; right: 24px; }
	.buildingpanel > .e-child > .textcol { padding: 0 10px 30px 10px; background: var(--white); }
	.buildingpanel ul { width: 100%; }
}






body.elementor-editor-active .panelcontainer { flex-direction: column; }
body.elementor-editor-active .panelcontainer .spacer { height: auto; }
body.elementor-editor-active .buildingpanel { position: relative; transform: none; flex-direction: column; margin-top: 0; width: 100%; }
body.elementor-editor-active .buildingpanel .elementor-widget-html { width: 300px; max-width: 300px; }
body.elementor-editor-active .buildingpanel ul { display: block; }
body.elementor-editor-active .buildingpanel > .e-child { position: relative; flex-direction: row; opacity: 1; }
body.elementor-editor-active .buildingpanel .elementor-widget-image { width: 300px; height: 200px; padding-bottom: 0; }
body.elementor-editor-active .buildingpanel .elementor-widget-text-editor { width: 1000px; padding-top: 0; padding-bottom: 0; }
body.elementor-editor-active .floorstacklogobox { width: 400px; }
body.elementor-editor-active .buildingnames { position: relative; bottom: 0; right: 0; }
body.elementor-editor-active .buildingnames .elementor-widget-html { position: relative; opacity: 1; }
body.elementor-editor-active .buildingnames svg rect.cls-1 { opacity: 1; fill: var(--palestblue); }
body.elementor-editor-active .floorstack .building .colour path { opacity: 0.5; }




/* KONTAKT ---------------------------------------------------------------------------------------- */

#kontakt {
	min-height: 500px;
	background-color: var(--vidanblue);
	background-size: 60vw;
	background-position: 50% 90%;
}
body.mobiledevice #kontakt {
	background-image: none;
}
#kontakt .ansprechpartner {
	position: absolute;
	left: 44%;
	bottom: 0;
	width: 40vw;
	max-width: 700px;
}
#kontakt .boxlink a {
	font-size: 28px;
	background: var(--white);
	padding: 10px 20px;
	border-radius: 5px;
	color: var(--primary) !important;
	border: var(--white) 2px solid;
	font-weight: 500;
	display: inline-block;
	text-align: center;
}
#kontakt .boxlink a:hover {
	background: var(--primary);
	color: var(--white) !important;
	border: var(--white) 2px solid;
}
#kontakt .spacer {
	height: 30px;
}
#kontakt .vidanlogo {
	width: 200px;
}
#kontakt .vidanlogo svg {
	overflow: visible;	
}
#kontakt .vidanlogo svg * {
	fill: var(--white);
	opacity: 1;
}

@media (max-width: 1800px) {
	#kontakt .ansprechpartner { left: 37%; width: 35vw; }
}
@media (max-width: 1600px) {
	#kontakt .ansprechpartner { left: 40%; width: 580px; }
}
@media (max-width: 1400px) {
	#kontakt .spacer { height: 4vw; }
}
@media (max-width: 1200px) {
	#kontakt { background-size: 70vw; }
	#kontakt .spacer { height: 0; }
	#kontakt .ansprechpartner { left: 50%; width: 500px; }
}
@media (max-width: 1024px) {
	#kontakt { background-size: 80vw; }
	#kontakt .spacer { }
	#kontakt .ansprechpartner { width: 48vw; }
}
@media (max-width: 900px) {
	#kontakt { background-size: 90vw; }
	#kontakt .spacer {  }
}
@media (max-width: 767px) {
	#kontakt .spacer {  }
	#kontakt h3 { font-size: 5vw; }
	#kontakt .boxlink a { font-size: 22px; }
	#kontakt .largetext * { font-size: 22px; }
	#kontakt .ansprechpartner { width: 55vw; }
}
@media (max-width: 576px) {
	#kontakt .spacer { height: 8vw; }
	#kontakt h3 { font-size: 5vw; }
	#kontakt .boxlink { max-width: 40vw; }
	#kontakt .boxlink a { font-size: 4.5vw; padding: 5px 10px; display: block; }
	#kontakt .largetext * { font-size: 22px; }
	#kontakt .ansprechpartner { width: 75vw; left: 45%; }
	#kontakt .vidanlogo { width: 160px; }
}
@media (max-width: 400px) {
	#kontakt .largetext * { font-size: 20px; }
	#kontakt .vidanlogo { width: 120px; }
	#kontakt .spacer { height: 10vw; }
}




/* TESTIMONIALS ------------------------------------------------------------------------------------------------------------------------------------------- */

#testimonials {
	background: var(--palestblue);
}

#testimonials .testimonialbanner {
	overflow: visible;
	max-width: 100%;
	margin: 0 auto;
	padding-top: 20px;
	padding-bottom: 20px;
	margin-bottom: 120px;
}
#testimonials .testimonialbanner > .e-child {
	margin-left: auto;
	transition: margin-left .4s ease-in-out;
	margin-left: 0;
	column-gap: 0 !important;
}
#testimonials .testimonialbanner > .e-child > .e-child {
	opacity: 0;
	transition: opacity .4s ease-in-out;
	justify-content: center;
}
#testimonials .testimonialbanner > .e-child > .e-child.active {
	opacity: 1;
}
#testimonials .testimonialbanner > .e-child > .e-child > .e-con-inner {
    flex-grow: 0;
    flex-shrink: 0;
    display: flex;
    height: auto;
    justify-content: center;
	background: var(--white);
    box-shadow: 10px 10px 10px rgba(0, 55, 70, 0.40);
	overflow: hidden;
}
#testimonials .testimonialbanner .textbox {
	padding: 50px 60px;
	width: 80%;
}
#testimonials .testimonialbanner .signaturebox {
	height: 160px;
	margin-top: 30px;
	z-index: 2;
}
#testimonials .testimonialbanner .imgbox {
	width: 20%;
}
#testimonials .testimonialbanner .elementor-widget-image {
	position: relative;
}
#testimonials .testimonialbanner .elementor-widget-image img {
	position: relative;
	width: 500px;
	max-width: 140%;
	transform: translateX(-20%);
}
#testimonials .testimonialbanner .elementor-widget-text-editor p strong,
#testimonials .testimonialbanner .elementor-widget-text-editor p em {
	font-size: 22px;
	color: var(--primary);
	font-style: normal;
	position: relative;
	top: 8px;
}
#testimonials .testimonialbanner .elementor-widget-text-editor p em {
	border-left: var(--primary) 1px solid;
	padding-left: 14px;
	margin-left: 10px;
}
#testimonials .testimonialbanner .elementor-widget-html {
	width: 70px;
	margin-right: 15px;
	margin-top: 5px;
}
#testimonials .testimonialbanner .elementor-widget-html svg * {
	fill: var(--primary);
}

#testimonials .bannercontrol.prev { left: -20px; }
#testimonials .bannercontrol.next { right: -20px; }

.bannercontrol {
	position: absolute;
	top: calc(50% - 20px);
	width: auto;
	margin: 0;
	padding: 0;
}
.bannercontrol a {
    height: 40px !important;
    width: 40px !important;
	border-radius: 100% !important;
    text-indent: -9999px;
	padding: 0 !important;
	position: relative;
	background: var(--midblue) !important;
	transition: all .2s ease-in-out;
}
.bannercontrol a:hover {
	background: var(--primary) !important;
}
.bannercontrol a::before {
	display: block;
	content: '';
	width: 16px;
	height: 16px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform-origin: center;
	transform: translate(-50%, -50%) rotate(-45deg); 
}
.bannercontrol.prev a::before { 
	border-left: 3px #ffffff solid;
	border-top: 3px #ffffff solid;
	margin-left: 3px; 
}
.bannercontrol.next a::before { 
	border-right: 3px #ffffff solid;
	border-bottom: 3px #ffffff solid;
	margin-left: -3px; 
}
.bannercontrol a.rotate {
	transform: rotate(360deg);
}

.bannercontrol span {
	display: none;
}

.testimonialbanner .paginationbox {
	display: flex;
	flex-direction: row;
	justify-content: center;
	position: absolute;
	bottom: 0;
	transform: translateY(30px);
	column-gap: 10px;
	width: 100%;
}
.testimonialbanner .paginationbox .dot {
	background: rgba(0,55,70,0);
	width: 16px;
	height: 16px;
	border-radius: 100%;
	border: var(--midblue) 2px solid;
}
.testimonialbanner .paginationbox .dot:hover {
	/*
	border: var(--primary) 2px solid;
	*/
}
.testimonialbanner .paginationbox .dot.active {
	background: var(--midblue);
	border: var(--midblue) 2px solid;
}

@media (max-width: 1400px) {
	#testimonials .testimonialbanner .elementor-widget-text-editor p { font-size: 20px; }
	#testimonials .testimonialbanner .elementor-widget-image img { max-width: 160%; transform: translateX(-20%); }
}
@media (max-width: 1200px) {
	#testimonials .testimonialbanner .elementor-widget-text-editor p { font-size: 18px; }
}
@media (max-width: 1024px) {
	#testimonials .testimonialbanner > .e-child > .e-child > .e-con-inner { flex-direction: column; }
	#testimonials .testimonialbanner .textbox { padding: 4vw 5vw; width: 100%; }
	#testimonials .testimonialbanner .elementor-widget-text-editor p { font-size: 16px; }
	#testimonials .testimonialbanner .signaturebox { width: 50%; flex-direction: column; align-items: flex-start; flex-wrap: nowrap; }
	#testimonials .testimonialbanner .signaturebox p strong { display: block; margin-bottom: 1vw; }
	#testimonials .testimonialbanner .signaturebox p em { margin: 0; padding: 0; border: none; font-size: 20px; }
	#testimonials .testimonialbanner .imgbox { width: 25%; margin-top: -240px; }
	#testimonials .testimonialbanner .elementor-widget-image img { max-width: 280px; transform: translateX(-12vw); }
}
@media (max-width: 768px) {
	#testimonials .testimonialbanner > .e-child > .e-child {  }
	#testimonials .testimonialbanner .elementor-widget-text-editor p { font-size: 16px; }
	#testimonials .testimonialbanner .signaturebox p em { max-width: 60%; }
	#testimonials .testimonialbanner .elementor-widget-image img { transform: translateX(-30%); }
}
@media (max-width: 576px) {
	#testimonials .testimonialbanner .imgbox { margin-top: -220px; }
	#testimonials .testimonialbanner .elementor-widget-image img { max-width: 40vw; transform: translateX(-40%); }
}
@media (max-width: 480px) {
	#testimonials .testimonialbanner .signaturebox svg { width: 30px; }
	#testimonials .testimonialbanner .signaturebox p em { font-size: 18px; }
	#testimonials .testimonialbanner .signaturebox p span.nowrap { white-space: wrap; }
	#testimonials .testimonialbanner .imgbox { margin-top: -220px; }
	#testimonials .testimonialbanner .elementor-widget-image img { max-width: 40vw; transform: translateX(-40%); }
}
@media (max-width: 400px) {
	#testimonials .testimonialbanner .signaturebox { height: 240px; margin-top: 0; }
	#testimonials .testimonialbanner .elementor-widget-image img { max-width: 60vw; transform: translateX(-50%); }
	#testimonials .testimonialbanner .imgbox { margin-top: -260px; }
}




body.elementor-editor-active #testimonials { height: auto; }
body.elementor-editor-active #testimonials .testimonialbanner { max-width: 100%; overflow: visible; }
body.elementor-editor-active #testimonials .testimonialbanner > .e-child { width: 100%; flex-direction: column !important; row-gap: 10px !important; }
body.elementor-editor-active #testimonials .testimonialbanner > .e-child > .e-child { width: 100% !important; margin: 0 !important; padding: 10px !important; opacity: 1; }
body.elementor-editor-active #testimonials .testimonialbanner .elementor-widget-image { }
body.elementor-editor-active #testimonials .testimonialbanner p { }
body.elementor-editor-active #testimonials .testimonialbanner > .e-child > .e-child > .e-con-inner > .e-child { width: 100% !important; margin: 0 !important; padding: 10px !important; opacity: 1; }
body.elementor-editor-active .bannercontrol { position: relative; right: unset; left: 0; top: 0; width: 100%; display: block !important; }


/* OUTRO ----------------------------------------------------------------------------------- */

#outro {
	height: 50vh;
}


/* 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; }





/* FOOTER ----------------------------------------------------------------------------- */

#efooter {
	padding-bottom: 160px;
	background-color: var(--vidanblue);
	display: flex;
	flex-direction: column;
}
body:not(.elementor-editor-active) #efooter div {
	display: flex;
}
#efooter .footernav {
	display: flex;
	align-items: flex-end;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-top: 20px;
	width: auto;
	border-bottom: var(--white) 1px solid;
	margin-bottom: 20px;
}
#efooter .footernav ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
#efooter .footernav ul li {
	margin-right: 35px;
	display: inline-block;
}
#efooter .footernav ul li a {
	color: var(--white);
}
#efooter .footerlogo-owork {
	width: 360px;
	display: block !important;
}
#efooter .footerlogo-owork svg * {
	fill: var(--white);
	opacity: 1;
}
#efooter .footerlogo-owork svg * {
	fill: var(--white);
	opacity: 1;
}
#efooter .footerlogo-owork svg > path {
	fill: var(--primary);
}

#efooter .vidanfooter {
	flex-direction: row;
	align-items: center;
	column-gap: 20px;
}

#efooter .copyright {
	align-self: flex-end;
}
#efooter .copyright p {
	margin: 0;
	color: var(--lightblue) !important;
}

#efooter .footerlogo-vidan {
	width: 180px;
	flex-grow: 1;
    flex-shrink: 0;
	margin: 0 20px;
}
#efooter .footerlogo-vidan::before,
#efooter .footerlogo-vidan::after {
	display: block;
	content: '';
	background: var(--lightblue);
	height: 20px;
	width: 1px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
#efooter .footerlogo-vidan::before { left: -20px; }
#efooter .footerlogo-vidan::after { right: -20px; }

#efooter .footerlogo-vidan svg {
	overflow: visible;	
}
#efooter .footerlogo-vidan svg .cls-1 {
	fill: var(--white);
	opacity: 1;
}
#efooter .socialmedialinks {
	flex-direction: row;
	width: 160px;
	column-gap: 10px;
}
#efooter .socialicon {
	width: 30px;
	height: 30px;
}
#efooter .socialicon svg * {
	fill: var(--lightblue);
}
#efooter .socialicon:hover svg * {
	fill: var(--white);
}

@media (max-width: 1600px) {
	#efooter .footernav ul li { margin-right: 25px; }
}
@media (max-width: 1400px) {
	#efooter .footernav ul li { margin-right: 20px; }
}
@media (max-width: 1200px) {
	#efooter .footernav ul li { }
}
@media (max-width: 1024px) {
	#efooter .footernav ul li { }
}
@media (max-width: 767px) {
	#efooter div { align-items: center; }
	#efooter .footerlogo-owork { width: 50vw; }
	#efooter .footernav { width: 90%; border-top: var(--white) 1px solid; border-bottom: none; justify-content: center; }
	#efooter .footernav ul li { margin: 5px 0; display: block; text-align: center; }
	#efooter .footernav ul li a { font-size: 20px; }
	#efooter .vidanfooter { flex-direction: column-reverse; align-items: center; row-gap: 10px; }
	#efooter .footerlogo-vidan { width: 200px; padding: 0; margin: 0; order: 1; }
	#efooter .footerlogo-vidan::before, #efooter .footerlogo-vidan::after { display: none; }
	#efooter .socialmedialinks { order: 2; justify-content: center; }
	#efooter .copyright { order: 3; text-align: center; align-self: center; margin-top: 10px; }
}
@media (max-width: 500px) {
	#efooter .footerlogo-owork { width: 90%; }
	#efooter .footerlogo-vidan svg { max-width: 200px; align-self: center; }
}


body.elementor-editor-active #efooter .socialicon {
	width: 50px;
	height: 50px;
}




/* 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; }
}



/* 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 ---------------------------------------------------------------------------------- */


.sectionpadding {
	padding-top: 120px;
	padding-bottom: 140px;
}
.sectionpaddingtop {
	padding-top: 120px;
}
.sectionpaddingbottom {
	padding-bottom: 140px;
}

.pagemargin {
	padding-left: 100px !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; }
}
@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; }
}


.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);
}

.short {
	max-width: 1100px !important;
}

.narrow {
  max-width: 1200px !important;
  margin: 0 auto;
}
.narrow.left {
	margin: 0;
}
.boxed {
  max-width: 1400px;
  margin: 0 auto;
}
.paddingleft {
	padding-left: 50px;
}
.paddingright {
	padding-right: 50px;
}

.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;
}

.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;
}
.primary, .primary p, .primary h1, .primary h2, .primary h3, .primary h4, .primary h5, .primary h6, .primary a, .primary ul li {
  color: var(--primary) !important;
}
.yellow, .yellow p, .yellow h1, .yellow h2, .yellow h3, .yellow h4, .yellow h5, .yellow h6, .yellow a, .yellow ul li {
  color: var(--yellow) !important;
}
.boldgreen p strong {
	color: var(--primary);
}

.blue, .blue p, .blue h1, .blue h2, .blue h3, .blue h4, .blue h5, .blue h6, .blue a, .blue ul li {
  color: var(--blue) !important;
}
.orange, .orange p, .orange h1, .orange h2, .orange h3, .orange h4, .orange h5, .orange h6, .orange a, .orange ul li {
  color: var(--mattes) !important;
}

.mint .elementor-divider span { 
	border-top-color: var(--mint) !important;
}

.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; }



