@charset "UTF-8";
:root{
	--ad--orange:#f18800;
	--ad--bgorange:#f18800;
	--ad--bgorangemittel:#f9b466;
	--ad--bgorangehell:#fcd2a3;
	--ad--lila:#7c332a;
	--ad--bugrau:#cccccc;
	--ad--beigedunkel:#c6b9a7;
	--ad--beigehell:#dfd7cc;
	--ad--beigerosa:#ece7e1;
	--ad--sehrhellgrau:#f0f0f0;
	--ad--navbg:#95B0C1;
	--ad--expertise:#A0BBCA;
	--ad--gelb:#F7D720;
	--ad--hi:#406685;
	--ad--slickratio:4/3;
}

html {
	-webkit-text-size-adjust: 100%; /* Prevent font scaling in landscape while allowing user zoom */
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	scroll-behavior: smooth;
}

sup {
    vertical-align: super;
    font-size: smaller;
}

body {
	font-family: 'SourceSansPro','Aller', Verdana, sans-serif;
	font-style: normal;
	font-size: 1.1em;
	line-height: 1.4em;
	
	font-weight: 500;
	background-image: url();
	background-repeat: no-repeat;
	background-position: 0px top;
	
	margin:0;
	padding:0;
	/*background-image: steht im home.html*/
	
}


html,
body {
    margin: 0px;
    height: 100%;
}

.spreview .prewiewme{
	background-color:yellow;
}

.bgrot{
	background-color:#dab5ba;
}

.bggruen{
	background-color:#acdcc2;
}

.bgblau{
	background-color:#acb5dc;
}

.bggelb{
	background-color:#e7e5bf;
}

.bggrau{
	background-color:#d4d4d4;
}

.bgorange{
	background-color:var(--ad--bgorange);
}

.pop, .xpop{  /* auf ein bild um fancybox zu triggern */
	cursor:pointer;
}

.s{
	cursor:pointer;
}


u {
	text-decoration:none;
	border-bottom:1px solid #bfbfbf;
}


b{
	font-family: inherit;
	font-weight: bold;
}

strong{
	font-family: inherit;
	font-weight: bold;
}

p{
	display:inline;
}

img {
	max-width:100%;
}

a img { /* blauer Rahmen weg. */
	border: none;
}

button, input, select, textarea{
	/*outline:none;*/
	font-family: inherit;
	font-weight: normal;
	font-size: 1rem;
	padding:2px;
	margin:2px;
}

body a{
	color: #406685;
	text-decoration:none;
	font-weight:600;
}


a[href="http"] { 
	color: blue !important; 
	font-weight: bold; 
	
}

a[href="https"] { 
	color: blue !important; 
	font-weight: normal; 
}


a:active {
	color: #333333;
}

a:hover {
	color: #666666;
}



/*################barrieren*/

 

a:focus-visible, 
button:focus-visible, 
.leaflet-marker-icon:focus-visible, 
.slick-arrow:focus-visible, 
figure:focus-visible, 
input:focus-visible,
select:focus-visible,
.arcls:focus-visible
{
	outline:3px dotted var(--ad--hi); 
}

 
/*################barrieren*/

.dldcls{
	border-bottom:1px solid gray;
	margin-bottom:10px;
	min-width:20px;
	display: table;
}

.grau{
	color: #878787;
}

.schwarz{
	color: #000000;
}

.parserot{
	color:#ff0000;
}

.adrot{
	color:var(--ad--hi);
}

.adblau{
	color:var(--ad--hi);
	line-height:3rem;
}


.adorange{
	color: #ff4800;  /*orange*/
}

.bildunterschrift, .teaserbldleg{
	font-size:0.8rem;
	line-height:1.2rem;
}

.fl{
	float:left;
}

hr {
	border:0px solid;
	border-bottom: 1px solid #333333;
	margin-bottom:40px;
}

h1, h2, h3, h4, h5 {
	font-weight: bold;
	margin-top: 0rem;
	margin-bottom: 0rem;
	font-size: inherit;
}

.eltpl1 .ct1teaserhead, .eltpl1 .ct1teasertext{
	display:none;
}


.plusinfokasten{
	display:inline-block;
	width:calc(100% - 25px);
	height:1.8rem;
	overflow:hidden;
	background-repeat: no-repeat !important;
	background-position: 100% 10px !important;
	border:1px dotted gray;
	background-size: 14px !important;
	
	/* oder vorne */
	background-position: 0 0.4em !important;
	padding-left:20px;
	cursor:pointer;
}

.plusinfokastenauf{
	height:auto;
	cursor:default;
}

.myDivcls{
	border: 2px solid red;
}


/* Definitionslisten in ckeditor mit || zu trennen, dann leerzeile  */

.dlzeile{
	width:100%;
	display:flex;
	flex-wrap:wrap;
	flex-direction:row;
}

.dlvor {
	width:12%;
	margin-right:2%;
}

.dlnach {
	max-width:86%;
}


/* Definitionslisten in ckeditor mit || zu trennen, dann leerzeile  */

/*##################divs und defs*/


#container { /*  die totale seite   */
	position:relative;
	max-width: 1440px;
	width:calc(100% - 50px);
	padding:0;
	margin: 0 auto;  
}

#header{  
	width: 100%;
	margin-top:40px;
	min-height:100px;
	margin-bottom:50px;
	padding-bottom:20px;
}

#logo b{ 
	font-size:2em;
}

#logo{ 
	margin-top:1rem;
	margin-bottom:1rem;
	width:calc(100% - 100px);
	text-align:right;
	//border-bottom:1px solid green;
}

#logo img{ 
	max-width:240px;
	//border-bottom:1px solid grey;
}

#headertext{
	width:calc(100% - 100px - 50px);
	container-type: inline-size;
	margin-left:50px;
	margin-top:40px;
	//border-bottom:1px solid grey;
}

#headertext h1{
	display: block;
    white-space: nowrap;
    font-size: 4.08cqi; /* Skaliert die Schrift relativ zur Breite des div */
    font-weight:bold;
    text-align: left;
}

#headertext h1 i{
	color:var(--ad--gelb);
	font-style:normal;
	font-weight:normal;
}

.expertise{
	writing-mode: vertical-rl;
	color:var(--ad--expertise);
	transform: rotate(180deg);
	font-size:5rem;
	font-weight:bold;
}


.expertisewrap {
  position: absolute;
  right:16px;
  bottom:145px;
}


.videoiframe, iframe{
	border:0px;
	width:100%;
	margin-bottom:-10px;
}


 

#article {
	position:relative;
	width:calc(100% - 80px - 50px);
	min-height:200px;
	margin-bottom:40px;
	margin-left:50px;
}

#footer{ 
	width:calc(100% - 50px - 100px);
	padding-top:1rem;
	padding-left:50px;
	padding-right:100px;
	font-size:0.8rem;
	line-height:1.2rem;
	display:inline-block;
	min-height:100px;
	background-color:var(--ad--expertise);
	border-bottom:40px solid var(--ad--gelb);
}

#footer .eltpl5, #footer .eltpl6, #footer .eltpl7, #footer .eltpl21, #footer .eltpl24{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

#footer .ctc1, #footer .ctc2, #footer .ctc3, #footer .ctc4, #footer .ctc5{
	width:fit-content;
	margin:0;
}
 
figure {
	margin:0;
}
 
figure figcaption{
	font-size:0.9rem;
}


.zeiletoflexdivs{
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:space-between;
	width:100%;
}

.zeiletoflexdivs img, .zeiletoflexdivs svg{
	width:100% !important;
}


.div_hv{
	max-width:100%;
}

.div_qv{
	max-width:100%;
}
 
/* der standardwrapper um die elemente 1 - 16 */

.ctwrap {
	width:100%;
	display:block;
	overflow:hidden;
	margin-bottom:1rem;
	hyphens: auto;
}


.ctwrap ul {
	margin: 0;
	margin-bottom: 0px;
	padding: 0;
	padding-left: 1rem;
}

/* templates 1 - 16 */

.ctc1, .ctc2, .ctc3, .ctc4, .ctc5{
	float:left;
	transition: all 331ms ease;
	transition-delay: 300ms;
}


/* home seite */

.eltpl10 .ctc1{
	width:27%;
	margin-right:20px;
	float:left;
}

.eltpl10 .ctsl{
	width:50%;
	float:left;
}

/* home seite */


.ctc1{
	width:100%;
	float:none;
}

.showflex .ctc1{
	display:flex;
	flex-direction: row; /* row | row-reverse | column | column-reverse;*/
	flex-wrap:wrap;  /*nowrap | wrap | wrap-reverse;*/
}

.ctc2 {
	width: 49%;
	margin-right:2%;
}

.ctc3 {
	width: 32%;
	margin-right:2%;
}

.ctc4{
	width:24%;
	margin-right:1.32%;
}

.ctc5{
	width:19%;
	margin-right:1.22%;
}

.ctc1:last-of-type, .ctc2:last-of-type, .ctc3:last-of-type, .ctc4:last-of-type, .ctc5:last-of-type{
	margin-right:0;
}


.slick2, .bldsl, .bldslwrap{
	width:100%;
	-webkit-aspect-ratio:var(--ad--slickratio);
	aspect-ratio:var(--ad--slickratio);
	margin:0;
}
 
  
.slick2 img, .bldslwrap svg image {
	width:100%;
	object-fit:cover; 
	-webkit-aspect-ratio:var(--ad--slickratio);
	aspect-ratio:var(--ad--slickratio);
}

.slick-active .lsl{
	color:green !important;
}

.slick2 .slickbuttonshigh{
	color:red;
}

ul.slick-dots {
	padding:0px;
	margin:0px;
	min-height:auto;
	height:1rem;
}

 

.slickcaption{
	margin-bottom:20px;
	font-size:0.9rem;
	line-height:1rem;
	text-align:right;
	width:100%;
	float:none;
	clear:left;
}


.slick-dots li.slick-active button::before {
  color: var(--ad--hi);
}

.slick-dots li button::before {
	color: var(--ad--expertise);
}

/* slick slider */


/* TEMPLATE 9 BILDER */

.eltpl9 .blddiv, .eltplinline9 .blddiv{
	width:22%;
	margin-right:1%;
	margin-bottom:1%;
	float:left;
}

.eltpl9 .qv, .eltpl9 .hv, .eltpl9 .qu {
	width:100%;
}

/* TEMPLATE 9 BILDER  */


/* TEMPLATE 9 BILDER MASONRY */
 
.ct9bbilder{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;

}

.eltpl9b .blddiv, .eltplinline9b .blddiv{
	width:22.0%;
	margin-right:1%;
	margin-bottom:1.32%;
}

.eltpl9b .blddiv:nth-child(4n){
	margin-right:0;
}

.div_hv img , .div_qu img, .div_qv img  {
	width:100%;
}

/* TEMPLATE 9 BILDER MASONRY */


 

nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  width:320px;
  // background:yellow;
}

nav .has_subtree{
	// border-left:1px solid grey;
}

nav .leerzeile{
	/* background-color:lightgray; */ 
	/*  opacity:0.2; */
	height:12px;
	min-height:1px;
}

nav .ohnelink{
	font-weight:bold;
	width:100%;
}

nav .keinsubmenue{
	background:yellow;
	display:none !important;
}


nav ul {
  margin: 0;
  margin-bottom: 0px;
  padding: 0;
  padding-left: 0px;
}

nav button{
	border:0;
	background:none;
	font-size:inherit;
	padding-left:0;
	padding-right:0;
}

nav .btminus{  
	color:green;
	border-right:3px solid;
}


nav li{
	list-style-type: none;
	min-height:1.6em;
}

nav .active {
	color:var(--ad--hi);
}

nav .collapse{
	display:none;
}

nav .show{
	display:block;
	opacity: 1;
	animation-name: fadeInOpacity;
	animation-iteration-count: 1;
	animation-timing-function: ease-in;
	animation-duration: 0.2s;
}


@keyframes fadeInOpacity {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.nav1, .nav2, .nav3{ /* die ul ebenen */
	margin-left: 0;
}

.sichtbar{
	display:block;
}

/* der toggler button als pfeil rechts, die bilder sind im home.html wegen der pfade*/
.togb, .togbshow {
	background-repeat: no-repeat !important;
	background-size:100% !important;
	background-position: top 4px left 0  !important;
	margin-left:5px;
	width:18px;
}

/* einrücker */
.ngc1, .ngc2, .ngc3{
	 margin-left:25px;
}

.nav-item{
	width:100%;
}

ul.navincontent{
	margin-left:1rem;
	padding:0;
}

.navincontent li{
	// list-style-type: "\1F44D";
	list-style-type: "\279C";
	padding-left:10px;
}


/* MOBIL */

#burger{ 
	border:0;
    right:0px;
   top:0px;
    text-indent: 300%;
    overflow: hidden;
    width: 64px;
    height: 64px;
    transition: all 400ms ease;
    cursor:pointer;
	position:absolute;
	z-index:5003;
	display:block;
}


#navimobil {/*mobil*/
	font-family: inherit;
	font-size:inherit;
	line-height:inherit;
	display: none;
	position: absolute;
	width:300px;
	top:0px;
	right:0px;
	padding-left:0px;
	z-index:5000;
	color: #fff;
	padding-right:20px;
	padding-left:20px;
	background:var(--ad--navbg);
}

#navimobil a, #navimobil .tog-link{/*mobil*/
	color: #fff;
}

.navimliste{/*mobil*/
    padding:10px;
}

.bopen{ /* steht in home.html wegen dem pfad zum bild*/ }

.bclose{/*burgerbutton steht in home.html wegen dem pfad zum bild*/ }

/*  END NAVIGATION */





/*fancybox fancybox fancybox fancybox fancybox fancybox*/


#fancycheck{
	display:none;
}

.fancybox-caption{
  	color: #000;
}

.fancybox-bg {
  background: #ffffff;
}

.fancybox-is-open .fancybox-bg {
  opacity: 1;
}

.fancybox-button {
	 background: none; 
}

.fancybox-navigation button {
  background: none; 
}
 
.fancybox-button--close{
	margin-right:36px;
}

.fancybox-navigation button:before {
	content: "";
	background: none; 
 }
 

.predots{
	opacity:0;
	color:grey;
}

.fdots{
	font-family:"Verdana", Arial, sans-serif;
	font-size:1rem;
	letter-spacing:0.7rem;
	margin-top:30px;
	margin-right:20px;
	color:black;
	display:inline-block;
	width:250px;
	height:40px;
	text-align:right;
}

.fdothi{
	color:var(--ad--hi);
	//cursor:pointer;
}

.fdotnorm{
	color:black;
	cursor:pointer;
}

/*fancybox fancybox fancybox fancybox fancybox fancybox*/


 

dl {
  display: grid;
  grid-template-columns: max-content auto;
}

dt {
  grid-column-start: 1;
}

dd {
  grid-column-start: 2;
}

.ddetail{
	width:250px;
}

.add{
	width:70px;
}


