@import url(https://fonts.googleapis.com/css?family=Roboto);
@charset "UTF-8";
/*Responsive*/
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
img,
embed,
object,
video,
figure {
  margin: 0;
  max-width: 100%;
  height: auto;
  width: auto;
  display: block;
  width: 100%;
}
/*lazyload*/
img.lazyload,
.lazyload img {
  opacity: 0;
  transition: opacity 0.8s ease-in;
}
img.icon,
img.thumb {
  opacity: 1;
  display: initial;
  width: auto;
}
.mobileonly {
  display: none;
}
@media only screen and (max-width: 680px) {
  .mobileonly {
    display: block;
  }
}
.mobileout {
  display: block;
}
@media only screen and (max-width: 680px) {
  .mobileout {
    display: none !important;
  }
}
.mediumout {
  display: block;
}
@media only screen and (min-width: 681px) and (max-width: 1399px) {
  .mediumout {
    display: none;
  }
}
@media only screen and (max-width: 680px) {
  .mediumout {
    display: none;
  }
}
html {
  background-color: transparent;
}
html body {
  overflow-x: hidden;
  background-color: #fff;
  margin: 0px;
  padding: 0px;
  font-family: Arial;
  font-size: 100%;
  cursor: default;
  line-height: 1.3;
  font-weight: 100;
  color: #414042;
  font-family: 'Roboto', sans-serif;
}
@media only screen and (min-width: 2000px) {
  html body {
    font-size: 0.54vw;
  }
}
@media only screen and (min-width: 1400px) and (max-width: 1999px) {
  html body {
    font-size: 0.75vw;
  }
}
@media only screen and (min-width: 681px) and (max-width: 1399px) {
  html body {
    font-size: 1.2vw;
  }
}
@media only screen and (max-width: 680px) {
  html body {
    font-size: 12px;
  }
}
html body h1,
html body h2,
html body h3,
html body h4 {
  margin-bottom: 1.2vw;
}
html body h1 {
  font-size: 2.5em;
  line-height: 1;
  font-weight: 100;
}
html body h2 {
  font-size: 2.5em;
  line-height: 1;
  font-weight: 100;
}
html body h3 {
  font-size: 1.4em;
  line-height: 1;
  font-weight: 100;
}
html body h4 {
  font-size: 1.4em;
  line-height: 1;
  font-weight: 100;
}
html body a:link,
html body a:visited {
  color: #414042;
  text-decoration: none;
}
html body a:hover,
html body a:active {
  color: #1a171b;
  text-decoration: underline;
}
@media only screen and (max-width: 680px) {
  html body p.bodytext {
    width: 100%;
  }
}
img {
  border: 0px;
}
section.kachel {
  overflow: hidden;
  float: left;
}
@media only screen and (min-width: 2000px) {
  section.kachel {
    width: 25%;
    min-width: 25%;
    max-width: 25%;
  }
}
@media only screen and (min-width: 1400px) and (max-width: 1999px) {
  section.kachel {
    width: 33%;
    min-width: 33%;
    max-width: 33%;
  }
}
@media only screen and (min-width: 681px) and (max-width: 1399px) {
  section.kachel {
    width: 50%;
    min-width: 50%;
    max-width: 50%;
  }
}
@media only screen and (max-width: 680px) {
  section.kachel {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
  }
}
section.kachel .image:before:not(.logo) {
  content: "";
  display: block;
  padding-top: 100%;
}
section.kachel .image {
  float: left;
  width: 50%;
  -webkit-transition: width 1s;
  /* For Safari 3.1 to 6.0 */

  transition: width 1s;
  z-index: 300;
}
section.kachel .image img {
  max-height: 100%;
  /* display: none; */
}
@media only screen and (min-width: 400px) {
  section.kachel .image:hover {
    width: 100%;
  }
}
section.kachel .image.logo img {
  display: block;
}
section.kachel .lupenimage {
  width: 36px;
  z-index: 400;
  position: absolute;
  display: none;
}
section.kachel .lupenimage:hover {
  cursor: pointer;
}
@media only screen and (max-width: 400px) {
  section.kachel .lupenimage {
    display: block;
  }
  section.kachel .lupenimage:hover {
    opacity: 0;
  }
}
@media only screen and (max-width: 400px) {
  section.kachel .lupenimage:hover + .image {
    width: 100% !important;
  }
}
section.kachel .kategorie {
  position: absolute;
  z-index: -1;
}
section.kachel .menuinhalte {
  padding-left: 1.25em;
  padding-top: 0.8em;
}
@media only screen and (max-width: 680px) {
  section.kachel .menuinhalte {
    padding-left: 10px;
  }
}
section.kachel .text {
  float: left;
  max-width: 50%;
  width: 50%;
  height: 100%;
  margin-left: 0;
  -webkit-transition: width 1s;
  transition: width 1s;
  -webkit-transition: margin 1s;
  transition: margin 1s;
}
section.kachel .text .textinhalte {
  margin: 0;
  padding: 3em 1.25em 0;
}
@media only screen and (max-width: 680px) {
  section.kachel .text .textinhalte {
    padding: 3em .8em  0;
  }
}
section.kachel .text h3 {
  font-size: 1em;
  font-weight: 600;
  line-height: 1.1;
  /* padding-top: 1em; */
  /*  padding-bottom: 1em; */
  margin-bottom: 1em;
}
section.kachel .text .kategorie {
  color: #fff;
  background-color: #000;
  padding: 0.8em 1.25em;
  font-size: 1em;
  display: inline-table;
  font-weight: 600;
}
@media only screen and (max-width: 680px) {
  section.kachel .text .kategorie {
    padding: .8em .8em;
  }
}
section.kachel .text:hover .kategorie {
  z-index: initial;
}
section.kachel:hover:not(.logomenu) {
  background-color: #000;
  color: #fff;
}
section.kachel:hover:not(.logomenu) .kategorie {
  color: #000;
  background-color: #fff !important;
  z-index: initial;
}
section.kachel:hover:not(.logomenu) .mCSB_buttonUp {
  background-position: -3em 0;
}
section.kachel:hover:not(.logomenu) .mCSB_buttonDown {
  background-position: -3em -3em;
}
section.kachel:first-child .text {
  transition: none;
}
section.kachel:first-child .lupenimage {
  display: none;
}
section.kachel:first-child .image {
  background-color: #1d1d1b;
  align-items: flex-end;
  -ms-flex-align: end;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  transition: none;
}
section.kachel:first-child .image:hover {
  width: 50%;
}
@media only screen and (max-width: 400px) {
  .kachel:nth-child(even) .lupe img.lupenimage {
    right: 0;
  }
  .kachel:nth-child(odd) .lupe img.lupenimage {
    left: 0;
  }
}
@media only screen and (min-width: 2000px) {
  .kachel:nth-child(4n+5) {
    clear: left;
  }
  .kachel:nth-child(8n+5) .image,
  .kachel:nth-child(8n+6) .image,
  .kachel:nth-child(8n+7) .image,
  .kachel:nth-child(8n+8) .image,
  .kachel:nth-child(8n+5) .text,
  .kachel:nth-child(8n+6) .text,
  .kachel:nth-child(8n+7) .text,
  .kachel:nth-child(8n+8) .text {
    float: right;
  }
  .kachel:nth-child(8n+5):hover .text,
  .kachel:nth-child(8n+6):hover .text,
  .kachel:nth-child(8n+7):hover .text,
  .kachel:nth-child(8n+8):hover .text {
    margin-left: -50%;
  }
  .kachel:nth-child(8n+1) .image,
  .kachel:nth-child(8n+2) .image,
  .kachel:nth-child(8n+3) .image,
  .kachel:nth-child(8n+4) .image,
  .kachel:nth-child(8n+1) .text,
  .kachel:nth-child(8n+2) .text,
  .kachel:nth-child(8n+3) .text,
  .kachel:nth-child(8n+4) .text {
    float: left;
  }
  .kachel:nth-child(8n+1):hover .text,
  .kachel:nth-child(8n+2):hover .text,
  .kachel:nth-child(8n+3):hover .text,
  .kachel:nth-child(8n+4):hover .text {
    margin-right: -50%;
  }
}
@media only screen and (min-width: 1400px) and (max-width: 1999px) {
  .kachel:nth-child(3n+4) {
    clear: left;
  }
  .kachel:nth-child(6n+4) .image,
  .kachel:nth-child(6n+5) .image,
  .kachel:nth-child(6n+6) .image,
  .kachel:nth-child(6n+4) .text,
  .kachel:nth-child(6n+5) .text,
  .kachel:nth-child(6n+6) .text {
    float: right;
  }
  .kachel:nth-child(6n+4):hover .text,
  .kachel:nth-child(6n+5):hover .text,
  .kachel:nth-child(6n+6):hover .text {
    margin-left: -50%;
  }
  .kachel:nth-child(6n+1) .image,
  .kachel:nth-child(6n+2) .image,
  .kachel:nth-child(6n+3) .image,
  .kachel:nth-child(6n+1) .text,
  .kachel:nth-child(6n+2) .text,
  .kachel:nth-child(6n+3) .text {
    float: left;
  }
  .kachel:nth-child(6n+1):hover .text,
  .kachel:nth-child(6n+2):hover .text,
  .kachel:nth-child(6n+3):hover .text {
    margin-right: -50%;
  }
}
@media only screen and (min-width: 681px) and (max-width: 1399px) {
  .kachel:nth-child(2n+3) {
    clear: left;
  }
  .kachel:nth-child(4n+3) .image,
  .kachel:nth-child(4n+4) .image,
  .kachel:nth-child(4n+3) .text,
  .kachel:nth-child(4n+4) .text {
    float: right;
  }
  .kachel:nth-child(4n+3):hover .text,
  .kachel:nth-child(4n+4):hover .text {
    margin-left: -50%;
  }
  .kachel:nth-child(4n+1) .image,
  .kachel:nth-child(4n+2) .image,
  .kachel:nth-child(4n+1) .text,
  .kachel:nth-child(4n+2) .text {
    float: left;
  }
  .kachel:nth-child(4n+1):hover .text,
  .kachel:nth-child(4n+2):hover .text {
    margin-right: -50%;
  }
}
@media only screen and (max-width: 680px) {
  .kachel {
    clear: left;
  }
  .kachel:nth-child(even) .image,
  .kachel:nth-child(even) .text {
    float: right;
  }
  .kachel:nth-child(even):hover .text {
    margin-left: -50%;
  }
  .kachel:nth-child(odd) .image,
  .kachel:nth-child(odd) .text {
    float: left;
  }
  .kachel:nth-child(odd):hover .text {
    margin-right: -50%;
  }
}
section.logomenu .text ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
section.logomenu .text ul li {
  padding: 0 !important;
}
section.logomenu .text ul li a {
  padding: 0 !important;
}
html body.content {
  margin: 2vw;
  font-size: 1.3em;
}
.mCSB_scrollTools {
  width: 3em;
}
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 8px;
  border-radius: 0px;
}
.mCSB_scrollTools .mCSB_draggerRail {
  width: 6px;
  border-radius: 0px;
}
.mCSB_inside > .mCSB_container {
  margin-right: 0px;
}
.mCSB_scrollTools .mCSB_buttonDown,
.mCSB_scrollTools .mCSB_buttonLeft,
.mCSB_scrollTools .mCSB_buttonRight,
.mCSB_scrollTools .mCSB_buttonUp {
  background-image: url("img/scrollpfeile.png");
  background-size: 6em 6em;
  opacity: 1;
}
.mCSB_scrollTools .mCSB_buttonDown,
.mCSB_scrollTools .mCSB_buttonUp {
  height: 3em;
}
.mCSB_outside + .mCSB_scrollTools {
  right: 0px;
}
.mCS-light-thick.mCSB_scrollTools .mCSB_buttonUp {
  background-position: 0px 0px;
}
.mCS-light-thick.mCSB_scrollTools .mCSB_buttonDown {
  background-position: 0 -3em;
  bottom: initial;
  bottom: 0;
}
.mCS-light-thick.mCSB_scrollTools .mCSB_draggerContainer {
  display: none;
}
.mCS-light-thick.mCSB_scrollTools .mCSB_draggerContainer .mCSB_dragger {
  display: none !important;
}
.text:hover .mCSB_buttonUp {
  background-position: -3em 0;
}
.text:hover .mCSB_buttonDown {
  background-position: -3em -3em;
}
.impressum {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2em;
}
