* {
  margin: 0;
  padding: 0; }

*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

body, html {
  font-size: 100%;
  height: 100%; }

body {
  overflow-x: hidden;
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  font-size: 15px;
  background: #fff;
  color: #393536; }

a {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
  outline: 0;
  -o-transition: all 0.5s linear;
  -mx-transition: all 0.5s linear;
  -moz-transition: all 0.5s linear;
  -webkit-transition: all 0.5s linear;
  transition: all 0.5s linear; }

img {
  border: 0; }
/* Clear columns */
.clearfix:before, .clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

.clear {
  clear: both;
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0; }

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000; }

button::-moz-focus-inner {
  border: 0; }

#cookieChoiceInfo {
  box-sizing: border-box;
  left: 0;
  bottom: 0;
  font-size: 12px;
  background: rgba(0, 0, 0, 0.8) !important;
  color: #fff; }
  #cookieChoiceInfo a {
    text-decoration: none;
    color: inherit; }
  #cookieChoiceInfo #cookieChoiceDismiss {
    display: inline-block;
    background: #fff;
    padding: 0 10px;
    color: #000; }

img.responsive-image {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block; }

div.container {
  width: 1000px;
  margin: 0 auto;
  position: relative;
  height: 100%; }
/* Widgets */
div#CDSWIDSSP, div.hc-widget.hc-widget-small {
  width: 100% !important; }

div.hc-widget.hc-widget-small div.hc-widget-body {
  height: auto;
  max-height: none !important;
  min-height: 225px; }

#CDSWIDSSP .widSSPData {
  height: 260px; }
/* Widgets */
/* Header */
header.header {
  z-index: 50;
  min-height: 75px;
  height: 75px;
  background: rgba(168, 151, 142, 0.8);
  position: fixed;
  width: 100%; }
  header.header div.menu-btn {
    display: none; }
  header.header nav.main {
    position: absolute;
    bottom: 0; }
  header.header .logo {
    background: #d80021 url(/fileadmin/templates/images/layouts/logo-head.png) center center no-repeat;
    position: absolute;
    left: 50%;
    z-index: 1;
    -o-transform: translate(-50%, 0);
    -mx-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    width: 180px;
    -o-transition: all 0.3s ease-in-out;
    -mx-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out; }
    header.header .logo a {
      display: block;
      height: 100%; }
    header.header .logo img {
      -o-transition: opacity 0.5s ease-in-out;
      -mx-transition: opacity 0.5s ease-in-out;
      -moz-transition: opacity 0.5s ease-in-out;
      -webkit-transition: opacity 0.5s ease-in-out;
      transition: opacity 0.5s ease-in-out;
      width: 100%;
      max-width: 100%;
      height: auto;
      display: block; }
  header.header .lang {
    position: absolute;
    left: 0;
    top: 10px; }
    header.header .lang a {
      color: #fff;
      text-transform: lowercase;
      margin-right: 10px; }

body.snapped .logo {
  width: 104px; }
  body.snapped .logo img {
    opacity: 0; }
/* Header */
section.content {
  min-height: 400px; }
/* Footer */
footer.footer .newsletter .text {
  margin-bottom: 15px; }
  footer.footer .newsletter .cr_body input[type=text] {
    border: 0;
    width: 100%;
    padding: 7px;
    margin-bottom: 10px;
    outline: 0; }
    footer.footer .newsletter .cr_body button[type=submit] {
      cursor: pointer;
      height: 30px;
      line-height: 30px;
      color: #a8978e;
      border: 1px solid #a8978e;
      text-align: center;
      display: inline-block;
      text-transform: uppercase;
      font-size: 15px;
      padding: 0 10px;
      font-weight: 300;
      -webkit-border-radius: 0;
      -moz-border-radius: 0;
      -o-border-radius: 0;
      border-radius: 0;
      font-size: 13px;
      float: right;
      background: #a8978e;
      color: #fff; }
      footer.footer .newsletter .cr_body button[type=submit] a {
        display: block;
        height: 100%; }
  footer.footer .top .cols {
    padding: 20px 0; }
    footer.footer .top .cols .quality {
      color: #fff; }
      footer.footer .top .cols .quality h3 {
        font-family: 'Amatic SC', cursive;
        font-weight: 300;
        font-size: 42px; }
  footer.footer h3 {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 5px; }
  footer.footer a:hover {
    text-decoration: underline; }
  footer.footer ul, footer.footer p {
    font-size: 16px;
    line-height: 26px; }
  footer.footer .top {
    background: #a8978e;
    min-height: 290px; }
  footer.footer .bottom {
    background: #d80021;
    color: #fff; }
  footer.footer .bottom .cols {
    padding: 70px 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex; }
    footer.footer .bottom .cols .col {
      position: relative; }
      footer.footer .bottom .cols .col .icons {
        position: absolute;
        bottom: 0; }
        footer.footer .bottom .cols .col .icons img {
          margin-right: 14px; }
      footer.footer .bottom .cols .col nav.impressum {
        position: absolute;
        bottom: 0;
        font-size: 13px; }
  footer.footer .bottom ul.footer-menu {
    padding-left: 0;
    list-style: none; }
/* Footer */
/* To top arrow */
#back-to-top {
  position: fixed;
  bottom: 40px;
  right: 40px;
  z-index: 999;
  width: 40px;
  height: 40px;
  text-align: center;
  line-height: 40px;
  background: rgba(216, 0, 33, 0.8) url(/fileadmin/templates/images/layouts/arrow-top-white.png) center center no-repeat;
  color: #fff;
  cursor: pointer;
  border: 0;
  text-decoration: none;
  opacity: 0;
  -o-transition: all 0.5s linear;
  -mx-transition: all 0.5s linear;
  -moz-transition: all 0.5s linear;
  -webkit-transition: all 0.5s linear;
  transition: all 0.5s linear; }
  #back-to-top:hover {
    background: #d80021 url(/fileadmin/templates/images/layouts/arrow-top-white.png) center center no-repeat; }
  #back-to-top.show {
    opacity: 1; }
/* To top arrow */
/* Right icons */
div.icons-aside {
  position: fixed;
  right: 0;
  width: 40px;
  top: 50%;
  z-index: 30;
  -o-transform: translate(0, -50%);
  -mx-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%); }
  div.icons-aside img {
    margin-bottom: 3px; }
/* Right icons */
/*******************************************/
/************ Responsive Setup *************/
/*******************************************/
@media screen and (max-width: 1023px) {
  /* Header */
  /* Header */
  /* Right icons */
  /* Right icons */
  /* To top arrow */
  /* To top arrow */
  /* Footer */
    div.container {
      width: 100%;
      padding: 0 15px; }
    header.header {
      height: 85px;
      min-height: 85px; }
      header.header div.menu-btn {
        display: block;
        position: absolute;
        right: 15px;
        top: 23px;
        width: 60px;
        cursor: pointer; }
        header.header div.menu-btn .bars {
          position: relative; }
          header.header div.menu-btn .bars .bar {
            width: 100%;
            height: 8px;
            margin-bottom: 6px;
            background: #d80021; }
            header.header div.menu-btn .bars .bar:last-child {
              margin-bottom: 0; }
      header.header nav.main {
        display: none; }
      header.header .logo {
        width: 118px; }
      header.header .lang {
        left: 15px;
        top: 28px; }
        header.header .lang a {
          display: inline-block;
          height: 32px;
          width: 32px;
          background: #d80021;
          color: #fff;
          text-align: center;
          line-height: 32px;
          margin-right: 16px; }
    div.icons-aside {
      display: none; }
    #back-to-top {
      display: none; }
    footer.footer .top .cols5050 .col1 .cols5050 {
      margin: 0 -10px; }
      footer.footer .top .cols5050 .col1 .cols5050 .col50 {
        width: 50%; } }

@media screen and (max-width: 640px) {
  /* Footer */
  /* Footer */
    div.container {
      padding: 0 7.5px; }
    footer.footer .top .cols5050 .col1 .cols5050 .col50 {
      width: 100%;
      margin-bottom: 15px; }
      footer.footer .bottom .cols {
        padding: 25px 0;
        flex-direction: column; }
        footer.footer .bottom .cols .col {
          margin-bottom: 15px; }
          footer.footer .bottom .cols .col .icons {
            position: relative;
            bottom: auto;
            margin: 10px 0; }
          footer.footer .bottom .cols .col nav.impressum {
            position: relative;
            bottom: auto;
            padding: 20px 0 0 0;
            font-size: 13px;
            clear: both; } }

@media screen and (max-width: 420px) {
  header.header {
    height: 98px;
    min-height: 98px;
    position: relative; }
    header.header div.menu-btn {
      top: 29px;
      right: 10px; }
    header.header .logo {
      width: 136px; }
    header.header .lang {
      width: 32px;
      left: 0;
      top: 0px; }
      header.header .lang a {
        display: block;
        width: 32px;
        margin-bottom: 1px; } }
