/*
 * Font Settings
 */
/* set base values */
/* type scale */
/* Farben */
/*
  * Example media queries
  *
  * max-width
  * @include breakpoint(500)
  * @media screen and (max-width: 500px)
  *
  * min-width
  * @include breakpoint(500, min)
  * @media screen and (min-width: 500px)
  *
  * min-width and max-width
  * @include breakpoint(470 500)
  * @media screen and (min-width: 470px) and (max-width: 500px)
  */
/*
  * Including retina images
  * Based on https://gist.github.com/twe4ked/1432554
  * 
  * How to use (without @content)
  * @include background-image-retina('$file', '$type', $width, $height);
  *
  * How to use (with @content)
  * @include background-image-retina('$file', '$type', $width, $height) {
  *   background-color:transparent;
  * };
  * 
  * Real life example
  * @include background-image-retina('logo', 'png', 50px, 50px);
  */
/*
 * Font Settings
 */
/* set base values */
/* type scale */
/* Farben */
/*
  * Convert absolute font sizes to rem with px fallback
  * 
  * How to use
  * @include adjust-font-size-to-rem($font-size, [$line-height]);
  */
/* open-sans-300 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/open-sans-v15-latin-300.eot");
  /* IE9 Compat Modes */
  src: local("Open Sans Light"), local("OpenSans-Light"), url("../fonts/open-sans-v15-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans-v15-latin-300.woff2") format("woff2"), url("../fonts/open-sans-v15-latin-300.woff") format("woff"), url("../fonts/open-sans-v15-latin-300.ttf") format("truetype"), url("../fonts/open-sans-v15-latin-300.svg#OpenSans") format("svg");
  /* Legacy iOS */ }

/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/open-sans-v15-latin-regular.eot");
  /* IE9 Compat Modes */
  src: local("Open Sans Regular"), local("OpenSans-Regular"), url("../fonts/open-sans-v15-latin-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans-v15-latin-regular.woff2") format("woff2"), url("../fonts/open-sans-v15-latin-regular.woff") format("woff"), url("../fonts/open-sans-v15-latin-regular.ttf") format("truetype"), url("../fonts/open-sans-v15-latin-regular.svg#OpenSans") format("svg");
  /* Legacy iOS */ }

/* open-sans-600 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/open-sans-v15-latin-600.eot");
  /* IE9 Compat Modes */
  src: local("Open Sans SemiBold"), local("OpenSans-SemiBold"), url("../fonts/open-sans-v15-latin-600.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans-v15-latin-600.woff2") format("woff2"), url("../fonts/open-sans-v15-latin-600.woff") format("woff"), url("../fonts/open-sans-v15-latin-600.ttf") format("truetype"), url("../fonts/open-sans-v15-latin-600.svg#OpenSans") format("svg");
  /* Legacy iOS */ }

/* open-sans-700 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/open-sans-v15-latin-700.eot");
  /* IE9 Compat Modes */
  src: local("Open Sans Bold"), local("OpenSans-Bold"), url("../fonts/open-sans-v15-latin-700.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans-v15-latin-700.woff2") format("woff2"), url("../fonts/open-sans-v15-latin-700.woff") format("woff"), url("../fonts/open-sans-v15-latin-700.ttf") format("truetype"), url("../fonts/open-sans-v15-latin-700.svg#OpenSans") format("svg");
  /* Legacy iOS */ }

/**
* Normalize content elements
*/
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  *:before, *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }

html {
  height: 100%; }
  @media only screen and (min-width: 1280px) {
    html {
      font-size: 1.375rem; } }
  @media screen and (min-width: 768px) and (max-width: 1279px) {
    html {
      font-size: 1.1875rem; } }
  @media only screen and (max-width: 767px) {
    html {
      font-size: 1.0rem; } }

body {
  font-weight: 300;
  font-family: "Open Sans", Arial, sans-serif;
  line-height: 1.75;
  height: 100%;
  color: #313136;
  -webkit-text-size-adjust: none;
  background-color: #313136; }

h1 {
  font-weight: 300;
  font-size: 2.0909rem; }
  @media only screen and (max-width: 1279px) {
    h1 {
      line-height: 1.5;
      font-size: 1.8rem; } }

h2 {
  font-weight: 400;
  font-size: 1.4545rem;
  text-transform: uppercase; }

h3 {
  font-weight: 700;
  font-size: 1.0rem;
  margin-top: 1.5rem; }

a {
  text-decoration: none;
  color: inherit; }
  a.link {
    text-transform: uppercase; }
  a.email {
    white-space: nowrap; }

textarea,
input.text,
select {
  width: 100%;
  padding: 0 0 0 0.5rem; }

img {
  max-width: 100%;
  height: auto; }

.zentriert {
  text-align: center;
  margin-left: auto;
  margin-right: auto; }

.max40 {
  max-width: 40rem; }

.mod_article {
  background-color: #dadada;
  padding: 3.0rem 1.5rem 2.0rem; }
  .mod_article:not(.last) {
    margin-bottom: 1.0rem; }
  .mod_article .inside {
    width: 100%;
    padding: 1.5rem 3.0rem; }
  @media only screen and (min-width: 1280px) {
    .mod_article .inside {
      margin: 0 auto;
      width: 1280px;
      padding-left: 0;
      padding-right: 0; } }
  @media only screen and (max-width: 1279px) {
    .mod_article .inside {
      padding-left: 2.0rem;
      padding-right: 2.0rem; } }
  .mod_article.hasBG .inside {
    position: relative; }
    .mod_article.hasBG .inside figure {
      font-size: 0; }
    .mod_article.hasBG .inside .text_left {
      position: absolute;
      left: calc(50vw - 640px);
      top: 10vw;
      width: 26rem;
      max-width: calc(50vw - 3rem); }
      @media only screen and (max-width: 1412px) {
        .mod_article.hasBG .inside .text_left {
          left: 3rem; } }
      @media only screen and (max-width: 900px) {
        .mod_article.hasBG .inside .text_left {
          position: relative;
          width: 100%;
          text-align: center;
          left: auto;
          right: auto;
          top: auto;
          bottom: auto;
          padding: 2.0rem;
          max-width: 100%; } }

#header {
  width: 100%; }
  #header figure {
    margin-bottom: 0; }
  #header .inside {
    max-width: 1280px;
    margin: 0 auto;
    background-color: #dadada; }
  #header .inside::after {
    clear: both;
    display: table;
    content: ''; }
  #header .logo {
    float: left;
    font-size: 0; }
  #header .header__wrapper {
    padding: 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    @media only screen and (max-width: 1050px) {
      #header .header__wrapper {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; } }

#container {
  margin: 0 auto;
  max-width: 1280px; }

#footer {
  background-color: #313136;
  font-size: 0.9rem; }
  #footer .inside {
    max-width: 1280px;
    margin: 0 auto; }
  #footer .link {
    color: #9ba2a2; }
    #footer .link:hover, #footer .link.active {
      color: #ded2af; }

.size-xxs {
  font-size: 0.25rem; }

.bg_green {
  color: white;
  background-color: #dadada;
  padding: 0.5rem 0; }

.btn {
  margin-top: 1.0rem;
  margin-bottom: 1.0rem; }
  .btn a {
    border: 2px solid white;
    font-weight: 400;
    text-transform: uppercase;
    border-radius: 4px;
    text-align: center;
    display: block;
    margin: 0 auto;
    width: 12.5rem;
    color: white;
    line-height: 2.0;
    background-color: #558c7b; }
    .btn a:hover, .btn a:active {
      background-color: #337661; }

.slogan {
  font-size: 1.181818rem; }

.ce_rsce_headline .subHeadline {
  font-size: 1.4545rem; }
  @media only screen and (max-width: 1279px) {
    .ce_rsce_headline .subHeadline {
      line-height: 1.5;
      font-size: 1.3rem; } }

.ce_gallery ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .ce_gallery ul > * {
    padding: 0 1.0rem;
    max-width: 220px; }

.ce_hyperlink.btn {
  overflow: visible; }
  .ce_hyperlink.btn a[href^="http"] {
    position: relative; }
    .ce_hyperlink.btn a[href^="http"]::after {
      content: "(" attr(data-title) ")";
      position: absolute;
      bottom: -1.25rem;
      font-size: 0.5rem;
      text-transform: none;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%); }

.ce_form legend {
  font-size: 1.0rem;
  margin-bottom: 0; }

.ce_form .widget {
  margin-bottom: 0.5rem; }

.ce_form .widget > label {
  display: block;
  margin-bottom: 0; }

.ce_form .widget-radio span:not(.mandatory) {
  display: block;
  background-color: white;
  line-height: 1.5rem;
  padding: 0.5rem 1.0rem 0; }
  .ce_form .widget-radio span:not(.mandatory) label {
    padding-left: 0.25rem; }

.ce_form button {
  padding: 0 0.5rem; }

.whiteBox {
  background-color: #fefefe;
  padding: 0.5rem;
  font-size: 90%;
  margin-bottom: 1.0rem; }

.topLink {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  height: 3rem;
  width: 3rem;
  text-align: center;
  line-height: 3.0rem;
  font-size: 1.5rem;
  display: none;
  color: #e6e6e6;
  border-radius: 1.5rem;
  background-color: rgba(49, 49, 54, 0.5); }
  .topLink:hover {
    text-decoration: none;
    color: #313136; }

body.is-scroll a.topLink {
  display: block; }
