@charset "UTF-8";
/* CSS Document */
/* CSS Document */
/* default styles for extension "tx_frontend" */
.ce-align-left {
  text-align: left; }

.ce-align-center {
  text-align: center; }

.ce-align-right {
  text-align: right; }

.ce-table td, .ce-table th {
  vertical-align: top; }

.ce-textpic, .ce-image, .ce-nowrap .ce-bodytext, .ce-gallery, .ce-row, .ce-uploads li, .ce-uploads div {
  overflow: hidden; }

.ce-left .ce-gallery, .ce-column {
  float: left; }

.ce-center .ce-outer {
  position: relative;
  float: right;
  right: 50%; }

.ce-center .ce-inner {
  position: relative;
  float: right;
  right: -50%; }

.ce-right .ce-gallery {
  float: right; }

.ce-gallery figure {
  display: table;
  margin: 0; }

.ce-gallery figcaption {
  display: table-caption;
  caption-side: bottom; }

.ce-gallery img {
  display: block; }

.ce-gallery iframe {
  border-width: 0; }

.ce-border img,
.ce-border iframe {
  border: 2px solid #000000;
  padding: 0px; }

/* .ce-intext.ce-right .ce-gallery, .ce-intext.ce-left .ce-gallery, .ce-above .ce-gallery {
     margin-bottom: 10px;
 }*/
.ce-intext.ce-right .ce-gallery {
  margin-left: 10px; }

.ce-intext.ce-left .ce-gallery {
  margin-right: 10px; }

.ce-below .ce-gallery {
  margin-top: 10px; }

.ce-column {
  margin-right: 10px; }

.ce-column:last-child {
  margin-right: 0; }

/*.ce-row { margin-bottom: 10px; }*/
.ce-row:last-child {
  margin-bottom: 0; }

.ce-above .ce-bodytext {
  clear: both; }

.ce-intext.ce-left ol, .ce-intext.ce-left ul {
  padding-left: 40px;
  overflow: auto; }

/* Headline */
.ce-headline-left {
  text-align: left; }

.ce-headline-center {
  text-align: center; }

.ce-headline-right {
  text-align: right; }

/* Uploads */
.ce-uploads {
  margin: 0;
  padding: 0; }

.ce-uploads li {
  list-style: none outside none;
  margin: 1em 0; }

.ce-uploads img {
  float: left;
  padding-right: 1em;
  vertical-align: top; }

.ce-uploads span {
  display: block; }

/* Table */
.ce-table {
  width: 100%;
  max-width: 100%; }

.ce-table th, .ce-table td {
  padding: 0.5em 0.75em;
  vertical-align: top; }

.ce-table thead th {
  border-bottom: 2px solid #dadada; }

.ce-table th, .ce-table td {
  border-top: 1px solid #dadada; }

.ce-table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05); }

.ce-table-bordered th, .ce-table-bordered td {
  border: 1px solid #dadada; }

/* Space */
.frame-space-before-extra-small {
  margin-top: 1em; }

.frame-space-before-small {
  margin-top: 2em; }

.frame-space-before-medium {
  margin-top: 3em; }

.frame-space-before-large {
  margin-top: 4em; }

.frame-space-before-extra-large {
  margin-top: 5em; }

.frame-space-after-extra-small {
  margin-bottom: 1em; }

.frame-space-after-small {
  margin-bottom: 2em; }

.frame-space-after-medium {
  margin-bottom: 3em; }

.frame-space-after-large {
  margin-bottom: 4em; }

.frame-space-after-extra-large {
  margin-bottom: 5em; }

/* Frame */
.frame-ruler-before:before {
  content: '';
  display: block;
  border-top: 1px solid rgba(0, 0, 0, 0.25);
  margin-bottom: 2em; }

.frame-ruler-after:after {
  content: '';
  display: block;
  border-bottom: 1px solid rgba(0, 0, 0, 0.25);
  margin-top: 2em; }

.frame-indent {
  margin-left: 15%;
  margin-right: 15%; }

.frame-indent-left {
  margin-left: 33%; }

.frame-indent-right {
  margin-right: 33%; }

/**
 * MENU TOGGLE TYPE
 *
 * Use a Hamburger Icon or a Navigation bar.
 * Please note the slightly different HTML markup (demos).
 *
 */
/**
 * LABEL FORM
 */
/**
 * COLORS
 *
 * You can assign different colors to the first level and the sublevels,
 * e.g. a transparent bar and colored sublevels (see hamburger demo).
 */
/* first menu level */
/* menu sublevels */
/* active page */
/* miscellaneous */
/**
 * MEASURES
 */
/**
 * MENU TOGGLE TYPE
 */
#toggle-menu {
  /*  background-color: #424254;
    color: #fff;*/
  display: block;
  padding: 0.75em 1em;
  position: relative; }

/**
 * MENU ARROWS
 */
.topnavi__arrow {
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  border-top: 6px solid #fff;
  display: inline-block;
  vertical-align: middle;
  height: 0;
  width: 0; }

.topnavi__arrow--sub {
  border-top: 6px solid #fff;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  display: inline-block;
  vertical-align: middle;
  height: 0;
  width: 0; }

@media (min-width: 850px) {
  .topnavi__arrow--sub {
    border-right: none;
    border-bottom: 6px solid transparent;
    border-top: 6px solid transparent;
    border-left: 6px solid #fff; } }
/**
 * MOBILE VIEW
 */
.topnavi__lvl--first {
  /*background-color: #424254;*/ }

.topnavi__lvl--first::after {
  clear: both;
  /*content: "";*/
  display: table; }

.topnavi__lvl--first,
.topnavi__lvl--sub {
  margin: 0;
  padding: 0; }

.topnavi__lvl--first,
.topnavi input[type="checkbox"] {
  display: none; }

#toggle:checked + .topnavi__lvl--first,
.topnavi input[type="checkbox"]:checked + .topnavi__lvl--sub {
  display: block; }

.topnavi__item {
  /*color: #fff;*/
  display: block;
  position: relative; }

.topnavi__item a {
  display: block;
  position: relative;
  text-decoration: none; }

.topnavi__item a:hover, .topnavi__item a:focus {
  text-decoration: none;
  /*	text-underline-position:under;*/ }

/*.topnavi__item--header {
  background-color: #424254;
  color: #7abcb2;
  display: block;
  font-size: 0.75em;
  padding: 1.5em 1.25em 0.25em; }*/
.topnavi__link--first {
  /*background-color: #424254;
  color: #fff;*/
  padding: 0.75em 0;
  /*padding-right: 42px;*/ }

.topnavi__link--first:hover {
  /* background-color: #64908A;
   color: #fff;*/ }

.topnavi__lvl--sub {
  display: none;
  padding-left: 1em; }

.topnavi__link--sub {
  /* background-color: #424254;
   color: #fff;*/
  /* padding: 0.75em 1em;
   padding-right: 42px;*/ }

.topnavi__link--sub:hover {
  background-color: #64908A;
  color: #fff; }

.topnavi__link--active {
  background-color: #64908A;
  color: #fff;
  /* padding: 0.75em 1em;
   padding-right: 42px;*/ }

ul span.topnavi__label {
  display: none; }

/**
 * DESKTOP VIEW
 */
@media only screen and (min-width: 850px) {
  .topnavi {
    /*background-color: #424254;*/
    width: 100%; }

  .topnavi__lvl--first {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex; }

  .topnavi__lvl--first {
    justify-content: space-between; }

  /*	.topnavi__item {
  	-webkit-box-flex: 1;
  	-moz-box-flex: 1; 
  	-webkit-flex: 1;
  	-ms-flex: 1;
  	flex: 1; 
  	}
  */
  .topnavi__lvl--first {
    /*background-color: transparent;*/ }

  /*	.topnavi__lvl--first li {text-align: center;}
  	.topnavi__lvl--first li:first-child {text-align:left;}
  	.topnavi__lvl--first li:last-child {text-align:right;}*/
  #toggle-menu,
  .topnavi input[type="checkbox"]:checked + .topnavi__lvl--sub {
    display: none; }

  .topnavi__lvl--first,
  .topnavi__item:hover > input[type="checkbox"] + .topnavi__lvl--sub {
    display: block; }

  .topnavi__item {
    float: left; }

  .topnavi__link--first {
    /*background-color: #424254;
    color: #fff;*/
   /*padding: 0.75em 1em;
  padding-right: 42px;*/ }

  .topnavi__link--first:hover {
    /*  background-color: #64908A;
      color: #fff;*/ }

  .topnavi__link--active {
    /* background-color: #64908A;
     color: #fff;*/ }

  .topnavi__lvl--sub {
    display: none;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 100%;
    left: 0;
    width: 12em;
    z-index: 3000; }

  .topnavi__lvl--sub .topnavi__item {
    float: none; }

  .topnavi__lvl--sub .topnavi__lvl--sub {
    top: 0;
    left: 100%; } }
/**
 * LABELS
 */
.topnavi__label:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.topnavi__label {
  /*background-color: #a02a3c;*/
  height: 100%;
  padding: 0 .5em;
  position: absolute;
  cursor: pointer;
  right: 0;
  top: 0; }

.topnavi {
  /*border-bottom: 1px solid #64908A;*/ }

#toggle-menu {
  /* border-bottom: 1px solid #64908A;*/ }

.topnavi__lvl--sub {
  /*border-top: 1px solid #64908A;*/ }

.topnavi__lvl--sub .topnavi__item:last-child {
  border-width: 0; }

.topnavi__item {
  /*border-bottom: 1px solid #64908A;*/ }

.topnavi__item--header {
  letter-spacing: 0.2em;
  text-transform: uppercase; }

.topnavi__item a {
  transition: all .125s ease-in-out;
  -webkit-transition: all .125s ease-in-out; }

@media only screen and (min-width: 850px) {
  .topnavi__item {
    border-width: 0 1px 0 0; }

  .topnavi__lvl--sub {
    border-width: 0; }

  .topnavi__lvl--sub .topnavi__item {
    border-width: 0 0 1px; } }
/* ############# Navigation Symbol Mobil ############### */
.topnavi .container {
  padding: 0.25em 25px;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 25px; }

.topnavi .container label div {
  text-align: right;
  display: inline-block; }

.topnavi .bar1,
.topnavi .bar2,
.topnavi .bar3 {
  display: block;
  width: 33px;
  height: 4px;
  margin-bottom: 5px;
  position: relative;
  /*background: #cdcdcd;*/
  border-radius: 3px;
  z-index: 1;
  transform-origin: 4px 0px;
  transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), opacity 0.55s ease; }

.topnavi .change .bar1 {
  -webkit-transform: rotate(45deg) translate(0, -2px);
  transform: rotate(45deg) translate(0, -2px);
  /*background: #fff;*/ }

.topnavi .change .bar2 {
  opacity: 0; }

.topnavi .change .bar3 {
  -webkit-transform: rotate(-45deg) translate(0, -2px);
  transform: rotate(-45deg) translate(0, -2px);
  /*background: #fff;*/ }

/* CSS */
/*Farben für Architektin Sell

Hintergrundfarbe: #ddd


Schrift:
normal			#555
hover	grün	rgba(134,189,44,1.00)
Grün:			#86bd2c
aktiv	     	#fff

*/
.topnavi {
  border-bottom: 0px solid transparent; }

/*Border unter der Navi Desktop ganze Breite*/
#toggle-menu {
  /*background-color:#fafafa;*/
  /*border-bottom: 1px solid #666;*/ }

/*Hintergrundfarbe Navigation oben für Symbol nur mobil*/
.topnavi__lvl--first {
  background-color: #fafafa; }

/*Hintergrundfarbe hinter den Button  für mobil*/
/*.topnavi__link--first { background-color:rgba(240,240,240,0.90);} */
/*normal Hintergrund 1. Ebene nur mobil*/
.topnavi__link--sub {
  background-color: rgba(240, 240, 240, 0.9); }

/*normal Hintergrund ab 2. Ebene*/
.topnavi__link--first:hover {
  background-color: white; }

/*hover 1. Ebene mobil*/
.topnavi__link--sub:hover {
  background-color: white; }

/*hover 2. Ebene*/
.topnavi__link--active {
  background-color: rgba(200, 200, 200, 0.94); }

/*Aktiv Hintergrund nur mobil*/
.topnavi__lvl--first > .topnavi__item {
  border-bottom: 1px solid #666; }

/*Border unten 1. Ebene mobil*/
.topnavi__lvl--first .topnavi__item li {
  border-bottom: 1px solid #666; }

/*Border unten 2. Ebene */
@media only screen and (min-width: 850px) {
  /*.topnavi {background-color:#fafafa; } */
  /*Hintergrund ganze Breite*/
  .topnavi__lvl--first {
    background-color: transparent; }

  /*Hintergrund ganze Breite*/
  .topnavi__link--first {
    background-color: transparent; }

  /*Hintergrundfarbe Navi 1. Ebene nur Desktop*/
  .topnavi__link--first:hover {
    background-color: transparent; }

  /*hover 1. Ebene nur Desktop */
  /*.topnavi__link--active { background-color:#fafafa;}*/
  /*Aktiv Hintergrund nur Desktop */
  .topnavi {
    border-bottom: 0px solid #ddd; }

  /*Border unter der Navi Desktop ganze Breite*/
  #toggle-menu {
    border-bottom: 0px solid transparent; }

  /*ist ausgeblendet für Desktop*/
  .topnavi__lvl--sub {
    border-top: 1px solid #666; }

  /*Border oben bei Sub-Navigation*/
  .topnavi__lvl--first > .topnavi__item {
    border-bottom: 1px solid transparent; }

  /*Border unten 1. Ebene Desktop*/ }
/*Symbol Navigation mobil*/
.topnavi .bar1, .topnavi .bar2, .topnavi .bar3 {
  background: #666; }

/*x für Navi Mobil*/
.topnavi .change .bar1, .topnavi .change .bar3 {
  background: #333; }

/*x für Navi Mobil wenn geöffnet*/
/*Schriftfarben*/
.topnavi__link--first, .topnavi__link--sub,
.topnavi__link--sub, .topnavi__item {
  color: #999;
  border-bottom: 2px solid #fafafa; }

/*Schrift normal*/
.topnavi__link--active {
  color: #86bd2c;
  border-bottom: 2px solid #86bd2c; }

/*Schrift activ*/
.topnavi__link--first:hover, .topnavi__link--sub:hover {
  color: #86bd2c;
  text-shadow: rgba(255, 255, 255, 0.9) 0px 0px 3px;
  border-bottom: 2px solid #86bd2c; }

/*Schrift hover*/
/*.topnavi {text-shadow: rgba(50,50,50,0.45) 1px 1px 3px;}*/
/*MENU ARROWS*/
.topnavi__label {
  background-color: #bbb;
  transition: all .125s ease-in-out;
  -webkit-transition: all .125s ease-in-out; }

.topnavi__label:hover {
  background-color: #ddd; }

/*Box für Pfeil bei sub-Navigation Desktop + mobil*/
.topnavi__arrow {
  border-top: 6px solid #666; }

.topnavi__arrow--sub {
  border-top: 6px solid #666; }

@media (min-width: 850px) {
  .topnavi__arrow--sub {
    border-left: 6px solid #666;
    border-top: 6px solid transparent; }

  .topnavi__label {
    background-color: transparent; } }
/*ausblenden 1. Box für mobil*/
.topnavi label .topnavi__label {
  background-color: transparent; }

.container .topnavi__arrow {
  border-top: 6px solid transparent; }

.container .topnavi__arrow--sub {
  border-top: 6px solid transparent; }

/*korrektur position höhe 3. Ebene für Desktop*/
.topnavi__lvl--sub li ul {
  margin-top: -1px; }

@media (min-width: 850px) {
  .topnavi {
    display: inline-block;
    /*border-bottom: solid 1px #aaa;
    display:flex;
    align-items: center;
    justify-content: center;*/ }

  .topnavi__lvl--sub {
    margin-top: 1px; } }
/*####### Änderungen #######*/
@media (min-width: 850px) {
  .topnavi__item {
    margin-right: 1em; }

  .topnavi__item:last-child {
    margin-right: 1em; }

  .topnavi__lvl--first {
    margin: 0 1em;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex; } }
.topnavi__lvl--first .topnavi__item {
  text-align: center; }

/* CSS Document */
body,
html {
  font-family: "Gill Sans", "Gill Sans MT", "Myriad Pro", "DejaVu Sans Condensed", Helvetica, Arial, "sans-serif";
  color: #818181;
  padding: 2vw; }

/*.ce-headline-center,
.ce-center {
	text-align: center;
}*/
hr {
  border: 3px solid #90b258;
  width: 50%;
  margin: 0 auto; }

h1 {
  font-size: 5vw; }

a {
  color: #818181; }

a:hover {
  color: #90b258; }

/* CSS Document */
/*Grün #86bd2c*/
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

html, body {
  height: 100%;
  width: 100%;
  padding: 0;
  margin: 0;
  background-color: #fafafa; }

/*Hintergrundfarbe*/
#wrapp-all {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 0 50px 0;
  position: relative; }

/* Logo */
.logo-name {
  display: inline-block; }

.logo-name h2, .logo-name h2 a {
  margin: 0;
  padding: 0;
  text-decoration: none;
  z-index: 100;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 12px; }

.navi-wrap {
  width: 100%;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex; }

.navi-top-main, .logo-name {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1; }

.logo-name .ce-bodytext p,
footer .ce-bodytext {
  padding: 0;
  font-size: 0.8rem; }

@media only screen and (min-width: 768px) {
  .logo {
    padding: 30px 0 10px 0; }

  .logo img {
    height: auto;
    max-width: 100%; } }
@media only screen and (max-width: 850px) {
  /*.topnavi {float: right;}*/
  .navi-top-main {
    position: absolute;
    width: 100%; }

  .topnavi {
    width: 100%; } }
/* ### Schrift #### */
body {
  color: #555;
  font-family: Tahoma, Geneva, sans-serif;
  font-size: 1.1rem; }

.space-content h1 {
  color: #333;
  font-size: 3rem;
  font-weight: 300;
  margin: 0; }

.space-content h2 {
  color: #666;
  font-weight: 300; }

.space-content h3 {
  color: #9cee4d;
  font-weight: 200; }

.space-content h4 {
  color: #aaa;
  font-weight: 200; }

@media only screen and (min-width: 768px) {
  div.logo-wrap {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex; }

  div.logo-wrap > div {
    width: 50%; } }
@media only screen and (min-width: 1024px) {
  .logo-name h2 {
    text-align: right;
    font-size: 3.5rem; } }
@media only screen and (max-width: 1024px) {
  .logo-name h2 {
    text-align: right;
    font-size: 3rem; } }
@media only screen and (max-width: 900px) {
  .logo-name h2 {
    text-align: right;
    font-size: 2rem; } }
/*@media only screen and (max-width:860px){.logo-name h2 {text-align:center;} }*/
/* ### Inhalt ### */
/*.drei-zeilen_0 {margin-top: 50px;}*/
.drei-zeilen_0 .space-content h1 {
  margin-top: 0; }

/* Obere Zeile „drei-zeilen“: volle Viewport-Breite; Bilder max. 400px hoch, Bildausschnitt per object-fit zentriert */
.layout-drei-zeilen.space-content .drei-zeilen_1 {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  box-sizing: border-box; }

.layout-drei-zeilen.space-content .drei-zeilen_1 img {
  width: 100%;
  height: 400px;
  max-height: 400px;
  object-fit: cover;
  object-position: center center; }

.layout-drei-zeilen.space-content .drei-zeilen_0,
.layout-drei-zeilen.space-content .drei-zeilen_2 {
  width: 100%;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box; }

.layout-1spalte .layout-space-r-l,
.layout-2spalten .layout-space-r-l,
.layout-2spalten_50 .layout-space-r-l,
.layout-jumbotron .layout-space-r-l,
.layout-drei-zeilen .layout-space-r-l {
  padding: 50px 25px 5px 25px;
  min-height: 500px; }

.space-content {
  padding: 0; }

.space-content .contenttable td {
  vertical-align: top; }

/* #### Multicolumn ### */
@media only screen and (min-width: 768px) {
  /*.multicolumnContainer,*/
  .layout-2spalten_50 .layout-space-r-l,
  .layout-2spalten .layout-space-r-l,
  .spalten-jumbotron {
    align-content: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex; }

  .spalten-jumbotron div,
  .layout-2spalten_50 .layout-space-r-l div,
  .layout-2spalten .layout-space-r-l div:last-child {
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1; }

  /*.multicolumnLayout10 .columnFirst,*/
  .layout-2spalten .layout-space-r-l div {
    -webkit-box-flex: 3;
    -moz-box-flex: 3;
    -webkit-flex: 3;
    -ms-flex: 3;
    flex: 3; }

  /*.multicolumnContainer li {padding-right: 25px;}
  .multicolumnContainer li:last-child {padding-right:0;}*/ }
/*@media only screen and (max-width:768px){
.multicolumnContainer .column {min-width: 100%;}
}*/
/*Spalten Jumbotron*/
/*.spalten-jumbotron div {width: 100%;}*/
@media only screen and (min-width: 768px) {
  .spalten-jumbotron > div:first-child {
    margin-right: 25px; }

  .spalten-jumbotron > div:last-child {
    margin-left: 25px; }

  .spalten-jumbotron > div {
    width: 33%; }

  .spalten-jumbotron > div > div {
    width: 100%; }

  .spalten-jumbotron {
    height: 100%; } }
/*@media only screen and (max-width:768px){ .multicolumnContainer .column {float: none; width: 100%;} }*/
/* Responsive Bilder */
.space-content img,
.space-content figure,
.space-content .ce-outer,
.space-content .ce-inner,
.space-content .ce-row {
  width: 100%;
  max-width: 100%;
  height: auto; }

@media only screen and (min-width: 768px) {
  .space-content .ce-row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    margin-bottom: 4px; }

  .space-content .ce-column {
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    width: 20%;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1; } }
@media only screen and (max-width: 767px) {
  .space-content .ce-row {
    min-width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column; }

  .space-content .ce-gallery {
    width: 100%; }

  .space-content .ce-column {
    margin-right: 0;
    margin-bottom: 10px; }

  .space-content img, .space-content figure {
    min-width: 100%;
    height: auto; }

  .space-content .ce-inner, .space-content .ce-outer {
    width: 100%;
    height: auto; } }
.ce-center .text-center {
  text-align: center; }

.drei-zeilen_0 a {
  color: #555;
  font-weight: 900;
  text-decoration: none;
  transition: all .225s ease-in-out;
  -webkit-transition: all .225s ease-in-out; }

.drei-zeilen_0 a:hover {
  color: #000; }

.space-content .image-caption {
  font-size: 0.7rem;
  text-align: center;
  padding: 10px; }

@media only screen and (max-width: 768px) {
  .space-content h1 {
    font-size: 2rem; }

  .space-content h2 {
    font-size: 1.5rem; } }
/*Silbentrennung*/
p, h1, h2, h3 {
  -moz-hyphens: auto;
  -o-hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto; }

#sd-lightbox {
  background: rgba(0, 0, 0, 0.7); }

/*### Spalten Abstand ###*/
@media only screen and (min-width: 768px) {
  .layout-2spalten .content_2Spalten_0,
  .layout-2spalten_50 .content_2Spalten_50_0 {
    margin-right: 25px; }

  .layout-2spalten_50 .content_2Spalten_50_2 {
    margin-left: 25px; } }
.layout-space-r-l .frame-type-textmedia .ce-gallery .ce-inner {
  padding-top: 12px; }

.frame-type-textmedia p,
.layout-space-r-l .frame-type-text p {
  margin-top: 7px; }

.logo-name .frame-type-text p {
  font-size: 0.8rem;
  padding-left: 2em; }

/* ### footer ### */
footer {
  width: 100%;
  margin: 0;
  padding: 0;
  border-top: #86bd2c solid 2px;
  box-sizing: border-box; }

footer #footer-inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 25px;
  font-size: 0.8rem;
  box-sizing: border-box; }

@media only screen and (min-width: 900px) {
  #footer-inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex; }

  #footer-inner > div {
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    width: 50%;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1; } }
#footer-inner .footer-navigation {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between; }

.footer-navigation a {
  color: #bbb;
  text-decoration: none;
  padding: 25px 15px; }

.footer-navigation a:hover {
  color: #86bd2c; }

.footer-navigation {
  padding-bottom: 25px; }

.footer-navigation p {
  display: inline-block; }

#footer-inner .footerkontakt {
  font-size: 1rem;
  font-weight: 200; }

#footer-inner .footerkontakt .ce-bodytext {
  padding-left: 15px; }

#footer-inner .footerkontakt a {
  color: #555;
  text-decoration: none; }

#footer-inner .footerkontakt a:hover {
  color: #86bd2c; }

/*#footer-inner .footerkontakt > div { margin: 0 1em 0 1em;}*/
/* ############ Boxen ################## */
/* #### Multicolumn ### */
@media only screen and (min-width: 768px) {
  .multicolumnContainer {
    align-content: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex; }

  .multicolumnContainer li {
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1; }

  .multicolumnContainer li {
    padding-right: 25px; }

  .multicolumnContainer li:last-child {
    padding-right: 0; }

  .multicolumnContainer .columnItems {
    height: 100%; } }
/*nur padding in spalten ohne ausgewählte Box*/
/*.spalten-jumbotron .frame-default p,
.spalten-jumbotron .frame-default h1,
.spalten-jumbotron .frame-default h2,
.spalten-jumbotron .frame-default h3,*/
div.frame-greybox p,
div.frame-greybox h1,
div.frame-greybox h2,
div.frame-greybox h3,
div.frame-whitebox p,
div.frame-whitebox h1,
div.frame-whitebox h2,
div.frame-whitebox h3,
div.frame-whiteborder p,
div.frame-whiteborder h1,
div.frame-whiteborder h2,
div.frame-whiteborder h3 {
  padding-right: 25px;
  padding-left: 25px; }

/* ############## WS_Flexslider ############# */
/* Rahmen entfernen */
.flexslider {
  margin: 0 0 60px;
  background: #fff;
  border: 0px solid #fff;
  position: relative;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  -o-border-radius: 0px;
  border-radius: 0px;
  /* -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.2);
   -moz-box-shadow: 0 1px 4px rgba(0,0,0,.2);
   -o-box-shadow: 0 1px 4px rgba(0,0,0,.2);
   box-shadow: 0 1px 4px rgba(0,0,0,.2);*/
  zoom: 1; }

/* Überschrift und Beschreibung */
.tx-ws-flexslider .caption-text {
  background: none;
  width: 100%;
  left: 0;
  text-align: center;
  /*color: #fff;
  text-shadow:0 2px 4px rgba(0,0,0,.8);*/
  font-size: 1.8rem; }

.tx-ws-flexslider .caption-align-left .caption-text {
  left: 0; }

.tx-ws-flexslider .caption-text .caption-title {
  font-size: 4rem;
  font-weight: 100;
  padding: 65px 0 0 0;
  margin: 0; }

/*@media only screen and (min-width:860px) {
	.tx-ws-flexslider .caption-text {display: none;}
}
*/
/*Link*/
@media only screen and (min-width: 860px) {
  .tx-ws-flexslider .caption-text {
    display: none; }

  .tx-ws-flexslider .caption-align-left .caption-link {
    width: 100%;
    min-width: 100%;
    height: 100%;
    left: 0;
    bottom: 0; }

  .tx-ws-flexslider .caption-align-left .caption-link a {
    padding: 100px;
    width: 100%;
    min-width: 100%;
    height: 100%;
    display: block;
    color: transparent; } }
@media only screen and (max-width: 860px) {
  .tx-ws-flexslider .caption-text .caption-title {
    font-size: 3rem; }

  .tx-ws-flexslider .caption-align-left .caption-link a {
    padding: 25px;
    display: block; } }
/*##### Tabelle für Referenzen und Vita #####*/
.ce-bodytext .contenttable td {
  padding: 5px 10px 5px 25px; }

.ce-bodytext .contenttable td:first-child {
  padding-left: 0; }

.frame-tbl-ref tr td:first-child {
  text-align: right; }

.frame-accordion {
  border-left: 2px solid #86bd2c;
  padding-left: 25px; }

/* when JS is enabled: we style each processed accordion item */
.accordion-item {
  border-left: 2px solid #86bd2c;
  padding-left: 25px; }

html.js-accordion .frame-accordion,
html.js-accordion .accordion-item {
  border-left: none;
  padding-left: 0; }

html.js-accordion .accordion-item header {
  margin: 0; }

html.js-accordion .accordion-item header h1,
html.js-accordion .accordion-item header h2,
html.js-accordion .accordion-item header h3,
html.js-accordion .accordion-item header h4,
html.js-accordion .accordion-item header h5,
html.js-accordion .accordion-item header h6 {
  margin: 0; }

html.js-accordion .accordion-item .accordion__toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 12px;
  margin: 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  text-align: left;
  cursor: pointer;
  color: inherit;
  font: inherit; }

html.js-accordion .accordion-item .accordion__toggle::after {
  content: '';
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: rotate(45deg);
  transition: transform 420ms ease; }

html.js-accordion .accordion-item.is-open .accordion__toggle::after {
  transform: rotate(-135deg); }

html.js-accordion .accordion-item .accordion__toggle:focus-visible {
  outline: 2px solid rgba(134, 189, 44, 0.65);
  outline-offset: 2px; }

html.js-accordion .accordion-item .accordion__panel {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transform: translateY(-2px);
  transition: max-height 700ms ease, opacity 300ms ease, transform 700ms ease;
  pointer-events: none; }

html.js-accordion .accordion-item.is-open .accordion__panel {
  max-height: 2000px;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto; }

html.js-accordion .accordion-item .accordion__content {
  padding: 12px 12px 18px 12px; }

@media (prefers-reduced-motion: reduce) {
  html.js-accordion .accordion-item .accordion__toggle::after {
    transition: none; }

  html.js-accordion .accordion-item .accordion__panel {
    transition: none; } }
/* frame_class: Text mit Link */
.frame-textlink .ce-bodytext {
  text-align: center; }

.frame-textlink .ce-bodytext a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  background: linear-gradient(180deg, #86bd2c 0%, #6fa91f 100%);
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 14px 30px rgba(134, 189, 44, 0.22), 0 3px 0 rgba(0, 0, 0, 0.12);
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
  position: relative;
  overflow: hidden; }

.frame-textlink .ce-bodytext a::before {
  content: '';
  position: absolute;
  top: -40%;
  left: -60%;
  width: 220%;
  height: 160%;
  background: radial-gradient(circle at 30% 10%, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0) 55%);
  opacity: 0;
  transform: translateX(-20%);
  transition: opacity 180ms ease, transform 420ms ease;
  pointer-events: none; }

.frame-textlink .ce-bodytext a:hover,
.frame-textlink .ce-bodytext a:focus-visible {
  transform: translateY(-2px);
  filter: saturate(1.05);
  box-shadow: 0 18px 42px rgba(134, 189, 44, 0.32), 0 4px 0 rgba(0, 0, 0, 0.14); }

.frame-textlink .ce-bodytext a:hover::before,
.frame-textlink .ce-bodytext a:focus-visible::before {
  opacity: 1;
  transform: translateX(0); }

figure.table {
  margin: 0; }

/* -------------------- Spalten / Grid --------------------- */
@media only screen and (min-width: 768px) {
  .grid-row {
    display: flex; }

  .grid-col,
  .col-lg-3,
  .col-lg-4,
  .col-lg-6,
  .col-lg-8,
  .col-lg-9 {
    flex: 1;
    padding-right: 50px; }

  .col-lg-3 {
    flex: 3; }

  .col-lg-4 {
    flex: 4; }

  .col-lg-6 {
    flex: 6; }

  .col-lg-8 {
    flex: 8; }

  .col-lg-9 {
    flex: 9; }

  .grid-col:last-child,
  .col-lg-3:last-child,
  .col-lg-4:last-child,
  .col-lg-6:last-child,
  .col-lg-8:last-child,
  .col-lg-9:last-child {
    padding-right: 0; }

  .ce-row {
    display: flex;
    min-width: 100%; }

  .ce-column {
    flex: 1; } }
.grid-container {
  padding-bottom: 50px; }

/* Slick: Punkte (•) größer und weiß – Ziffern im Button per font-size:0 unsichtbar, Darstellung nur über ::before */
.slick-slider {
  position: relative; }

/* Dots als Overlay über dem Bild (nicht darunter) */
.slick-slider .slick-dots {
  bottom: clamp(10px, 2vw, 22px) !important;
  z-index: 5; }

/* Abstand unter Slick-Elementen vereinheitlichen (Slick-Theme setzt hier oft 30px) */
.slick-dotted.slick-slider {
  margin-bottom: 10px !important; }

.slick-dots li {
  position: relative;
  width: 1.85rem;
  height: 1.85rem;
  margin: 0 0.4rem; }

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 1.85rem;
  height: 1.85rem;
  padding: 0;
  color: transparent;
  border: 0;
  background: transparent;
  cursor: pointer; }

.slick-dots li button::before {
  font-family: 'slick', sans-serif;
  font-size: 14px;
  line-height: 1.85rem;
  position: absolute;
  top: 0;
  left: 0;
  width: 1.85rem;
  height: 1.85rem;
  content: '•';
  text-align: center;
  color: #fff;
  opacity: 0.45;
  -webkit-text-stroke: 0.65px rgba(0, 0, 0, 0.82);
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.95), 0 1px 2px rgba(0, 0, 0, 0.9), 0 0 5px rgba(0, 0, 0, 0.45);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-dots li.slick-active button::before {
  opacity: 1;
  color: #fff; }

.slick-dots li button:hover::before,
.slick-dots li button:focus::before {
  opacity: 0.9;
  color: #fff; }

/* Slick: Bildunterschrift (file.description) als Text-Overlay mit verzögertem Fade-In */
.slick-slider .slick-slide figure.image {
  position: relative;
  /* Die Caption liegt als Overlay absolut und erhöht sonst nicht die Figur-Höhe.
     Damit bleibt der vertikale Abstand zum nächsten Element konsistent. */
  padding-bottom: 0px; }

.slick-slider .slick-slide figure.image > .image-caption {
  position: absolute;
  left: clamp(14px, 2.2vw, 46px);
  top: clamp(14px, 2.2vw, 46px);
  transform: translate(0, 0);
  z-index: 2;
  width: min(92%, 1200px);
  margin: 0;
  padding: 0;
  color: #fff;
  font-size: clamp(1.6rem, 3.2vw, 3.4rem);
  font-weight: 300;
  letter-spacing: 0.02em;
  text-align: left;
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.95), 0 2px 6px rgba(0, 0, 0, 0.75);
  opacity: 0;
  transition: opacity 650ms ease, transform 650ms ease;
  transition-delay: 0ms;
  pointer-events: none; }

.slick-slider .slick-slide.slick-active figure.image > .image-caption {
  opacity: 1;
  transform: translate(0, 0);
  transition-delay: 520ms;
  /* Text erscheint deutlich später als das Bild */ }

@media (max-width: 768px) {
  .slick-slider .slick-slide figure.image > .image-caption {
    left: 50%;
    top: clamp(10px, 3vw, 18px);
    transform: translate(-50%, 0);
    text-align: center; }

  .slick-slider .slick-slide figure.image {
    padding-bottom: 28px; }

  .slick-slider .slick-slide.slick-active figure.image > .image-caption {
    transform: translate(-50%, 0); } }
/* drei-zeilen_1: Überschrift (h2) wie Slider-Overlay + delayed Fade-In */
.layout-drei-zeilen .drei-zeilen_1 .frame-type-textmedia {
  position: relative; }

.layout-drei-zeilen .drei-zeilen_1 .frame-type-textmedia header {
  position: absolute;
  left: clamp(14px, 2.2vw, 46px);
  top: clamp(14px, 2.2vw, 46px);
  z-index: 3;
  width: min(92%, 1200px);
  margin: 0;
  padding: 0;
  pointer-events: none; }

.layout-drei-zeilen .drei-zeilen_1 .frame-type-textmedia header h2 {
  margin: 0;
  padding: 0;
  color: #fff;
  font-size: clamp(1.6rem, 3.2vw, 3.4rem);
  font-weight: 300;
  letter-spacing: 0.02em;
  text-align: left;
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.95), 0 2px 6px rgba(0, 0, 0, 0.75);
  opacity: 0;
  transform: translateY(-6px);
  animation: idsFadeInCaption 650ms ease forwards;
  animation-delay: 520ms; }

@media (max-width: 768px) {
  .layout-drei-zeilen .drei-zeilen_1 .frame-type-textmedia header {
    left: 50%;
    top: clamp(10px, 3vw, 18px);
    transform: translateX(-50%);
    text-align: center; }

  .layout-drei-zeilen .drei-zeilen_1 .frame-type-textmedia header h2 {
    text-align: center; } }
@media (prefers-reduced-motion: reduce) {
  .layout-drei-zeilen .drei-zeilen_1 .frame-type-textmedia header h2 {
    animation: none;
    opacity: 1;
    transform: none; } }
@keyframes idsFadeInCaption {
  to {
    opacity: 1;
    transform: translateY(0); } }

/*# sourceMappingURL=style.css.map */
