html { 
	font-size: 10px;
	padding: 0; 
	margin: 0;
	height: 100%; 
	--root-gap: 50px;
	--root-color-main: #8a2432;
	--root-color: var(--root-color-main);
	--root-bodytext-color: #555;
	--root-bodytext-font-size: 1.5rem;
	--root-bodytext-lineheight: 1.4em;
	--wpforms-label-error-color: var(--root-color-main) !important
}

#windowcontrol {
	position: fixed; left: 10px; bottom: 10px; 
	z-index: 1000000;
	color: magenta;
	font-size: 14px;
	font-family: courier, Courier, Courir, serif;
	display: none !important;
	overflow: hidden;
	width: 1px;
	height: 1px;
}

@media screen and (min-width: 1200px) {
	html { --root-gap: 100px; }
}
@media screen and (min-width: 1400px) {
	html { --root-gap: 200px; }
}
@media screen and (max-width: 900px) {
	html { 
		--root-gap: 40px; 
		--root-bodytext-font-size: 1.4rem;
		--root-bodytext-lineheight: 1.3em;
	}
}

@media screen and (max-width: 500px) {
	html {
		--root-gap: 20px; 
		--root-bodytext-font-size: 1.35rem;
		--root-bodytext-lineheight: 1.45em;
	}
		
}

.row { width: calc(100% - 2*var(--root-gap)); margin: 0 auto }

@media screen and (min-width: 1600px) {
	html { --root-gap: 200px; }
}
@media screen and (min-width: 1800px) {
	html { --root-gap: 300px; }
}


/* roboto-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: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/roboto-v30-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-300italic - 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: 'Roboto';
  font-style: italic;
  font-weight: 300;
  src: url('../fonts/roboto-v30-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* roboto-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: 'Roboto';
font-style: normal;
font-weight: 400;
src: url('../fonts/roboto-v30-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-italic - 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: 'Roboto';
font-style: italic;
font-weight: 400;
src: url('../fonts/roboto-v30-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-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: 'Roboto';
font-style: normal;
font-weight: 500;
src: url('../fonts/roboto-v30-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-500italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Roboto';
font-style: italic;
font-weight: 500;
src: url('../fonts/roboto-v30-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-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: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/roboto-v30-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-700italic - 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: 'Roboto';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/roboto-v30-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


.group:before,
.group:after {
  content: "";
  display: table;
} 
.group:after {
  clear: both;
}
.group {
  zoom: 1; /* For IE 6/7 (trigger hasLayout) */
}

* { margin: 0; padding: 0; text-decoration: none; }

a, a::after,  a::before, #site--claim, #site--logo, #site--logo svg, #header, .header-gradient, .logoclaim, 
.teaser-box-image-box-view, .default-content-column a:before, .video-box-gradient, #menucontroller a span, #menu,
.faq-item h3, .faq-controller  {
-webkit-transition: all 400ms ease-in-out;
-moz-transition: all 400ms ease-in-out;
-ms-transition: all 400ms ease-in-out;
-o-transition: all 400ms ease-in-out;
transition: all 400ms ease-in-out;
}

/* Buttons */
	.default-button { background: var(--root-color-main); color: #fff; font-weight: 500; padding: 10px 20px; display: inline-block;  -webkit-border-radius: 8px 8px 8px 8px;
		border-radius: 8px 8px 8px 8px; }
		
	.default-button:hover { 
		background: #444
	}	
		
/* Fonts */
	#page, #header  {
		font-family: 'Roboto';
		font-style: normal;
		font-weight: 400;
	}


/* Forms */
	.wpforms-field-label-inline a { color: #555; text-decoration: underline }
	.wpforms-submit { background: var(--root-color-main) !important; border: 0 }

	.wp-block-columns p 
	{
		font-size: var(--root-bodytext-font-size); color: var(--root-bodytext-color); line-height: var(--root-bodytext-lineheight); 
	}
	.wp-block-columns h3 
	{
		font-size: calc(var(--root-bodytext-font-size) * 1.4); color: var(--root-bodytext-color); line-height: var(--root-bodytext-lineheight); 
		margin: 0 0 10px 0
	}
	
	.wp-block-column p a { color: var(--root-color-main); }
	.wp-block-column p a:hover { text-decoration: underline }
	.google-maps-link a { color: #fff !important }

/* BLOG */
	.blog-intro { font-size: 1.5rem; color: #555; line-height: 1.4em; margin: 0 0 10px 0; }
	.post-list-container { padding: 50px 0}
	.blog-list-item p,  .arctile-detail-view p {
		font-size: var(--root-bodytext-font-size); color: var(--root-bodytext-color); line-height: var(--root-bodytext-lineheight); margin: 0 0 10px 0; 
	}
	.blog-list-item, .arctile-detail-view {
		background: #fff;  -webkit-border-radius: 8px 8px 8px 8px;
		border-radius: 8px 8px 8px 8px; -webkit-box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);
		box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);
		padding: 40px;
		margin: 0 0 30px 0
	}
	
	.arctile-detail-view { margin: 0 }
	
	.post-list-container .blog-list-item:last-child { margin: 0 }
	.blog-paged-navigation { font-size: 1.5rem; color: #555; line-height: 1.4em; margin: 0 0 10px 0;  }
	.page-numbers { display: inline-block; width: 26px; height: 26px; text-align: center; line-height: 26px; color: #777 }
	.page-numbers:hover { color: #222 }
	.page-numbers.current { background: var(--root-color-main); color: #fff }
	
	.post-list-container h2 {
		font-size: 2rem;
		font-weight: 400;
		margin: 10px 0 20px 0
	}
	
	.blog-list-meta { font-size: 1.5rem; color: #555; line-height: 1.4em; }
	.post-list-container h2 a {
		color: #555
	}
	
	
	@media screen and (max-width: 600px) {
		.blog-list-item, .arctile-detail-view {
			padding: 20px
		}
		
	}
	
	
	
/* Section: Header */
	#header { position: fixed; top: 0; left: 0; width: 100%; height: 200px; background: rgba(255,255,255,0); z-index: 20000; pointer-events: none}
	#site--logo { height: calc(100% - 50px); position: absolute; left: var(--root-gap); top: 25px  }
	#site--logo svg { height: calc(100% - 30px); }
	#site--claim { position: absolute; left: 0; width: auto; height: auto; left: 0; bottom: 0; color: #fff; font-size: 1.4rem; display: block; white-space: nowrap }
	
	#site--logo a { width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 100; text-indent: -9999px; overflow: hidden; display: block; pointer-events: all }
	
	#menu { position: absolute; right: var(--root-gap); z-index: 200; bottom: 20px; pointer-events: all }
	#menu li { display: inline-block; font-size: 0px; margin: 0 0 0 30px }
	#menu a { color: #fff; opacity: .5; font-size: 2rem }
	#menu li.current_page_item a,
	#menu li.current-page-ancestor a,
	#menu li.current_page_parent a { opacity: 1 }
	#menu li a:hover { opacity: 1 }
	
	#menucontroller { opacity: 0; pointer-events: none }
	
	@media screen and (max-width: 1500px) {
		#menu a { font-size: 1.7rem }
	}
	
	@media screen and (max-width: 1300px) {
		
		#menucontroller { position: fixed; top: 40px; right: 40px; width: 30px; height: 30px; z-index: 100000; opacity: 0; }
		#menucontroller a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: all; cursor: pointer; z-index: 900}
		#menucontroller { pointer-events: all; opacity: 1 }
		
		#menucontroller a span { width: 30px; height: 2px; position: absolute; background: var(--root-color); left: 0; top: 10px; pointer-events: none; }
		#menucontroller a span:nth-child(2) { top: 16px }
		#menucontroller a span:nth-child(3) { top: 22px }
		
		.menu-active #menucontroller a span:nth-child(2) { width: 0 }
		
		.menu-active #menucontroller a span:nth-child(1) {
		-moz-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 18px
		}
		.menu-active #menucontroller a span:nth-child(3) {
		-moz-transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
		top: 18px
		}
		
		#menucontroller .menucontrollayer { position: absolute; width: 50px; height: 50px; background: #eaf0f3; top: 50%; left: 50%; margin: -22px 0 0 -25px; z-index: 1; -webkit-border-radius: 50px 50px 50px 50px;
			border-radius: 50px 50px 50px 50px; opacity: .9}
			
			
		#menu {
			position: fixed;
			width: 100%; 
			height: 100%;
			background: rgba(138, 36, 50, 0.954);
			margin: 0;
			padding: 0;
			right: 0;
			bottom: 0;
			left: 0;
			top: 0;
			opacity: 0;
			pointer-events: none;
		}
		#menu * { pointer-events: none }
		
		.menu-active #menu *,
		.menu-active #menu { pointer-events: all; }
		
		.menu-active #menu { opacity: 1 }
		
		.menu-class { 
			padding: 70px
		}
		
		#menu li { display: block }
		#menu li { margin: 0; padding: 0 0 20px 0 }
		
		
	}
	@media screen and (max-width: 1000px) {
		.menu-class { 
			padding: 40px
		}
	}
	
	
	
	.header-gradient-box { position: fixed; top: 0; left: 0; width: 100%; height: 30vh; z-index: 10000; pointer-events: none }
	.header-gradient { position: absolute; top: 0; width: 100%; height: 100%; left: 0;  background: rgb(0,0,0);
		background: -moz-linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.9) 100%);
		background: -webkit-linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.9) 100%);
		background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.9) 100%); top: -100%;
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#000000",GradientType=1); pointer-events: none  }

	.isFixed #header { height: 150px; }
	.isFixed  #site--logo svg { height: 100%  }
	.isFixed #site--claim { opacity: 0 }
	.isFixed .header-gradient  { top: 0 }
	
	.isFixed .logoclaim { fill: #fff !important }
	
	
	@media screen and (max-width: 900px) {
		#header { height: 150px }
		.isFixed #header { height: 100px }
		
	}
	
	@media screen and (max-width: 900px) {
		#header { height: 150px }
		.isFixed #header { height: 100px }
		
		#site--claim { font-size: 1.1rem; }
		
	}
	
	
	
	
/* Section: Teamitem */
	.teamitem-container { background: #fff;  -webkit-border-radius: 8px 8px 8px 8px;
		border-radius: 8px 8px 8px 8px; -webkit-box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);
		box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2); position: relative }
	
	.teamitem-container h2 { font-size: 3rem; color: var(--root-color-main); line-height: 1.4em; margin: 0 0 2px 0; }
	.teamitem-container h3 { font-size: 2rem; color: var(--root-color-main); line-height: 1.4em; margin: 0 0 20px 0; font-weight: 400; color: #555;  }
	.teamitem-container p { font-size: 1.5rem; color: #555; line-height: 1.4em; margin: 0 0 10px 0; }
	
	.teamitem-text-inner { padding: 50px }
	.teamitem-text { width: calc(100% - 300px); float: left }
	
	.teamitem-image { position: relative; right: 0; top: 0; width: 300px; float: left;  -webkit-border-radius: 0 8px 8px 0;
		border-radius: 0 8px 8px 0; overflow: hidden; }
	.teamitem-image-box { padding: 100% 0 0 0; }
	.teamitem-image-box-view { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
	.teamitem-image-box-view img { width: 100%; height: 100%; object-fit: cover; object-position: center center }
	


/* Section: Zitat Client */
	.client-text-box { background: #fff;  -webkit-border-radius: 8px 8px 8px 8px;
	border-radius: 8px 8px 8px 8px; -webkit-box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);
	box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2); position: relative; margin: 0 0 30px 0 }
	
	.clientzitatcontainer .row .client-text-box:last-child { margin: 0 }
	
	.client-text-box-inner { padding: 50px;  }	
	
	.client-text-box blockquote { font-size: 3rem; 
		font-family: 'Roboto';
		font-style: italic; 
		font-weight: 300; 
	}
	.client-text-box footer { 
		text-align: right;
		padding: 20px 0 0 0;
		font-size: 1.5rem; 
	}
		
/* Section: Stage */
	.stage { height: calc(100vh - 200px); overflow: hidden; position: relative; width: 100%;   }
	.stage-image-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } 
	.stage-image-container img { object-fit: cover; height: 100%; width: 100%; object-position: top center }
	.stage-image-gradient { position: absolute; height: 100%; width: 100%; z-index: 100;  background: rgb(0,0,0); opacity: .5;
		background: -moz-linear-gradient(0deg, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.7) 100%);
		background: -webkit-linear-gradient(0deg, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.7) 100%);
		background: linear-gradient(0deg, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.7) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#000000",GradientType=1); }
	
	.hide--image { display: none; }
	.stage-video { width: 100%; height: 100%; overflow: hidden; background: #f90; top: 0; position: absolute; left: 0; }
	.stage-video video { object-fit: cover; width: 100%; height: 100%; }
	.stage-text { position: absolute; left: var(--root-gap); z-index: 100; color: #fff; bottom: 100px; width: calc(100% - 2*var(--root-gap) - 500px);  }
	.stage-text h1 { font-size: 5rem; font-weight: 400; line-height: 1.2em }
	
	.stage.stage-pages-default { height: 50vh; }
	.stage-pages-default .stage-text h1 { font-size: 3rem }
	.stage-pages-default .stage-text { bottom: 40px }
	
	@media screen and (max-height: 1000px) {
		.stage,
		.stage.stage-pages-default {
			height: 700px
		}
	}
	@media screen and (max-height: 1000px) and (max-width: 1000px) {
		.stage,
		.stage.stage-pages-default {
			height: 400px
		}
	}
	
	
	@media screen and (max-height: 1000px) and (max-width: 800px) {
		.stage,
		.stage.stage-pages-default {
			height: 300px
		}
	}
	
	
	
	.stage-pages-default .stage-image-container img { object-position: center center }
	
	@media screen and (max-width: 1200px) {
		.stage { height: calc(50vh); }
		.stage-text h1 { font-size: 3rem }
		.stage-text { width: calc((100% - 2*var(--root-gap)) - 300px)}
	}
	
	@media screen and (max-width: 800px) {
		.stage { height: calc(40vh); }
		.stage-text h1 { font-size: 2rem }
		.stage-text { width: calc((100% - 2*var(--root-gap)) - 200px)}
		
		.stage.stage-pages-default, .stage {
			height: 400px
		}
		.stage-pages-default .stage-text h1 {
			font-size: 2rem
		}
	}
	
	@media screen and (max-width: 500px) {
		.stage.stage-pages-default, .stage {
			height: 300px
		}
		.stage-pages-default .stage-text h1 {
			font-size: 1.5rem
		}
		.stage-pages-default .stage-text { bottom: 30px }
	}
	
	
	
/* Section: Intro after Stage */
	.intro-after-stage { position: relative; z-index: 1000 }
	.intro-logo-circles { width: 500px; position: absolute; right: var(--root-gap); top: -200px }
	
	.intro-container { background: rgba(255,255,255,.95); margin: -50px 0 0 var(--root-gap); width: calc(100% - 2*var(--root-gap) - 300px);  -webkit-border-radius: 8px 8px 8px 8px;
		border-radius: 8px 8px 8px 8px; -webkit-box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);
		box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);  }
	.intro-container-inner { padding: 50px }

	
	.intro-container h2 { font-size: 3rem; font-weight: normal; color: var(--root-color-main); line-height: 1.1em; margin: 0 0 20px 0 }
	.intro-container p, .intro-container ul { font-size: 1.5rem; color: #555; line-height: 1.4em; margin: 0 0 10px 0; }
	
	.intro-container ul { list-style-type: none; margin: 0 0 30px 0 }
		.intro-container ul li { margin: 0 0 10px 0 }
			
	.intro-container a { color: #444; position: relative; display: inline-block }
		.intro-container a:after { content: ''; position: absolute; right: 0; bottom: -2px; width: 100%; height: 1px; background: #ddd; }
		.intro-container a:before { content: ''; position: absolute; left: 0; bottom: -2px; width: 100%; height: 1px; background: var(--root-color-main); z-index: 100; width: 0 }
		.intro-container a:hover { color: var(--root-color-main)}
	.intro-container a:hover::after { width: 0 }
	.intro-container a:hover::before { width: 100% }
	
	.intro-buttons-container .default-button { color: #fff; font-size: 1.5rem; }
	.intro-buttons-container .default-button:after,
	.intro-buttons-container .default-button:before { display: none }
	.single-button-row { display: block; padding: 0 0 10px 0 }
	.intro-buttons-container .default-button:hover { color: #fff; padding: 10px 30px 10px 30px}
	
	@media screen and (max-width: 1200px) {
		.intro-logo-circles { width: 300px; top: -120px }
		.intro-container { width: calc((100% - 2*var(--root-gap)) - 142px); }
	}
	@media screen and (max-width: 800px) {
		.intro-logo-circles { width: 200px; top: -80px; right: 20px; }
		.intro-container { width: calc((100% - 2*var(--root-gap)) - 74px); }
		.intro-container h2 { font-size: 2rem }
		.intro-container-inner { padding: 30px }
		
		.intro-container p, .intro-container ul { font-size: 1.35rem; line-height: 1.4em;  }
		
	}
	
	@media screen and (max-width: 500px) {
		.intro-logo-circles { width: 100px; top: -40px; right: 19px; }
		
		.intro-container h2 { font-size: 1.6rem; font-family: 'Roboto';
			  font-style: normal;
			  font-weight: 700; }
		.intro-container { width: calc((100% - 2*var(--root-gap)) - 46px); }
		.stage-text { bottom: 70px; width: calc(100% - 2*var(--root-gap)) ; }
		.intro-container { margin: -30px var(--root-gap) 0 var(--root-gap)}
	}
	
/* SECTION VIDEO BOX */
	.videolayer-link { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; text-indent: -99998px; overflow: hidden }
	.video-box-container { position: relative; }
	.video-box-container:hover .video-box-gradient { opacity: .3 }
	.video-box-group { background: #fff; padding: 40px;  -webkit-box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);
		box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);  -webkit-border-radius: 8px 8px 8px 8px;
		border-radius: 8px 8px 8px 8px;  }
	
	.video-box-group img { width: 100%; height: auto; vertical-align: middle }
	.video-box-caption { padding: 10px 0 0 0; font-size: var(--root-bodytext-font-size); color: var(--root-bodytext-color); line-height: var(--root-bodytext-lineheight); }
	.video-box-gradient { position: absolute; top: 0; left: 0; pointer-events: none; width: 100%; height: 100%; z-index: 100; background: rgba(0,0,0,0.6); backdrop-filter: blur(1px) }
	.video-box-gradienticon {
		content: ''; 
		position: absolute; top: 50%; left: 50%; width: 160px; height: 160px; margin: -80px 0 0 -80px; 
		background: url("../img/play-extern-link.svg");
		background-repeat: no-repeat;
		background-position: center center;
		z-index: 1000;
		pointer-events: none
	}
	@media screen and (max-width: 1200px) {
		.video-box-gradienticon { width: 100px; height: 100px; margin: -50px 0 0 -50px }
	}
	
/* Section: Spacer */
	.spacer-50 { height: 50px; }
	.spacer-75 { height: 75px; }
	.spacer-80 { height: 80px; }
	.spacer-100 { height: 100px; }
	.spacer-125 { height: 125px; }
	.spacer-150 { height: 150px; }
	
	
	@media screen and (max-width: 700px) {
		.spacer-50 { height: calc(50px / 2); }
		.spacer-75 { height: calc(75px / 2); }
		.spacer-80 { height: calc(80px / 2); }
		.spacer-100 { height: calc(100px / 2); }
		.spacer-125 { height: calc(125px / 2); }
		.spacer-150 { height: calc(150px / 2); }
	}
	
	

/* BEWERTUNGEN */
	.bewertung-container { background: #fff;  -webkit-box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);
		box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);  -webkit-border-radius: 8px 8px 8px 8px;
		border-radius: 8px 8px 8px 8px; padding:  0; margin: 0 0 30px 0 }
		
	.bewertung-container-inner { 
		padding: 40px 50px
	}
	
	#bewertungen .wp-block-group__inner-container .section-column-bewertungen:first-child { margin: 30px 0 }
	
	.bewertung-autor { font-size: 1.5rem;
		  color: #555;
		  line-height: 1.4em;
		  margin: 0 0 0 0;
		  text-align: right
	  }
	
	.bewertung-container p {
		font-size: 2.4rem;
		color: #777;
		font-family: 'Roboto';
		  font-weight: 300;
		font-style: italic;
		line-height: 1.4em;
		margin: 0 0 15px 0;
 	}
	 
	@media screen and (max-width: 800px) {
		.bewertung-container p {
			font-size: 2rem;
			line-height: 1.3em
		}
		.bewertung-autor {
		  font-size: 1.5rem;
		  color: #555;
	  	}
		.bewertung-container-inner { padding: 30px 40px }
 	}
	 
	 @media screen and (max-width: 600px) {
		 .bewertung-container p {
			 font-size: 1.6rem;
			 line-height: 1.4em
		 }
		 .bewertung-container-inner { padding: 20px 30px }
	  }
	 @media screen and (max-width: 500px) {
		  .bewertung-container p {
			  font-size: 1.4rem;
			  line-height: 1.45em
		  }
		  .bewertung-autor {
		    font-size: 1.4rem;
		    color: #777;
		    }
	   }
	   
	   
	 
/* TEAM ITEM */
	.team-item { background: #fff; -webkit-box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);
		box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);  -webkit-border-radius: 8px 8px 8px 8px;
		border-radius: 8px 8px 8px 8px; margin: 0 0 50px 0 }
	.section-column-team-container { --column-gap: 70px }
	.team-item-inner { padding: 40px 40px }
	.team-foto { float: right; width: 40%; }
		.team-foto img { width: 100%; height: auto; vertical-align: middle }
	.team-text { float: right; width: calc(60% - var(--column-gap)); margin: 0 var(--column-gap) 0 0 }
	
	.section-column-team-container .row .group .team-item:nth-child(2n) .team-foto {
		float: left; 
	}
	.section-column-team-container .row .group .team-item:nth-child(2n) .team-text {
		float: left; 
		margin: 0 0 0 var(--column-gap)
	}
	.section-column-team-container .row .group .team-item:last-child { margin: 0 }
	.team-item-header { padding: 0 0 20px 0 }
	.team-text h2 { font-size: 3rem; color: var(--root-color-main); margin: 0 0 10px 0 }
	.team-text h3 { font-size: 1.6rem }
	.team-text p {
		font-size: var(--root-bodytext-font-size); color: var(--root-bodytext-color); line-height: var(--root-bodytext-lineheight);
		margin: 0 0 10px 0;
	}
	.team-item-text { padding: 0 0 0 0}
	
	@media screen and (max-width: 900px) {
		.team-foto, .section-column-team-container .row .group .team-item:nth-child(2n) .team-foto { float: none; width: 100%; margin: 0 0 30px 0 }
		.team-text, .section-column-team-container .row .group .team-item:nth-child(2n) .team-text { float: none; width: 100% }
		.section-column-team-container .row .group .team-item:nth-child(2n) .team-text { margin: 0 }
		.team-item-inner { padding: 24px }
		.team-text h2 { font-size: 2rem }
	}
	
	
/* Section: Portrait Box */
	.portrait-zitat-container { position: relative; padding: 50px 0 0 0 }
	.portrait-text-box { position: relative; background: #fff; width: calc(100% - 300px); -webkit-box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);
		box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);  -webkit-border-radius: 8px 8px 8px 8px;
		border-radius: 8px 8px 8px 8px;  }
	.portrait-text-box-inner { padding: 100px 200px 100px var(--root-gap) }

	.portrait-zitat-container p { font-size: 1.5rem; color: #555; line-height: 1.4em; margin: 0 0 10px 0; }
	.portrait-image-box { width: 350px; position: absolute; top: 0; right: var(--root-gap); }
	.portrait-image-box-crop { padding: 100% 0 0 0; }
	.portrait-image-box-view { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden;  -webkit-border-radius: 8px 8px 8px 8px;
		border-radius: 8px 8px 8px 8px;  }
	.portrait-image-box-view img { object-fit: cover; object-position: center center; width: 100%; height: 100% }
	
	.portrait-text-author { padding: 40px 0 0 0; position: relative }
	.portrait-text-author:before { content: ''; width: 100px; height: 2px; background: #ccc; position: absolute; top: 19px; left: 0 }
	
	.portrait-text-author p { color: var(--root-color-main); font-style: italic}
		
	.portrait-quotationmark { position: absolute; top: 50px; left: calc( var(--root-gap) / 2); width: 200px; z-index: 100; opacity: .1; pointer-events: none  }
	
		
	@media screen and (min-width: 1200px) {
		.portrait-image-box { width: 400px; }
		.portrait-text-box-inner { padding: 100px 350px 100px var(--root-gap) }
	}
	
	@media screen and (min-width: 1600px) {
		.portrait-text-box-inner { padding: 100px 550px 100px var(--root-gap) }
	}
	
	@media screen and (max-width: 800px) {
		.portrait-zitat-container { padding: 40px 0 0 0 }
		.portrait-image-box { width: 200px }
		.portrait-text-box { width: calc(100% - 140px); }
		.portrait-text-box-inner {  padding: 100px 150px 100px var(--root-gap); }
		.portrait-quotationmark { width: 100px; top: auto; left: auto; right: 40px; bottom: 40px }
		
	}
	
	@media screen and (max-width: 600px) {
		.portrait-zitat-container { padding: 50px 0 0 0 }
		.portrait-image-box { width: 150px;  }
		
		.portrait-text-box { width: calc(100% - var(--root-gap));  } 
		  .portrait-text-box-inner { padding: 300px 30px 100px var(--root-gap) }
		  .portrait-image-box { right: auto; top: 0; width: 300px; height: 300px; left: var(--root-gap)}
	}
	
	@media screen and (max-width: 450px) {
		.portrait-text-box-inner { padding: 170px 30px 70px var(--root-gap) }
		  .portrait-image-box { right: auto; top: 0; width: 200px; height: 200px; }
	}
		
/* Section: Flex Teaser Container */

	.flex-container {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	
	.panel-flex-item {
		display: -webkit-flex; 
		display: -ms-flexbox; 
		display: flex;
		float: left;
		margin: 10px;
		background: #fff;
		-webkit-border-radius: 8px 8px 8px 8px;
		border-radius: 8px 8px 8px 8px; 
		-webkit-box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);
		box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);
	}
	
	.google-maps-link { padding: 20px 0 40px 0 }
	.google-maps-link a { padding: 20px 30px; background: var(--root-color-main); color: #fff; display: inline-block; -webkit-border-radius: 8px 8px 8px 8px;
		border-radius: 8px 8px 8px 8px; }
	.google-maps-link a:hover { background: #333}
	
	.panel-flex-item a { color: #444; }
	.panel-flex-item a.default-button { color: #fff}
	
	.portrait-teaser-container-count-4 .panel-flex-item { width: calc((100% / 4) - 30px); margin: 0 40px 0 0; border: 0; }	
	.flex-panel-inner { padding: 40px; text-align: center; width: 100%; font-size: 1  }
	.flex-panel-image img { max-height: 100px; width: auto; margin: 0 0 20px 0 }
	.flex-container p { font-size: var(--root-bodytext-font-size); color: var(--root-bodytext-color); line-height: var(--root-bodytext-lineheight); margin: 0 0 10px 0; }
	.panel-flex-item h2 { color: var(--root-color-main); font-size: 2rem; margin: 0 0 10px 0 }
	.panel-flex-item h4 { color: var(--root-color-main); font-size: 2rem; margin: 0 0 10px 0 }
	
	.panel-flex-item-red { background: var(--root-color-main); color: #fff }
		.panel-flex-item-red h2 { color: #fff; }
		
	
	.content-subbox { padding: 20px 30px; webkit-box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);
		box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2); width: calc(100% - 50px);  }
		
		.content-subbox p { margin: 0 0 10px 0 }
		
	@media screen and (min-width: 1001px) {
		.portrait-teaser-container-count-4 .panel-flex-item:nth-child(4n) {margin: 0 0 0 0; border: 0; }
	}

	@media screen and (max-width: 1000px) {
		.portrait-teaser-container-count-4 .panel-flex-item { width: calc((100% / 2) - 20px); margin: 0 40px 40px 0; }
		.portrait-teaser-container-count-4 .flex-container .panel-flex-item:nth-child(2n) { margin: 0 0 40px 0; border: 0; }
	}
	
	@media screen and (max-width: 800px) {
		.portrait-teaser-container-count-4 .panel-flex-item { width: 100%; margin: 0 0 20px 0; }
		.portrait-teaser-container-count-4 .flex-container .panel-flex-item:nth-child(2n) { margin: 0 0 20px 0; border: 0; }
	}
	
	@media screen and (max-width: 600px) {
		.flex-panel-image img { max-height: 60px; margin: 0 0 10px 0 }
	}
	
/* Section: Image CTA */
	.section-cta-image-text { padding: 0; position: relative } 
	.section-cta-image-imagecontainer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
	.section-cta-image-text-box { z-index: 3000; padding: 90px 0; position: relative; color: #fff; }
	
	.section-cta-image-imagecontainer-layer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,.6); z-index: 2000 }
	.section-cta-image-imagecontainer-imgview { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1000;  }
	.section-cta-image-imagecontainer-imgview img { width: 100%; height: 100%; object-fit: cover }
	
	.section-cta-image-text-box blockquote { font-size: 4rem; font-weight: 400; line-height: 1.3em }	
	.section-cta-image-text-box blockquote span { background: var(--root-color-main); font-weight: 500 }
	
	
	@media screen and (max-width: 800px) {
		.section-cta-image-text-box blockquote { font-size: 3rem; }
	}
	
	@media screen and (max-width: 600px) {
		.section-cta-image-text-box blockquote { font-size: 2rem; }
	}
	
/* BOX LIST */
	.box-listing-item {
		-webkit-border-radius: 8px 8px 8px 8px;
		border-radius: 8px 8px 8px 8px; -webkit-box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);
		box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2); 
		margin: 0 0 40px 0;
		position: relative
	}
	.box-listing-item-inner { padding: 50px 350px 50px 50px }
	.section-column-boxlisting .group .box-listing-item:last-child { margin: 0 }
	.box-listing-item-image { position: absolute; top: 0; right: 0; width: 300px; height: 100%; background: #eee; overflow: hidden }
	.box-listing-item h2 { font-size: 2rem; color: #333; margin: 0 0 10px 0 }
	.box-listing-item ul { 
		font-size: var(--root-bodytext-font-size); color: var(--root-bodytext-color); line-height: var(--root-bodytext-lineheight);
		margin: 0 0 10px 0;
		list-style-type: none
		}
		
		.box-listing-item ul li { padding: 0 0 10px 20px; position: relative }
		.box-listing-item ul li:before { position: absolute; top: 5px; left: 0; width: 10px; height: 10px; background: var(--root-color-main); content: '' }
		
	.box-listing-item-image img { object-fit: cover; width: 100%; height: 100%; object-position: center center; vertical-align: middle }
	
	@media screen and (max-width: 800px) {
		.box-listing-item-image { position: relative; top: auto; right: auto; width: 100%; height: auto }
		.box-listing-item-inner { padding: 30px }
	}

/* Section Column Count */

	.section-column-group-teaser .teaser-column { float: left }
	.teaser-box-image-box { padding: 100% 0 0 0; position: relative }
	.teaser-box-image { width: 100%;}
	
	.current--teasercol { opacity: .2; pointer-events: none;  }
	
	.teaser-box-image-box-view { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden }
	.teaser-box-image-box-view img { object-fit: cover; width: 100%; height: 100%; object-position: center center; }
	.teaser-box-image-box { overflow: hidden }
	.teaser-column:hover .teaser-box-image-box-view {
		-moz-transform: scale(1.2);
		-webkit-transform: scale(1.2);
		-o-transform: scale(1.2);
		-ms-transform: scale(1.2);
		transform: scale(1.2);
	}
	
	.teaser-column:hover .teaser-box-text h2 a { color: var(--root-color-main) }
	
	@media screen and (min-width: 1000px) {
		.column-count-4-left { float: left; width: 50%; }
		.column-count-4-right { float: left; width: 50%; }
		.column-count-4 .teaser-column { width: calc(50% - 42px); }
		.column-count-4-left .teaser-column:first-child { margin: 0 56px 0 0 }
		.column-count-4-right .teaser-column:first-child { margin: 0 56px 0 28px }
	}
	
	@media screen and (min-width: 500px) and (max-width: 999px) {
		.column-count-4-left, .column-count-4-right {
			width: 100%;
		}
		.column-count-4 .teaser-column { width: calc(50% - 20px); }
		.column-count-4-left .teaser-column:first-child { margin: 0 40px 40px 0 }
		.column-count-4-left .teaser-column:last-child { margin: 0 0 40px 0 }
		
		.column-count-4-right .teaser-column:first-child { margin: 0 40px 40px 0 }
		.column-count-4-right .teaser-column:last-child { margin: 0 0 40px 0 }
	}
	
	@media screen and (min-width: 500px) {
		.teaser-box-text { padding: 20px 0px; }
	}
	
	@media screen and (max-width: 499px) {
		.column-count-4-left, .column-count-4-right { padding: 0 50px }
		.teaser-column { margin: 0 0 40px 0; width: 100%; }
		.teaser-box-text { padding: 20px 0 0 0 }
	}
	
	@media screen and (max-width: 399px) {
		.column-count-4-left, .column-count-4-right { padding: 0 }
	}
	
	.teaser-box-text { }
	.teaser-box-text h2 { font-size: 2rem; margin: 0 0 15px 0; line-height: 1.2em  }
	.teaser-box-text p { 
		margin: 0 0 10px 0;
		font-size: var(--root-bodytext-font-size); color: var(--root-bodytext-color); line-height: var(--root-bodytext-lineheight);
	 }
	
	.teaser-column h2 a { color: #677}
	.teaser-column h2 a:hover { color: var(--root-color-main); }
	
	
/* TOPICs Overview */
	.topics-overview .row ul {}
	
	
/* Section Boxed Content */
	.section-boxedcontent-style-default, .section-boxedcontent-style-boxedright-redheadline { padding: 0 }
	.section-boxedcontent-headline h2, .section-boxedcontent-style-default .section-boxed-left h2  { font-size: 3rem; font-weight: 500 }
	.section-boxedcontent-style-default .section-boxed-left h2 { margin: 0 0 20px 0	}
	.section-boxedcontent-headline { padding: 0 0 30px 0 }
	
	.section-boxedcontent h3 { font-size: 1.7rem; line-height: 1.4em; margin: 10px 0 2px 0; }
	.section-boxedcontent p { font-size: var(--root-bodytext-font-size); color: var(--root-bodytext-color); line-height: var(--root-bodytext-lineheight); margin: 0 0 10px 0; }
	.section-boxedcontent ul { font-size: var(--root-bodytext-font-size); color: var(--root-bodytext-color); line-height: var(--root-bodytext-lineheight); margin: 0 0 10px 20px; }
		.section-boxedcontent ul li { margin: 0 0 10px 0; }
	.section-boxedcontent ol { font-size: var(--root-bodytext-font-size); color: var(--root-bodytext-color); line-height: var(--root-bodytext-lineheight); margin: 0 0 10px 20px; }
	.section-boxedcontent ol li { margin: 0 0 10px 0; }
	
	.section-boxedcontent-style-red { background: var(--root-color-main); padding: 50px 0; color: #fff;  background: rgb(138,36,50);
		background: -moz-linear-gradient(113deg, rgba(138,36,50,1) 0%, rgba(99,16,28,1) 100%);
		background: -webkit-linear-gradient(113deg, rgba(138,36,50,1) 0%, rgba(99,16,28,1) 100%);
		background: linear-gradient(113deg, rgba(138,36,50,1) 0%, rgba(99,16,28,1) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#8a2432",endColorstr="#63101c",GradientType=1);   }
		
		.section-boxedcontent.section-boxedcontent-style-red p { color: #fff}
		.section-boxedcontent.section-boxedcontent-style-red ul { color: #fff}
		
	.section-boxed-left { float: left; width: calc(50% - 40px); margin: 0 40px 0 0 }
	.section-boxed-right { float: left; width: calc(50% - 40px); margin: 0 0 0 40px  }
	
	.section-boxedcontent-style-boxedright-redheadline .section-boxedcontent-headline { color: var(--root-color-main); }
	.section-boxedcontent-style-boxedright-redheadline .section-boxed-right-container {  -webkit-border-radius: 8px 8px 8px 8px;
		border-radius: 8px 8px 8px 8px; -webkit-box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);
		box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2); }
		.section-boxedcontent-style-boxedright-redheadline .section-boxed-right-container-inner { padding: 40px }
	
	@media screen and (max-width: 900px) {
		.section-boxed-left { width: 100%; }
		.section-boxed-right { width: 100%; margin: 30px 0 0 0; }
	}
	
	@media screen and (max-width: 600px) {
		.section-boxedcontent-headline h2, 
		.section-boxedcontent-style-default .section-boxed-left h2  { font-size: 2.2rem;  }
	}
	
/* Default Section Content  */
	.default-content-column { width: calc(70%); }
	.default-content-column.column-text-image,
	.default-content-column.textlink-container
	 { width: 100%; }
	
	.textcolumn-left { width: calc(70% - 100px); float: left }
	.link-column-right { width: calc(30%); float: left; margin: 0 0 0 100px }
	.link-column-right { font-size: var(--root-bodytext-font-size);
		  color: var(--root-bodytext-color);
		  line-height: var(--root-bodytext-lineheight); }
	
	.link-column-right .default-button { color: #fff; }
	.default-content-column .link-column-right a::after { display: none }
	.default-content-column .link-column-right a::before { display: none }
	.link-column-right .default-button:hover { padding: 10px 35px }
	
	.page-framed p { font-size: var(--root-bodytext-font-size); color: var(--root-bodytext-color); line-height: var(--root-bodytext-lineheight); margin: 0 0 10px 0; }
	.page-framed ul, .page-framed ol { font-size: var(--root-bodytext-font-size); color: var(--root-bodytext-color); line-height: var(--root-bodytext-lineheight); margin: 0 0 10px 0; }
	.page-framed ul, .page-framed ol { padding: 0 0 0 20px }
	.page-framed h2 { font-size: 2rem; margin: 0 0 10px 0; color: var(--root-bodytext-color); }
	.page-framed h3 { font-size: 1.8rem; margin: 20px 0 5px 0 }
	.page-framed h4 { font-size: 1.5rem; margin: 20px 0 5px 0 }
	.page-framed a { color: var(--root-color); }

	.default-content-column p, .default-content-column ul { font-size: var(--root-bodytext-font-size); color: var(--root-bodytext-color); line-height: var(--root-bodytext-lineheight); margin: 0 0 10px 0; }
	.default-content-column ul { padding: 10px 0 10px 20px }
	.default-content-column h2 { font-size: 2.4rem; line-height: 1.4em; margin: 0 0 10px 0; color: var(--root-color-main) }
	.default-content-column h3 { font-size: 2rem; line-height: 1.4em; margin: 20px 0 2px 0; color: #888 }
	.default-content-column h4 { font-size: var(--root-bodytext-font-size); color: var(--root-bodytext-color); line-height: var(--root-bodytext-lineheight); margin: 15px 0 1px 0;}

	.default-content-column a { color: #444; position: relative; display: inline-block }
	.default-content-column a:after { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background: #bbb; z-index: 50 } 
	.default-content-column a:before { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background: var(--root-color-main); z-index: 100; width: 0 } 
	.default-content-column a:hover::before { width: 100% }
	.content-group-text p:last-of-type { margin-bottom: 0 }
	
	.content-group { position: relative }
	.content-group-text { width: calc(70% - 100px); }
	.content-group-image { position: absolute; top: 0; right: 0; width: 30%; height: 100%; background: none; 
		-webkit-box-shadow: -50px 50px 100px 0 rgba(0,0,0,0.1); -webkit-border-radius: 10px 10px 10px 10px;
		border-radius: 10px 10px 10px 10px;
		box-shadow: -50px 50px 100px 0 rgba(0,0,0,0.1); }
	
	.content-group-image-view { position: absolute; top: 0; width: 100%; left: 0; height: 100%; -webkit-border-radius: 10px 10px 10px 10px;
		border-radius: 10px 10px 10px 10px; overflow: hidden }
	.content-group-image-view img { object-fit: cover; object-position: center center; width: 100%; height: 100% }
	
	.subtextContainer {
	-webkit-border-radius: 8px 8px 8px 8px;
	border-radius: 8px 8px 8px 8px;
	-webkit-box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);
	box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);
	background: #fff;
	margin: 30px 0 0 0
	}
	.subtextContainerInner { padding: 30px 40px }
	
	@media screen and (min-width: 1200px) {
		.content-group-text { width: calc(60% - 100px); }	
		.content-group-image { width: 40%; }
	}
	
	@media screen and (min-width: 1200px) {
		.content-group-text { width: calc(50% - 100px); }	
		.content-group-image { width: 50%; }
	}
	
	@media screen and (max-width: 1000px) {
		.content-group-text { width: calc(50% - 50px); }	
		.content-group-image { width: 50%; }
	}
	
	@media screen and (max-width: 800px) {
		.content-group-text { width: 100% }	
		.content-group-image { width: 100%; position: relative; right: auto; top: auto; height: 400px; margin: 40px 0 0 0 }
		
		.default-content-column .textcolumn-left, 
		.link-column-right { width: 100%; float: none; margin: 0 0 50px 0 }
	}
	
	@media screen and (max-width: 600px) {
		.content-group-image { height: 300px; margin: 40px 0 0 0 }
		
		.default-content-column { width: calc(100%); }
		
		.default-content-column h2
		{
			font-size: 1.8rem;
			line-height: 1.2em
		}
	}
	
	@media screen and (max-width: 500px) {
		.content-group-image { height: 200px; margin: 40px 0 0 0 }
	}
	
/* Section: Contact */
	.contact-section-body h2 {  font-size: 2.4rem; line-height: 1.4em; margin: 0 0 10px 0; color: var(--root-color-main) }
	.contact-section-body p { font-size: var(--root-bodytext-font-size); color: var(--root-bodytext-color); line-height: var(--root-bodytext-lineheight); margin: 0 0 10px 0;  }
	.contact-section-body p a { color: var(--root-color-main);  }
	
	.contact-subcontent { padding: 30px 0 0 0;}

	
	.headline-vcard { font-size: 1.5rem; line-height: 1.4em; margin: 0 0 0 0; color: var(--root-color-main) }
	.contact-section-vcard-inner { padding: 40px }
	.contact-section-vcard { margin: 20px 0 0 0; background: #fff; -webkit-box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2);
		box-shadow: 40px 40px 100px 2px rgba(0,0,0,0.2); width: calc(100% - 100px); position: relative }
		
	.contact-section-vcard p { font-size: var(--root-bodytext-font-size); color: var(--root-bodytext-color); line-height: var(--root-bodytext-lineheight); margin: 0 0 10px 0;}
	.contact-section-vcard h3 { font-size: 2rem; line-height: 1.4em; margin: 10px 0 0 0;}
	.contact-section-vcard h4 { font-size: var(--root-bodytext-font-size); color: var(--root-bodytext-color); line-height: var(--root-bodytext-lineheight); margin: 0 0 0 0; }
	.vcard-footer { padding: 5px 0 0 0}
	
	.contact-section-vcard .default-button { font-size: 1.5rem; line-height: 1.4em; }
	
	.contact-section-vcard p a { color: #666;}
	.contact-section-vcard p a:hover { color: var(--root-color-main); }
	
	.vcard-content-image { position: absolute; right: -100px; width: 300px; height: calc(100% - 80px); top: 40px; background: #f90 }
	.vcard-container { width: calc(100% - 200px) }
	.vcard-content-image img { object-fit: cover; width: 100%; height: 100%; object-position: center center }
	
	.contact-subcontent p { color: #999; }
	.contact-subcontent p a { color: #999; text-decoration: underline }
	.contact-subcontent p a:hover { text-decoration: none }
	
	@media screen and (min-width: 1000px) {
		.contact-section-vcard-inner { padding: 60px }
	}
	
	@media screen and (max-width: 700px) {
		.vcard-content-image { position:relative; right: autO; top: auto; width: 100%; height: 300px; margin: 30px 0 0 0 }
		.vcard-container, .contact-section-vcard { width: 100% }
		
		.contact-section-vcard-inner { padding: 30px }
	}

/* Footer */
	#pagefooter { background: rgba(245, 245, 245, 1); padding: 80px 0; position: relative }
	#pagefooter ul, #pagefooter p { 
		font-family: 'Roboto';
		font-style: normal;
		font-weight: 700;
		font-size: 1.6rem;
		list-style-type: none
	}
	#pagefooter p { font-weight: 400; font-size: var(--root-bodytext-font-size); color: var(--root-bodytext-color); line-height: var(--root-bodytext-lineheight); }
	#pagefooter p a { color: var(--root-bodytext-color);}
	#pagefooter p a:hover { color: #000 }
	#pagefooter ul li { margin: 0 0 10px 0; }
	#pagefooter ul li a { color: #888 }
	#pagefooter ul li.current_page_item a { color: var(--root-color-main); }
	
	
	.footer-column-container { width: calc(100% - 150px); background: none }
	.footer-column { float: left;  }
	
	.footer-column-1 { width: calc(30% - 40px); margin: 0 40px 0 0 }
	.footer-column-2 { width: calc(40% - 40px); margin: 0 40px 0 0 }
	.footer-column-3 { width: calc(30% - 40px); margin: 0 40px 0 0 }
	
	#pagefooter-logo { width: 100%; height: 300px; position: absolute; top: -139px; right: 50px; text-align: right; pointer-events: none; opacity: .1;  }
	#pagefooter-logo svg { object-fit: contain; object-position: right center; height: 100% }
	
	@media screen and (max-width: 800px) {
		.footer-column-container {
			width: 100%;
		}
	}
	@media screen and (max-width: 650px) {
		.footer-column-1, .footer-column-2, .footer-column-3 { width: 100%; margin: 0 0 30px 0 }
		
		#pagefooter-logo  { height: auto; width: 300px; }
	}
	@media screen and (max-width: 450px) {
		
		#pagefooter-logo  { width: calc(100% - (2 * var(--root-gap)) ); right: var(--root-gap) }
		#pagefooter-logo svg  { width: 100%; height: auto }
	}
	
	
	.section-textimage { padding: 0 0 50px 0 }
	.section-textimage img { width: calc(100% - 50px); height: auto }
	
	.section-textimage .wp-block-group.google-maps-link a {
	font-size: var(--root-bodytext-font-size);
	}
	
	.section-textimage-group { position: relative }
	
	@media screen and (min-width:900px) {
		.section-textimage-text { padding: 0 250px 0 0 }
		.section-textimage-image { position: absolute; top: 0; right: 50px; width: 170px; }
		.section-textimage-image img { width: 100%; height: auto }
	}
	
	@media screen and (min-width: 1700px) {
		.section-textimage-text { padding: 0 350px 0 0 }
		.section-textimage-image { position: absolute; top: 0; right: 50px; width: 250px; }
		.section-textimage-image img { width: 100%; height: auto }
	}
	
	.section-faqcontainer {
		padding: 0 0 0 0
	}
	.faq-item { padding: 0 0 0 0; margin: 0 0 20px 0 }
	.section-faqcontainer .faq-item:last-child { padding: 0 0 0 0 }
	.section-faqcontainer h2 { font-size: 2.6rem; color: var(--root-color) }
	
	.faq-item {
	-webkit-box-shadow: 20px 20px 90px 10px rgba(0,0,0,0.1);
	box-shadow: 20px 20px 90px 10px rgba(0,0,0,0.1);
	}
	.faq-item-inner { padding: 30px 45px }
	
	.faq-question h3 { font-size: 1.8rem; margin: 0 0 0 0 }
	
	.faq-item p, .faq-item ul, .faq-item ol {
		font-size: var(--root-bodytext-font-size);
		color: var(--root-bodytext-color);
		line-height: var(--root-bodytext-lineheight);
	}
	
	.faq-item ul,
	.faq-item ol  { 
		margin: 10px 30px
	}
	
	.faq-item ul li,
	.faq-item ol li { 
		margin: 0 0 6px 0;
	}
	
	.faq-item ul a,
	.faq-item ol a,
	.faq-item p a {
		color: var(--root-color-main); 
		text-decoration: underline
	}
		
	.faq-item p { margin: 0 0 10px 0}
	
	.section-faqcontainer h2:first-of-type { margin: 0 0 20px 0 }
	.faq-content { display: none; padding: 20px 0 0 0  }
	.faq-question { position: relative }
	.faq-question h3 { padding: 0 60px 0 0; opacity: 0.5 }
	.faq-controller  {  opacity: 0.5 }
	
	.faq-controller { position: absolute; right: 0; top: 50%; margin: -20px 0 0 0; 
		height: 40px; width: 40px; background: url("../img/faq-controller.svg"); background-size: 26px 26px; background-repeat: no-repeat; background-position: center center }
				
	.faq-item.faq-active .faq-content { display: block }
	.faq-item.faq-active h3 { opacity: 1 }

	.faq-item.faq-active .faq-controller {
		-moz-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
		opacity: 1
	}
	
	@media screen and (max-width: 700px) {
		.faq-item-inner {
		  padding: 30px 35px 30px 30px;
		}
		.faq-question h3 { font-size: 1.6rem; margin: 0 0 0 0 }
		.section-faqcontainer h2 { font-size: 2rem }
		
		.faq-controller { top: 0; right: 0; margin: 0 }
	}
	@media screen and (max-width: 500px) {
		.faq-item-inner {
	  	padding: 60px 20px 30px 20px;
		}
		.faq-question h3 { 
			padding: 0
		}
		.faq-controller { margin: -50px -10px 0 0 }
		
		.section-textimage img
		{
			width: 100% 
		}
		.content-subbox {
			width: 100% 
		}
		
		.intro-container { width: calc(100% - calc(2* var(--root-gap)) ) }
		.intro-logo-circles { display: none  }
	}
	
	.wpforms-container {
		--wpforms-label-size-font-size: 1.4rem;
	}
	.wpforms-field-label-inline { line-height: 1.45em }
	
	@media screen and (max-width: 700px) {
		.wpforms-container {
			--wpforms-label-size-font-size: 1.3rem;
			--wpforms-button-size-font-size: 1.3rem 
		}
		.wpforms-field-label-inline { line-height: 1.35em }
		
	}
	
	.home .stage-image-container img { object-position: left top }