/************************************************************/
/*                      Cookie Hinweis                      */
/************************************************************/
.cc-window.cc-floating,
.cc-revoke {
  -webkit-box-shadow: 0 0 10px 0 #787878;
  -moz-box-shadow: 0 0 10px 0 #787878;
  box-shadow: 0 0 10px 0 #787878;
}

.cc-compliance.cc-highlight {
  border-top: 1px solid #D7D7D7;
}

#tx_cookies #tx_cookies_close {
  top: 0 !important;
  right: 0 !important;
  display: none;
}

/***********************************************************/
/*                        ALLGEMEIN                        */
/***********************************************************/

a[rel="noopener"]:not(:has(span.font__button))::after,
a[rel="noreferrer"]:not(:has(span.font__button))::after,
a[rel="noopener noreferrer"]:not(:has(span.font__button))::after,
a[rel="noopener"]>span.font__button::after,
a[rel="noreferrer"]>span.font__button::after,
a[rel="noopener noreferrer nofollow"]>span.font__button::after,
a.external-link-new-window::after,
a.link-external::after {
  content: '\f08e';
  font-family: 'FaRegular';
  display: inline-block;
  margin-left: 5px;
  font-size: 87%;
}


.fancybox-lock div.fancybox-overlay {
  overflow-y: auto;
}

body.fancybox-lock {
  margin-right: 0 !important;
}

.frame-textindent {
  max-width: 800px;
  margin: 0 auto;
}

.frame-logos .ce-above .ce-gallery {
  display: flex;
  justify-content: center;
}

.frame-logos .ce-left .ce-gallery {
  float: unset;
}

.frame-logos .ce-gallery a.fancybox {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 180px;
  height: 120px;
}

.frame-logos .ce-gallery img {
  max-height: 100px;
}

/* iFrames */
iframe {
  max-width: 100%;
}

.video-embed,
.csc-textmedia-gallery-media,
.iframe-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.video-embed iframe,
.csc-textmedia-gallery-media iframe,
.iframe-container iframe,
.iframe-container object,
.iframe-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.instagram-feed-preview {
  display: flex;
  align-items: center;
  gap: 2rem;
}

/* Headlines */
h1,
h2.likeh1 {
  font-size: 280%;
  margin: 0;
  font-family: var(--f-family-b);
  color: #007858;
  text-transform: uppercase;
  line-height: 120%;
}

h1 a,
h2.likeh1 a {
  color: #007858;
}

h1 a:hover,
h2.likeh1 a:hover {
  color: #e72a3b;
}

h2 {
  font-size: 280%;
  margin: 0;
  font-family: var(--f-family-b);
  color: #007858;
  text-transform: uppercase;
  line-height: 120%;
}

h2 a {
  color: #007858;
}

h2 a:hover {
  color: #e72a3b;
}

h3 {
  font-size: 125%;
  margin: 0;
  font-family: var(--f-family-b);
  color: #007858;
  text-transform: uppercase;
  line-height: 120%;
}

h3 a {
  color: #007858;
}

h3 a:hover {
  color: #e72a3b;
}

h4 {
  font-size: 112%;
  margin: 0;
  font-family: var(--f-family-b);
  color: #535353;
  text-transform: uppercase;
  line-height: 120%;
}

h4 a {
  color: #535353;
}

h4 a:hover {
  color: #007858;
}

h4.subheader a::before {
  content: '\f0c9';
  font-family: 'FaSolid';
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  -webkit-font-smoothing: antialiased;
  height: auto;
  line-height: normal;
  vertical-align: baseline;
  font-size: 16px;
  margin-right: 8px;
}

h4.subheader a::before:hover {
  color: #007858;
}

h5 {
  font-size: 120%;
  margin: 0;
  font-family: var(--f-family-b);
  color: #535353;
  line-height: 120%;
}

h5 a {
  color: #535353;
}

h5 a:hover {
  color: #007858;
}

.frame header a {
  font-style: normal;
}

/* ce-content css */
.ce-header-big {
  margin-bottom: 1.5em;
}

.ce-header-small {
  margin-bottom: 0.5em;
}

.ce-header {
  text-align: center;
}

.folgeseite.withmenu .ce-header {
  text-align: left;
}

.image-caption {
  margin-top: 0.2em;
  font-family: var(--f-family-i);
  font-size: 87%;
}

/* floats and clears */
.fright {
  float: right;
}

.fleft {
  float: left;
}

.clearfix {
  display: block;
}

.clearboth {
  clear: both;
}

.clearAll {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}

.clearfix:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}

/* standard width */
.col1,
.col2,
.col3,
.col4 {
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
  width: 100%;
}

.col70,
.col30,
.col20,
.col80,
.col50 {
  min-height: 1px;
}

#page .col70.last,
#page .col30.last,
#page .col20.last,
#page .col80.last,
#page .col50.last {
  margin: 0;
}

.gridcontainer {
  width: 100%;
  overflow: hidden;
}

.col100 {
  width: 100%;
}

.col70 {
  width: 65.28%;
}

.col30 {
  width: 30.64%;
}

.col80 {
  width: 73.94%;
}

.col20 {
  width: 21.98%;
}

.col50 {
  width: 47.96%;
}

/* standard css */
p {
  margin: 0;
}

ul {
  margin: 0;
  padding: 0 0 0 40px;
}

ul li {
  list-style-type: square;
  margin-bottom: 0.5em;
}

.menu,
.frame-type-menu_sitemap>ul {
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.menu li,
.frame-type-menu_sitemap li {
  list-style-type: none;
  list-style-image: none;
  background-image: none;
  padding: 0;
  margin-bottom: 0;
}

.menu a {
  font-style: normal;
}

#c7935 .responsive-video {
  padding-bottom: none;
  padding-top: none;
  height: auto;
}

#c7935 .responsive-video video {
  width: 100% !important;
}

/* ce-content css */
.ce-menu li a,
.frame-type-menu_sitemap li a {
  color: #535353;
  font-style: normal;
}

.ce-menu {
  padding: 0;
}

.frame-type-menu_sitemap>ul>li>a {
  font-size: 125%;
  margin-bottom: 0;
  text-transform: uppercase;
}

.frame-type-menu_sitemap>ul>li>ul>li>ul>li>a {
  font-size: 87%;
}

.frame-type-menu_sitemap>ul>li {
  margin-bottom: 1.5em;
}

.frame-type-menu_sitemap>ul>li>ul>li {
  margin-bottom: 0.8em;
}

.frame-type-menu_sitemap>ul>li>ul {
  margin-left: 1em;
}

.frame-type-menu_sitemap>ul>li>ul>li>ul {
  margin-left: 2em;
}

.frame-type-menu_sitemap>ul>li>ul>li>ul>li>ul {
  margin-left: 3em;
}

.frame-type-menu_sitemap>ul>li>ul>li>ul>li>ul>li>ul {
  margin-left: 4em;
}

#page li.noentry {
  font-size: 0;
  margin: 0;
  padding: 0;
  line-height: 0;
  border: none;
}

.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;
}

.image-caption,
.ce-gallery figcaption {
  font-size: 87%;
  font-family: var(--f-family-i);
  margin-top: 2px;
}

.ce-gallery figcaption {
  display: block;
}

.ce-gallery a.fancybox {
  display: block;
  position: relative;
  overflow: hidden;
}

.ce-gallery a.fancybox:hover:before {
  position: absolute;
  width: 100%;
  height: 100%;
  background: #282828;
  top: 0;
  left: 0;
  display: block;
  opacity: .7;
  content: "";
  cursor: pointer;
}

.ce-gallery a.fancybox:hover:after {
  position: absolute;
  width: 100%;
  height: 100%;
  color: #FFF;
  top: 50%;
  margin-top: -24px;
  left: 0;
  text-align: center;
  display: block;
  font-size: 30px;
  opacity: .7;
  content: "\f002";
  font-family: 'FaRegular';
  font-style: normal;
  font-weight: normal;
  text-decoration: inherit;
  cursor: pointer;
}

.ce-intext .ce-gallery {
  width: 38%;
}

.col2 .ce-intext .ce-gallery,
.col3 .ce-intext .ce-gallery,
.col4 .ce-intext .ce-gallery {
  width: 30%;
}

.ce-border img,
.ce-border iframe {
  border: 1px solid #D7D7D7;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.ce-intext.ce-right .ce-gallery,
.ce-intext.ce-left .ce-gallery,
.ce-above .ce-gallery {
  margin-bottom: 0.2em;
}

.ce-intext.ce-right .ce-gallery {
  margin-left: 4%;
  float: right;
}

.ce-intext.ce-left .ce-gallery {
  margin-right: 4%;
  float: left;
}

.ce-intext.ce-nowrap.ce-right .ce-bodytext {
  margin-right: 42%;
}

.ce-intext.ce-nowrap.ce-left .ce-bodytext {
  margin-left: 42%;
}

.col2 .ce-intext.ce-nowrap.ce-right .ce-bodytext,
.col3 .ce-intext.ce-nowrap.ce-right .ce-bodytext,
.col4 .ce-intext.ce-nowrap.ce-right .ce-bodytext {
  margin-right: 34%;
}

.col2 .ce-intext.ce-nowrap.ce-left .ce-bodytext,
.col3 .ce-intext.ce-nowrap.ce-left .ce-bodytext,
.col4 .ce-intext.ce-nowrap.ce-left .ce-bodytext {
  margin-left: 34%;
}

.ce-below .ce-gallery {
  margin-top: 1em;
}

.ce-column {
  margin-right: 1em;
}

.responsive-video {
  position: relative;
  padding-bottom: 52%;
  padding-top: 15px;
  height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

figure.video {
  margin-bottom: 1em;
}

.responsive-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ce-center .ce-outer,
.ce-center .ce-inner,
.ce-column,
.ce-gallery picture {
  max-width: 100%;
}

.ce-gallery img {
  max-width: inherit;
}

.ce-gallery figure.audio {
  margin: 0 auto;
}

.ce-gallery figure.video {
  display: inline;
}

.frame-type-textmedia .ce-above .ce-gallery,
.frame-type-textmedia .ce-gallery .ce-row,
.frame-type-textmedia .ce-gallery .ce-column {
  width: 100%;
  overflow: visible;
}

.ce-row-1 .ce-column,
.ce-row-2 .ce-column,
.ce-row-3 .ce-column,
.ce-row-4 .ce-column,
.ce-row-5 .ce-column {
  width: 48.5%;
  margin-right: 2%;
  vertical-align: top;
  display: inline-block;
  *display: inline;
  zoom: 1;
  float: inherit;
  margin-bottom: 1em;
}

.ce-row-1 .ce-column {
  width: 100%;
}

.ce-row-1 .ce-column:last-child {
  margin-bottom: 0;
}

.ce-row-3 .ce-column {
  width: 31.5%;
}

.ce-row-4 .ce-column {
  width: 23%;
}

.ce-row-5 .ce-column {
  width: 17.9%;
}

.ce-row-1 .ce-column,
.ce-row-2 .ce-column:nth-child(2n),
.ce-row-3 .ce-column:nth-child(3n),
.ce-row-4 .ce-column:nth-child(4n),
.ce-row-5 .ce-column:nth-child(5n) {
  margin-right: 0;
}

body {
  background: #FFFFFF;
}

html,
body {
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
  height: auto;
  width: auto;
}

.page_margins {
  width: 1440px;
  margin: 0 auto;
}

/* Breitenangaben fuer content container */
#contentwrapright {
  width: 74.36%;
}

#contentwrapleft {
  width: 23.12%;
}

#contentwrapbottom {
  width: 100%;
}

.mobile #contentwrapleft,
.mobile #contentwrapright {
  width: 100%;
}

#contentwrap {
  width: 100%;
  overflow: hidden;
}

.withmenu #contentwrap {
  padding: 2em 0 4em 0;
}

/* RTE */
.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

.fontsmall {
  font-size: 87%;
}

.textbutton {
  display: inline-block;
  *display: inline;
  zoom: 1;
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  margin-bottom: 2px;
  color: #FFFFFF;
  padding: 0 1.0rem;
  background: #e72a3b;
  height: 40px;
  line-height: 40px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

.textbutton a,
a.textbutton {
  color: #FFFFFF;
}

.textbutton a {
  display: block;
}

.no-touch .textbutton:hover {
  background: #007858;
}

.ui-widget-content .textbutton a,
.ui-widget-content a.textbutton {
  color: #FFFFFF;
}

/***********************************************************/
/*                  RESPONSIVE SPEZIFISCH                  */
/***********************************************************/

@media screen {

  /* general */
  #page {
    position: relative;
    margin: 0 auto;
    overflow: hidden;
  }

  #page.pagefixed {
    position: fixed;
    width: 100%;
  }

  #flush-content {
    visibility: hidden;
  }

  .toplink {
    display: none;
  }

  /* areas */
  .footerarea {
    background: #007858;
    color: white;
    position: relative;
  }

  .footerarea .ce-gallery .ce-row {
    display: flex;
  }

  .footerarea .ce-gallery .ce-row .ce-column {
    width: auto;
  }

  .top-fixed {
    position: absolute;
    background: url(/fileadmin/templates/Resources/Public/Images/sprites.svg) no-repeat -220px -60px;
    -webkit-background-size: 400px 400px;
    -moz-background-size: 400px 400px;
    -o-background-size: 400px 400px;
    background-size: 400px 400px;
    right: 3%;
    top: -51px;
    height: 50px;
    line-height: 50px;
    width: 50px;
    text-align: center;
  }

  .top-fixed:hover {
    background: url(/fileadmin/templates/Resources/Public/Images/sprites.svg) no-repeat -280px -60px;
    -webkit-background-size: 400px 400px;
    -moz-background-size: 400px 400px;
    -o-background-size: 400px 400px;
    background-size: 400px 400px;
  }

  .footerarea .ce-header {
    text-align: left;
  }

  .footerarea h4,
  .footerarea h3,
  .footerarea a {
    color: white;
  }

  .toparea {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1000;
  }

  .fixed .toparea,
  .mobile .toparea {
    position: fixed;
    background: rgba(255, 255, 255, 0.85);
    -webkit-box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
    -o-box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
    left: 0;
  }

  .fixed .toparea,
  .pagefixed .toparea,
  .folgeseite.mobile .toparea,
  .folgeseite.fixed .toparea {
    background: rgba(255, 255, 255, 1);
  }

  .topmenuarea {
    position: relative;
    height: 146px;
    display: flex;
    width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .mobile .topmenuarea {
    justify-content: space-between;
    height: 65px;
    overflow: hidden;
    flex-wrap: inherit;
  }

  .headerarea {
    position: relative;
    overflow: hidden;
  }

  .startseite .headerarea,
  .startseite #header {
    height: 100vh;
    width: 100%;
  }

  .folgeseite.mobile .headerarea,
  .folgeseite.fixed .headerarea {
    margin-top: 65px;
  }

  .folgeseite .wave-header,
  .folgeseite .wavearea,
  .folgeseite .savethedatearea {
    display: none;
  }

  .folgeseite .headerarea {
    max-height: 650px;
  }

  .contentarea {
    position: relative;
  }

  .folgeseite .contentarea {
    min-height: 200px;
  }

  .topmenuarea {
    text-align: right;
    line-height: 65px;
    height: 65px;
  }

  .bottomarea {
    position: absolute;
    width: 100%;
    z-index: 200;
    left: 0;
    bottom: 0;
  }

  .scroll {
    position: absolute;
    left: 50%;
    top: -25px;
    cursor: pointer;
    z-index: 2000;
    display: block;
    text-align: center;
    font-size: 20px;
    text-decoration: none;
    text-shadow: 0;
    width: 25px;
    height: 25px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    z-index: 9;
    left: 50%;
    -webkit-transform: translate(-50%, 0%) rotate(45deg);
    -moz-transform: translate(-50%, 0%) rotate(45deg);
    transform: translate(-50%, 0%) rotate(45deg);
    -webkit-animation: fade_move_down 2s ease-in-out infinite;
    -moz-animation: fade_move_down 2s ease-in-out infinite;
    animation: fade_move_down 2s ease-in-out infinite;
  }

  /*animated scroll arrow animation*/
  @-webkit-keyframes fade_move_down {
    0% {
      -webkit-transform: translate(0, -10px) rotate(45deg);
      opacity: 0;
    }

    50% {
      opacity: 1;
    }

    100% {
      -webkit-transform: translate(0, 10px) rotate(45deg);
      opacity: 0;
    }
  }

  @-moz-keyframes fade_move_down {
    0% {
      -moz-transform: translate(0, -10px) rotate(45deg);
      opacity: 0;
    }

    50% {
      opacity: 1;
    }

    100% {
      -moz-transform: translate(0, 10px) rotate(45deg);
      opacity: 0;
    }
  }

  @keyframes fade_move_down {
    0% {
      transform: translate(0, -10px) rotate(45deg);
      opacity: 0;
    }

    50% {
      opacity: 1;
    }

    100% {
      transform: translate(0, 10px) rotate(45deg);
      opacity: 0;
    }
  }

  .folgeseite .scroll {
    display: none;
  }

  .wave-header {
    position: relative;
    z-index: 0;
  }

  .wave-header img {
    width: 104%;
    max-width: 104%;
  }

  .wavearea {
    background: rgba(255, 255, 255, 0.85);
    padding-bottom: 20px;
    position: relative;
    z-index: 5;
  }

  .savethedatearea {
    background: #007858;
    color: white;
    padding: 10px 0;
  }

  #savethedate {
    flex: 1;
  }

  #savethedate .col70,
  #savethedate .col30 {
    float: inherit !important;
    width: auto !important;
  }

  #savethedate .col2.grid_margins {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-flow: row wrap;
  }

  #savethedate .col70 {
    margin-right: 2em;
  }

  /* header */
  #welcome {
    margin-top: -3em;
  }

  #welcome .ce-header-big {
    margin-bottom: 10px;
  }

  #welcome a {
    color: #535353;
  }

  .wavearea .page_margins {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    overflow: visible;
  }

  .savethedatearea .page_margins {
    display: flex;
    justify-content: space-between;
    align-items: center;
    overflow: visible;
  }

  .savethedate-text {
    font-family: var(--f-family-b);
    font-size: 375%;
    text-transform: uppercase;
    line-height: 100%;
    margin-right: 20px;
    white-space: nowrap;
  }

  #savethedate .col2 {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  #savethedate .col70 p {
    font-size: 125%;
    line-height: 140%;
  }

  #savethedate .col30 {
    text-align: right;
  }

  #savethedate .textbutton,
  .footerarea .textbutton {
    border: 1px solid white;
    white-space: nowrap;
    background: transparent;
  }

  #savethedate .textbutton:hover,
  .footerarea .textbutton:hover {
    background: white;
    color: #007858;
  }

  #savethedate .textbutton:hover a,
  .footerarea .textbutton:hover a {
    color: #007858;
  }

  #services {
    text-align: right;
  }

  #services .textbutton {
    vertical-align: bottom;
  }

  #header {
    display: flex;
    align-items: center;
    overflow: hidden;
  }

  #header img {
    width: 100%;
  }

  .headerimage-fullwidth {
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }

  .header-gradient-top {
    position: absolute;
    z-index: 198;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+100&0.8+0,0+100 */
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cc000000', endColorstr='#00000000', GradientType=0);
    /* IE6-9 */
    width: 100%;
    min-height: 145px;
    height: 25%;
    top: 0;
    left: 0;
  }

  .folgeseite #header img {
    width: 100%;
  }

  #header>div {
    width: 100%;
  }

  #header .ce-center .ce-outer,
  #header .ce-center .ce-inner {
    position: inherit;
    float: inherit;
    right: inherit;
  }

  #header .ce-left .ce-gallery,
  #header .ce-column {
    float: inherit;
  }

  #header .ce-gallery {
    margin-bottom: 0;
  }

  #logo {
    background: url(/fileadmin/templates/Resources/Public/Images/sprites.svg) no-repeat 0 0;
    -webkit-background-size: 400px 400px;
    -moz-background-size: 400px 400px;
    -o-background-size: 400px 400px;
    background-size: 400px 400px;
    width: 210px;
    height: 92px;
    position: absolute;
    top: 25px;
    left: 25px;
    z-index: 1000;
  }

  .logo-bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 199;
    width: 260px;
    height: 142px;
    background: white;
    border-top: 4px solid #007858;
    border-bottom-left-radius: 10px;
    -webkit-border-bottom-left-radius: 10px;
    -moz-border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    -webkit-border-bottom-right-radius: 10px;
    -moz-border-bottom-right-radius: 10px;
  }

  .fixed .logo-bg,
  .mobile .logo-bg {
    display: none;
  }

  .mobile #logo,
  .fixed #logo {
    background: url(/fileadmin/templates/Resources/Public/Images/sprites.svg) no-repeat 0 0;
    -webkit-background-size: 200px 200px;
    -moz-background-size: 200px 200px;
    -o-background-size: 200px 200px;
    background-size: 200px 200px;
    width: 105px;
    height: 46px;
    position: absolute;
    top: 8px;
    left: 0;
  }

  /* content */
  .contentarea>.frame-type-gridelements_pi1,
  #contentwrapbottom>.frame-type-gridelements_pi1 {
    padding-top: 80px;
    padding-bottom: 80px;
    background: white;
  }

  .footerarea,
  .slider-container {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .contentarea>.frame-type-gridelements_pi1>div {
    margin-left: auto !important;
    margin-right: auto !important;
    width: 1440px;
  }

  .contentarea>.frame-type-gridelements_pi1>div .frame-type-gridelements_pi1>div {
    width: 100%;
  }

  .contentarea>.frame-type-gridelements_pi1:nth-child(2n) {
    background: #ececec;
  }

  .shortcutarea {
    text-align: right;
    display: flex;
    flex-flow: column;
    justify-content: flex-end;
    align-items: flex-end;
    z-index: 202;
    width: 45px;
    right: 0;
    position: fixed;
    bottom: 120px;
    transition: right 0.3s ease 0s;
    -webkit-transition: right 0.3s ease 0s;
    -moz-transition: right 0.3s ease 0s;
  }

  .shortcutarea.active {
    right: 300px;
  }

  .fixed .shortcutarea {
    bottom: inherit;
    top: 80px;
    justify-content: flex-start;
  }

  .shortcutarea a {
    position: relative;
    display: block;
    width: 45px;
    text-align: center;
    height: 45px;
    line-height: 45px;
    margin-bottom: 3px;
    background: #007858;
    cursor: pointer;
    border-bottom-left-radius: 5px;
    -webkit-border-bottom-left-radius: 5px;
    -moz-border-bottom-left-radius: 5px;
    border-top-left-radius: 5px;
    -webkit-border-top-left-radius: 5px;
    -moz-border-top-left-radius: 5px;
  }

  .folgeseite .shortcutarea>a {
    display: none;
  }

  .folgeseite .shortcutarea>a.sidebar-item-login,
  .folgeseite .shortcutarea>a.search-icon {
    display: block;
  }

  .folgeseite .shortcutarea {
    position: absolute;
    bottom: 55px;
    top: inherit !important;
    justify-content: flex-start;
  }

  .shortcutarea a:hover {
    color: #FFFFFF;
    background: #e72a3b;
  }

  .shortcutarea a:hover>span {
    color: #FFFFFF;
  }

  .shortcutarea .iconfont,
  .shortcutarea .iconfontbrands,
  .shortcutarea .iconfontsolid,
  .shortcutarea .iconfontlight {
    color: #FFFFFF;
    font-size: 24px;
    height: 45px;
    line-height: 45px;
  }

  .shortcut-iconimage {
    max-width: 30px;
    max-height: 30px;
    margin: 0 auto;
  }

  .contentmenu {
    position: absolute;
    z-index: 3000;
    top: 130px;
    left: 60px;
  }

  .contentmenu a {
    display: block;
    width: 10px;
    height: 10px;
    background: #D7D7D7;
    margin-bottom: 10px;
    cursor: pointer;
    border: 1px solid #FFFFFF;
  }

  .contentmenu a.active {
    background: #e72a3b;
  }

  .contentmenu a:hover {
    background: #e72a3b;
  }

  .contentmenu.fixed {
    position: fixed;
  }

  .tooltip.right .tooltip-arrow {
    top: 50%;
    left: 0;
    margin-top: -7px;
    border-width: 7px 5px 7px 0;
    border-right-color: #e72a3b;
  }

  .tooltip.right {
    padding: 0 5px;
    margin-left: 3px;
  }

  .tooltip.right,
  .tooltip.left {
    white-space: nowrap;
  }

  .contentmenu .tooltip {
    font-size: 15px;
  }

  .contentmenu .tooltip-inner {
    padding: 6px 12px;
  }

  .tooltip {
    position: absolute;
    z-index: 1030;
    display: none;
    visibility: visible;
    font-size: 11px;
    line-height: 1.4;
    opacity: 0;
    filter: alpha(opacity=0);
  }

  .tooltip.in {
    opacity: 0.9;
    filter: alpha(opacity=90);
  }

  .tooltip.top {
    margin-top: -15px;
    padding: 5px 0;
  }

  .tooltip.left {
    margin-left: -3px;
    padding: 0 5px;
  }

  .tooltip-inner {
    max-width: 400px;
    padding: 4px 8px;
    color: #FFFFFF;
    text-align: center;
    text-decoration: none;
    background-color: #ffffff;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
  }

  .tooltip-arrow {
    position: absolute;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
  }

  .tooltip.top .tooltip-arrow {
    bottom: 0;
    left: 50%;
    margin-left: -5px;
    border-width: 5px 5px 0;
    border-top-color: #ffffff;
  }

  .tooltip-inner {
    max-width: 400px;
    padding: 4px 8px;
    color: #FFFFFF;
    text-align: center;
    text-decoration: none;
    background-color: #e72a3b;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
  }

  .tooltip.top .tooltip-arrow {
    bottom: 0;
    left: 50%;
    margin-left: -5px;
    border-width: 5px 5px 0;
    border-top-color: #e72a3b;
  }

  .tooltip.left .tooltip-arrow {
    top: 50%;
    right: 0;
    margin-top: -5px;
    border-width: 5px 0 5px 5px;
    border-left-color: #e72a3b;
  }

  .tooltip.in {
    opacity: 1;
    filter: alpha(opacity=100);
  }

  .tooltip.left .tooltip-arrow {
    top: 50%;
    right: 3px;
    margin-top: -7px;
    border-width: 7px 0 7px 5px;
    border-left-color: #e72a3b;
  }

  .tooltip.left {
    padding: 0 8px;
    margin-right: 3px;
  }

  .shortcutarea .tooltip {
    margin-right: 45px;
    font-size: 15px;
    white-space: nowrap;
  }

  .shortcutarea .tooltip-inner {
    padding: 6px 12px;
  }

  .shortcutarea a {
    position: relative;
  }

  div.shortcutarea a[rel="noreferrer"]::after {
    color: rgb(var(--c-neutral-lightest));
    font-size: 10px;
    line-height: 10px;
    margin: 0;
    position: absolute;
    right: 2px;
    top: 2px;
  }

  .sidebar-outerwrap.active {
    position: fixed;
    right: 0;
    height: 100%;
  }

  .sidebar-outerwrap {
    position: absolute;
    right: -300px;
    top: 0;
    z-index: 900;
    width: 300px;
    height: 100%;
    transition: right 0.3s ease 0s;
    -webkit-transition: right 0.3s ease 0s;
    -moz-transition: right 0.3s ease 0s;
  }

  .active .sidebar {
    -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
    border-left: 1px solid #dcdcdc;
  }

  .sidebar {
    width: 300px;
    height: 100%;
    float: right;
    background: #fff;
    overflow: hidden;
    text-align: center;
    position: relative;
    z-index: 10;
  }

  .sidebar-wrap {
    overflow: auto;
    width: 340px;
    padding-right: 40px;
    height: 100%;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
  }

  .sidebar-innerwrap {
    width: 300px !important;
    padding-top: 150px;
  }

  .sidebar-login {
    padding: 0 1em;
  }

  .sidebar-login .frame-type-felogin_login p {
    font-size: 85%;
  }

  .sidebar-outerwrap.active .sidebar-login-close {
    color: rgb(var(--c-neutral-lightest));
    display: inline-block;
    min-width: 40px;
    text-align: right;
    line-height: 100%;
    position: fixed;
    top: 5.5rem;
    right: 2%;
    z-index: 1350;
  }

  .sidebar-outerwrap.active .sidebar-login-close::after {
    font-family: 'FaRegular', sans-serif;
    content: '\f00d';
    font-size: var(--f-size-l-3);
    color: rgb(var(--c-primary));
    position: relative;
    top: 0;
    cursor: pointer;
  }

  .sidebar-outerwrap .sidebar-login-close {
    display: none;
  }

  .sidebar-outerwrap fieldset {
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
  }

  /* contentpopup */
  .contentpopup {
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    display: none;
    background: rgba(var(--c-neutral-darkest), 0.7);
    overflow-y: auto;
  }

  .contentpopup__container {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    max-width: 950px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 3rem 0;
    width: 92%;
  }

  .contentpopup__content {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 3rem;
    background: rgb(var(--c-neutral-lightest));
    width: 100%;
    box-shadow: 0 0 20px 8px rgba(var(--c-neutral-darkest), .2);
    position: relative;
  }

  .contentpopup__content>div:last-child {
    margin-bottom: 0;
  }

  .contentpopup__close {
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
    background: rgb(var(--c-primary));
    color: rgb(var(--c-neutral-lightest));
    line-height: 40px;
    width: 40px;
    text-align: center;
  }

  .contentpopup__close::after {
    content: '\f00d';
    font-family: 'FaRegular';
    font-size: 20px;
  }

  /* footer */
  /* menus */
  #mainmenu .level1>.mainmenu-item,
  #metanav li,
  #submenu li {
    display: inline-block;
    *display: inline;
    zoom: 1;
  }

  .mobile #leftmenu,
  .mobile #parentnav {
    display: none;
  }

  #parentnav {
    margin-bottom: 1em;
  }

  #leftmenu a {
    color: #535353;
  }

  #leftmenu a:hover,
  #leftmenu .CUR>a,
  #leftmenu .ACT>a {
    color: #e72a3b;
  }

  #leftmenu .level1>li {
    border-bottom: 1px solid #D7D7D7;
    padding-bottom: 0.2em;
    margin-bottom: 0.2em;
  }

  #leftmenu li:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }

  #leftmenu .level2 {
    margin-left: 20px;
    font-size: 87%;
  }

  #breadcrumb {
    margin: 0.5em 0;
  }

  #breadcrumb a {
    color: #535353;
  }

  #breadcrumb a:hover,
  #breadcrumb a:last-child {
    color: #007858;
  }

  #breadcrumb .iconfont {
    margin: 0 0.3em;
  }

  #metanav {
    text-align: center;
    margin: 5px 0;
  }

  #metanav a {
    color: #535353;
    margin: 0 10px;
    font-weight: 700;
    text-transform: uppercase;
  }

  #metanav a:hover {
    color: #007858;
  }

  #mainmenu {
    text-align: right;
    overflow: hidden;
    margin-top: 35px;
    line-height: 65px;
    height: 65px;
  }

  #mainmenu .level1 {
    display: flex;
  }

  .mobile #mainmenu {
    line-height: 0;
    height: 0 !important;
  }

  .mobile #mainmenu,
  .fixed #mainmenu {
    margin-top: 0;
  }

  #mainmenu .level1>.mainmenu-item {
    position: relative;
    margin-left: 1.5em;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 65px;
    height: 65px;
  }

  #mainmenu a {
    color: #ffffff;
  }

  .fixed #mainmenu a {
    color: #535353;
  }

  #mainmenu .level1>.mainmenu-item>a {
    font-family: var(--f-family-b);
    line-height: 65px;
    height: 65px;
    text-transform: uppercase;
    font-size: 125%;
  }



  .fixed #mainmenu .level1>.mainmenu-item>a:hover {
    color: #007858;
  }

  #mainmenu .level2 {
    position: absolute;
    text-align: left;
    z-index: 5000;
    width: 240px;
    left: 0;
    top: 65px;
    line-height: normal;
    -webkit-transition: -webkit-transform 0.2s ease, opacity 0.2s ease, max-height 0.3s step-end, max-width 0.3s step-end, top 0.3s step-end;
    -moz-transition: -moz-transform 0.2s ease, opacity 0.2s ease, max-height 0.3s step-end, max-width 0.3s step-end, top 0.3s step-end;
    -o-transition: -o-transform 0.2s ease, opacity 0.2s ease, max-height 0.3s step-end, max-width 0.3s step-end, top 0.3s step-end;
    transition: transform 0.2s ease, opacity 0.2s ease, max-height 0.3s step-end, max-width 0.3s step-end, top 0.3s step-end;
    opacity: 0;
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -o-transform: translateY(40px);
    transform: translateY(40px);
    -webkit-box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
    -o-box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
    padding-top: 3px;
  }

  .mainmenu-subinner {
    background: #FFFFFF;
    overflow: hidden;
  }

  #mainmenu .active .level2 {
    z-index: 5500;
  }

  #mainmenu .level1>.mainmenu-item:last-child .level2 {
    left: inherit;
    right: 0;
  }

  #mainmenu .level1>.mainmenu-item:hover .level2 {
    -webkit-transition: -webkit-transform 0.3s ease, opacity 0.2s ease, max-height 0s step-end, max-width 0s step-end, top 0s step-end;
    -moz-transition: -moz-transform 0.3s ease, opacity 0.2s ease, max-height 0s step-end, max-width 0s step-end, top 0s step-end;
    -o-transition: -o-transform 0.3s ease, opacity 0.2s ease, max-height 0s step-end, max-width 0s step-end, top 0s step-end;
    transition: transform 0.3s ease, opacity 0.2s ease, max-height 0s step-end, max-width 0s step-end, top 0s step-end;
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px);
  }

  #mainmenu .level2 a {
    padding: 13px 20px;
    display: block;
    font-family: var(--f-family);
  }

  #mainmenu .level2 .NO>a {
    color: #000000;
  }

  #mainmenu .level2 .NO a:hover {
    background: #007858;
    color: #FFFFFF;
  }

  #mainmenu .level2 .ACT a {
    background: #007858;
    color: #FFFFFF;
  }

  #mobilemenu {
    overflow-y: auto;
    background: #FFFFFF;
    position: fixed;
    top: 65px;
    bottom: 0;
    display: none;
    z-index: 5000;
    border-top: 1px solid #D7D7D7;
  }

  #mobilemenu a {
    text-transform: uppercase;
    font-family: var(--f-family);
    color: #000000;
    font-size: 100%;
    display: block;
    padding: 0.8em 1.5em 0.8em 1em;
  }

  #mobilemenu .level2 a,
  #mobilemenu .level3 a {
    font-family: var(--f-family);
    font-size: 100%;
    display: block;
    text-transform: none;
  }

  #mobilemenu .level1>li {
    border-bottom: 1px solid #D7D7D7;
  }

  #mobilemenu li:last-child {
    border-bottom: none;
  }

  #mobilemenu li.CUR,
  #mobilemenu li.ACT,
  body.startseite #mobilemenu li.first {
    background: #e72a3b;
  }

  #mobilemenu li.NO .submenu {
    display: none;
  }

  #mobilemenu .CUR a,
  #mobilemenu .ACT a {
    color: #FFFFFF;
  }

  #mobilemenu .CUR .iconfont,
  #mobilemenu .ACT .iconfont {
    color: #FFFFFF;
  }

  #mobilemenu .level2 a {
    padding: 0em 1.5em 0.8em 2em;
  }

  #mobilemenu .level2 li .level3 a {
    padding: 0em 1.5em 0.8em 3em;
  }

  .menu-arrow {
    padding: 0;
    height: 20px;
    line-height: 20px;
    height: 20px;
    float: right;
    font-size: 22px;
    color: #007858;
  }

  .menuitem {
    display: none;
    cursor: pointer;
    width: 30px;
    height: 65px;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 6000;
    text-align: center;
  }

  .menuitem-closeicon {
    display: none;
  }

  .menuitem .iconfontlight {
    color: #007858;
    font-size: 28px;
    line-height: 65px;
  }

  .mobilemenu-shade {
    position: fixed;
    z-index: 4500;
    background: #000000;
    opacity: 0;
    top: 65px;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all 0.3s ease 0s;
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    display: none;
  }

  .iconfont,
  a.iconfont,
  .iconfont a {
    font-family: 'FaRegular';
    font-weight: normal;
    font-style: normal;
    text-decoration: inherit;
    -webkit-font-smoothing: antialiased;
    height: auto;
    line-height: normal;
    vertical-align: baseline;
    font-size: 16px;
  }

  .iconfontbrands,
  a.iconfontbrands,
  .iconfontbrands a {
    font-family: 'FaBrands';
    font-weight: normal;
    font-style: normal;
    text-decoration: inherit;
    -webkit-font-smoothing: antialiased;
    height: auto;
    line-height: normal;
    vertical-align: baseline;
    font-size: 16px;
  }

  .footerarea .iconfontbrands a {
    font-size: 35px;
  }

  div.footerarea .iconfontbrands a::after {
    font-size: 10px;
    vertical-align: top;
  }

  .iconfontlight,
  a.iconfontlight,
  .iconfontlight a {
    font-family: 'FaLight';
    font-weight: normal;
    font-style: normal;
    text-decoration: inherit;
    -webkit-font-smoothing: antialiased;
    height: auto;
    line-height: normal;
    vertical-align: baseline;
    font-size: 16px;
  }

  .iconfontsolid,
  a.iconfontsolid,
  .iconfontsolid a {
    font-family: 'FaSolid';
    font-weight: normal;
    font-style: normal;
    text-decoration: inherit;
    -webkit-font-smoothing: antialiased;
    height: auto;
    line-height: normal;
    vertical-align: baseline;
    font-size: 16px;
  }
}

/*******************************************************/
/*                       ACHTUNG                       */
/* media queries bitte immer als letztes stehen lassen */
/*******************************************************/


@media only screen and (max-width: 1800px) {

  .contentarea>.frame-type-gridelements_pi1,
  #contentwrapbottom>.frame-type-gridelements_pi1,
  .container-slider,
  .footerarea,
  .slider-container {
    padding-top: calc(50px + (80 - 50) * ((100vw - 400px) / (1800 - 400)));
    padding-bottom: calc(50px + (80 - 50) * ((100vw - 400px) / (1800 - 400)));
  }
}

@media only screen and (max-width: 1700px) {
  .page_margins_small {
    width: 100%;
  }
}

@media only screen and (max-width: 1520px) {

  .contentarea>.frame-type-gridelements_pi1>div,
  .page_margins {
    width: 94%;
  }

  .savethedatearea,
  #welcome,
  #services {
    font-size: 1.1vw;
  }

  #savethedate .textbutton,
  #services .textbutton,
  .scrollimage .textbutton {
    height: auto;
    line-height: inherit;
    padding: 0.5em 1em;
  }
}

@media only screen and (max-width: 1180px) {

  /* general */
  /* areas */
  /* header */
  /* content */
  h1,
  h2.likeh1,
  h2 {
    font-size: 250%;
  }

  .shortcutarea .iconfont,
  .shortcutarea .iconfontbrands,
  .shortcutarea .iconfontsolid,
  .shortcutarea .iconfontlight {
    font-size: 18px;
    height: 35px;
    line-height: 35px;
  }

  .shortcutarea a {
    width: 35px;
    height: 35px;
    line-height: 35px;
  }

  div.shortcutarea a[rel="noreferrer"]::after {
    font-size: 8px;
  }

  .instagram-feed-preview {
    display: block;
  }

  /* footer */
  /* menus */
}

@media only screen and (max-width: 1024px) {

  /* general */
  .col70 .col50,
  .col30 .col50,
  .col80 .col50,
  .col20 .col50,
  .col50 .col50 {
    width: 100%;
    margin: 0 0 1.5em 0;
  }

  /* areas */
  /* header */
  .savethedatearea,
  #welcome,
  #services {
    font-size: 1.4vw;
  }

  .savethedate-text {
    display: none;
  }

  .header-gradient-top {
    display: none;
  }


  /* content */
  h1,
  h2.likeh1,
  h2 {
    font-size: 218%;
  }

  /* footer */
  /* menus */

}

@media only screen and (max-width: 900px) {
  .contentmenu {
    display: none;
  }
}

@media only screen and (max-width: 800px) {

  /* general */
  #page .col4 .col20 {
    width: 48.74%;
    margin-bottom: 1.5em;
  }

  .folgeseite #page .col4 .col20 {
    width: 47.96%;
    margin-bottom: 1.5em;
  }

  #page .col4 .col20:nth-child(2) {
    margin-right: 0;
  }

  /* ce-content css */
  .ce-row-4 .ce-column {
    width: 48.5%;
  }

  .ce-row-5 .ce-column {
    width: 31.5%;
  }

  .ce-row-5 .ce-column:nth-child(5n) {
    margin-right: 2%;
  }

  .ce-row-4 .ce-column:nth-child(2n) {
    margin-right: 0;
  }

  .ce-row-5 .ce-column:nth-child(3n) {
    margin-right: 0;
  }

  h1,
  h2.likeh1,
  h2 {
    font-size: 187%;
  }

  /* footer */
  .top-fixed {
    position: absolute;
    background: url(/fileadmin/templates/Resources/Public/Images/sprites.svg) no-repeat -165px -45px;
    -webkit-background-size: 300px 300px;
    -moz-background-size: 300px 300px;
    -o-background-size: 300px 300px;
    background-size: 300px 300px;
    top: -38px;
    height: 38px;
    line-height: 38px;
    width: 38px;
  }

  .top-fixed:hover {
    background: url(/fileadmin/templates/Resources/Public/Images/sprites.svg) no-repeat -210px -45px;
    -webkit-background-size: 300px 300px;
    -moz-background-size: 300px 300px;
    -o-background-size: 300px 300px;
    background-size: 300px 300px;
  }

  /* areas */
}

@media screen and (max-width: 800px),
screen and (max-height: 650px) {

  /* header */
  .statusarea.mobile {
    display: block !important;
    padding-top: 10px;
  }

  .statusarea.desktop {
    display: none;
  }

  .cycle-slideshow {
    height: 100%;
  }

  .startseite .headerarea {
    height: auto;
    max-height: 500px;
  }

  .headerarea .scroll {
    display: none;
  }

  .wavearea .page_margins {
    justify-content: center;
    align-items: flex-start;
    flex-flow: column;
  }

  #welcome .ce-header-big {
    margin-bottom: 2px;
  }

  #services {
    margin-top: 1em;
  }

  .wavearea {
    padding-bottom: 1em;
  }

  .startseite .headerarea,
  .startseite #header {
    height: 500px;
  }

  .startseite #header {
    height: 100%;
  }

  .startseite .shortcutarea {
    bottom: inherit;
    top: 100px;
    justify-content: flex-start;
  }

  /* content */
  /* menus */

}

@media only screen and (max-width: 640px) {

  /* general */
  #mainmenu {
    display: none;
  }

  .toplink {
    display: block;
  }

  #page .col70,
  #page .col30,
  #page .col80,
  #page .col20,
  #page .col50,
  #page .col4 .col20 {
    width: 100%;
    margin: 0 0 1.5em 0;
  }

  .folgeseite #page .col4 .col20 {
    width: 100%;
    margin: 0 0 1.5em 0;
  }

  .folgeseite .shortcutarea {
    bottom: 30px;
  }


  /* areas */
  .startseite .shortcutarea {
    margin-bottom: 0;
    flex-flow: row;
    justify-content: center;
    position: relative;
    right: inherit;
    top: 0;
    width: 100%;
  }

  .startseite .shortcutarea a {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    border: 1px solid #FFFFFF;
    margin: 10px 3px 0 3px;
  }

  /* header */
  #welcome {
    display: none;
  }

  .startseite #header {
    height: 80vw;
  }

  .startseite .headerarea {
    height: auto;
    max-height: none;
  }

  .bottomarea {
    position: relative;
    background: #007858;
  }

  .wave-header,
  .wavearea .welcome {
    display: none;
  }

  .wavearea {
    background: transparent;
  }

  .wavearea .page_margins {
    align-items: center;
  }

  #services {
    text-align: center;
  }

  #savethedate .col30 {
    margin-bottom: 0;
  }

  #savethedate .col30,
  #savethedate .col70 {
    text-align: center;
  }

  #savethedate .col70 {
    margin-bottom: 0.5em;
  }

  .savethedatearea,
  #services {
    font-size: 87%;
  }

  /* content */
  h1,
  h2.likeh1,
  h2 {
    font-size: 156%;
  }

  h3 {
    font-size: 118%;
  }


  /* footer */
  /* menus */
  .menuitem {
    display: block;
  }
}

@media only screen and (max-width: 500px) {

  /* general */
  /* areas */
  /* header */
  /* content */
  /* ce-content css */
  #page .ce-intext .ce-gallery {
    max-width: 100%;
    width: 100%;
    margin-right: 0;
  }

  .ce-intext .ce-bodytext {
    width: 100%;
  }

  .ce-intext.ce-right .ce-gallery,
  .ce-intext.ce-left .ce-gallery,
  .ce-above .ce-gallery {
    margin-bottom: 1em;
  }

  /* footer */
  /* menus */
}

@media only screen and (max-width: 400px) {

  /* general */
  .contentarea>.frame-type-gridelements_pi1,
  #contentwrapbottom>.frame-type-gridelements_pi1,
  .container-slider,
  .footerarea,
  .slider-container {
    padding-top: 50px;
    padding-bottom: 50px;
  }


  /* areas */
  /* header */
  /* content */
  /* ce-content css */
  .ce-row-2 .ce-column,
  .ce-row-3 .ce-column,
  .ce-row-4 .ce-column,
  .ce-row-5 .ce-column {
    width: 100%;
    margin-right: 0;
  }

  /* footer */
  /* menus */
}

@media print {

  pre,
  blockquote {
    border: 1px solid #D7D7D7;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  /* h5bp.com/t */
  tr,
  img {
    page-break-inside: avoid;
  }

  @page {
    margin: 1.5cm;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  #mobilemenu,
  .footerarea,
  .shortcutarea,
  .contentmenu,
  .headerarea,
  .topmenuarea,
  #contentwrapleft,
  #jPanelMenu-menu,
  #logo {
    display: none;
  }

  .page_margins,
  .page_margins_small {
    width: 100%;
    margin: 0;
  }

  #page,
  #header,
  #header img,
  #contentwrapright {
    width: 100% !important;
  }

  #contentwrap {
    padding: 0;
  }

  body {
    background: transparent;
  }

  h1,
  h2.likeh1 {
    font-size: 200%;
  }
}