@charset "utf-8";

:root {
	
	--color-font-headlines-dark-rgb: 2,2,2;
	--color-font-headlines-dark: #020202;
	
	--color-font-dark-rgb: 60,60,60;
	--color-font-dark: #3c3c3c;
	
	--color-red-rgb: 197,20,28;
	--color-red: #c5141c;
	
	--color-ci-green-rgb: 151,112,64;
	--color-ci-green: #977040;
	
	--color-darkestgrey-rgb: 64,64,64;
	--color-darkestgrey: #404040;
	
	--color-darkgrey-rgb: 101,101,101;
	--color-darkgrey: #656565;
		
	--color-grey-rgb: 181,181,181;
	--color-grey: #b5b5b5;
		
	--color-lightgrey-rgb: 229,229,229;
	--color-lightgrey: #e5e5e5;
		
	--color-link-grey-rgb: 102,102,102;
	--color-link-grey: #666666;
		
	--color-green-rgb: 108,177,46;
	--color-green: #6cb12e;
		
	--color-darkgreen-rgb: 22,130,45;
	--color-darkgreen: #16822d;
	
	--color-blue-1-rgb: 29,79,108;
	--color-blue-1-rgb: 25,38,48;
	
	--color-grey-headline-rgb: 134,129,125;
	--color-grey-headline: #86817D;
		
	--color-dark-text-rgb:46,45,48;
	--color-dark-text:#2e2d30;
	
	--slider-height: 1080px;	
		
	--picbox-width: 236px;
	--picbox-pano-width: 312px;
	
	--container-width: 1280px;
	
	--color-blue-body1-rgb: 29,79,108;
	--color-blue-body2-rgb: 25,38,48;
	
}

/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('/includes/fonts/open-sans-v17-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('/includes/fonts/open-sans-v17-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/includes/fonts/open-sans-v17-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('/includes/fonts/open-sans-v17-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('/includes/fonts/open-sans-v17-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/includes/fonts/open-sans-v17-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
	font-display: swap;
}

/* open-sans-600 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url('/includes/fonts/open-sans-v17-latin-600.eot'); /* IE9 Compat Modes */
  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
       url('/includes/fonts/open-sans-v17-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/includes/fonts/open-sans-v17-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('/includes/fonts/open-sans-v17-latin-600.woff') format('woff'), /* Modern Browsers */
       url('/includes/fonts/open-sans-v17-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/includes/fonts/open-sans-v17-latin-600.svg#OpenSans') format('svg'); /* Legacy iOS */
	font-display: swap;
}

/* open-sans-700 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('/includes/fonts/open-sans-v17-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Bold'), local('OpenSans-Bold'),
       url('/includes/fonts/open-sans-v17-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/includes/fonts/open-sans-v17-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('/includes/fonts/open-sans-v17-latin-700.woff') format('woff'), /* Modern Browsers */
       url('/includes/fonts/open-sans-v17-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/includes/fonts/open-sans-v17-latin-700.svg#OpenSans') format('svg'); /* Legacy iOS */
	font-display: swap;
}


* {
	margin:0;
	padding:0;
	line-height:100%;
	outline:0;
}

html {
	width:100%;
	height:100%; 
	font-size: 100.01%;
	-webkit-tap-highlight-color: rgba(255,255,255,1);
	overflow-y:scroll;
}

body {
	position:relative;
	width:100%;
	margin:0;
	padding:0;
	font-size:62.5%;
	font-style: normal;
	text-align:center;
	
	display: flex;
	flex-direction: column;
	
	color:rgba(var(--color-font-dark-rgb),1) !important;
	-webkit-tap-highlight-color: rgba(255,255,255,1);
	font-family:'Open Sans', Tahoma, Helvetica, Verdana, Arial, san-serif;	
	font-weight:400 !important;	

	background-image: linear-gradient( 321deg in oklab, #b1946f -41% -41%, #fff 129% 129%);
	background-image: linear-gradient(321deg, #b1946f -41% -41%, #fff 129% 129%);	
	background-attachment: fixed;
}

header#header,
#container {	
	display:block;
	width:100%;
	margin:0 auto;
	padding:0;
}	

#container {
	position:relative;
	height:auto;
	flex: 1 0 auto;
	font-size:100%;
}


#content {
	display: flex;
	flex-direction:column;
	justify-content: center;
	align-items: center;	
}


.start #content {
	display: flex;
	flex-direction:column;
	/*
	height: 100vh;
	*/
	justify-content: center;
	align-items: center;	
}

#content #card {
	width:calc(90% - 60px) !important;
	max-width:720px !important;
	padding:30px;
	text-align:left !important;
	background-color:#fff;
	border:1px solid rgba(var(--color-ci-green-rgb),.5);	
	box-shadow: 0 1px 2px rgba(0,0,0,0.07), 
                0 2px 4px rgba(0,0,0,0.07), 
                0 4px 8px rgba(0,0,0,0.07), 
                0 8px 16px rgba(0,0,0,0.07),
                0 16px 32px rgba(0,0,0,0.07), 
                0 32px 64px rgba(0,0,0,0.07);	
}


#content p {
	font-size:120%;
	line-height:130%;
	display:block;
}

body.txt {
	padding-top:20px;
}

.txt #content #text {
	width:90% !important;
	max-width:720px !important;
	
	padding-top:6px;
	text-align:center !important;
	/*
	padding-top:20px;
	text-align:left !important;
	*/
}

.txt #content #text h1 {
	text-align:left !important;
	font-size:160%;
	line-height:150%;
	padding-bottom:4px;
	border-bottom:1px solid;
	margin:12px 0 24px 0 !important;
}

.txt #content #text h2 {
	font-size:150%;
	line-height:140%;
	margin:12px 0 24px 0 !important;
}

.txt #content #text h3,
.txt #content #text h4,
.txt #content #text h5 {
	font-size:140%;
	line-height:130%;
	margin:6px 0 12px 0 !important;
}


.txt #content #text p {
	text-align:center !important;
	font-size:140%;
	line-height:130%;
	margin:0 0 12px 0;
	color:#fff;
}

.txt #content #text p a {
	color:#fff;
}


.txt #content #text table {
	margin:0 0 12px 0;
}

.txt #content #text ol,
.txt #content #text ul {
	margin:0 0 12px 16px;
}

.txt #content #text li,
.txt #content #text td {
	font-size:140%;
	line-height:130%;
}


.txt #content #text p.breadcrumb {
	text-align:left !important;
	font-size:120%;
	line-height:120%;
	margin:0 0 12px 0;
}



#content a {
	text-decoration:none;
}

#content .icon-tabler {
	vertical-align:-2px;
}



.txt #content #text hr {
	height:1px;
	background:none;
	border:0px;
	border-bottom:1px dotted #fff;
}















/* ###  ALLGEMEINE DEFINITIONEN START ### */

h1,
h2,
h3,
h4,
h5,
h6,
.headline,
legend {
	color:rgba(var(--color-font-dark-rgb),1);
	font-weight:600 !important;	
	font-style:normal;
}


#content #text p a  {
	color:#fff;
	text-decoration:none;
}

#content #card a  {
	color:rgba(var(--color-ci-green-rgb),1);
	text-decoration:none;
}

a:hover {
	text-decoration:underline;
}



a.noborder {
	border-bottom:0 !important;
}


a[href^="tel:"],
a[href^="mailto:"] {
  border-bottom:0 !important;
}


a.ext_ohne {	
	padding-left:0;
	background:none;
	display:inline;
}

.color {
	color:rgba(var(--color-ci-green-rgb),1);
} 

.center {
	text-align:center;
}

.bold {
	font-weight:700 !important;
}

.green {
	color:green !important;
}

.fw_norm {
	font-weight:400 !important;
}

.cb {
	clear:both;
	display:block;
	margin:0;
	padding:0;
}

hr {
	clear:both;
	display:block;
	width:100%;
	margin:18px auto 36px auto !important;	
	height:1px;
	border:none;
	background:none;
	border-top:1px solid rgba(var(--color-font-dark-rgb),.75);
}

hr.divider {
	clear:both;
	display:block;
	width:100%;
	margin:18px auto 36px auto !important;	
	height:1px;
	border:none;
	background:none;
	border-top:1px solid rgba(var(--color-ci-green-rgb),1);
}

hr.spacer {
	margin:24px auto !important;	
}

.upper {
	text-transform:uppercase;
}

.schatten {
	-webkit-box-shadow: 0px 2px 4px 0px rgba(102,102,102,0.7);
	-moz-box-shadow: 0px 2px 4px 0px rgba(102,102,102,0.7);
	box-shadow: 0px 2px 4px 0px rgba(102,102,102,0.7);
}

.shadow-shorter {
  box-shadow: 0 1px 1px rgba(102,102,102,0.11), 
              0 2px 2px rgba(102,102,102,0.11), 
              0 4px 4px rgba(102,102,102,0.11), 
              0 6px 8px rgba(102,102,102,0.11),
              0 8px 16px rgba(102,102,102,0.11);
}

.shadow-longer {
  box-shadow: 0 2px 1px rgba(102,102,102,0.09), 
              0 4px 2px rgba(102,102,102,0.09), 
              0 8px 4px rgba(102,102,102,0.09), 
              0 16px 8px rgba(102,102,102,0.09),
              0 32px 16px rgba(102,102,102,0.09);
}

.rund {
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
}

.rund2px {
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
}

.white,
.content .white {
	/* 
	color:#fff;
	*/
	color:rgba(var(--color-font-dark-rgb),1) !important;
}


.icon-tabler {
	vertical-align:-2px;
	margin-right:5px;
}


.clearfix:after {
	content: " ";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 0;
}
	

* html .clearfix {height: 1px;}
.clearfix {display: block;}


.content br.space {
	display:block;
	margin:0 0 36px 0;
}

#container .hidden {
	display:none;
}


/* ###  ALLGEMEINE DEFINITIONEN ENDE ### */


 
 
 
/* ### HEADER START ### */

header#header {
	text-align:left;
	background:rgba(255,255,255,1);
	position:relative !important;
	z-index:9999;
	overflow:visible;
}

#header .logo_absatz {	
	display:inline-block;
	float:left;
	width:100%;
	max-width:calc(100% - 800px);	
	margin:20px 10px 10px 30px;		
}

#header .logo_absatz img.logo  {	
	width:100%;
	max-width:300px;
	height:auto;
}

/* ### HEADER ENDE ### */





/* ##### HEADLINE EXTRA START ##### */

.headline_extra {
	box-sizing: border-box;	
	font-weight: 500;
	margin-bottom: 20px;
	margin-top: 0px;
	text-rendering: geometricprecision;
	text-transform: uppercase;	
}

.headline_extra:before {
	text-rendering: geometricprecision;
	text-transform: uppercase;	
}

.headline_extra:after {
	background-image: -webkit-linear-gradient(90deg, rgba(var(--color-font-dark-rgb),0.5), rgba(var(--color-font-dark-rgb),0));
	background-image: -moz-linear-gradient(90deg, rgba(var(--color-font-dark-rgb),0.5), rgba(var(--color-font-dark-rgb),0));
	background-image: -o-linear-gradient(90deg, rgba(var(--color-font-dark-rgb),0.5), rgba(var(--color-font-dark-rgb),0));
	background-image: linear-gradient(90deg, rgba(var(--color-font-dark-rgb),0.5), rgba(var(--color-font-dark-rgb),0));	
	border-radius:2.5px;	
	box-sizing: border-box;
	content: "";
	display: block;	
	font-weight: 500;
	height: 2px;
	width:100%;
	margin:10px 0;
	text-rendering: geometricprecision;
	text-transform: uppercase;
}

/* ##### HEADLINE EXTRA ENDE ##### */


span.blanko {
	display:inline-block !important;
	width:14px !important;
	margin-right:5px;
}

span.blanko_space {
	display:inline-block !important;
	margin-left:20px !important;
	line-height:140%;
}



/* #### BOXEN START #### */

#container .boxen,
footer.boxen {
	width:100%;
	margin:0;
	padding:0;
	clear:both;
}

#container .boxen .box,
footer .boxen .box {
	float:left;
	padding:0 0 10px 0;
	margin:0 0 10px 0;
	text-align:left !important;
}


#container .boxen .box100 {
	width:100%;
	margin-right:0;
}

#container .boxen .box66 {
	width:64.66%;
	margin-right:4% !important;
}

#container .boxen .box66_33 {
	width:31.33%;
	margin-right:0% !important;
}

#container .boxen .box50 {
	width:48%;
	margin-right:4% !important;
}

#container .boxen .box50:nth-child(2n) {
	margin-right:0 !important;
}

#container .boxen .box33 {
	width:32%;
	margin-right:2%;
}

#container .boxen .box33:nth-child(3n){
	margin-right:0;
}

#container .boxen .box33:nth-child(4n){
	clear:both;	
}

#container .boxen .box16 {
	width:15%;
	margin-right:2%;
}

#container .boxen .box16:nth-child(6n){}

#container .boxen .box16:nth-child(7n){
	clear:none;	
	margin-right:0;
}

@media only screen and (max-width: 768px) {

	#container .boxen .box66 {
		width:100%;
		margin-right:0% !important;
	}

	#container .boxen .box66_33 {
		width:100%;
		margin-right:0% !important;
	}

	#container .boxen .box50 {
		width:100%;
		margin-right:0% !important;
	}

	#container .boxen .box50:nth-child(2n) {
		margin-right:0 !important;
	}

	#container .boxen .box33 {
		width:100%;
		margin-right:0%;
	}

	#container .boxen .box33:nth-child(3n){
		margin-right:0;
	}

	#container .boxen .box33:nth-child(4n){
		clear:both;	
	}

	#container .boxen .box16 {
		width:33%;
		margin-right:2%;
	}

}

@media only screen and (max-width: 480px) {
	
	#container .boxen .box16 {
		width:100%;
		margin-right:0%;
	}

}

/* #### BOXEN ENDE #### */




/* #### ALLGEMEINE TYPOGRAFIE START #### */

#bildstreifen p,
#container p,
#subnavi p {
	font-size:140%;
	line-height:140%;
	clear:none;
	margin:6px 0 12px 0;
	font-weight:400;
	color:rgba(var(--color-font-dark-rgb),1) !important;
}

#container .white,
#container .white p,
#container .white a {
	/*
	color:#fff !important;
	*/
	color:rgba(var(--color-font-dark-rgb),1) !important;
}

#container p.fussnote {
	font-size:120%;
	line-height:130%;
}



#container td {
	vertical-align:top;
	padding:0 6px 6px 0;
	font-size:140%;
	line-height:140%;
	font-weight:400;
	color:rgba(var(--color-font-dark-rgb),1) !important;
}



/* ### HEADLINES START ### */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight:600;
	color:rgba(var(--color-font-dark-rgb),1);
	text-align:left;
	hyphens: manual;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a,
h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover {
	text-decoration:none;
}

h1, 
h2.h1 {
	font-size:320%;
	margin:0 auto 18px auto;
	padding:0 0 3px 0;
}

#container .flex-container h1 {
	margin-left:0;
	margin-right:0;
}

h1.name {
	margin-bottom:12px;
}

h2.h1 {
	text-transform:none;
	border-bottom:none;
	margin:0 auto 0px auto;
}

h2.big {
	font-size:290%;
	text-transform:none;
	border-bottom:none;
	margin:0 auto 0px auto;
}

h2,
h3.h2 {
	font-size:240%;
	margin:22px auto 8px auto;
	line-height:130%;
}

h2.smaller {
	font-size:200%;
	margin:12px auto 12px auto;
	line-height:120%;
}

#container section article > h2 {
	margin-top:6px;	
}

h3,
h4.h3,
h2.h3,
p.h3 {
	font-size:220%;
	line-height:120%;
	margin:16px auto 6px auto;
}

h4,
h1.h4,
h3.h4,
h4.h4,
#container p.h4 {
	font-size:200%;
	margin:8px auto 2px auto;
	border-bottom:none;
}

h5,
h6,
h2.h4 {
	margin:0 auto 12px auto;
	font-size:200%;
}

#container .h5,
#container .h6 {
	margin:0 auto 2px auto;
	font-size:180%;
}

h4.h3 {
	font-size:240%;
	line-height:140%;
	margin:6px auto 20px auto;
}

#container aside .h4 {
	font-size:160%;
	margin:0 0 4px 0;
	text-transform:none;
	line-height:100%;
}

.notransform {
	text-transform:none !important;
}

@media (max-width: 1024px) {

	h1, 
	h2.h1 {
		font-size:280%;		
	}	
	
	h2.big {
		font-size:250%;		
	}

	h2,
	h3.h2 {
		font-size:210%;
	}
	
}

h1.ohne {
	font-size:340%;
	text-align:left;
	text-transform:uppercase;
	border-bottom:none;
	margin:0 auto 12px auto;
	padding:0;
	display:inline;
}

/* ### HEADLINES ENDE ### */


hr.h1 {
	height:1px;
	background:none;
	margin:3px 0 12px 0;
	border:none;
	border-top:1px solid #F2F2F2;
}

#container .text.referenz h4 .pic_l {
	clear:both !important;
	display:block !important;	
	margin-bottom:40px !important;
}


#container .small {
	font-size:110%;
	line-height:120%;
}

#container .smaller {
	font-size:90%;
	line-height:110%;
}

#container .sub {
	font-size:120%;
	line-height:120%;
	color:#9a9aa6;
}

#container .picsub {
	font-size:95%;
	line-height:120%;
	color:#9a9aa6;
}

#container .picsub img {
	margin-bottom:4px;
}	

#container .infobox {
	clear:none;	
	width:calc(100% - 32px);
	margin:6px 0 12px 0;
	padding:12px 16px;
	border:2px solid rgba(var(--color-font-dark-rgb),0.1);
}

#container blockquote {
	clear:none;
	width:calc(100% - 32px);
	margin:6px 0 12px 0;
	padding:12px 16px;
	background:rgba(var(--color-font-dark-rgb),0.05);
	float:left;
}

#container blockquote em {
	color:rgba(var(--color-font-dark-rgb),1);
	color:rgba(var(--color-font-dark-rgb),1);
}

#container ol,
#container ul {
	clear:none;
	margin:6px 0 12px 18px;
}

#container li {
	font-size:140%;
	line-height:140%;
	font-weight:400;
	margin-bottom:4px;		
	color:rgba(var(--color-font-dark-rgb),1) !important;
}

#container li li {
	font-size:100%;
}

#container ul.haken {
	list-style-position: outside;
	margin:8px 0 0 8px;
	margin:8px 0 0 22px;
	padding:0;
	list-style:none;
}

#container ul.haken li {
	margin:0;
	padding:0;
}

#container ul.check,
#container ul.links { 
	margin-left: 22px; 
	list-style: none;
	display:block;
}

#container ul.check li,
#container ul.links li { 
	position: relative; 
	line-height: 140%;
	display:block;
}


#container dt,
#container dd {
	font-size:150%;
	line-height:140%;
	font-weight:400;	
	color:rgba(var(--color-font-dark-rgb),1) !important;
}

#container dt {
	display:block;
	width:200px;
	clear:both;
	float:left;
	margin-bottom:6px;
}

#container dd {
	margin-left:200px;
	margin-bottom:6px;
}

#container .no_space_top {
	margin-top:0;
}

#container .no_space_bottom {
	margin-bottom:0;
}

#container .space_top {
	margin-top:10px;
}

#container .space_bottom {
	margin-bottom:10px;
}

#container div.space_top,
#container .space_top {
	padding-top:40px;
}

#container div.autobreite {
	width:auto;
}

#container a.anker,
#container a.anker:hover,
#container a.normal {
	text-decoration:none;
	cursor:default;
	font-weight:400;
}

#container a img {
	border:0 !important;
	outline:none !important;
}

#container a.normal  {
	color:rgba(var(--color-font-dark-rgb),1);
}



#container .pic_r {
	float:right;
	margin:2px 0 12px 24px;
}

#container .pic_l {
	float:left;
	margin:2px 24px 12px 0;
}

#container .pic_m {
	float:none;
	margin:2px auto 12px auto;
	display:block;
	text-align:center;
}

#container .icon_l {
	float:left;
	margin:2px 6px 36px 0;
}

#container .rand {
	border:1px solid #d9d9d9 !important;
}


#container .box .button {
	width:66%;
}

#container .nospace {
	margin:0;
}

#container .error {
	color:red;
}

#container .s80 {
	font-size:80%;
}

#container .s90 {
	font-size:90%;
}

/* ##### ALLGEMEINE TYPOGRAFIE ENDE #### */




/* BUTTON START */

#container .button {
	width:auto;
	height:auto;
	display:inline-block;
	text-align:center;
	cursor:pointer;
	padding:10px;
	font-size:120%;	
	color:rgba(var(--color-font-dark-rgb),0.85);
	border:2px solid rgba(var(--color-font-dark-rgb),0.85);
	background-color:#fff;
	-webkit-transition: color 400ms ease-out, background-color 200ms ease-in;
    transition: color 400ms ease-out, background-color 200ms ease-in;	
}

#container :hover.button,
#container a:hover.button {
	text-decoration:none;
	color:#fff;
	background-color:rgba(var(--color-font-dark-rgb),0.85);
}

#container :hover.button * {
	text-decoration:none;
	color:#fff;
}

/* BUTTON ENDE */




.content img.responsive_pic,
.content .boxen img.responsive_pic {
	width:auto;
	max-width:100%;
	height:auto;	
}

.content .personen img.portrait {
	width:100%;
	max-width:350px;
}






/* #### ICONS START #### */

#container ul.nolist {
	list-style:none;
}

#projektlinks .iconfont {
	font-size:180%;
}

#projektlinks .iconfont {
	font-size:180%;
}

a.external_link:after {
	content: url(/gif/icons/external-link.svg) " ";	
	display:inline-block;
	margin-left:4px;
	min-width:16px;
	vertical-align:-2px;
}

a.info_link {
	display:block;
	margin-top:6px;
}

a.info_link:before {
	content: url(/gif/icons/info-link.svg) " ";
	display:inline-block;
	margin-right:4px;
	vertical-align:-3px;
	min-width:16px;
	font-size:140%;	
}

/* #### ICONS ENDE #### */





/* #### BREADCRUMB START #### */

p#breadcrumb {
	display:block;
	clear:both;
	width:100%;
	max-width:1280px;
	margin:10px auto 0 auto;
	padding:0;
	font-size:120%;
	line-height:120%;
	color:rgba(var(--color-font-dark-rgb),1);
}

p#breadcrumb a, p#breadcrumb a:hover {
	font-weight:400;
	color:rgba(var(--color-font-dark-rgb),1);
}

.flex-container p#breadcrumb {
	width:100%;
	margin:0px 0 20px 0;
}

/* #### BREADCRUMB ENDE #### */





/* #### FOOTER START #### */ 

footer {
	display:block;
	color:rgba(255,255,255,1) !important;
	font-size:100%;	
	text-align:left;
	clear:both;
	background-color:rgba(var(--color-ci-green-rgb),1);
	margin:0;
	padding:0;
}


footer #footer_content {
	display:block !important;
	width:100%;
	margin:30px auto 0 auto !important;
	width:calc(100% - 40px);
	max-width:calc(1280px - 40px);
	padding:20px;
	text-align:left;
}


@media only screen and (min-width: 1025px) {
	
	body.start footer #footer_content {
		padding-bottom:580px;
	}

}


footer #footer_content div p {
	display:block;
	text-align:left;
	font-size:130%;
	line-height:140%;
	color:rgba(255,255,255,1) !important;
}

footer #footer_content div p span.r {
	float:right;
	margin-top:3px;
	margin-right:45px;
	color:rgba(255,255,255,1) !important;
	line-height:140%;
}

footer a {
	color:rgba(var(--color-font-dark-rgb),1);
}

footer .go-top {
	position: fixed;
	bottom: 1.5em;
	right: 1em;
	text-decoration: none;
	color: white;
	text-align:left;
	background-color: rgba(var(--color-font-dark-rgb),1);
	width:24px;
    height:24px;
    line-height:24px;
    border: 0px solid rgba(var(--color-font-dark-rgb),1);
    border-radius: 50%;
	font-size: 12px;
	padding: 1em;
	display: none;
	z-index:10000;
}

footer .go-top:hover {
	background-color: rgba(0, 0, 0, 0.6);
}

footer .flex-container {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	margin:0;
	width:100%;
}

footer .flex-container .flexbox {	
	padding:0 10px;
	margin:0 10px !important;
	text-align:left;
}

footer .flex-container .box33 {
	width:calc(33.3333% - 40px);
	margin:0 0 60px 0;
	text-align:left;
}

footer .flexbox h4,
footer .flexbox .h4 { 
	font-size:150%;
	line-height:160%;
	font-weight:600;
	text-align:left;
	margin:0 0 6px 0;
	padding:0;
	color:rgba(255,255,255,1) !important;
	box-sizing: border-box;	
	text-rendering: geometricprecision;
}



footer .flexbox h4:before,
footer .flexbox .h4:before {
	text-rendering: geometricprecision;
}

footer .flexbox h4:after,
footer .flexbox .h4:after {
	background-image: -webkit-linear-gradient(90deg, rgba(255,255,255,.75), rgba(255,255,255,0));
	background-image: -moz-linear-gradient(90deg, rgba(255,255,255,.75), rgba(255,255,255,0));
	background-image: -o-linear-gradient(90deg, rgba(255,255,255,.75), rgba(255,255,255,0));
	background-image: linear-gradient(90deg, rgba(255,255,255,.75), rgba(255,255,255,0));	
	border-radius:2.5px;	
	box-sizing: border-box;
	content: "";
	display: block;	
	font-weight: 600;
	height: 1px;
	width:100%;
	margin:2px 0 6px 0;
	text-rendering: geometricprecision;
}


footer .flexbox h4 a,
footer .flexbox .h4 a {  
	font-weight:600;
	color:rgba(255,255,255,1) !important;
}

footer a {
	color:rgba(255,255,255,1) !important;
}

footer .flexbox ul {
	list-style:none;
	margin:0 0 0 2px;
	padding:0;
}

footer .flexbox ul ul {
	list-style:none;
	margin-left:16px;
}

footer .flexbox p,
footer .flexbox ul li {
	font-size:130%;
	line-height:140%;
}

footer .flexbox ul li {
	margin:0;
	margin:0;
}
	
footer .flexbox ul li li {
	font-size:100%;
} 

footer .flexbox ul.check,
footer .flexbox ul.links { 
	margin-left: 16px; 
	list-style: none;
}

footer .flexbox ul.check li,
footer .flexbox ul.links li { 
	position: relative; 
	line-height: 150%;
	display:block;
}

footer .flexbox ul.links li {
	padding-left:2px;
}	

footer .flexbox ul.check li::before,
footer .flexbox ul.links li::before { 
     position:absolute;
	 left: -16px;
	 top:2px;
     content: url(/gif/icons/check-footer.svg) " ";
}

footer .flexbox ul.links li::before {
	 position:absolute;
	 left: -16px;
	 top:2px;
     content: url(/gif/icons/link-chevron.svg) " ";
}

footer .flexbox ul.check li::before {
	filter: contrast(300%) invert(100%);
}


footer .icon_sm {
	width:20px;
	height:20px;
}

footer p.space_top {
	margin-top:6px !important;
}

@media (max-width:1240px) { 

	footer #footer_content {
		width:calc(100% - 40px);
		padding:20px;
	}

}


@media only screen and (max-width: 1024px) {
	
	footer .flex-container {
		margin-left:0;
		width:100%;
	}
	
	footer .flex-container .box33 {
		width:calc(100% - 20px);
		margin:0 0 20px 0 !important;		
	}
	
	footer .flexbox p,
	footer .flexbox ul li {
		line-height:140%;
		margin:6px 0;
	}
	
	footer .flexbox ul li a {
		display:inline-block;
		padding:4px 0;
	}
	
}

/* ##### FOOTER ENDE ##### */





/* ##### SECTION/ARTICLE START ##### */

#container section {
	margin:0;
	padding:30px 0;
	width:100%;
	font-size:100%;
	text-align:left;
	color:rgba(var(--color-font-dark-rgb),1);
	background-color:rgba(var(--color-grey-rgb),.10);
}

#container section.content_picsub {
	padding:0;
}

#container section.grey {
	background-color:rgba(var(--color-grey-rgb),.20);
}

#container section article {
	display:block;
	clear:both;
	width:100%;
	margin:0;
	padding:0;	
}

#container div.box_content,
#container p#breadcrumb {	
	width:calc(100% - 40px);
	max-width:calc(1280px - 40px);
	margin:0 auto;
	padding:30px 20px 40px 20px !important;
	order:1;
	text-align:left;
}

#container p#breadcrumb {
	padding:10px 20px !important;
}

body.single #container section {
	padding:5px 0 25px 0 !important;
}

#container section article div.text > h1,
#container section article div.text > h2,
#container section article div.text > h3,
#container section article div.text > h4,
#container section article div.text > h5,
#container section article div.text > h6,
#container section article div.text > p {
	margin-top:0;
}

/* #### SECTION/ARTICLE ENDE #### */


#container div.inhalt {	
	width:100%;
	margin:0;
	padding:0;	
}


#container .content .max100 {
	width:100%;
	max-width:100px;
	height:auto;
}

#container .content .max200 {
	width:100%;
	max-width:200px;
	height:auto;
}

#container .content .max300 {
	width:100%;
	max-width:300px;
	height:auto;
}

#container .content .max400 {
	width:100%;
	max-width:300px;
	height:auto;
}

#container .content .max720 {
	width:100%;
	max-width:720px;
	height:auto;
}

#container .mobile,
.content .mobile,
.mobile_only {
	display:none !important;
}

@media (max-width: 640px) {
	.mobile_only {
		display:inline-block !important;
	}
}

@media (max-width: 840px) {
	
	.content .mobile {
		display:inline-block;
	}

	#container .mobile {
		display:block;
	}	
	
	
	#container section,
	body.home #container section {
		padding:16px 0 24px 0;
	}
		
}










/* ### INHALT START ### */


#container div.content_spacer {	
	padding:10px;
	margin:0;
	background-color:#fff;
}



#container ul.no_list_style,
#container ol.no_list_style {
	list-style-type: none;
	list-style: none;
}


#container section p.top {
	margin:0 0 24px 0;
	padding:0;
	display:block;
	width:100%;
	text-align:right;
	clear:both;
}

#container section p.top a,
#container section p.top a:hover {
	display:inline-block;
	margin:0 auto;
	padding:0;
	text-align:right;
	text-decoration:none;
	font-size:160%;
	text-decoration:none !important;
	border-bottom:none !important;
	border-bottom:0px !important;
}






