/*
███████████████████████████████████████████████████████████████████████████████████████████████
    FontAwesome
███████████████████████████████████████████████████████████████████████████████████████████████
*/
@import 'fontawesome/solid.min.css';

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Web-Fonts
███████████████████████████████████████████████████████████████████████████████████████████████
*/
/* roboto-100 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 100;
  src: local('Roboto Thin'), local('Roboto-Thin'),
       url('../fonts/roboto-v20-latin-100.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/roboto-v20-latin-100.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-300 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: local('Roboto Light'), local('Roboto-Light'),
       url('../fonts/roboto-v20-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/roboto-v20-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local('Roboto'), local('Roboto-Regular'),
       url('../fonts/roboto-v20-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/roboto-v20-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: local('Roboto Italic'), local('Roboto-Italic'),
       url('../fonts/roboto-v20-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/roboto-v20-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-500 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  src: local('Roboto Medium'), local('Roboto-Medium'),
       url('../fonts/roboto-v20-latin-500.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/roboto-v20-latin-500.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: local('Roboto Bold'), local('Roboto-Bold'),
       url('../fonts/roboto-v20-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/roboto-v20-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* biorhyme-300 - latin */
@font-face {
  font-family: 'BioRhyme';
  font-style: normal;
  font-weight: 300;
  src: local('BioRhyme Light'), local('BioRhyme-Light'),
       url('../fonts/biorhyme-v4-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/biorhyme-v4-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* biorhyme-700 - latin */
@font-face {
  font-family: 'BioRhyme';
  font-style: normal;
  font-weight: 700;
  src: local('BioRhyme Bold'), local('BioRhyme-Bold'),
       url('../fonts/biorhyme-v4-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/biorhyme-v4-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* biorhyme-regular - latin */
@font-face {
  font-family: 'BioRhyme';
  font-style: normal;
  font-weight: 400;
  src: local('BioRhyme'), local('BioRhyme-Regular'),
       url('../fonts/biorhyme-v4-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/biorhyme-v4-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Viewport-Anweisung
███████████████████████████████████████████████████████████████████████████████████████████████
*/
@-ms-viewport {
  width: device-width;
  zoom: 1;
}
@-o-viewport {
  width: device-width;
  zoom: 1;
}
@viewport {
  width: device-width;
  zoom: 1;
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Eric Meyer's CSS Reset
███████████████████████████████████████████████████████████████████████████████████████████████
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
header, section, footer, aside, nav, main, article, figure {
  display: block;
}
body {
  line-height: 1;
}
ol, ul {
  list-style: none;
}
ol li {
  list-style: decimal;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    allgemeine Einstellungen
███████████████████████████████████████████████████████████████████████████████████████████████
*/
html {
  font-size: 18px;
  scroll-behavior: smooth;
  min-height: 100%;
  position: relative;
}
body {
  position: relative;
  z-index: 0;
  font-size: 100%;
  background-color: #fff;
}
body::after {
  content: '';
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  opacity: .05;
}
body,
body * {
  box-sizing: border-box;
  font-family: 'Roboto', Arial, Helvetica, Sans-Serif;
  color: #333;
  line-height: 1.5em;
  background-repeat: no-repeat;
  font-weight: 300;
}
p,
ul,
ol,
table {
  margin-bottom: 1.5em;
}
strong,
.bold {
  font-weight: 700;
}
em {
  font-style: italic;
}
.center {
  text-align: center;
}
.center > * {
  display: inline-block;
}
.clear {
  clear: both;
  float: none;
}
a.fancybox img[style*="float:left"],
a.fancybox img[style*="float: left"] {
  margin: 0 2% 1% 0;
}
a.fancybox img[style*="float:right"],
a.fancybox img[style*="float: right"] {
  margin: 0 0 1% 2%;
}
sup {
  position: relative;
  vertical-align: baseline;
  top: -0.5em;
  font-size: 70%;
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Überschriften
███████████████████████████████████████████████████████████████████████████████████████████████
*/
h1, h2, h3, h4 {
  display: block;
  clear: both;
  float: none;
  overflow: visible;
  color: #0072B6;
  text-align: left;
  line-height: 1.3em;
  font-weight: 400;
  /* font-family: 'BioRhyme', "Times New Roman", Times, serif; */
}
h1,
h2.like_h1 {
  font-size: 2.5em;
  margin-top: .7em;
  margin-bottom: 1.3em;
  text-align: center;
}
h1 * {
  color: inherit;
}
h1 + .subheading {
  color: #777;
  font-size: 1.4em;
  margin-top: -2em;
  margin-bottom: 1.3em;
}
h2 {
  font-size: 2.1em;
  margin-top: 2em;
  margin-bottom: .6em;
  line-height: 1.1em;
}
h3 {
  font-size: 1.7em;
  margin-top: 2em;
  margin-bottom: .7em;
}
h2 + h3 {
  margin-top: 1em;
}
h4 {
  font-size: 1.2em;
  margin-top: 1.9em;
  margin-bottom: 1.1em;
  letter-spacing: .04em;
  font-weight: 400;
}
h3 + h4 {
  margin-top: .8em;
}
@media (max-width: 1300px) {
  h1,
  h2.like_h1 {
    font-size: 2.25em;
  }
  h1 + .subheading {
    font-size: 1.2em;
    margin-top: -2em;
    margin-bottom: 1.4em;
  }
  h2 {
    font-size: 1.8em;
  }
  h3 {
    font-size: 1.5em;
  }
  h4 {
    font-size: 1.1em;
  }
}
@media (max-width: 900px) {
  h1,
  h2.like_h1 {
    font-size: 1.8em;
  }
  h1 + .subheading {
    font-size: 1.15em;
    margin-top: -1.5em;
  }
  h2 {
    font-size: 1.5em;
    line-height: 1.4em;
  }
  h3 {
    font-size: 1.2em;
  }
  h4 {
    font-size: 1em;
  }
}
@media (max-width: 600px) {
  h1 + .subheading {
    font-size: 1.1em;
    margin-top: -.8em;
    text-align: left;
  }
}
@media (max-width: 550px) {
  h1,
  h2.like_h1 {
    font-size: 1.65em;
  }
  h2 {
    font-size: 1.4em;
  }
  h3 {
    font-size: 1.15em;
  }
}
/*
███████████████████████████████████████████████████████████████████████████████████████████████
    dynamische Schriftgröße
███████████████████████████████████████████████████████████████████████████████████████████████
*/
@media (max-width: 1300px) { body { font-size: 98.4%; } }
@media (max-width: 1200px) { body { font-size: 96.8%; } }
@media (max-width: 1100px) { body { font-size: 95.2%; } }
@media (max-width: 1000px) { body { font-size: 93.6%; } }
@media (max-width: 900px)  { body { font-size: 92.0%; } }
@media (max-width: 800px)  { body { font-size: 90.4%; } }
@media (max-width: 700px)  { body { font-size: 88.8%; } }
@media (max-width: 600px)  { body { font-size: 87.2%; } }
@media (max-width: 500px)  { body { font-size: 85.6%; } }
@media (max-width: 400px)  { body { font-size: 84.0%; } }
@media (max-width: 300px)  { body { font-size: 82.4%; } }

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Layout
███████████████████████████████████████████████████████████████████████████████████████████████
*/
.inner {
  width: 100%;
  max-width: 1280px;
  padding: 0 4rem;
  margin: 0 auto;
  overflow: auto;
}
.narrow {
  width: 100%;
  max-width: 900px;
  padding: 0 4rem;
  margin: 0 auto;
  overflow: auto;
}
.wide {
  width: 100%;
  max-width: 1500px;
  padding: 0 1em;
  margin: 0 auto;
  overflow: auto;
}
.anchor {
  display: block;
  position: absolute;
  margin-top: -8em;
  width: 0;
  height: 0;
}
@media (max-width: 1300px) {
  .inner {
    padding: 0 5.5%;
  }
}
@media (max-width: 1230px) {
  .inner {
    padding: 0 3%;
  }
}
@media (max-width: 900px) {
  .narrow {
    padding: 0 3%;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Column-Layout
███████████████████████████████████████████████████████████████████████████████████████████████
*/
.clc {
  overflow: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  align-content: stretch;
  margin-left: -1%;
  margin-right: -1%;
}
.clc.vcenter {
  align-items: center;
  align-content: center;
}
.clc + .clc {
  margin-top: 1em;
}
.clc .col {
  flex-grow: 0;
  flex-shrink: 1;
  margin: 1%;
}
.clc .col h2,
.clc .col h3 {
  margin-top: 0;
}
.clc .one_third {
  width: 31.33333%;
}
.clc .two_thirds {
  width: 63.66666%;
}
.clc .one_quarter {
  width: 22%;
}
.clc .one_half {
  width: 48%;
}
.clc .one_fifth {
  width: 18%;
}
@media (max-width: 800px) {
  .clc .one_third {
    width: 48%;
  }
}
@media (max-width: 400px) {
  .clc .one_third {
    width: 100%;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Pics im Column-Layout
███████████████████████████████████████████████████████████████████████████████████████████████
*/
.clc .col img {
  display: block;
  max-width: 100%;
  width: auto;
  margin: auto;
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Header
███████████████████████████████████████████████████████████████████████████████████████████████
*/
#header {
  overflow: visible;
  z-index: 1;
  position: fixed;
  top: 0;
  width: 100%;
  background-color: #fff;
  box-shadow:
    0 0px 1.5px rgba(0, 0, 0, 0.05),
    0 0px 3.8px rgba(0, 0, 0, 0.071),
    0 0px 7.8px rgba(0, 0, 0, 0.089),
    0 0px 16.1px rgba(0, 0, 0, 0.11),
    0 0px 44px rgba(0, 0, 0, 0.16)
  ;
  padding: .3em 0;
}
#header .top_line {
  background-color: #333;
  color: #fff;
  font-size: .9em;
  padding: .2em 0;
}
#header .top_line * {
  color: inherit;
}
#header .top_line a {
  line-height: 1.2em;
  display: inline-block;
  margin: 0 1em;
  text-decoration: none;
}
#header .top_line a::before {
  font-family: 'Font Awesome 5 Free';
  font-size: .8em;
  display: inline-block;
  text-align: center;
  min-width: 1em;
  margin-right: .6em;
}
#header .top_line a:hover {
  text-decoration: underline;
}
#header .top_line .telephone::before {
  content: "\f879";
}
#header .top_line .email::before {
  content: "\f0e0";
}
#header .top_line a.email {
  float: right;
}
#header .main_line {
  overflow: visible;
  position: relative;
}
#header .top_line + .main_line {
  position: unset;
  padding-top: .4em;
}
#header .logo {
  display: block;
  float: left;
  line-height: 0;
  padding: 0;
}
@media (max-width: 550px) {
  #header .logo img {
    max-height: 120px;
  }
}
@media (max-width: 390px) {
  #header .logo {
    max-width: 50%;
  }
  #header .logo img {
    width: 100%;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Kontakt-Buttons
███████████████████████████████████████████████████████████████████████████████████████████████
*/
#contact_btn_con {
  float: right;
  margin-top: 2.5em;
}
#contact_btn_con a {
  display: block;
  float: left;
  width: 2em;
  height: 2em;
  line-height: 2em;
  font-size: 1.5em;
  text-align: center;
  color: #DAD1CA;
  background-color: transparent;
  border: 1px solid #DAD1CA;
  margin-left: 3px;
}
#contact_btn_con a:hover {
  color: #F2B604;
  border-color: #F2B604;
}
#contact_btn_con a * {
  color: inherit;
}
@media (max-width: 550px) {
  #contact_btn_con {
    margin-top: 1em;
  }
}
@media (max-width: 440px) {
  #contact_btn_con a {
    width: 1.7em;
    height: 1.7em;
    line-height: 1.7em;
    font-size: 1.3em;
  }
}
@media (max-width: 390px) {
  #contact_btn_con {
    margin-top: .3em;
  }
}
/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Haupt-Navigation
███████████████████████████████████████████████████████████████████████████████████████████████
*/
#nav_overlay {
  display: block;
  overflow: visible;
  float: right;
  /* width: 55%; */
  margin-top: 3em;
  margin-right: 1em;
}
#navi * {
  text-decoration: none;
}
@media (max-width: 1200px) {
  #nav_overlay {
    margin-top: 2.6em;
  }
}
@media (max-width: 550px) {
  #nav_overlay {
    clear: right;
    margin-top: .5em;
  }
}
/*
===============================================================================================
    ... im Grundzustand
===============================================================================================
*/
#navi ul {
  overflow: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  align-content: stretch;
  margin-bottom: 0;
}
#navi ul > div {
  flex-grow: 0;
  flex-shrink: 1;
}
#navi ul > div li {
  display: inline-block;
}
#navi ul li a {
  display: block;
  overflow: visible;
  text-align: inherit;
  width: 100%;
  padding: .3em .8em;
  line-height: 1.5em;
  font-weight: 400;
  color: #000 !important;
  text-transform: uppercase;
  border-bottom: 3px solid transparent;
}
#navi ul li a:hover {
  border-color: rgba(0,0,0,.25);
  background-color: #fff;
  border-color: #F2B604;
}
#navi ul li.active a {
  border-color: #0072b6;
}
#navi ul li a * {
  font-weight: inherit;
  color: inherit;
}
@media (max-width: 1400px) {
  #navi ul li a {
    text-transform: none;
  }
}
/* @media (max-width: 600px) {
  body.with_topline #nav_overlay {
    margin-top: 2em;
  }
  body.without_topline #navi_con {
    padding-top: 2em;
  }
} */
/*
===============================================================================================
    geschlossenes Menu
===============================================================================================
*/
#nav_toggle {
  display: none;
  background-color: transparent;
  cursor: pointer;
  outline: none;
  padding: 1em 0 1em .5em;
  border: none;
  color: #222;
  line-height: 2em;
  margin: 0;
}
#nav_toggle * {
  color: inherit;
}
#nav_toggle::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0c9";
  font-size: 2.5em;
  display: inline-block;
  float: left;
  margin-right: .4em;
}
#header.pinned #nav_toggle::before {
  font-size: 2.3em;
}
#nav_toggle span {
  display: block;
  font-size: 1.3em;
  float: left;
  font-weight: 300;
}
@media (max-width: 1200px) {
  #nav_toggle {
    display: block;
    float: right;
  }
  #navi {
    display: none;
  }
}
@media (max-width: 640px) {
  #nav_toggle span {
    display: none;
  }
}
/*
===============================================================================================
    offenes Menu
===============================================================================================
*/
#nav_overlay.navopen #navi {
  position: fixed;
  z-index: 1;
  top: 0;
  right: 0;
  display: block;
  overflow: auto;
  width: 100%;
  padding: 5% 10% 460% 10%;
}
#nav_overlay.navopen #navi > ul {
  background-color: #444;
  padding: 3%;
  box-shadow: 0px 0px 80px 0px rgba(0,0,0,1);
  display: block;
}
#nav_overlay.navopen #navi > ul > div {
  flex-grow: unset;
  flex-shrink: unset;
}
#nav_overlay.navopen #navi > ul li {
  display: block !important;
  float: none;
  margin-left: 0;
  margin-right: 0;
  margin-top: .5em;
  outline: 1px solid rgba(255,255,255,.6);
  outline-offset: -1px;
}
#nav_overlay.navopen #navi ul li a {
  text-align: left;
  display: block;
  width: 100%;
  padding: .7rem;
  margin: 0;
  line-height: 1em;
  white-space: nowrap;
  color: #fff !important;
}
#nav_overlay.navopen #navi ul li a:hover {
  background-color: rgba(0,0,0,.7);
}
@media (max-width: 1200px) {
  #nav_overlay.navopen #navi {
    padding: 0 0 100% 0;
  }
  #nav_overlay.navopen #navi > ul {
    padding: 5% 4rem 5% 5%;
  }
}
/*
===============================================================================================
    Burger-Menu
===============================================================================================
*/
#nav_overlay.navopen #nav_toggle {
  font-size: 3em;
  font-weight: 400;
  float: right;
  right: 1rem;
  top: 1rem;
  position: fixed;
  z-index: 2;
  margin-top: 0;
  color: #D75151;
  line-height: .5em;
  width: .7em;
  padding: 0;
  background-color: transparent;
  border: none;
}
#nav_overlay.navopen #nav_toggle:hover {
  color: #FF1616;
}
#nav_overlay.navopen #nav_toggle::before {
  display: none;
}
@media (max-width: 550px) {
  #nav_overlay.navopen #nav_toggle {
    top: 1rem;
  }
}
@media (max-width: 460px) {
  #nav_overlay #nav_toggle span {
    display: none;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    VJS-Slider
███████████████████████████████████████████████████████████████████████████████████████████████
*/
#slider_con {
  background-color: #ccc;
  margin-top: -.2em;
  border-top: 85px solid #888;
}
#vjs_slider {
  position: relative;
  margin: auto;
  font-size: 0;
  padding: 0;
}
#vjs_slider .slide {
  display: none;
  animation-name: fade;
  animation-duration: 1500ms;
  position: relative;
}
#vjs_slider .slide::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow:
    inset 0 0px 3.8px rgba(0, 0, 0, 0.072),
    inset 0 0px 9.1px rgba(0, 0, 0, 0.103),
    inset 0 0px 17.2px rgba(0, 0, 0, 0.127),
    inset 0 0px 30.6px rgba(0, 0, 0, 0.15),
    inset 0 0px 57.2px rgba(0, 0, 0, 0.18),
    inset 0 0px 137px rgba(0, 0, 0, 0.25)
  ;
}
#vjs_slider .slide:first-of-type {
  display: block;
}
#vjs_slider .slide img {
  width: 100%;
}
#vjs_slider .slide picture {
  width: 100%;
}
#vjs_slider .arrow {
  cursor: pointer;
  position: absolute;
  top: 0;
  height: 100%;
  width: 10%;
  transition: 200ms ease-out;
  transition-property: background-color;
  transition-duration: 300ms, 200ms;
  user-select: none;
  font-size: 0;
  line-height: 0;
  background-color: rgba(117, 99, 80, .5);
}
#vjs_slider .arrow::after {
  content: "\f105";
  color: #fff;
  opacity: .7;
  font-family: 'Font Awesome 5 Free';
  font-size: 4.5rem;
  display: block;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}
#vjs_slider .arrow:hover::after {
  opacity: 1;
}
#vjs_slider .arrow.prev::after {
  transform: rotate(180deg);
}
#vjs_slider .prev {
  left: 0;
  padding-right: 2rem;
}
#vjs_slider .next {
  right: 0;
  padding-left: 2rem;
}
#vjs_slider .prev:hover,
#vjs_slider .next:hover {
  background-color: rgba(117, 99, 80, .9);
}
#vjs_slider .text {
  color: #fff;
  font-size: 1em;
  padding: .6em;
  position: absolute;
  bottom: 8px;
  width: 100%;
  text-align: center;
  background-color: rgba(0,0,0,.6);
}
@keyframes fade {
  from {opacity: .5}
  to {opacity: 1}
}
@media (max-width: 1200px) {
  #slider_con {
    border-top-width: 87px;
  }
}
@media (max-width: 1100px) {
  #vjs_slider .arrow::after {
    font-size: 3.5rem;
  }
  #vjs_slider .prev {
    padding-right: 1rem;
  }
  #vjs_slider .next {
    padding-left: 1rem;
  }
}
@media (max-width: 900px) {
  #slider_con {
    border-top-width: 120px;
  }
}
@media (max-width: 800px) {
  #vjs_slider .arrow::after {
    font-size: 2rem;
  }
  #vjs_slider .prev {
    padding-right: .5rem;
  }
  #vjs_slider .next {
    padding-left: .5rem;
  }
}
@media (max-width: 600px) {
  #slider_con {
    border-top-width: 190px;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Header-Bild
███████████████████████████████████████████████████████████████████████████████████████████████
*/
#header_pic {
  width: 100%;
  padding-bottom: 26%;
  background-image: url('../bilder/slider/slide-1.jpg');
  background-size: cover;
  background-position: 50% 50%;
  border-top: 149px solid #888;
}
body.taetigkeitsfelder #header_pic {
  background-image: url('../bilder/header-taetigkeitsfelder.jpg');
}
body.referenzen #header_pic {
  background-image: url('../bilder/header-referenzen.jpg');
}
body.kontakt #header_pic {
  background-image: url('../bilder/header-kontakt.jpg');
}
body.karriere #header_pic {
  background-image: url('../bilder/header-karriere.jpg');
}
body.impressum #header_pic {
  background-image: url('../bilder/header-impressum.jpg');
}
body.datenschutz #header_pic {
  background-image: url('../bilder/header-datenschutz.jpg');
}
@media (max-width: 550px) {
  body.with_topline #header_pic {
    border-top-width: 130px;
  }
}
@media (max-width: 390px) {
  #header_pic {
    border-top-width: 100px;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Content-Bereich
███████████████████████████████████████████████████████████████████████████████████████████████
*/
#content {
  padding: 2em 0 3em 0;
}
.home #content {
  padding: 0;
}
#content ul {
  margin-left: 1.5rem;
  list-style: none !important;
}
#content ul li {
  line-height: inherit;
  margin-top: .7em;
  line-height: 1.25em;
}
#content ul li::before {
  content: '\f058';
  font-family: 'Font Awesome 5 Free';
  font-size: .9em;
  display: block;
  float: left;
  width: 2em;
  margin-left: -2em;
  text-align: center;
  opacity: .8;
}
#content .button {
  display: inline-block;
  font-weight: 500;
  text-decoration: none !important;
  text-transform: uppercase;
  color: #756350;
  border: 1px solid #756350;
  background-color: transparent;
  line-height: 1em;
  padding: 1em 2em .9em 2em;
  /* border-radius: .3em; */
}
#content .button:hover {
  background-color: #756350;
  color: #fff;
}
#content .fancybox {
  display: inline-block;
  line-height: 0;
  box-shadow:
    0 0px 0.2px rgba(0, 0, 0, 0.02),
    0 0px 0.5px rgba(0, 0, 0, 0.028),
    0 0px 0.9px rgba(0, 0, 0, 0.035),
    0 0px 1.6px rgba(0, 0, 0, 0.042),
    0 0px 2.9px rgba(0, 0, 0, 0.05),
    0 0px 7px rgba(0, 0, 0, 0.07)
  ;
}
#content .fancybox:hover {
  outline: 1px solid #666;
  outline-offset: -6px;
}
#content .fancybox img {
  width: auto;
  max-width: 100%;
}
@media (max-width: 800px) {
  #content .button {
    padding: .8em 1.5em .75em 1.5em;
    border-radius: .25em;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Container
███████████████████████████████████████████████████████████████████████████████████████████████
*/
.container {
  position: relative;
  z-index: 0;
  padding: 3em 0;
  background-color: #fff;
  background-color: transparent;
  text-align: center;
}
.container::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: .05;
}
.container .inner {
  overflow: hidden;
}
.container h1 {
  margin-top: 0;
  margin-bottom: 1em;
}
@media (max-width: 1200px) {
  .container {
    padding-bottom: 2em;
  }
}
@media (max-width: 800px) {
  .container {
    padding: 2em 0;
  }
  .container h1 {
    line-height: 1.1em;
  }
}
@media (max-width: 600px) {
  .container h1 {
    text-align: left;
    margin-bottom: .5em;
  }
  .container p {
    text-align: justify;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    dark Container
███████████████████████████████████████████████████████████████████████████████████████████████
*/
.container.dark {
  background-color: #ddd;
  background: linear-gradient(165deg,#ddd 0%,#eee 30%,#eee 70%,#ddd 100%);
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Intro auf Homepage
███████████████████████████████████████████████████████████████████████████████████████████████
*/
#intro p {
  font-size: 1.15em;
}
@media (max-width: 500px) {
  #intro p {
    text-align: left;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Leistungen auf Homepage
███████████████████████████████████████████████████████████████████████████████████████████████
*/
#services {
  padding: 4em 0;
  background-color: #F4F1EF;
  /* box-shadow:
    inset 0 0px 3.2px rgba(0, 0, 0, 0.028),
    inset 0 0px 7.6px rgba(0, 0, 0, 0.04),
    inset 0 0px 14.3px rgba(0, 0, 0, 0.05),
    inset 0 0px 25.5px rgba(0, 0, 0, 0.06),
    inset 0 0px 47.6px rgba(0, 0, 0, 0.072),
    inset 0 0px 114px rgba(0, 0, 0, 0.1)
  ; */
}
#services .inner {
  overflow: hidden;
}
#services h2 {
  text-align: center;
  margin-top: 0;
  margin-bottom: .5em;
}
#services .flex_con {
  overflow: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  align-content: stretch;
  margin-bottom: 1.5em;
}
#services .flex_con .flex_item {
  flex-grow: 1;
  flex-shrink: 1;
  width: 100%;
  padding: 1em;
  text-align: center;
  text-decoration: none;
  border: 1px solid transparent;
}
#services .flex_con a.flex_item:hover {
  border-color:#D0C5BD;
}
#services .flex_con .flex_item img {
  display: block;
  width: auto;
  max-width: 90%;
  margin: 0 auto 1.5em auto;
}
#services .flex_con .flex_item .fas {
  color: #151515;
  font-size: 3.7em;
  margin: 0 auto .2em auto;
}
#services .flex_con .flex_item h3 {
  color: #756350;
  margin: 0 0 .7em 0;
  font-size: 1.3em;
  text-align: center;
  text-transform: uppercase;
}
#services .flex_con .flex_item p {
  margin-bottom: 0;
  color: #888075;
}
@media (max-width: 1000px) {
  #services .flex_con {
    flex-wrap: wrap;
    justify-content: space-around;
    margin-bottom: 0;
  }
  #services .flex_con .flex_item {
    width: 48%;
    margin-bottom: 3em;
    flex-grow: 0;
  }
  #services .flex_con .flex_item img {
    margin-bottom: 1em;
  }
}
@media (max-width: 550px) {
  #services .flex_con {
    margin-bottom: .5em;
  }
  #services .flex_con .flex_item {
    width: 100%;
    margin-bottom: 2em;
  }
  #services .flex_con .flex_item h3 {
    margin: 0 0 .3em 0;
  }
  #services .flex_con .flex_item img {
    margin-bottom: .5em;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Leistungen (Seite)
███████████████████████████████████████████████████████████████████████████████████████████████
*/
#services_descriptions .service_segment {
  margin-top: 5em;
  margin-bottom: 2em;
}
#services_descriptions .service_segment .col:first-of-type {
  order: 2;
}
#services_descriptions .service_segment .col:last-of-type {
  order: 1;
}
#services_descriptions .service_segment:nth-of-type(odd) .col:first-of-type {
  order: 1;
}
#services_descriptions .service_segment:nth-of-type(odd) .col:last-of-type {
  order: 2;
}
@media (max-width: 1000px) {
  #content .service_segment .col {
    width: 100% !important;
  }
  #content .service_segment .col:first-of-type {
    order: 1;
  }
  #content .service_segment .col:last-of-type {
    order: 2;
  }
  #content .service_segment .col.txt :last-child {
    margin-bottom: 0;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Karriere-Teaser
███████████████████████████████████████████████████████████████████████████████████████████████
*/
#jobs_teaser {
  padding: 6em 0;
  background-color: #777;
  background-size: cover;
  background-position: 50% 50%;
  color: #fff;
  position: relative;
  background-image: url('../bilder/karriere-bg.jpg');
}
#jobs_teaser::after {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.25);
}
#jobs_teaser * {
  color: inherit;
}
#jobs_teaser .inner {
  position: relative;
  z-index: 2;
}
#jobs_teaser h2 {
  margin-top: 0;
  margin-bottom: .5em;
  text-align: left;
}
#jobs_teaser .cta {
  margin-bottom: .9em;
  font-size: 2.8em;
  font-weight: 100;
  line-height: 1.1em;
}
#jobs_teaser .button {
  color: #fff !important;
  border-color: #fff;
}
#jobs_teaser .button:hover {
  color: #333 !important;
  background-color: #fff;
  border-color: #fff;
}
@media (max-width: 1000px) {
  #jobs_teaser .cta {
    font-size: 2.2em;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Referenzen
███████████████████████████████████████████████████████████████████████████████████████████████
*/
#credentials {
  position: relative;
  z-index: 0;
  padding: 3em 0;
  background-color: #eee;
  background: linear-gradient(165deg,#EDEDED 0%,#fff 30%,#fff 70%,#EDEDED 100%);
}
#credentials::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: .05;
}
#credentials .inner {
  overflow: hidden;
}
#credentials h2 {
  margin-top: 0;
  margin-bottom: .5em;
}
@media (max-width: 1200px) {
  #credentials p.center {
    text-align: left;
  }
}
@media (max-width: 600px) {
  #credentials h2 {
    text-align: left;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Referenzen-Band
███████████████████████████████████████████████████████████████████████████████████████████████
*/
.credentials_ribbon {
  width: 100%;
  max-width: 1900px;
  margin: 0 auto 2em auto;
}
.credentials_ribbon .picture_list {
  overflow: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  align-content: stretch;
  margin-bottom: 2.5em;
}
.credentials_ribbon .picture_list a {
  flex-grow: 1;
  flex-shrink: 1;
  width: 16.66666%;
  padding: 0;
  text-align: center;
  line-height: 0;
}
.credentials_ribbon .picture_list a:nth-of-type(1n+7) {
  display: none;
}
.credentials_ribbon .picture_list a img {
  width: 100%;
}
@media (max-width: 950px) {
  .credentials_ribbon .picture_list a {
    width: 33.33333%;
  }
}
@media (max-width: 600px) {
  #credentials h2 {
    text-align: left;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Referenzen-Galerie
███████████████████████████████████████████████████████████████████████████████████████████████
*/
.credentials_gallery {
  overflow: auto;
  margin-top: 4em;
  margin-bottom: 4em;
}
.credentials_gallery h2 {
  margin-top: 0;
}
.credentials_gallery .picture_list {
  display: block;
  overflow: auto;
}
.credentials_gallery .picture_list a {
  display: block;
  position: relative;
  float: left;
  margin-right: 1%;
  margin-bottom: 1%;
  line-height: 0;
  outline-offset: -1px;
  cursor: zoom-in;
  outline: 1px solid #ddd;
  width: 24.25%;
}
.credentials_gallery .picture_list a:nth-of-type(4n+0) {
  margin-right: 0;
}
.credentials_gallery .picture_list a:after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-shadow: inset 0px 0px 2px 0px rgba(0,0,0,0.1);
  -moz-box-shadow: inset 0px 0px 2px 0px rgba(0,0,0,0.1);
  box-shadow: inset 0px 0px 2px 0px rgba(0,0,0,0.1);
}
.credentials_gallery .picture_list a:hover:after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  outline: 2px solid #000;
  outline-offset: -8px;
}
.credentials_gallery a img {
  width: 100%;
  height: auto;
}
.credentials_gallery a:hover img {
  filter: saturate(1.4) brightness(.8);
}
.credentials_gallery .picture_list.toggle_pix a.more {
  display: none;
}
.credentials_gallery .picture_list.showall a.more {
  display: block;
}
.credentials_gallery .picture_list .toggle_pix_btn {
  display: block !important;
  width: auto;
  max-width: 100%;
  float: none;
  clear: both;
  margin-left: auto;
  margin-right: auto;
  cursor: pointer;
  font-size: inherit;
}
.credentials_gallery .picture_list .toggle_pix_btn:hover {
  background-color: #333;
  color: #fff;
}
@media (max-width: 900px) {
  .credentials_gallery .picture_list a {
    width: 32.66666%;
  }
  .credentials_gallery .picture_list a:nth-of-type(4n+0) {
    margin-right: 1%;
  }
  .credentials_gallery .picture_list a:nth-of-type(3n+0) {
    margin-right: 0;
  }
  .credentials_gallery .picture_list.toggle_pix a.more {
    display: block;
  }
  .credentials_gallery .picture_list .toggle_pix_btn {
    display: none !important;
  }
}
@media (max-width: 650px) {
  .credentials_gallery .picture_list a {
    width: 49.5%;
  }
  .credentials_gallery .picture_list a:nth-of-type(3n+0) {
    margin-right: 1%;
  }
  .credentials_gallery .picture_list a:nth-of-type(2n+0) {
    margin-right: 0;
  }
}
@media (max-width: 350px) {
  .credentials_gallery .picture_list a {
    width: 100% !important;
    max-width: unset;
    margin-right: 0 !important;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Referenzen
███████████████████████████████████████████████████████████████████████████████████████████████
*/
.gallery {
  overflow: hidden;
}
.gallery a {
  display: block;
  position: relative;
  float: left;
  width: 24.25%;
  margin-right: 1%;
  margin-bottom: 1%;
  line-height: 0;
  outline-offset: 1px;
  cursor: zoom-in;
  outline: none;
}
.gallery a:nth-of-type(4n+0) {
  margin-right: 0;
}
.gallery a:after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-shadow: inset 0px 0px 2px 0px rgba(0,0,0,0.1);
  -moz-box-shadow: inset 0px 0px 2px 0px rgba(0,0,0,0.1);
  box-shadow: inset 0px 0px 2px 0px rgba(0,0,0,0.1);
}
.gallery a:hover:after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, .5);
}
.gallery a img {
  width: 100%;
  height: auto;
}
.gallery a div {
  position: absolute;
  bottom: 0;
  width: 100%;
  background-color: rgba(255, 255, 255, .7);
  padding: .2em;
  font-size: .85em;
  line-height: 1.2em;
}
@media (max-width: 900px) {
  .gallery a {
    width: 32.666666%;
  }
  .gallery a:nth-of-type(4n+0) {
    margin-right: 1%;
  }
  .gallery a:nth-of-type(3n+0) {
    margin-right: 0;
  }
}
@media (max-width: 600px) {
  .gallery a {
    width: 49.5%;
  }
  .gallery a:nth-of-type(4n+0) {
    margin-right: 0;
  }
  .gallery a:nth-of-type(3n+0) {
    margin-right: 1%;
  }
  .gallery a:nth-of-type(2n+0) {
    margin-right: 0;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Slick-Slider
███████████████████████████████████████████████████████████████████████████████████████████████
*/
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
      touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
     -moz-transform: translate3d(0, 0, 0);
      -ms-transform: translate3d(0, 0, 0);
       -o-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before,
.slick-track:after {
  display: table;
  content: '';
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}
.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
  display: none;
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Slick-Silder-Custom-Styling
███████████████████████████████████████████████████████████████████████████████████████████████
*/
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  z-index: 1;
  top: 50%;
  display: block;
  width: 44px;
  height: 44px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  color: #555;
  background: #fff;
  border: 1px solid #555;
  border-radius: 99px;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: #fff;
  outline: none;
  background: #555;
}
.slick-prev:before,
.slick-next:before {
  font-family: "Font Awesome 5 Free";
  font-size: 26px;
  line-height: 1;
  color: inherit;
}
.slick-prev {
  left: -50px;
}
.slick-next {
  right: -50px;
}
.slick-prev:before {
  content: "\f104";
  margin-left: -3px;
}
.slick-next:before {
  content: "\f105";
  margin-right: -3px;
}
.slick-slide {
  padding: .25em;
}
.slick-slide a {
  display: block;
  text-align: center;
  line-height: 0;
  text-decoration: none !important;
}
.slick-slide a:focus {
  outline: none;
}
.slick-slide a img {
  display: block;
  width: auto;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.slick-slide a:hover img {
  filter: saturate(1.2) brightness(.9);
}
@media (max-width: 1300px) {
  .slick-prev,
  .slick-next {
    opacity: .8;
  }
  .slick-prev {
    left: -25px;
  }
  .slick-next {
    right: -25px;
  }
  .slick-prev:hover,
  .slick-next:hover {
    opacity: 1;
  }
}
@media (max-width: 1100px) {
  .slick-prev,
  .slick-next {
    width: 38px;
    height: 38px;
  }
  .slick-prev {
    left: -12px;
  }
  .slick-next {
    right: -12px;
  }
}
@media (max-width: 900px) {
  .slick-prev,
  .slick-next {
    width: 35px;
    height: 35px;
  }
  .slick-prev {
    left: -5px;
  }
  .slick-next {
    right: -5px;
  }
  .slick-prev:before,
  .slick-next:before {
    font-size: 23px;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Aktuelles-Teaser
███████████████████████████████████████████████████████████████████████████████████████████████
*/
#news_teaser {
  padding: 3em 0;
  background-color: #eee;
}
#news_teaser .inner {
  overflow: hidden;
}
#news_teaser h2 {
  margin-top: 0;
  margin-bottom: .5em;
}
#news_teaser .teaser_con {
  overflow: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  align-content: stretch;
}
#news_teaser .teaser_con .col {
  flex-grow: 1;
  flex-shrink: 1;
  width: 48%;
  padding: 0 1em;
}
#news_teaser .txt_con .heading {
  line-height: 1.2em;
  font-weight: 300;
  font-size: 1.5em;
  font-family: 'BioRhyme', "Times New Roman", Times, serif;
  margin-bottom: .6em;
}
#news_teaser .txt_con p {
  font-weight: 300;
  line-height: 1.7em;
}
#news_teaser .pic_con img {
  width: auto;
  max-width: 100%;
}
@media (max-width: 650px) {
  #news_teaser .teaser_con {
    flex-wrap: wrap;
  }
  #news_teaser .teaser_con .col {
    width: 100%;
    padding: 0;
  }
  #news_teaser .pic_con img {
    display: block;
    margin: 0 auto 1em auto;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Aktuelles / News
███████████████████████████████████████████████████████████████████████████████████████████████
*/
#no_news {
  display: block;
  margin-top: 8em;
}
.newsblock {
  margin-top: 5em;
  margin-bottom: 2em;
}
.newsblock .news_date {
  display: block;
  float: none;
  clear: both;
  font-size: .8em;
  padding-right: .5em;
  font-style: italic;
  text-align: left;
  opacity: .4;
  border-bottom: 1px solid #ddd;
}
.newsblock .news_date::before {
  content: "\f073";
  font-family: 'Font Awesome 5 Free';
  font-size: .9em;
  display: inline-block;
  text-align: center;
  min-width: 1em;
  margin-right: .5em;
  font-style: normal;
}
.newsblock h2 {
  margin-top: .4em;
}
.newsblock a.fancybox {
  display: block !important;
  outline: none;
}
.newsblock a.fancybox img {
  max-width: 60%;
}
.newsblock a.fancybox img[style*="float:left"] {
  margin: 0 2em 2em 0;
}
.newsblock a.fancybox img[style*="float:right"] {
  margin: 0 0 2em 2em;
}
@media (max-width: 900px) {
  .newsblock a.fancybox {
    width: 100%;
    max-width: 450px;
    float: none !important;
    margin-bottom: 1em;
  }
  .newsblock a.fancybox img {
    float: none !important;
    clear: both;
    max-width: 100%;
    margin: 0 !important;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Google Maps On Demand
███████████████████████████████████████████████████████████████████████████████████████████████
*/
.gmod {
  width: 100%;
  height: 450px;
  border: 1px solid rgba(0,0,0,.2);
  margin-bottom: 1em;
  position: relative;
  overflow: hidden;
}
.gmod .bg_map {
  position: absolute;
  top: -1%;
  left: -1%;
  height: 102%;
  width: 102%;
  background-image: url('../bilder/gmod-bg.png');
  background-repeat: repeat;
  background-position: 0 0;
  filter: blur(.05rem);
}
.gmod .opt_in_banner {
  background-color: rgba(120,120,120,.8);
  color: #fff;
  padding: 1em;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  text-align: center;
  font-size: .9em;
}
.gmod .opt_in_banner .desc {
  color: #fff;
  text-align: center;
  margin-bottom: 1em;
  line-height: 1.3em;
}
.gmod .opt_in_banner .desc a {
  color: inherit !important;
}
.gmod .opt_in_banner .show_map_btn {
  display: inline-block;
  padding: .6em 1.2em;
  margin-bottom: .9em;
  background-color: #2AA549;
  color: #fff;
  border: none;
  font-size: 1em;
  line-height: 1.2em;
  cursor: pointer;
  border: 1px solid rgba(0,0,0,.3);
}
.gmod .opt_in_banner .show_map_btn:hover {
  background-color: #208039;
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Kontaktdaten
███████████████████████████████████████████████████████████████████████████████████████████████
*/
#contact_data {
  overflow: hidden;
  line-height: 1.8em;
  margin-top: 4em;
}
#contact_data * {
  line-height: inherit;
}
#contact_data .con_el {
  margin-bottom: .3em;
}
#contact_data .con_el::before {
  font-family: 'Font Awesome 5 Free';
  font-size: .9em;
  display: inline-block;
  text-align: center;
  min-width: 1em;
  margin-right: .5em;
}
#contact_data .phone::before {
  content: "\f879";
}
#contact_data .mobile::before {
  content: "\f3cd";
}
#contact_data .fax::before {
  content: "\f1ac";
}
#contact_data .email::before {
  content: "\f0e0";
}
@media (max-width: 660px) {
  #contact_data .clc .col {
    width: 100%;
  }
  #contact_data .clc .col:first-child {
    margin-bottom: 3rem;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Kontaktformular
███████████████████████████████████████████████████████████████████████████████████████████████
*/
#form_container {
  width: 100%;
  clear: both;
  padding: 0;
  font-size: 1em;
  margin-bottom: 2em;
}
#contact_form {
  display: block;
  overflow: auto;
  padding: .2em;
  margin: 0 auto;
  font-size: 1em;
}
#contact_form * {
  font-size: inherit;
}
#contact_form form .label {
  display: block;
  padding-top: .4em;
  text-shadow: 0 0 5px rgba(0, 0, 0, .3);
  font-weight: 300;
  font-size: 1em;
  line-height: .9em;
}
#contact_form form input[type=text],
#contact_form form textarea,
#contact_form form select {
  border: 1px solid #aaa;
  padding: .5em .6em;
  line-height: 1.2em;
  color: #000;
  background-color: #fff;
  outline-color: #538BEE;
  margin-top: .1em;
  margin-bottom: .8em;
  box-shadow: 1px 1px 3px 0 rgba(0,0,0,.3);
}
#contact_form form input[type=text],
#contact_form form textarea {
  width: 100%;
}
#contact_form form textarea {
  height: 8rem;
}
#contact_form form ::-webkit-input-placeholder { /* Edge */
  opacity: .7;
}
#contact_form form :-ms-input-placeholder { /* Internet Explorer 10-11 */
  opacity: .7;
}
#contact_form form ::placeholder {
  opacity: .7;
}
#contact_form form input[type=submit] {
  margin-top: 1em;
}
#contact_form form .errormsg {
  font-style: italic;
  color: #691414;
  font-size: .8em;
  margin-top: -.85em;
  margin-bottom: 1em;
  padding: .2em .4em;
  background-color: rgba(240, 175, 175, .7);
}
#contact_form form .mailingmsg {
  display: none;
  font-size: 1.8rem;
  font-weight: 400;
  margin-top: .6em;
}
#contact_form form .mailingmsg.success {
  display: block;
  color: #07965C;
}
#contact_form form .mailingmsg.fail {
  display: block;
  color: #691414;
}
#contact_form .consent_con {
  margin-top: .5em;
  font-size: .9em;
}
#contact_form .consent_con .errormsg {
  margin-top: .5em;
}
#contact_form .consent_con input[type=checkbox],
#contact_form .newsletter input[type=checkbox] {
  float: left;
  font-size: 1em;
  height: 1em;
  width: 1em;
  margin: 0 .5em 0 0;
}
#contact_form .consent_con .consent_text,
#contact_form .newsletter .newsletter_text {
  text-align: left;
  line-height: 1em !important;
}
#contact_form .consent_con .consent_text *,
#contact_form .newsletter .newsletter_text * {
  font-size: inherit;
  color: inherit;
}
#contact_form .consent_con .consent_text a {
  white-space: nowrap;
}
@media (max-width: 800px) {
  #form_container h2 {
    text-align: left;
    margin-bottom: .7rem;
  }
}
@media (max-width: 750px) {
  #form_container {
    width: 100%;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Accordion
███████████████████████████████████████████████████████████████████████████████████████████████
*/
.accordion {
  margin: 1em 0 4rem 0;
}
.accordion .accordion_item {
  margin-bottom: 1em;
}
.accordion .accordion_title {
  display: inline-block;
  width: 100%;
  padding: .5em;
  transition: all linear 0.17s;
  font-size: 1.3em;
  font-weight: 500;
  color: #0072b6 !important;
  background-color: #c9d9e3;
  margin-top: .2em;
  text-decoration: none !important;
  border-radius: .2em;
  margin: 0 !important;
  cursor: pointer;
}
.accordion .accordion_title * {
  font-family: inherit;
  display: inherit;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  margin: 0;
  text-decoration: inherit;
  cursor: inherit;
}
.accordion .accordion_title.active,
.accordion .accordion_title:hover {
  background-color: #0072b6;
  color: #fff !important;
}
.accordion .accordion_content {
  padding: 1em 1.5em;
  width: 99%;
  margin: 0 auto .5em auto;
  border: 0px solid rgba(0, 0, 0, .2);
  border-top: none;
  border-bottom-right-radius: .2em;
  border-bottom-left-radius: .2em;
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Footer
███████████████████████████████████████████████████████████████████████████████████████████████
*/
#footer {
  position: relative;
  z-index: 0;
  background-color: #2E3C62;
  color: #fff;
  padding: 1em 0 .8em 0;
  font-weight: 300;
  line-height: 1.8em;
}
#footer * {
  color: inherit;
  font-weight: inherit;
  line-height: inherit;
}
#footer .col_con {
  overflow: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  align-content: stretch;
}
#footer .col_con .col {
  flex-grow: 0;
  flex-shrink: 1;
  margin: .5em 0;
  width: 33.33333%;
}
#footer .col_con .col .wrapper.noheading {
  padding-top: 2.6em;
}
#footer .col_con .col .heading {
  text-transform: uppercase;
  font-size: 1.2em;
  font-weight: 400;
  opacity: .5;
  min-height: 2.2em;
}
#footer .col_con .col a {
  text-decoration: none;
}
#footer .col_con .col a:hover {
  text-decoration: underline;
}
#footer .icon_el::before {
  font-family: 'Font Awesome 5 Free';
  font-size: .9em;
  display: inline-block;
  text-align: center;
  min-width: 1em;
  margin-right: .5em;
  opacity: .5;
}
#footer .telephone::before {
  content: "\f879";
}
#footer .mobile::before {
  content: "\f3cd";
}
#footer .fax::before {
  content: "\f1ac";
}
#footer .email::before {
  content: "\f0e0";
}
#footer .col.contact {
  padding-left: 1em;
  padding-right: 1em;
  text-align: right;
}
#footer .col.contact .wrapper {
  display: inline-block;
  text-align: left;
}
#footer .col.nav {
  text-align: right;
}
#footer .col.nav ul {
  margin-bottom: 0;
}
@media (max-width: 880px) {
  #footer .col_con .col {
    width: 50% !important;
    text-align: left;
  }
  #footer .col_con .col.company {
    order: 1;
  }
  #footer .col_con .col.address {
    order: 3;
  }
  #footer .col_con .col.contact {
    order: 2;
  }
  #footer .col_con .col .wrapper.noheading {
    padding-top: 0;
  }
}
@media (max-width: 570px) {
  #footer .col_con .col {
    width: 100% !important;
  }
  #footer .col_con .col.address {
    order: 2;
  }
  #footer .col_con .col.contact {
    order: 3;
    padding-top: .5em;
  }
}
@media (max-width: 650px) {
  #footer .col.address {
    width: 100%;
    text-align: left;
    padding-right: 0;
  }
  #footer .col_con .col.contact {
    width: 100%;
    text-align: left;
    border-left: none;
    padding-left: 0;
  }
  #footer .col_con .col.nav {
    border-top: 1px solid rgba(255, 255, 255, .2);
    padding-top: 1em;
    margin-top: 1em;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Bottom-Bar
███████████████████████████████████████████████████████████████████████████████████████████████
*/
#bottom_bar {
  background-color: #121D38;
  color: #fff;
  font-size: .9em;
  text-align: center;
  padding-top: 1em;
  padding-bottom: 1em;
}
#bottom_bar * {
  color: inherit;
}
#bottom_bar ul {
  margin-bottom: 0;
}
#bottom_bar ul li {
  display: inline-block;
  margin: 0 1em;
}
#bottom_bar ul li a {
  text-decoration: none;
  opacity: .6;
}
#bottom_bar ul li a:hover {
  text-decoration: underline;
  opacity: 1;
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Social Media
███████████████████████████████████████████████████████████████████████████████████████████████
*/
#social_media {
  position: fixed;
  right: 0;
  top: 7em;
  z-index: 1;
  opacity: .8;
  overflow: visible;
}
#social_media:hover {
  opacity: 1;
}
#social_media a {
  display: block;
  float: right;
  clear: right;
  padding: 8px;
  background-color: #fff;
  color: #000;
  line-height: 0;
  margin: .1em 0;
  box-shadow:
    0 0px 0.2px rgba(0, 0, 0, 0.022),
    0 0px 0.5px rgba(0, 0, 0, 0.032),
    0 0px 0.9px rgba(0, 0, 0, 0.04),
    0 0px 1.6px rgba(0, 0, 0, 0.048),
    0 0px 2.9px rgba(0, 0, 0, 0.058),
    0 0px 7px rgba(0, 0, 0, 0.08)
  ;
}
#social_media a svg {
  fill: #000;
  height: 24px;
  width: 24px;
  display: block;
  line-height: 1em;
}
#social_media a:hover {
  width: 80px;
}
@media (max-width: 1150px) {
  #social_media a {
    padding: 5px;
  }
  #social_media a svg {
    height: 20px;
    width: 20px;
  }
  #social_media a:hover {
    width: 50px;
  }
}
@media (max-width: 1000px) {
  #social_media {
    top: 6em;
  }
}
@media (max-width: 900px) {
  #social_media {
    opacity: .8;
    top: 5em;
  }
  body.with_topline #social_media {
    top: 8em;
  }
  #social_media a {
    padding: 3px;
    margin: .2em 0;
  }
  #social_media a svg {
    height: 17px;
    width: 17px;
  }
}
@media (max-width: 700px) {
  #social_media {
    top: 4em;
  }
}
@media (max-width: 600px) {
  #social_media {
    top: 6em;
  }
  body.with_topline #social_media {
    top: 12em;
  }
}
@media (max-width: 500px) {
  body.with_topline #social_media {
    top: 13em;
  }
}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Magnific Popup
███████████████████████████████████████████████████████████████████████████████████████████████
*/
.mfp-bg{top:0;left:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:fixed;background:#0b0b0b;opacity:.8}.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:1043;position:fixed;outline:none!important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;box-sizing:border-box}.mfp-container:before{content:'';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-inline-holder .mfp-content,.mfp-ajax-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:-moz-zoom-out;cursor:-webkit-zoom-out;cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-close,.mfp-arrow,.mfp-preloader,.mfp-counter{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#CCC;position:absolute;top:50%;width:auto;text-align:center;margin-top:-.8em;left:8px;right:8px;z-index:1044}.mfp-preloader a{color:#CCC}.mfp-preloader a:hover{color:#FFF}.mfp-s-ready .mfp-preloader{display:none}.mfp-s-error .mfp-content{display:none}button.mfp-close,button.mfp-arrow{overflow:visible;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;display:block;outline:none;padding:0;z-index:1046;box-shadow:none;touch-action:manipulation}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;right:0;top:0;text-decoration:none;text-align:center;opacity:.65;padding:0 0 18px 10px;color:#FFF;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}.mfp-close:hover,.mfp-close:focus{opacity:1}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-image-holder .mfp-close,.mfp-iframe-holder .mfp-close{color:#FFF;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#CCC;font-size:12px;line-height:18px;white-space:nowrap}.mfp-arrow{position:absolute;opacity:.65;margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:hover,.mfp-arrow:focus{opacity:1}.mfp-arrow:before,.mfp-arrow:after{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:medium inset transparent}.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left:after{border-right:17px solid #FFF;margin-left:31px}.mfp-arrow-left:before{margin-left:25px;border-right:27px solid #3F3F3F}.mfp-arrow-right{right:0}.mfp-arrow-right:after{border-left:17px solid #FFF;margin-left:39px}.mfp-arrow-right:before{border-left:27px solid #3F3F3F}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,0.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;box-sizing:border-box;padding:40px 0;margin:0 auto}.mfp-figure{line-height:0}.mfp-figure:after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,0.6);background:#444}.mfp-figure small{color:#BDBDBD;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#F3F3F3;word-wrap:break-word;padding-right:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-width: 800px) and (orientation: landscape),screen and (max-height: 300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,0.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,0.6);position:fixed;text-align:center;padding:0}}@media all and (max-width: 900px){.mfp-arrow{-webkit-transform:scale(0.75);transform:scale(0.75)}.mfp-arrow-left{-webkit-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}

/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Bildquelle
███████████████████████████████████████████████████████████████████████████████████████████████
*/
.psc {
  position: relative;
}
.pic_source {
  font-family: Arial, Verdana, Helvetica, sans-serif !important;
  position: absolute;
  z-index: 1;
  right: 3px;
  bottom: 3px;
  display: inline-block;
  background-color: #777;
  color: #fff;
  vertical-align: top;
  line-height: 1em;
  padding: 1px 0 0 0;
  font-size: 13px;
  cursor: pointer;
  border-radius: 10px;
  font-weight: 300;
  margin-bottom: 0;
}
.pic_source.top {
  bottom: unset !important;
  top: 3px;
}
.pic_source * {
  font-family: inherit;
  color: inherit !important;
  vertical-align: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  margin: 0 !important;
  font-size: inherit !important;
  text-transform: none !important;
}
.pic_source::before {
  content: '\00A9';
  display: block;
  float: left;
  overflow: hidden;
  width: 1em;
  height: 1em;
  text-align: center;
  font-weight: 100;
  font-size: 1.2em;
  line-height: 1.05em;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}
.pic_source input[type=checkbox] {
  display: none;
}
.pic_source span {
  display: none;
  padding-top: 1px;
  padding-right: .5em;
  line-height: 1em;
}
.pic_source input[type=checkbox]:checked ~ span {
  display: inline-block;
}
.pic_source input[type=checkbox]:checked ~ span:first-of-type {
  padding-left: .1em;
}