/*! , Compiled at 2025-09-03 09:45:16 */
.cc-window {
  opacity: 1;
  transition: opacity 1s ease;
}
.cc-window.cc-invisible {
  opacity: 0;
}
.cc-animate.cc-revoke {
  transition: transform 1s ease;
}
.cc-animate.cc-revoke.cc-top {
  transform: translateY(-2em);
}
.cc-animate.cc-revoke.cc-bottom {
  transform: translateY(2em);
}
.cc-animate.cc-revoke.cc-active.cc-bottom,
.cc-animate.cc-revoke.cc-active.cc-top,
.cc-revoke:hover {
  transform: translateY(0);
}
.cc-grower {
  max-height: 0;
  overflow: hidden;
  transition: max-height 1s;
}
.cc-link,
.cc-revoke:hover {
  text-decoration: underline;
}
.cc-revoke,
.cc-window {
  position: fixed;
  overflow: hidden;
  box-sizing: border-box;
  font-family: Helvetica, Calibri, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5em;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  z-index: 9999;
}
.cc-window.cc-static {
  position: static;
}
.cc-window.cc-floating {
  padding: 2em;
  max-width: 24em;
  -ms-flex-direction: column;
  flex-direction: column;
}
.cc-window.cc-banner {
  padding: 1em 1.8em;
  width: 100%;
  -ms-flex-direction: row;
  flex-direction: row;
}
.cc-revoke {
  padding: 0.5em;
}
.cc-header {
  font-size: 18px;
  font-weight: 700;
}
.cc-btn,
.cc-close,
.cc-link,
.cc-revoke {
  cursor: pointer;
}
.cc-link {
  opacity: .8;
  display: inline-block;
  padding: 0.2em;
}
.cc-link:hover {
  opacity: 1;
}
.cc-link:active,
.cc-link:visited {
  color: initial;
}
.cc-btn {
  display: block;
  padding: .4em .8em;
  font-size: .9em;
  font-weight: 700;
  border-width: 2px;
  border-style: solid;
  text-align: center;
  white-space: nowrap;
}
.cc-banner .cc-btn:last-child {
  min-width: 140px;
}
.cc-highlight .cc-btn:first-child {
  background-color: transparent;
  border-color: transparent;
}
.cc-highlight .cc-btn:first-child:focus,
.cc-highlight .cc-btn:first-child:hover {
  background-color: transparent;
  text-decoration: underline;
}
.cc-close {
  display: block;
  position: absolute;
  top: .5em;
  right: .5em;
  font-size: 1.6em;
  opacity: .9;
  line-height: 0.75;
}
.cc-close:focus,
.cc-close:hover {
  opacity: 1;
}
.cc-revoke.cc-top {
  top: 0;
  left: 3em;
  border-bottom-left-radius: .5em;
  border-bottom-right-radius: 0.5em;
}
.cc-revoke.cc-bottom {
  bottom: 0;
  left: 3em;
  border-top-left-radius: .5em;
  border-top-right-radius: 0.5em;
}
.cc-revoke.cc-left {
  left: 3em;
  right: unset;
}
.cc-revoke.cc-right {
  right: 3em;
  left: unset;
}
.cc-top {
  top: 1em;
}
.cc-left {
  left: 1em;
}
.cc-right {
  right: 1em;
}
.cc-bottom {
  bottom: 1em;
}
.cc-floating > .cc-link {
  margin-bottom: 1em;
}
.cc-floating .cc-message {
  display: block;
  margin-bottom: 1em;
}
.cc-window.cc-floating .cc-compliance {
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}
.cc-window.cc-banner {
  -ms-flex-align: center;
  align-items: center;
}
.cc-banner.cc-top {
  left: 0;
  right: 0;
  top: 0;
}
.cc-banner.cc-bottom {
  left: 0;
  right: 0;
  bottom: 0;
}
.cc-banner .cc-message {
  -ms-flex: 1;
  flex: 1;
}
.cc-compliance {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: justify;
  align-content: space-between;
}
.cc-compliance > .cc-btn {
  -ms-flex: 1;
  flex: 1;
}
.cc-btn + .cc-btn {
  margin-left: 0.5em;
}
@media print {
  .cc-revoke,
  .cc-window {
    display: none;
  }
}
@media screen and (max-width: 900px) {
  .cc-btn {
    white-space: normal;
  }
}
@media screen and (max-width: 414px) and (orientation: portrait), screen and (max-width: 736px) and (orientation: landscape) {
  .cc-window.cc-top {
    top: 0;
  }
  .cc-window.cc-bottom {
    bottom: 0;
  }
  .cc-window.cc-banner,
  .cc-window.cc-left,
  .cc-window.cc-right {
    left: 0;
    right: 0;
  }
  .cc-window.cc-banner {
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .cc-window.cc-banner .cc-compliance {
    -ms-flex: 1;
    flex: 1;
  }
  .cc-window.cc-floating {
    max-width: none;
  }
  .cc-window .cc-message {
    margin-bottom: 1em;
  }
  .cc-window.cc-banner {
    -ms-flex-align: unset;
    align-items: unset;
  }
}
.cc-floating.cc-theme-classic {
  padding: 1.2em;
  border-radius: 5px;
}
.cc-floating.cc-type-info.cc-theme-classic .cc-compliance {
  text-align: center;
  display: inline;
  -ms-flex: none;
  flex: none;
}
.cc-theme-classic .cc-btn {
  border-radius: 5px;
}
.cc-theme-classic .cc-btn:last-child {
  min-width: 140px;
}
.cc-floating.cc-type-info.cc-theme-classic .cc-btn {
  display: inline-block;
}
.cc-theme-edgeless.cc-window {
  padding: 0;
}
.cc-floating.cc-theme-edgeless .cc-message {
  margin: 2em 2em 1.5em;
}
.cc-banner.cc-theme-edgeless .cc-btn {
  margin: 0;
  padding: .8em 1.8em;
  height: 100%;
}
.cc-banner.cc-theme-edgeless .cc-message {
  margin-left: 1em;
}
.cc-floating.cc-theme-edgeless .cc-btn + .cc-btn {
  margin-left: 0;
}

@media print {
  /* Headlines and text */
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin: 0 10px 0 0;
  }
  h1 {
    font-size: 32px;
    margin: 20px 0;
    font-weight: bold;
    font-style: normal;
  }
  h2 {
    font-size: 26px;
    margin: 18px 0;
    font-weight: bold;
    font-style: normal;
  }
  h3 {
    font-size: 22px;
    margin: 16px 0;
    font-weight: bold;
    font-style: normal;
  }
  h4 {
    font-size: 22px;
    margin: 16px 0;
    font-weight: normal;
    font-style: italic;
  }
  h5 {
    font-size: 18px;
    margin: 14px 0;
    font-weight: bold;
    font-style: normal;
  }
  h6 {
    font-size: 18px;
    margin: 14px 0;
    font-weight: normal;
    font-style: italic;
  }
  p,
  td,
  li {
    font-size: 14px;
    line-height: 1.62;
    margin: 8px 0;
  }
  /* Hide layout elements */
  #header,
  #stickyHeader,
  #siteHeader__fulltextsearch,
  #siteHeader__nav,
  #keyvisual,
  #keyvisualArea__siteTitle__headline > ul,
  #socialMediaButtons,
  #marginalRowAdd ul.smallTabs,
  #marginalRowAdd .marginalRowAddContainer .staticMap > a,
  #marginalRowAdd .marginalRowAddContainer .staticMap .image img,
  #marginalRowAdd .offCanvasTitle,
  #marginalRowAdd .basketButtons,
  #marginalRowAdd .innerContentBox .button,
  #marginalRowAdd .innerContentBox .ghostButton,
  #siteSubFooter,
  #siteFooter,
  form,
  #filterForm,
  #glossary,
  ul.listPaginate,
  ul.blogListPaginate,
  .copyright {
    display: none !important;
  }
  #keyvisualArea__siteTitle .subContent,
  #marginalRowAdd .marginalRowAddContainer .subContent,
  #marginalRowAdd .offCanvasTitle.printTitle {
    display: block !important;
  }
  #marginalRowAdd .offCanvasTitle.printTitle a {
    display: none;
  }
  #keyvisualArea {
    background: none;
  }
  /* Sidebar */
  aside .large {
    font-size: 200%;
  }
  /* Teasers */
  .imageTeaser {
    display: block;
    overflow: hidden;
    float: left;
    width: 100%;
    margin: 0 0 15px 0;
    padding: 0 0 15px 0;
    border-bottom: 1px solid #666;
  }
  .imageTeaser .image {
    width: 240px;
    height: 179px;
  }
  .imageTeaser .image > img {
    float: left;
    margin: 20px 20px 0 0;
    width: 215px;
    height: 140px;
  }
  .imageTeaser a {
    color: #666;
    text-decoration: none;
  }
  .blurTeaser {
    display: block;
    overflow: hidden;
    float: left;
    width: 100%;
    margin: 15px 0;
    padding: 15px 0;
    border-top: 1px solid #666;
    border-bottom: 1px solid #666;
  }
  .blurTeaser .button {
    display: none;
  }
  /* Lists */
  .listElement {
    display: block;
    overflow: hidden;
    float: left;
    width: 100%;
    margin: 0 0 15px 0;
    padding: 0 0 15px 0;
    border-bottom: 1px solid #666;
  }
  .listElement .image {
    width: 270px;
    height: 187px;
  }
  .listElement .image > picture,
  .listElement .image > img {
    float: left;
    margin: 20px 20px 0 0;
    width: 215px;
    height: 140px;
  }
  .listElement a {
    color: #666;
    text-decoration: none;
  }
  .listElement .buttonArea {
    display: none !important;
  }
  .listElement .vcard .fn {
    display: none;
  }
  .listElement iframe.trustyou {
    display: block;
    width: 125px;
    height: 101px;
    border: 0 none;
  }
  .listElement .text aside h5 {
    margin: 20px 0 10px 0;
  }
  .text.byline > h3 {
    margin: -8px 0 0 0;
  }
  .g-element-1.g-element-md-3.marginalRowAdd > h2 {
    font-size: 24px;
  }
  #siteHeader img {
    width: 250px;
    height: 85px;
  }
  article#keyvisualArea__siteTitle__headline.g-element-2.g-element-noMargin.g-element-md-3 h1 {
    margin: -7px 0 0 0;
    font-size: 30px;
  }
  article.listElement.g-element-3.extraInfo aside {
    padding-bottom: 0;
  }
  span.title.contact_title {
    font-size: 22px;
  }
  div.gallery img {
    width: 230px;
    height: 140px;
  }
  .innerContentBox h2 {
    font-size: 22px;
    margin: 16px 0;
  }
  #marginalRowAdd .offCanvasTitle.printTitle {
    padding-top: 5px;
  }
  .innerContentBox ul li {
    margin: 0 0 0 0;
  }
  article.contentText.g-element-3.g-element-md-3 img.skyscraper {
    height: 670px;
    width: 240px;
  }
  article.contentText.g-element-3.g-element-md-3 img {
    width: 500px;
    height: 660px;
  }
  article.g-element-2.g-element-noMargin.g-element-md-3 h1 {
    font-size: 30px;
    padding-bottom: 5px;
  }
  article.listElement.g-element-3 h3 {
    margin: 0 0 0 0;
  }
  article.contentText.g-element-2.g-element-md-3.has-map h3 {
    margin: 0 0 0 0;
  }
  .g-grid-3 article.listElement.g-element-3.extraInfo {
    padding: 0 0 0 0 !important;
  }
  article.listElement.g-element-3.extraInfo div.text {
    padding-top: 16px;
  }
  div.textArea p {
    margin: 2px 0 0 0;
  }
  .listElement a.image.tracking-click-link picture img {
    width: 225px;
  }
  .listElement img:not(.list_titleIcons):not(.certificate) {
    width: 230px;
    height: 140px;
  }
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage basic styles
 * @author     lange
 * @since      10.07.2014
 * @version    $Id$
 **/
/*  =========================================================
general structure setup
tools
========================================================== */
/*  =========================================================
general structure setup
========================================================== */
@media screen {
  html {
    height: auto;
    font-size: 10px;
    background: #fff;
    overflow-x: hidden;
    overflow-y: auto;
  }
  html,
  body {
    width: 100%;
    text-align: center;
    margin: 0;
    border: 0;
    padding: 0;
  }
  html {
    overflow-x: hidden;
  }
  iframe {
    border: 0;
  }
  section.plainBG {
    background-color: #e9e8e4;
  }
  section.topSpace {
    padding-top: 30px;
  }
  section.bottomSpace {
    padding-bottom: 75px;
  }
  section.gradientBg[class*='module--'],
  section.bottomSpace[class*='module--'] {
    padding-bottom: 0;
    margin-bottom: 50px;
  }
  section.bottomSpace.module--accordion .areaTitle {
    padding-top: 0;
    margin-bottom: 15px;
  }
  section.bottomSpace.tourTeaser {
    padding-bottom: 120px;
  }
  section.ewrLogo {
    text-align: right;
    max-width: 1260px;
    margin: -60px auto 0 auto;
    width: 100%;
  }
  section.ewrLogo a {
    margin: 0 auto;
    max-width: 1260px;
    overflow: visible;
    position: relative;
    text-align: left;
    width: 100%;
    top: -15px;
  }
  section.ewrLogo a span {
    display: block;
    position: absolute;
    bottom: 20px;
    left: -85px;
    padding: 1px 3px;
    background: #fff;
    color: #272727;
    font: 700 normal 12px Arial, sans-serif;
  }
  a {
    cursor: pointer;
    color: inherit;
    font: inherit;
  }
  body a > img {
    border: 0 none;
  }
  button {
    cursor: pointer;
  }
  label {
    cursor: pointer;
  }
  #marginalRowAdd > form,
  #marginalRowAdd > section,
  #marginalRowAdd > .marginalRowElement {
    position: relative;
    z-index: 1;
  }
  acronym {
    text-decoration: none;
  }
}
@media screen and (max-width: 900px) {
  html.offCanvasIsActive900 {
    overflow-y: hidden;
  }
  .hideBelow600,
  .hideBelow900 {
    display: none !important;
  }
  .er-bg-b900 {
    background: none !important;
  }
}
@media screen and (max-width: 600px) {
  html.offCanvasIsActive600 {
    overflow-y: hidden;
  }
  body > section.bottomSpace {
    padding-bottom: 50px;
  }
}
/*  =========================================================
tools
========================================================= */
@media screen {
  .closer {
    clear: both;
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }
  .none,
  .hide,
  #print {
    display: none !important;
  }
  .hideForVideo {
    visibility: hidden;
    pointer-events: all;
    cursor: pointer;
  }
  .noMargin {
    margin: 0 !important;
  }
  .noPadding {
    padding: 0 !important;
  }
  .noBorder {
    border: 0 none transparent !important;
  }
  .cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .verticalAlignMiddle {
    display: inline-block;
    height: 100%;
    width: 0;
    vertical-align: middle;
  }
}
/*  =========================================================
fix stupid and unwanted IE10+ bonus features in textboxes
========================================================= */
input::-ms-clear {
  display: none;
}
@media screen {
  /*
  #26633 this styling is needed for the print version since the html construction is not suitable for the print version
  */
  aside > span.contact_title {
    font: 400 normal 22px/23px Arial, sans-serif;
    position: absolute;
    top: -35px;
  }
  #mapLegend .icon-touren::before {
    display: none;
  }
  a#map-legend-highlights,
  a#map-legend-touren {
    margin-left: 30px;
  }
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage font styles
 * @author     lange
 * @since      10.07.2014
 * @version    $Id$
 **/
/*  =========================================================
meta
metabook
========================================================== */
/*  =========================================================
meta
========================================================= */
@font-face {
  font-family: 'meta';
  src: url('../fonts/meta/bold/mtbdcelr-webfont.25e52179.eot');
  src: url('../fonts/meta/bold/mtbdcelr-webfont.25e52179.eot?#iefix') format('embedded-opentype'), url('../fonts/meta/bold/mtbdcelr-webfont.bcb6af7b.woff') format('woff'), url('../fonts/meta/bold/mtbdcelr-webfont.161ae45b.ttf') format('truetype'), url('../fonts/meta/bold/mtbdcelr-webfont.8c6e2d02.svg#metaboldcelf-romanregular') format('svg');
  font-weight: 700;
  font-style: normal;
}
/*  =========================================================
metabook
========================================================= */
@font-face {
  font-family: 'metabook';
  src: url('../fonts/metabookcelf_roman/metabookcelf-roman-webfont.8e0be126.eot');
  src: url('../fonts/metabookcelf_roman/metabookcelf-roman-webfont.8e0be126.eot?#iefix') format('embedded-opentype'), url('../fonts/metabookcelf_roman/metabookcelf-roman-webfont.5702dc95.woff') format('woff'), url('../fonts/metabookcelf_roman/metabookcelf-roman-webfont.a68cbff1.ttf') format('truetype'), url('../fonts/metabookcelf_roman/metabookcelf-roman-webfont.2e92fcbe.svg#metabookcelfroman') format('svg');
  font-weight: 400;
  font-style: normal;
}
/*  =========================================================
typewriter condensed
========================================================= */
@font-face {
  font-family: 'typewriter';
  src: url('../fonts/typewriter/typewcond_regular.6247b859.otf') format("opentype");
  src: url('../fonts/typewriter/typewcond_regular.2347aaca.woff') format("woff"), url('../fonts/typewriter/typewcond_regular.7083587b.ttf') format("truetype");
  font-weight: 400;
  font-style: normal;
}
/*  =========================================================
typewriter condensed bold
========================================================= */
@font-face {
  font-family: 'typewriter';
  src: url('../fonts/typewriter/typewcond_bold.f292b587.otf') format("opentype");
  src: url('../fonts/typewriter/typewcond_bold.d9e7611e.woff') format("woff"), url('../fonts/typewriter/typewcond_bold.487ec607.ttf') format("truetype");
  font-weight: 700;
  font-style: normal;
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage grid styles
 * @author     lange
 * @since      10.07.2014
 * @version    $Id$
 **/
/*  =========================================================
basic config
3 column grid
4 column grid
vertical grid
========================================================== */
/*  =========================================================
basic config
========================================================= */
@media screen {
  .content {
    width: 1100px;
    margin: 0 auto;
    text-align: left;
    position: relative;
  }
  .content--small {
    width: 1020px;
    margin: 0 auto;
    text-align: left;
    position: relative;
  }
  [class*='g-grid'] {
    clear: both;
    display: block;
  }
  [class*='g-element'] {
    display: inline-block;
    vertical-align: top;
  }
}
@media screen and (max-width: 1150px) {
  .content {
    width: 96%;
    margin: 0 2%;
  }
  .content--small {
    width: 96%;
    margin: 0 2%;
  }
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .content-md-full {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
@media screen and (max-width: 600px) {
  .content,
  .content--small {
    width: calc(93.75%);
    margin: 0 calc(3.125%);
    padding: 0;
  }
  .content-sm-full {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
/*  =========================================================
3 column grid
========================================================= */
@media screen {
  .g-grid-3 {
    width: 100%;
    margin: 0 -3.636% /*40/1100*/ 0 0;
  }
  .g-grid-3 [class*='g-element']:not(.g-element-noMargin) {
    margin-right: 3.509% /*40/1140*/;
  }
  .g-grid-3 [class*='g-element'].g-element-noMargin {
    margin-right: 0;
  }
  .g-grid-3 .g-element-0 {
    display: none;
  }
  .g-grid-3 .g-element-1:not(.g-element-noMargin) {
    width: 29.824% /*340/1140*/;
  }
  .g-grid-3 .g-element-2:not(.g-element-noMargin) {
    width: 63.158%;
  }
  .g-grid-3 .g-element-3:not(.g-element-noMargin) {
    width: 96.491% /*1100/1140*/;
  }
  .g-grid-3 .g-offset-0 {
    margin-left: 0;
  }
  .g-grid-3 .g-offset-1 {
    margin-left: 33.333% /*380/1140*/;
  }
  .g-grid-3 .g-offset-2 {
    margin-left: 66.666% /*760/1140*/;
  }
  .g-grid-3 .g-offset-3 {
    margin-left: 100% /*1140/1140*/;
  }
  .addMarginLeft {
    margin-left: 47px;
  }
  .innerContentBox .addMarginLeft {
    margin-left: 63px;
  }
  .g-grid-3 .g-element-1.g-element-noMargin {
    width: 33.333% /*380/1140*/;
  }
  .g-grid-3 .g-element-2.g-element-noMargin {
    width: 66.666% /*760/1140*/;
  }
  .g-grid-3 .g-element-3.g-element-noMargin {
    width: 100% /*1140/1140*/;
  }
  .g-grid-3 .g-element-2.g-element-noMarginLeft {
    margin: 0;
  }
}
@media screen and (max-width: 900px) {
  .g-grid-3 .g-element-md-0 {
    display: none;
  }
  .g-grid-3 .g-element-md-1:not(.g-element-noMargin) {
    width: 29.825% /*340/1140*/;
  }
  .g-grid-3 .g-element-md-2:not(.g-element-noMargin) {
    width: 63.158% /*720/1140*/;
  }
  .g-grid-3 .g-element-md-3:not(.g-element-noMargin) {
    width: 96.491% /*1100/1140*/;
  }
  .g-grid-3 .g-offset-md-0 {
    margin-left: 0;
  }
  .g-grid-3 .g-offset-md-1 {
    margin-left: 33.333% /*380/1140*/;
  }
  .g-grid-3 .g-offset-md-2 {
    margin-left: 66.666% /*760/1140*/;
  }
  .g-grid-3 .g-offset-md-3 {
    margin-left: 100% /*1140/1140*/;
  }
  .g-grid-3 .g-element-md-1.g-element-noMargin {
    width: 33.333%;
  }
  .g-grid-3 .g-element-md-2.g-element-noMargin {
    width: 66.666%;
  }
  .g-grid-3 .g-element-md-3.g-element-noMargin {
    width: 100%;
  }
  .g-grid-3 .g-element-md-3.g-element-noMarginLeft {
    margin-left: 0;
  }
}
@media screen and (max-width: 600px) {
  .g-grid-md-3 {
    clear: both;
    display: block;
  }
  .g-grid-3 .g-element-sm-0 {
    display: none;
  }
  .g-grid-3 .g-element-sm-1:not(.g-element-noMargin) {
    width: 29.825% /*340/1140*/;
  }
  .g-grid-3 .g-element-sm-2:not(.g-element-noMargin) {
    width: 63.158% /*720/1140*/;
  }
  .g-grid-3 .g-element-sm-3:not(.g-element-noMargin) {
    width: 96.491% /*1100/1140*/;
  }
  .g-grid-3 .g-offset-sm-0 {
    margin-left: 0;
  }
  .g-grid-3 .g-offset-sm-1 {
    margin-left: 33.333% /*380/1140*/;
  }
  .g-grid-3 .g-offset-sm-2 {
    margin-left: 66.666% /*760/1140*/;
  }
  .g-grid-3 .g-offset-sm-3 {
    margin-left: 100% /*1140/1140*/;
  }
  .g-grid-3 .g-element-sm-1.g-element-noMargin {
    width: 33.333%;
  }
  .g-grid-3 .g-element-sm-2.g-element-noMargin {
    width: 66.666%;
  }
  .g-grid-3 .g-element-sm-3.g-element-noMargin {
    width: 100%;
  }
}
/*  =========================================================
4 column grid
========================================================= */
@media screen {
  .g-grid-4:not(.small) {
    width: 101.818% /*1120/1100*/;
    margin: 0 -1.818% /*20/1100*/ 0 0;
  }
  .g-grid-4.small {
    width: 100%;
  }
  .g-grid-4 .g-element-noMargin {
    margin: 0 !important;
  }
  .g-grid-4 [class*='g-element']:not(.g-element-noMargin) {
    margin-right: 1.786% /*20/1120*/ !important;
  }
  .g-grid-4 .g-element-0 {
    display: none;
  }
  .g-grid-4 .g-element-1:not(.g-element-noMargin) {
    width: 23.214% /*260/1120*/;
  }
  .g-grid-4 .g-element-2:not(.g-element-noMargin) {
    width: 48.214% /*540/1120*/;
  }
  .g-grid-4 .g-element-3:not(.g-element-noMargin) {
    width: 73.214% /*820/1120*/;
    margin-top: 30px;
  }
  .g-grid-4 .g-element-4:not(.g-element-noMargin) {
    width: 98.214% /*1100/1120*/;
  }
  .g-grid-4 .g-offset-0 {
    margin-left: 0;
  }
  .g-grid-4 .g-offset-1 {
    margin-left: 25% /*280/1120*/;
  }
  .g-grid-4 .g-offset-2 {
    margin-left: 50% /*560/1120*/;
  }
  .g-grid-4 .g-offset-3 {
    margin-left: 75% /*840/1120*/;
  }
  .g-grid-4 .g-offset-4 {
    margin-left: 100% /*1120/1120*/;
  }
  .g-grid-4 .g-element-1.g-element-noMargin {
    width: 25%;
  }
  .g-grid-4 .g-element-2.g-element-noMargin {
    width: 50%;
  }
  .g-grid-4 .g-element-3.g-element-noMargin {
    width: 75%;
  }
  .g-grid-4 .g-element-4.g-element-noMargin {
    width: 100% /*1100/1120*/;
  }
}
@media screen and (max-width: 900px) {
  .g-grid-4 .g-element-md-0 {
    display: none;
  }
  .g-grid-4 .g-element-md-1:not(.g-element-noMargin) {
    width: 23.214% /*260/1120*/;
  }
  .g-grid-4 .g-element-md-2:not(.g-element-noMargin) {
    width: 48.214% /*540/1120*/;
  }
  .g-grid-4 .g-element-md-3:not(.g-element-noMargin) {
    width: 73.214% /*820/1120*/;
  }
  .g-grid-4 .g-element-md-4:not(.g-element-noMargin) {
    width: 98.214% /*1100/1120*/;
  }
  .g-grid-4 .g-offset-md-0 {
    margin-left: 0;
  }
  .g-grid-4 .g-offset-md-1 {
    margin-left: 25% /*280/1120*/;
  }
  .g-grid-4 .g-offset-md-2 {
    margin-left: 50% /*560/1120*/;
  }
  .g-grid-4 .g-offset-md-3 {
    margin-left: 75% /*840/1120*/;
  }
  .g-grid-4 .g-offset-md-4 {
    margin-left: 100% /*1120/1120*/;
  }
  .g-grid-4 .g-element-md-1.g-element-noMargin {
    width: 25%;
  }
  .g-grid-4 .g-element-md-2.g-element-noMargin {
    width: 50%;
  }
  .g-grid-4 .g-element-md-3.g-element-noMargin {
    width: 75%;
  }
  .g-grid-4 .g-element-md-4.g-element-noMargin {
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .g-grid-4 .g-element-sm-0 {
    display: none;
  }
  .g-grid-4 .g-element-sm-1:not(.g-element-noMargin) {
    width: 23.214% /*260/1120*/;
  }
  .g-grid-4 .g-element-sm-2:not(.g-element-noMargin) {
    width: 48.214% /*540/1120*/;
  }
  .g-grid-4 .g-element-sm-3:not(.g-element-noMargin) {
    width: 73.214% /*820/1120*/;
  }
  .g-grid-4 .g-element-sm-4:not(.g-element-noMargin) {
    width: 98.214% /*1100/1120*/;
  }
  .g-grid-4 .g-offset-sm-0 {
    margin-left: 0;
  }
  .g-grid-4 .g-offset-sm-1 {
    margin-left: 25% /*280/1120*/;
  }
  .g-grid-4 .g-offset-sm-2 {
    margin-left: 50% /*560/1120*/;
  }
  .g-grid-4 .g-offset-sm-3 {
    margin-left: 75% /*840/1120*/;
  }
  .g-grid-4 .g-offset-sm-4 {
    margin-left: 100% /*1120/1120*/;
  }
  .g-grid-4 .g-element-sm-1.g-element-noMargin {
    width: 25%;
  }
  .g-grid-4 .g-element-sm-2.g-element-noMargin {
    width: 50%;
  }
  .g-grid-4 .g-element-sm-3.g-element-noMargin {
    width: 75%;
  }
  .g-grid-4 .g-element-sm-4.g-element-noMargin {
    width: 100%;
  }
}
/*  =========================================================
vertical grid
========================================================= */
@media (min-width: 600.1px) {
  .v-el-large:not(:last-child) {
    margin-bottom: 80px;
  }
}
@media (max-width: 600px) {
  .v-el-large:not(:last-child) {
    margin-bottom: 50px;
  }
}
@media (min-width: 600.1px) {
  .v-el-small:not(:last-child) {
    margin-bottom: 50px;
  }
}
@media (max-width: 600px) {
  .v-el-small:not(:last-child) {
    margin-bottom: 35px;
  }
}
.v-el-tiny:not(:last-child) {
  margin-bottom: 15px;
}

@font-face {
  font-family: 'icomoon';
  src: url('../fonts/icomoon/icomoon.36e9c69c.eot?o0fpt6');
  src: url('../fonts/icomoon/icomoon.36e9c69c.eot?o0fpt6#iefix') format('embedded-opentype'), url('../fonts/icomoon/icomoon.10966e5f.woff2?o0fpt6') format('woff2'), url('../fonts/icomoon/icomoon.0fae4cd0.ttf?o0fpt6') format('truetype'), url('../fonts/icomoon/icomoon.45281795.woff?o0fpt6') format('woff'), url('../fonts/icomoon/icomoon.a4664ae0.svg?o0fpt6#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^="icon-"],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-search:before {
  content: "\e90f";
}
.icon-menu:before {
  content: "\e910";
}
.icon-chevronLeft:before {
  content: "\e90e";
}
.icon-chevronRight:before {
  content: "\e90d";
}
.icon-chevronUp:before {
  content: "\e90b";
}
.icon-chevronDown:before {
  content: "\e90c";
}
.icon-instagram:before {
  content: "\e909";
}
.icon-arrow_left_teaser:before {
  content: "\e600";
}
.icon-arrow_right_teaser:before {
  content: "\e601";
}
.icon-arrowdown:before {
  content: "\e602";
}
.icon-arrowRight:before {
  content: "\e603";
}
.icon-arrowup:before {
  content: "\e604";
}
.icon-blog:before {
  content: "\e605";
}
.icon-calendar:before {
  content: "\e606";
}
.icon-checkmark:before {
  content: "\e607";
}
.icon-closer:before {
  content: "\e608";
}
.icon-download:before {
  content: "\e609";
}
.icon-erlebnis:before {
  content: "\e60a";
}
.icon-facebook:before {
  content: "\e60b";
}
.icon-googleplus:before {
  content: "\e60c";
}
.icon-karte:before {
  content: "\e60d";
}
.icon-languageMapIcon:before {
  content: "\e60e";
}
.icon-mail:before {
  content: "\e60f";
}
.icon-ausflugsziele:before {
  content: "\e610";
}
.icon-pen:before {
  content: "\e611";
}
.icon-phone:before {
  content: "\e612";
}
.icon-region:before {
  content: "\e613";
}
.icon-rememberme:before {
  content: "\e614";
}
.icon-freizeiteinrichtungen:before {
  content: "\e615";
}
.icon-volltextsuche:before {
  content: "\e616";
}
.icon-gastronomie:before {
  content: "\e617";
}
.icon-wein:before {
  content: "\e618";
}
.icon-hotel:before {
  content: "\e619";
}
.icon-youtube:before {
  content: "\e61a";
}
.icon-touren:before {
  content: "\e61b";
}
.icon-vinothek:before {
  content: "\e61c";
}
.icon-veranstaltungen:before {
  content: "\e61d";
}
.icon-arrowLeft:before {
  content: "\e61e";
}
.icon-menue:before {
  content: "\e61f";
}
.icon-touch:before {
  content: "\e620";
}
.icon-file-play:before {
  content: "\e621";
}
.icon-cart:before {
  content: "\e622";
}
.icon-file-pdf:before {
  content: "\e623";
}
.icon-feed:before {
  content: "\e900";
}
.icon-aktivitaet:before {
  content: "\e901";
}
.icon-kultur:before {
  content: "\e902";
}
.icon-service:before {
  content: "\e903";
}
.icon-play:before {
  content: "\e904";
}
.icon-speakerOn:before {
  content: "\e905";
}
.icon-speakerOff:before {
  content: "\e906";
}
.icon-twitter:before {
  content: "\e907";
}
.icon-vimeo:before {
  content: "\e908";
}
.icon-stop:before {
  content: "\e911";
  color: #fff;
}
.icon-liste:before {
  content: "\e912";
}
.icon-komoot:before {
  content: "\e913";
}
.icon-outdooractive:before {
  content: "\e914";
}

/*  =========================================================
fulltext search autocomplete
========================================================== */
@media screen {
  #siteHeader__fulltextsearch__autocomplete {
    display: none;
  }
  #search_query_autocomplete > .tabs {
    display: block;
    position: absolute;
    top: 10px;
    left: 0;
    width: 100%;
    height: 70px;
    list-style: none outside none;
    background: none repeat scroll 0 0 #797979;
  }
  #search_query_autocomplete > .tabs > ul {
    display: block;
    margin: 0;
    padding: 15px 10px;
    list-style: none outside none;
  }
  #search_query_autocomplete > .tabs > ul > li {
    float: left;
    display: block;
    height: 40px;
    margin: 0 10px 0 0;
  }
  #search_query_autocomplete > .tabs > ul > li:last-of-type {
    margin: 0;
  }
  #search_query_autocomplete > .tabs > ul > li > a {
    position: relative;
    display: block;
    height: 40px;
    padding: 0 5px;
    background: none repeat scroll 0 0 #e7a200;
    font: 700 14px/16px "meta", Arial, sans-serif;
    color: #fff;
    line-height: 40px;
    text-decoration: none;
  }
  #search_query_autocomplete > .tabs > ul > li > a.active {
    background: none repeat scroll 0 0 #fff;
    color: #393939;
  }
  #search_query_autocomplete > .tabs > ul > li > a.active::after {
    position: absolute;
    left: 15px;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 7.5px 0 7.5px;
    border-color: #fff transparent transparent transparent;
    content: "";
  }
  #search_query_autocomplete > ul {
    display: none;
    list-style: outside none none;
    padding: 0;
    background-color: #fff;
  }
  #search_query_autocomplete.map > ul {
    margin-top: 10px;
  }
  #search_query_autocomplete > ul:first-of-type {
    display: block;
  }
  #search_query_autocomplete > ul > li {
    text-align: left;
    margin: 0;
    padding: 0;
  }
  #search_query_autocomplete > ul > li:first-of-type {
    padding-top: 5px;
  }
  #search_query_autocomplete > ul > li:last-of-type {
    padding-bottom: 5px;
  }
  #search_query_autocomplete > ul > li.selected {
    background-color: #ccc;
  }
  #search_query_autocomplete > ul > li > a {
    display: block;
    margin: 0 10px;
    padding: 10px 0;
    color: #b9b9b9;
    text-decoration: none;
    font: 700 18px/24px "meta", Arial, sans-serif;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #b8b8b8;
  }
  #search_query_autocomplete > ul > li > a > span {
    float: right;
    font: 700 14px/24px "meta", Arial, sans-serif;
  }
  #search_query_autocomplete > ul > li:first-of-type > a {
    border-top: 0 none;
  }
  #search_query_autocomplete > ul > li:last-of-type > a {
    border-bottom: 0 none;
  }
  #search_query_autocomplete > ul > li > a strong {
    color: #393939;
  }
  #search_query_autocomplete > ul > li > a .hits {
    float: right;
    font-size: 0.75em;
  }
}
@media screen and (max-width: 630px) {
  /* do not show autoComplete widget on small screens */
  body.has-map #search_query_autocomplete {
    display: none !important;
  }
}
/*  =========================================================
fulltext search autocomplete second layer
========================================================== */
@media screen {
  ul.autocomplete.map {
    margin: 5px 0 0 0;
    padding: 0;
    background: none repeat scroll 0 0 #fff;
    list-style: outside none none;
  }
  ul.autocomplete.map > li {
    margin: 0;
    padding: 0;
    text-align: left;
  }
  ul.autocomplete.map > li.selected {
    background-color: #ccc;
  }
  ul.autocomplete.map > li:first-of-type {
    padding-top: 5px;
  }
  ul.autocomplete.map > li > a {
    border-bottom: 1px solid #b8b8b8;
    border-top: 1px solid #fff;
    color: #b9b9b9;
    display: block;
    font: 700 18px/24px "meta", Arial, sans-serif;
    margin: 0 10px;
    padding: 10px 0;
    text-decoration: none;
  }
  ul.autocomplete.map > li > a:active {
    background: none repeat scroll 0 0 #fff;
    color: #393939;
  }
  ul.autocomplete.map > li:first-of-type > a {
    border-top: 0 none;
  }
  ul.autocomplete.map > li > a > strong {
    color: #393939;
  }
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage elements styles
 * @author     lange
 * @since      10.07.2014
 * @version    $Id$
 **/
/*  =========================================================
buttons
labels / inputs
checkboxes and radios
image copyrights
image offer
teaserwall
big tabs
small tabs
masonry teaser gallery
offCanvas
imageGallery
content form
filter form
search form
comment form
map section
videos
cookieconsent
tab element
========================================================== */
/*  =========================================================
buttons
========================================================== */
@media screen {
  .button,
  .ghostButton,
  .inverseButton,
  .inverseGhostButton,
  .fakeButton,
  .darkButton,
  .darkerButton {
    display: inline-block;
    box-sizing: border-box;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font: 400 normal 18px/20px Arial, sans-serif;
    text-decoration: none;
    height: 40px;
    padding: 10px;
    max-width: 100%;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
  }
  .button {
    background: #e7a200;
    color: #fff;
    border: none;
  }
  .button.right {
    float: right;
  }
  .ghostButton {
    background: transparent;
    color: #e7a200;
    border: 2px #d49500 solid;
  }
  .ghostButton > span {
    display: inline-block;
  }
  .inverseButton {
    background: #fff;
    color: #e7a200;
    border: none;
  }
  .inverseGhostButton {
    background: transparent;
    color: #fff;
    border: 2px #fff solid;
  }
  .darkButton {
    background: #c08700;
    color: #fff;
    border: none;
  }
  .darkerButton {
    background: #393939;
    color: #fff;
  }
  .fakeButton {
    background: #393939;
    color: #fff;
  }
  .contentForm .button {
    float: right;
  }
  .button > span[class*='icon-'],
  .ghostButton > span[class*='icon-'],
  .inverseButton > span[class*='icon-'],
  .inverseGhostButton > span[class*='icon-'],
  .darkButton > span[class*='icon-'],
  .darkerButton > span[class*='icon-'],
  .fakeButton > span[class*='icon-'],
  .darkButton > span[class*='icon-'] {
    display: inline-block;
    font-size: 20px;
    vertical-align: top;
    margin-right: 5px;
  }
  .button.button--rightIcon > span[class*='icon-'] {
    margin-right: 0;
    margin-left: 5px;
  }
  .splitButton > span[class*='icon-'] {
    color: #fff;
    display: inline-block;
    height: 17px;
    margin: -10px 10px -10px -10px;
    padding: 10px;
  }
  #requestBrochuresBasket .buttonArea,
  #requestOffersBasket .buttonArea {
    padding-left: 10px;
    padding-right: 10px;
    text-align: center;
  }
  #requestBrochuresBasket .buttonArea > .inverseButton,
  #requestOffersBasket .buttonArea > .inverseButton {
    margin: 5px 10px 5px 0;
  }
  #requestBrochuresBasket .buttonArea > .inverseButton:last-of-type,
  #requestOffersBasket .buttonArea > .inverseButton:last-of-type {
    margin-right: 0;
  }
}
@media screen and (min-width: 1150px) {
  .button.rememberoffer {
    text-overflow: initial;
  }
}
/*  =========================================================
labels / inputs
========================================================= */
@media screen {
  label.default,
  label.inverse {
    font: 400 normal 14px/16px Arial, sans-serif;
    color: #393939;
    margin-bottom: 5px;
    font-weight: bold;
  }
  p.subtitle__ingelheim {
    font: 400 normal 14px/16px Arial, sans-serif;
    color: #393939;
    margin: 0;
    font-weight: bold;
  }
  select[name=hourFrom].formerror,
  select[name=hourTo].formerror,
  input[type=email].formerror,
  input[type=text].formerror,
  textarea.formerror {
    color: #c00 !important;
    border: 4px solid #c00 !important;
  }
  label.formerror {
    color: #c00;
  }
  div.formerror {
    margin: 20px 0;
    padding: 10px;
    border: 4px solid #c00;
    font: 400 normal 18px/26px Arial, sans-serif;
    color: #c00;
  }
  label.inverse {
    color: #fff;
  }
  #stickyHeader__requestForm div.formerror {
    margin: 20px -10px;
  }
  label.inverse {
    color: #fff;
  }
  .input > label > strong {
    color: inherit;
    font: 400 16px/1em Arial, sans-serif;
  }
  input[type=text].default,
  input[type=password].default,
  input[type=email].default,
  input[type=text].inverse,
  input[type=email].inverse,
  textarea.default,
  select.default,
  select.inverse {
    font: 700 normal 16px/1em Arial, sans-serif;
    color: #595959;
    box-sizing: border-box;
    height: 40px;
    padding: 0 5px;
    border: 1px #b5b5b5 solid;
    background-color: #fff;
  }
  textarea#contentForm__content {
    width: 84.898%;
    height: 140px;
    resize: vertical;
  }
  input[type=text].inverse,
  input[type=email].inverse,
  select.inverse {
    border-color: #ebbf59;
  }
  input[type=text].calendar {
    background: #fff url('../images/objects/icons/calendar.18e5fea1.svg') 98% 50% no-repeat;
    background-size: 20px;
  }
  input[type=file] {
    margin-top: 10px;
  }
}
@media screen and (max-width: 1100px) {
  .half > label.comment {
    width: 100%;
    /* 120/449 */
  }
  .full > label.comment {
    width: 100%;
    /* 120/899 */
  }
  textarea#contentForm__content {
    width: 100%;
  }
}
/*  =========================================================
checkboxes and radios
========================================================= */
@media screen {
  input.hidden[type=checkbox],
  input.hidden[type=radio] {
    opacity: 0;
    position: absolute;
  }
  input.styled[type=checkbox],
  input.inverse[type=checkbox] {
    opacity: 0;
    position: absolute;
  }
  input.styled[type=checkbox] + label,
  input.inverse[type=checkbox] + label {
    padding-left: 25px;
  }
  input.styled[type=checkbox] + label > [class^='icon-'],
  input.inverse[type=checkbox] + label > [class^='icon-'] {
    background: transparent;
    border: 1px rgba(42, 56, 65, 0.5) solid;
    font-size: 14px;
    color: transparent;
    margin-right: 5px;
    margin-left: -25px;
  }
  input.inverse[type=checkbox] + label > [class^='icon-'] {
    border-color: #fff;
  }
  input.styled[type=checkbox]:checked + label > [class^='icon-'],
  input.inverse[type=checkbox]:checked + label > [class^='icon-'] {
    background: rgba(42, 56, 65, 0.5);
    border-color: rgba(42, 56, 65, 0);
    color: #fff;
  }
  input.inverse[type=checkbox]:checked + label > [class^='icon-'] {
    background: #fff;
    color: #e7a200;
  }
  input.styled[type=radio] {
    opacity: 0;
    position: absolute;
  }
  input.styled[type=radio] + label {
    display: inline-block;
    padding-left: 25px;
  }
  input.styled[type=radio] + label::before {
    content: ' ';
    display: inline-block;
    vertical-align: bottom;
    width: 12px;
    height: 12px;
    background: transparent;
    border: 4px rgba(42, 56, 65, 0.5) solid;
    margin-right: 5px;
    margin-left: -25px;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
  }
  input.styled[type=radio]:checked + label::before {
    background: rgba(42, 56, 65, 0.5);
    border-color: transparent;
  }
}
/*  =========================================================
image copyrights
========================================================= */
.copyright {
  display: block;
  position: absolute;
  bottom: 2px;
  left: 2px;
  padding: 1px 3px;
  background: #fff;
  color: #272727;
  font: 700 normal 12px Arial, sans-serif;
}
.copyright.webcam {
  bottom: auto;
  top: 2px;
}
/*  =========================================================
image offer
========================================================= */
@media screen {
  .image {
    position: relative;
  }
  .image > .offerPrice {
    display: block;
    position: absolute;
    top: 10px;
    right: 0;
    padding: 1px 3px;
    background: #fff;
    color: #272727;
    font: 700 normal 16px Arial, sans-serif;
  }
}
@media screen and (min-width: 1101px) {
  .keyvisual__item > .offerPrice {
    transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform-origin: left top;
    -moz-transform-origin: left top;
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    margin-bottom: -18px;
  }
}
/*  =========================================================
small tabs
========================================================= */
@media screen {
  .smallTabs {
    padding: 60px 0 0 0;
    margin: 0;
    list-style: none;
  }
  .smallTabs.searchResult {
    padding-top: 0;
  }
  .smallTabs > li {
    display: inline-block;
    vertical-align: top;
    margin: 0 10px 0 0;
  }
  .smallTabs > li > a {
    font: 400 normal 18px/20px Arial, sans-serif;
    padding: 9px 10px;
    margin: 0 0 20px;
    text-decoration: none;
    display: block;
    position: relative;
    background: #fff;
  }
  .smallTabs > li > a:not(.active) {
    color: #989898;
  }
  .smallTabs > li > a.active {
    color: #c08700;
    border-bottom: 2px solid #c08700;
  }
}
/*  =========================================================
offCanvas
========================================================= */
@media screen {
  .offCanvasTitle {
    box-sizing: border-box;
    width: 100%;
    padding: 15px 10px 20px 10px;
    text-align: left;
  }
  .offCanvasTitle:not(.subFooterTabs__elements) {
    background: #fff;
  }
  .offCanvasTitle.subFooterTabs__elements {
    background: #c08700;
  }
  .offCanvasTitle > p {
    font: 400 normal 25px/25px Arial, sans-serif;
    color: #fff;
    margin: 0;
  }
  .offCanvasTitle > h2 {
    font: 700 normal 40px/35px Arial, sans-serif !important;
    color: #fff !important;
    margin: 0;
  }
  .offCanvasTitle > a {
    display: block;
    position: relative;
    font: 700 normal 22px Arial, sans-serif;
    text-decoration: none;
    color: #393939;
    background: #fff;
    margin: 20px 0 0 10px;
    padding: 10px 20px;
  }
}
@media screen and (min-width: 901px) {
  .offCanvasTitle {
    display: none;
  }
}
@media screen and (max-width: 900px) {
  [data-offcanvaselement][data-offcanvaswidth='900'] {
    display: block !important;
    background: #e9e8e4;
    position: fixed;
    z-index: 3;
    top: 0;
    left: 100%;
    transition: left 0.5s ease;
    -moz-transition: left 0.5s ease;
    -webkit-transition: left 0.5s ease;
    padding: 0;
    margin: 0 !important;
    height: 100% !important;
    width: 100% !important;
    overflow-y: auto;
  }
  [data-offcanvaselement][data-offcanvaswidth='900'].offCanvasActive {
    left: 0;
  }
}
@media screen and (min-width: 601px) {
  .offCanvasTitle {
    display: none;
  }
  .offCanvasOnly {
    display: none;
  }
}
@media screen and (max-width: 600px) {
  [data-offcanvaselement][data-offcanvaswidth='600'] {
    display: block !important;
    background: #e9e8e4;
    position: fixed;
    z-index: 3;
    top: 0;
    left: 100%;
    transition: left 0.5s ease;
    -moz-transition: left 0.5s ease;
    -webkit-transition: left 0.5s ease;
    padding: 0;
    margin: 0 !important;
    height: 100% !important;
    width: 100% !important;
    overflow-y: auto;
  }
  [data-offcanvaselement][data-offcanvaswidth='600'].offCanvasActive {
    left: 0;
  }
  .offCanvasOnly {
    display: block;
  }
}
/*  =========================================================
imageGallery
========================================================= */
@media screen {
  .imageGallery {
    width: 100%;
    max-height: 600px;
    overflow: hidden;
    text-align: center;
  }
  .imageGallery > .imageRow {
    overflow: visible;
    position: relative;
    max-width: 1260px;
    width: 100%;
    margin: 0 auto;
    text-align: left;
  }
  .imageGallery > .imageRow > .imageCollection {
    height: 0;
    padding-bottom: 47.619% /*600/1260*/;
  }
  .imageGallery > .imageRow > .imageCollection.static {
    transition: none !important;
    -moz-transition: none !important;
    -webkit-transition: none !important;
  }
  .imageGallery > .imageRow > .imageCollection > .image {
    float: left;
  }
  .imageGallery > .imageRow > .imageCollection > .image > img {
    display: block;
    height: auto;
    width: 100%;
  }
  .imageGallery > .imageRow > .paginate {
    text-decoration: none;
    width: 60px;
    height: 45px;
    display: block;
    padding: 15px 0 0 0;
    color: #e7a200;
    background: #fff;
    border-radius: 50%;
    text-align: center;
    position: absolute;
    top: 50%;
    margin-top: -30px;
    transition: transform 0.25s ease;
    -moz-transition: -moz-transform 0.25s ease;
    -webkit-transition: -webkit-transform 0.25s ease;
  }
  .imageGallery > .imageRow > .paginate:active,
  .imageGallery > .imageRow > .paginate:focus,
  .imageGallery > .imageRow > .paginate:hover {
    transform: rotate(360deg) scale(1.5);
    -moz-transform: rotate(360deg) scale(1.5);
    -webkit-transform: rotate(360deg) scale(1.5);
  }
  .imageGallery > .imageRow > .paginate:hover:not(.paginate--swipe) {
    transform: rotate(360deg) scale(1.5);
    -moz-transform: rotate(360deg) scale(1.5);
    -webkit-transform: rotate(360deg) scale(1.5);
  }
  .imageGallery > .imageRow > .paginationhidden {
    display: none;
  }
  .imageGallery > .imageRow > .paginate--left {
    left: 6.349% /*80/1260*/;
  }
  .imageGallery > .imageRow > .paginate--right {
    right: 6.349% /*80/1260*/;
  }
  .imageGallery > .imageRow > .paginate--swipe {
    left: 50%;
    margin-left: -30px;
    display: none;
  }
  .imageGallery > .imageRow > .paginate > [class*='icon-'] {
    font-size: 30px;
  }
}
@media screen and (max-width: 600px) {
  .imageGallery > .imageRow > .paginate--left,
  .imageGallery > .imageRow > .paginate--right {
    display: none;
  }
  .imageGallery > .imageRow > .paginate--swipe {
    display: block;
  }
}
/* webcam version */
@media screen {
  .imageGallery > .webcam {
    width: 100%;
    height: auto;
    max-width: 1260px;
    margin: 0 auto;
  }
  .imageGallery > .webcam > .image {
    width: 100%;
    height: 0;
    padding-bottom: 55.1587% /*695/1260*/;
  }
  .imageGallery > .webcam > .image > img {
    width: 100%;
    height: auto;
  }
}
/*  =========================================================
content form
========================================================= */
@media screen {
  #marginalRowAdd .contentForm.contentForm--contact fieldset {
    padding: 20px 0;
  }
  .contentForm fieldset {
    border: 0;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
  }
  .contentForm fieldset:not(.newsletter--dataPrivacy) {
    padding: 20px 0;
  }
  .contentForm fieldset.newsletter--dataPrivacy {
    padding: 0 0 20px 0;
  }
  .contentForm article + fieldset {
    padding-top: 0;
  }
  .contentForm fieldset > div {
    margin: 0 5.555% /*40/720*/ 20px 0;
    display: inline-block;
    vertical-align: bottom;
  }
  .contentForm fieldset > .third {
    width: 27.777% /*320/720*/;
  }
  .contentForm fieldset > .half {
    width: 44.444% /*320/720*/;
  }
  .contentForm fieldset > .full {
    width: 94.444% /*680/720*/;
  }
  .contentForm fieldset > .part {
    margin-bottom: 10px;
  }
  .contentForm fieldset > div > select,
  .contentForm fieldset > div > input[type=text],
  .contentForm fieldset > div > input[type=password],
  .contentForm fieldset > div > input[type=email],
  .contentForm fieldset > div > textarea {
    width: 100%;
  }
  .contentForm fieldset > div > textarea {
    resize: vertical;
    height: 200px;
  }
}
@media screen and (max-width: 600px) {
  .contentForm fieldset > .third {
    width: 94.444% /*680/720*/;
  }
  .contentForm fieldset > .half {
    width: 94.444% /*680/720*/;
  }
}
/*  =========================================================
filter form
========================================================= */
@media screen {
  .filterForm {
    position: relative;
    padding-top: 10px;
    margin-bottom: 25px;
  }
  .noFilterHead .filterForm .formTitle {
    padding-top: 0;
  }
  .filterForm .formTitle,
  .filterForm .formContent {
    padding-top: 10px;
    border-bottom: 1px #fff solid;
  }
  .filterForm .formTitle::after,
  .filterForm .formContent::after {
    content: '';
    margin-top: 10px;
    display: block;
    width: 100%;
    border-bottom: 1px #c3c3c3 solid;
  }
  .filterForm .formTitle.wineGrowers > h2,
  .filterForm .formTitle.eventLocations > h2,
  .filterForm .formTitle.events > h2,
  .filterForm .formTitle.venues > h2,
  .filterForm .formTitle.brochures > h2,
  .filterForm .formTitle.eventsLimited > h2,
  .filterForm .formTitle.finder > h2 {
    float: right;
  }
  .formTitle.wineLocations > h2 {
    font: 400 normal 24px/1em Arial, sans-serif;
    color: #393939;
    margin: 10px 0 0 0;
    float: right;
  }
  .filterForm .formTitle > h2 {
    font: 400 normal 24px/1em Arial, sans-serif;
    color: #393939;
    margin: 10px 0 0 30px;
    float: left;
  }
  .filterForm .ghostButton > span.icon-arrow_right_teaser,
  .filterForm .ghostButton > span.icon-arrow_left_teaser {
    transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform-origin: center;
    -moz-transform-origin: center;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
  }
  .filterForm .formTitle > .ghostButton {
    float: left;
  }
  .filterForm .formContent > fieldset {
    padding: 0;
    border: 0;
    margin-top: 0;
    margin-bottom: 20px;
    margin-left: 0;
  }
  .filterForm .formContent > fieldset:last-of-type {
    margin-bottom: 0;
  }
  .filterForm .formContent > fieldset > legend {
    display: none;
  }
  .filterForm .formContent > fieldset h3 {
    font: 700 normal 20px/25px Arial, sans-serif;
    color: #393939;
    margin: 0 0 20px 0;
  }
  .filterForm .formContent > fieldset .filter-options > li {
    width: 29.5%;
    margin-right: 3.5%;
  }
  .filterForm .formContent ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .filterForm .formContent ul > li {
    margin-bottom: 15px;
  }
  .filterForm .formContent ul > li > label {
    font: 400 italic 14px/15px Arial, sans-serif;
    color: #393939;
  }
  .filterForm .formContent ul > li > label > strong {
    font: 700 normal 16px/16px Arial, sans-serif;
  }
  .filterForm .formContent ul > li > input.styled[type=checkbox] + label > [class^='icon-'] {
    font-size: 12px;
    background: #393939;
  }
  #filterForm .loading-shadow {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
    width: 98.25%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.25);
  }
  .noFilterHead {
    padding-top: 0;
  }
}
@media screen and (max-width: 600px) {
  .formTitle > h2 {
    display: none;
  }
  .formTitle.wineLocations > h2,
  .formTitle.wineGrowers > h2,
  .formTitle.eventLocations > h2,
  .formTitle.events > h2,
  .formTitle.venues > h2,
  .formTitle.brochures > h2,
  .formTitle.eventsLimited > h2,
  .formTitle.finder > h2 {
    padding: 0 0 10px 0;
    display: block;
    font: 400 normal 24px/1em Arial, sans-serif;
  }
  .filterForm .formContent > fieldset {
    margin-bottom: 20px;
  }
  .filterForm .formContent > fieldset .filter-options > li {
    width: 100%;
    margin-right: 0;
  }
}
@media screen and (max-width: 990px) and (min-width: 601px) {
  .filterForm .formContent > fieldset .filter-options > li {
    width: 48.5%;
    margin-right: 1.5%;
  }
  .filterForm .formContent > fieldset .filter-options > li:nth-child(2n) {
    margin-right: 0;
  }
}
/*  =========================================================
search form
========================================================= */
@media screen {
  #keyvisualArea__siteTitle__headline > .searchForm {
    padding-top: 30px;
    background: #fff;
  }
  #keyvisualArea__siteTitle__headline > .searchForm:not(#searchForm) {
    padding-bottom: 40px;
  }
  #keyvisualArea__siteTitle__headline > .searchForm#searchForm {
    padding-bottom: 12px;
  }
  .searchForm {
    -ms-flex-align: end;
        align-items: flex-end;
    column-gap: 20px;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[12];
        grid-template-columns: repeat(12, 1fr);
    row-gap: 20px;
  }
  .searchForm > .check {
    padding-top: 26px;
    line-height: 35px;
  }
  .searchForm > div > select,
  .searchForm > div > input[type=email],
  .searchForm > div > input[type=text] {
    width: 100%;
  }
  .searchForm > div > select.half,
  .searchForm > div > input[type=email].half,
  .searchForm > div > input[type=text].half {
    width: 47.5%;
    margin-right: 2.5%;
  }
  .searchForm > div > select.half:last-of-type,
  .searchForm > div > input[type=email].half:last-of-type,
  .searchForm > div > input[type=text].half:last-of-type {
    margin-right: 0;
  }
  .searchForm > div > label.check {
    margin-right: 16px;
  }
  .searchForm .button {
    float: right;
  }
}
@media screen and (min-width: 600.1px) {
  .searchForm > .quart {
    -ms-grid-column: span 3;
        grid-column: span 3;
  }
  .searchForm > .third {
    -ms-grid-column: span 4;
        grid-column: span 4;
  }
  .searchForm > .half {
    -ms-grid-column: span 6;
        grid-column: span 6;
  }
  .searchForm > .full {
    -ms-grid-column: span 12;
        grid-column: span 12;
  }
}
@media screen and (max-width: 600px) {
  .searchForm > div {
    -ms-grid-column: span 12;
        grid-column: span 12;
    margin-right: 0;
  }
  .searchForm > .check {
    padding-top: 0;
  }
}
/*  =========================================================
comment form
========================================================= */
@media screen {
  .commentForm {
    padding: 15px 0 20px 0;
  }
  .commentForm > fieldset {
    border: 0;
    padding: 0;
    margin: 0;
  }
  .commentForm > fieldset > legend {
    display: none;
  }
  .commentForm > fieldset > label {
    width: 12.5284% /*110/878*/;
    margin-right: 1.13895% /*10/878*/;
  }
  .commentForm > fieldset > input[type=text],
  .commentForm > fieldset > input[type=text] {
    width: 27.33485% /*240/878*/;
  }
  .commentForm > fieldset > textarea {
    width: 86.33257% /*758/878*/;
    height: 150px;
    resize: vertical;
  }
  .commentForm > fieldset > label,
  .commentForm > fieldset > input[type=email],
  .commentForm > fieldset > input[type=text],
  .commentForm > fieldset > textarea {
    display: inline-block;
    vertical-align: top;
  }
  .commentForm > fieldset > input[type=email],
  .commentForm > fieldset > input[type=text],
  .commentForm > fieldset > textarea {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 800px) {
  .commentForm > fieldset > label,
  .commentForm > fieldset > input[type=email],
  .commentForm > fieldset > input[type=text],
  .commentForm > fieldset > textarea {
    width: 100%;
    margin-right: 0;
  }
}
/*  =========================================================
login form
========================================================= */
@media screen {
  #loginForm .registerLink {
    font: 400 normal 13px/27px Arial, sans-serif;
    color: #393939;
    margin: unset;
    padding-bottom: 2%;
    padding-left: 31%;
  }
}
@media screen and (max-width: 426px) {
  #loginForm .registerLink {
    padding-left: unset;
    width: 100%;
  }
}
/*  =========================================================
map section
========================================================= */
@media screen {
  .mapSection {
    height: auto;
    overflow: hidden;
    width: 100%;
  }
  .mapSection > #mapContainer {
    height: 600px;
    width: 100%;
    background: #e9e8e4;
  }
}
@media screen and (max-width: 900px) {
  .mapSection > #mapContainer {
    height: 450px;
    width: 100%;
    background: #e9e8e4;
  }
}
@media screen and (max-width: 600px) {
  .mapSection {
    margin-bottom: 14px;
  }
  .mapSection > #mapContainer {
    height: 300px;
    width: 100%;
    background: #e9e8e4;
  }
}
@media screen and (max-width: 450px) {
  .mapSection > #mapContainer {
    height: 300px;
    width: 100%;
    background: #e9e8e4;
  }
}
#hiddeninputs {
  display: none;
}
/*  =========================================================
vidoes
========================================================= */
.selfhosted {
  background: rgba(255, 255, 255, 0.7) none repeat scroll 0 0;
}
@media screen {
  .contentForm fieldset > div.contact_part_5 {
    margin-left: -23px;
  }
}
@media screen and (max-width: 450px) {
  .contentForm fieldset > div.contact_part_5 {
    margin-left: 0;
  }
}
/*  =========================================================
cookieconsent
========================================================= */
@media screen {
  .cc-message {
    padding: 0 30px;
  }
}
/*  =========================================================
recaptcha
========================================================= */
#stickyHeader__requestForm .recaptcha {
  position: relative;
  height: 75px;
  width: 100%;
}
#stickyHeader__requestForm .recaptcha.recaptcha--hasFormError {
  height: 100px;
}
#stickyHeader__requestForm .recaptcha.recaptcha--hasFormError .g-recaptcha {
  padding: 5px;
  margin: 0 -10px;
}
#stickyHeader__requestForm .recaptcha .g-recaptcha {
  position: absolute;
  left: 0;
  top: 0;
}
/*  =========================================================
static map
========================================================= */
.staticMap {
  height: 400px;
  width: 100%;
  position: static !important;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (min-width: 601px) {
  .staticMap {
    float: right;
  }
}
@media screen and (min-width: 601px) and (max-width: 754px) {
  .staticMap {
    width: calc(100% - 380px);
  }
}
@media screen and (min-width: 755px) {
  .staticMap {
    width: calc(100% - 440px);
  }
}
body.rheinhessen .oax,
body.rheinhessen .oax .oax_head_bar {
  background-color: #f6f6f6 !important;
}
body.rheinhessen .alp-x-has-waitbox::before {
  content: '';
  position: absolute;
  right: 100%;
  background-color: #f6f6f6;
  width: 100%;
  height: 100%;
}
body.rheinhessen .alp-x-has-waitbox::after {
  content: '';
  position: absolute;
  left: 100%;
  background-color: #f6f6f6;
  width: 100%;
  height: 100%;
  top: 0;
}
body.rheinhessen .oax .oax_detail_tabs ul.oax_detail_tabs_list li {
  padding: 0 0 0 20px;
}
body.rheinhessen .oax .oax_detail_tabs > input[type=radio]:checked + div {
  padding-left: 3%;
  padding-right: 3%;
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage teaser styles
 * @author     gueldner
 * @since      28.07.2014
 * @version    $Id$
 **/
/*  =========================================================
content text
content box
========================================================== */
/*  =========================================================
content box
========================================================== */
@media screen {
  .contentBox {
    box-sizing: border-box;
    border: 1px #c3c3c3 solid;
    display: none;
  }
  .contentBox:not(.contentbox--marginTop) {
    margin: 0 0 60px 0;
  }
  .contentBox.active {
    display: block;
  }
  .contentBox .innerContentBox:not(.border--bottom),
  .contentBox .winecontainer .innerContentBox:not(.border--bottom) {
    position: relative;
    padding: 33px 20px;
    background: #fff;
  }
  .contentBox .innerContentBox {
    overflow: hidden;
  }
  .contentBox .innerContentBox.border--bottom {
    margin: 0 20px;
    padding: 33px 0;
  }
  .contentBox .innerContentBox.border--bottom:not(:last-child) {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  }
  .contentBox .innerContentBox.auto-scroll {
    overflow: auto;
  }
  .contentBox .innerContentBox h2,
  .contentBox .winecontainer .innerContentBox h2 {
    font: 400 normal 25px Arial, sans-serif;
    color: #363636;
    margin: 0 0 10px 0;
  }
  .contentBox .innerContentBox h3,
  .contentBox .winecontainer .innerContentBox h3 {
    font: 700 normal 20px/25px Arial, sans-serif;
    color: #707070;
    margin: 0;
    width: 65%;
    float: left;
  }
  .contentBox .innerContentBox h3 > span,
  .contentBox .winecontainer .innerContentBox h3 > span {
    display: inline-block;
    padding: 0 0 16px;
    font: 400 italic 25px/28px Arial, sans-serif;
  }
  .contentBox .winecontainer .innerContentBox h3 > span,
  .contentBox .winecontainer .innerContentBox h3 > strong,
  .contentBox .innerContentBox h3 > span,
  .contentBox .innerContentBox h3 > strong {
    color: #393939;
  }
  .contentBox .winecontainer > .additionalwineinformation {
    display: none;
  }
  .contentBox .innerContentBox h4,
  .contentBox .winecontainer .innerContentBox h4 {
    font: 400 normal 18px Arial, sans-serif;
    color: #393939;
    margin: 0 0 10px 0;
  }
  .contentBox .innerContentBox:not(.innerContentBox--tabs) p,
  .contentBox .innerContentBox:not(.innerContentBox--tabs) p,
  .contentBox .winecontainer .innerContentBox:not(.innerContentBox--tabs) p {
    font: 400 normal 16px/24px Arial, sans-serif;
    color: #393939;
    margin: 0 0 10px 0;
  }
  .contentBox .innerContentBox > .basketButtons:not(.stored) > [data-jsaction='stripFromBasket'],
  .contentBox .innerContentBox > .basketButtons.stored > [data-jsaction='addToBasket'],
  .contentBox .innerContentBox > .basketButtons > [data-jsaction='quickRequest'] {
    display: none;
  }
  .contentBox .innerContentBox > .basketButtons.stored > [data-jsaction='stripFromBasket'],
  .contentBox .innerContentBox > .basketButtons:not(.stored) > [data-jsaction='addToBasket'] {
    display: inline-block;
  }
  .contentBox .innerContentBox ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .contentBox .innerContentBox ul > li {
    font: 400 normal 16px/24px Arial, sans-serif;
    color: #363636;
    margin: 0 0 5px 0;
    padding: 0 0 0 25px;
  }
  .contentBox .innerContentBox ul > li::before {
    content: '\e607';
    font: 400 normal 14px 'icomoon';
    margin: 0 10px 0 -25px;
  }
  .contentBox .innerContentBox ul > li.miniList > span:not(:last-child)::after {
    content: ' / ';
  }
  .contentBox .innerContentBox table {
    width: 100%;
  }
  .contentBox .innerContentBox table td {
    padding: 10px;
    border: 0;
    font: 400 12px/15px Arial, sans-serif;
    color: #393939;
  }
  .contentBox .innerContentBox table thead {
    background-color: rgba(0, 0, 0, 0.1);
  }
  .contentBox .innerContentBox table tbody tr {
    background-color: rgba(100, 100, 100, 0.1);
  }
  .contentBox .innerContentBox table tbody tr:nth-child(2n+1) {
    background-color: transparent;
  }
  .contentBox .innerContentBox .info,
  .contentBox .winecontainer .info {
    float: right;
    text-align: right;
    width: 30%;
    font: 700 normal 16px Arial, sans-serif;
    color: #393939;
  }
  .contentBox .innerContentBox .info > strong,
  .contentBox .winecontainer > .info > strong {
    font: 400 normal 30px/33px Arial, sans-serif;
    color: #c08700;
  }
  .contentBox .innerContentBox .info > span,
  .contentBox .winecontainer .innerContentBox .info > span {
    font: 400 normal 16px Arial, sans-serif;
    color: inherit;
  }
  .contentBox .innerContentBox .heightProfile {
    width: 100%;
  }
  .button.readMore {
    margin-left: 35%;
  }
  .innerContentBox--tabs__links:not(.innerContentBox--tabs__links--downloads) > p {
    margin: 0 0 10px 0;
    color: #363636;
    font: 400 normal 18px/24px Arial, sans-serif;
  }
  .innerContentBox--tabs__links:not(.innerContentBox--tabs__links--downloads) > p > a {
    text-decoration: none;
    border-bottom: 1px solid #c2c2c2;
  }
  .innerContentBox--tabs__links.innerContentBox--tabs__links--downloads > p,
  .innerContentBox--tabs__links.innerContentBox--addressbase__links--downloads > p,
  .innerContentBox--tabs__links.innerContentBox--tabs__links--overviewMapLink > p,
  .innerContentBox--tabs__links.innerContentBox--addressbase__links--overviewMapLink > p {
    margin: 0 0 18px;
  }
  .innerContentBox--tabs__links.innerContentBox--tabs__links--downloads > p > a,
  .innerContentBox--tabs__links.innerContentBox--addressbase__links--downloads > p > a,
  .innerContentBox--tabs__links.innerContentBox--tabs__links--overviewMapLink > p > a,
  .innerContentBox--tabs__links.innerContentBox--addressbase__links--overviewMapLink > p > a {
    display: inline-block;
    padding: 13px 25px 13px 15px;
    background-color: #e7a200;
    text-decoration: none;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    font: 400 normal 14px/16px Arial, sans-serif;
    color: #fff;
  }
  .innerContentBox--tabs__links.innerContentBox--tabs__links--downloads > p > a::before,
  .innerContentBox--tabs__links.innerContentBox--addressbase__links--downloads > p > a::before,
  .innerContentBox--tabs__links.innerContentBox--tabs__links--overviewMapLink > p > a::before,
  .innerContentBox--tabs__links.innerContentBox--addressbase__links--overviewMapLink > p > a::before {
    padding-right: 12px;
    font-family: 'icomoon';
    font-size: 18px;
  }
  .innerContentBox--tabs__links.innerContentBox--tabs__links--downloads > p > a::before,
  .innerContentBox--tabs__links.innerContentBox--addressbase__links--downloads > p > a::before {
    content: "\e609";
  }
  .innerContentBox--tabs__links.innerContentBox--tabs__links--overviewMapLink > p > a::before,
  .innerContentBox--tabs__links.innerContentBox--addressbase__links--overviewMapLink > p > a::before {
    content: "\e60d";
  }
}
@media screen and (min-width: 601px) {
  .contentBox .innerContentBox.innerContentBox--tabs {
    padding: 33px 20px 50px 20px;
  }
  .innerContentBox--tabs__links.innerContentBox--tabs__links--downloads > p,
  .innerContentBox--tabs__links.innerContentBox--addressbase__links--downloads > p {
    display: inline-block;
  }
  .innerContentBox--tabs__links.innerContentBox--tabs__links--downloads > p:not(:last-child),
  .innerContentBox--tabs__links.innerContentBox--addressbase__links--downloads > p:not(:last-child) {
    margin-right: 20px;
  }
  .innerContentBox--tabs__links:not(:last-child) {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 600px) {
  .contentBox {
    position: relative;
  }
  .contentBox.event {
    margin-top: 15px;
  }
  .contentBox.vineyard .innerContentBox,
  .contentBox.wineLocation .innerContentBox {
    position: relative;
    background-color: #fff;
  }
  .contentBox .innerContentBox,
  .contentBox .winecontainer .innerContentBox {
    padding: 20px 10px;
  }
  .contentBox .innerContentBox .info,
  .contentBox .winecontainer .innerContentBox .info {
    float: none;
    width: 100%;
    text-align: left;
    display: block;
  }
  .contentBox .innerContentBox h3,
  .contentBox .winecontainer .innerContentBox h3 {
    width: 100%;
    float: none;
  }
  .contentBox .innerContentBox h3 + .info,
  .contentBox .winecontainer .innerContentBox h3 + .info {
    margin-top: 10px;
  }
  .contentBox .innerContentBox > .basketButtons > [data-jsaction='stripFromBasket'],
  .contentBox .innerContentBox > .basketButtons > [data-jsaction='addToBasket'] {
    display: none !important;
  }
  .contentBox .innerContentBox > .basketButtons > [data-jsaction='quickRequest'] {
    display: inline-block;
  }
  .button.readMore {
    margin-left: 30%;
  }
}
/** offer specific styles **/
.contentBox.elevationprofile .innerContentBox {
  margin: 20px;
}
.contentBox.elevationprofile .innerContentBox img {
  width: 100%;
}
.contentBox .innerContentBox.offer--button {
  padding: 10px 0 30px;
  margin: 0 20px;
}
.contentBox .innerContentBox.offer--button:not(.last) {
  border-bottom: 1px solid #c3c3c3;
}
@media screen and (min-width: 601px) {
  .contentBox .innerContentBox.offer {
    padding: 30px 50px 0 20px;
  }
}
@media screen and (max-width: 600px) {
  .contentBox .innerContentBox.offer {
    padding: 19px 50px 0 20px;
  }
}
/** article map specific styles **/
@media screen {
  #articleMap {
    width: 60%;
    height: 400px;
    display: inline-block;
    float: left;
  }
}
section.module--coloredHeadline {
  color: #fff;
  margin: 0 0 50px 0;
  padding: 25px 20px 35px 20px;
  text-align: center;
  text-transform: uppercase;
}
section.module--coloredHeadline:not(.headlineColourBlue, .headlineColourPink, .headlineColourGreen, .headlineColourPurple, .headlineColourOrange) {
  background-color: #c08700;
}
section.module--coloredHeadline.headlineColourBlue {
  background-color: #5e9ad3;
}
section.module--coloredHeadline.headlineColourPink {
  background-color: #e19ac3;
}
section.module--coloredHeadline.headlineColourGreen {
  background-color: #688569;
}
section.module--coloredHeadline.headlineColourPurple {
  background-color: #797fb7;
}
section.module--coloredHeadline.headlineColourOrange {
  background-color: #f18825;
}
section.module--coloredHeadline h1 {
  margin: 0;
}
@media (min-width: 600.1px) {
  section.module--coloredHeadline h1 {
    font: 400 normal 60px/75px 'typewriter', Arial, sans-serif;
  }
}
@media (max-width: 600px) {
  section.module--coloredHeadline h1 {
    font: 400 normal 35px/45px 'typewriter', Arial, sans-serif;
  }
}
section.module--coloredHeadline h2 {
  margin: 0;
}
@media (min-width: 600.1px) {
  section.module--coloredHeadline h2 {
    font: 400 normal 60px/75px 'typewriter', Arial, sans-serif;
  }
}
@media (max-width: 600px) {
  section.module--coloredHeadline h2 {
    font: 400 normal 35px/45px 'typewriter', Arial, sans-serif;
  }
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage accordion styles
 * @author     schoening
 * @since      02.09.2021
 * @version    $Id$
 **/
@media screen {
  .module--videoblock {
    overflow: hidden;
  }
  .module--videoblock .areaTitle {
    width: 100%;
  }
  .module--videoblock .areaTitle p.descriptionText {
    color: #363636;
    font: 400 17px/27px Arial, sans-serif;
    text-align: left;
  }
  .module--videoblock .youtubeVideoPlaceholder {
    position: relative;
  }
  .module--videoblock .videoPositionCenter {
    text-align: center;
  }
  .module--videoblock .videoPositionLeft {
    text-align: left;
  }
  .module--videoblock .videoPositionRight {
    text-align: right;
  }
  .module--videoblock .play-button {
    font-size: 80px;
    position: absolute;
    bottom: 45%;
    left: 47%;
    color: #fff;
    cursor: pointer;
    /* makes sure the color changes when being hover while the clicks go to the parent div */
  }
  .module--videoblock .play-button:hover {
    color: #c08700;
  }
  .module--videoblock .play-button:active {
    pointer-events: none;
  }
  .module--videoblock .youtubeVideoArea iframe,
  .module--videoblock .youtubeVideoArea img,
  .module--videoblock .youtubeVideoArea .videoCookieLayer--consent {
    margin-left: 0;
    width: 100%;
    height: 700px;
  }
  .module--videoblock .youtubeVideoArea img {
    object-fit: cover;
  }
}
@media screen and (max-width: 600px) {
  .module--videoblock .youtubeVideoArea {
    margin: 10px;
  }
  .module--videoblock .youtubeVideoArea iframe,
  .module--videoblock .youtubeVideoArea img,
  .module--videoblock .youtubeVideoArea .videoCookieLayer--consent {
    width: 100%;
    height: 400px;
  }
  .module--videoblock .play-button {
    position: absolute;
    left: 45%;
    bottom: 40%;
  }
  .module--videoblock .videoPositionCenter .play-button {
    left: 40%;
  }
  .module--videoblock .videoPositionRight .play-button {
    left: 55%;
  }
}
@media screen and (max-width: 450px) {
  .module--videoblock .youtubeVideoArea iframe,
  .module--videoblock .youtubeVideoArea img,
  .module--videoblock .youtubeVideoArea .videoCookieLayer--consent {
    width: 100%;
    height: 250px;
  }
  .module--videoblock .play-button {
    position: absolute;
    left: 40%;
    bottom: 35%;
  }
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage accordion styles
 * @author     schoening
 * @since      02.09.2021
 * @version    $Id$
 **/
@media screen {
  .cookieBotChange {
    background-color: #fff;
    position: relative;
    padding: 50px;
  }
  .cookieBotChange article {
    text-align: center;
  }
  .cookieBotChange article p {
    text-align: center;
  }
  .cookieBotChange article p .cookieBotRenew {
    display: inline-block;
    font: 400 normal 18px/20px Arial, sans-serif;
    border: 1px solid #000;
    border-radius: 3px;
    padding: 10px 20px 10px 20px;
    position: relative;
    top: 30px;
    text-decoration: none;
  }
  .cookieBotChange article p .cookieBotRenew:hover {
    padding: 11px 21px 11px 21px;
    background: #e7a200;
    border: none;
    color: #fff;
  }
  .cookieBotChange article p .cookieBotRenew span[class*="icon-"] {
    font-size: 12px;
    position: relative;
    left: 5px;
    top: -1px;
  }
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage teaser styles
 * @author     lange
 * @since      10.07.2014
 * @version    $Id$
 **/
/*  =========================================================
image teaser (from 'image teaser gallery')
image teaser (not from 'image teaser gallery')
masonry teaser
text teaser
weather teaser
blur teaser
tourTeaser
========================================================== */
/*  =========================================================
image teaser (from 'image teaser gallery')
========================================================== */
/*  =========================================================
image teaser (not from 'image teaser gallery')
========================================================== */
@media screen {
  .imageTeaser:not(.galleryTeaser) {
    height: 0;
    border: 1px #c3c3c3 solid;
    padding: 9px 9px 107.69% /*280/260*/ 9px;
    margin-bottom: 7.69% /*20/260*/;
    background: #fff;
    position: relative;
    display: block;
    overflow: hidden;
    text-decoration: none;
  }
  .imageTeaser:not(.galleryTeaser) > article {
    display: block;
    overflow: hidden;
    width: 100%;
    height: 0;
    padding-bottom: 125%;
  }
  .imageTeaser:not(.galleryTeaser) > article > .image,
  .imageTeaser:not(.galleryTeaser) > article > .image > img {
    width: 100%;
    height: auto;
  }
  .imageTeaser:not(.galleryTeaser) > article > .text {
    position: absolute;
    bottom: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    padding: 10px;
  }
  .imageTeaser:not(.galleryTeaser) > article > .text > h3 {
    font: 400 normal 22px Arial, sans-serif;
    line-height: 1.1;
    color: #c08700;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .imageTeaser:not(.galleryTeaser) > article > .text > p {
    font: 400 normal 14px/16px Arial, sans-serif;
    color: #393939;
    margin: 0 0 5px 0;
  }
}
@media screen and (min-width: 1025px) {
  .imageTeaser:not(.galleryTeaser) > article > .text {
    height: 36%;
  }
}
@media screen and (min-width: 601px) and (max-width: 1000px) {
  .imageTeaser:not(.galleryTeaser) > article > .text > h3 {
    height: auto;
    max-height: 60px;
  }
}
@media screen and (min-width: 1000px) {
  .imageTeaser:not(.galleryTeaser) > article > .text > h3 {
    height: auto;
    max-height: 75px;
  }
  .imageTeaser:not(.galleryTeaser) > article > .text.byline > h3 {
    max-height: 50px;
  }
}
@media screen and (max-width: 1100px) and (min-width: 901px) {
  [class*='g-element'] > .imageTeaser:not(.galleryTeaser) > article > .text > h3 {
    font-size: 20px;
  }
  [class*='g-element'] > .imageTeaser:not(.galleryTeaser) > article > .text {
    position: static;
    padding: 5px 0;
  }
  [class*='g-element'] > .imageTeaser:not(.galleryTeaser) > article > .text > p {
    font-size: 12px;
    line-height: 14px;
  }
}
@media screen and (max-width: 1000px) and (min-width: 600px) {
  :not([class*='g-element']) > .imageTeaser:not(.galleryTeaser) > article > .text > h3 {
    font-size: 20px;
  }
}
/*  =========================================================
text teaser
========================================================== */
@media screen {
  .textTeaser {
    position: relative;
    padding: 20px 20px 0 20px;
    background: #f7ad00;
    background: -moz-linear-gradient(left, #c08700 0%, #f7ad00 100%);
    background: -webkit-linear-gradient(left, #c08700 0%, #f7ad00 100%);
    background: -ms-linear-gradient(left, #c08700 0%, #f7ad00 100%);
    background: linear-gradient(to left, #c08700 0%, #f7ad00 100%);
  }
  .textTeaser > .titleText {
    font: 400 italic 20px Arial, sans-serif;
    color: #fff;
    margin: 0;
  }
  .textTeaser > h3 {
    font: 700 normal 25px/26px Arial, sans-serif;
    color: #fff;
    margin: 0 0 20px 0;
  }
  .textTeaser > .descriptionText {
    padding: 10px 20px 20px 20px;
    margin: 0 -20px;
    font: 400 normal 18px/26px Arial, sans-serif;
    color: #fff;
    background: rgba(0, 0, 0, 0.05);
  }
}
@media screen and (max-width: 900px) {
  .textTeaser {
    margin-bottom: 1px;
  }
}
@media screen and (min-width: 901px) {
  .textTeaser {
    padding: 7.6926% /*20/260*/ 7.6926% /*20/260*/ 0 7.6926% /*20/260*/;
    margin-left: -7.6926% /*20/260*/;
  }
  .textTeaser > .titleText {
    height: 50px;
  }
  .textTeaser > h3 {
    height: 80px;
  }
  .textTeaser > .descriptionText {
    padding: 10px 8.333% /*20/240*/ 12.5% /*30/240*/ 8.333% /*20/240*/;
    margin: 0 -8.333% /*20/240*/;
    height: 250px;
  }
  /* style change for the last teaser in the row */
  .g-element-1:nth-of-type(4n) > .textTeaser {
    padding-right: 15.3846% /*40/260*/;
    margin-right: -7.6926% /*20/260*/;
  }
  .g-element-1:nth-of-type(4n) > .textTeaser > .descriptionText {
    padding-right: 16.666% /*40/240*/;
    margin-right: -16.666% /*40/240*/;
  }
}
@media screen and (max-width: 900px) and (min-width: 601px) {
  .textTeaser > h3 {
    min-height: 60px;
  }
  .textTeaser {
    padding: 3.7037% /*20/540*/ 3.7037% /*20/540*/ 0 3.7037% /*20/540*/;
    margin-left: -3.7037% /*20/540*/;
  }
  .textTeaser > .descriptionText {
    padding: 10px 3.8461% /*20/520*/ 5.769% /*30/520*/ 3.8461% /*20/520*/;
    margin: 0 -3.8461% /*20/520*/;
    min-height: 200px;
  }
  .g-element-1:nth-of-type(1n) > .textTeaser {
    margin-right: 1px;
  }
  /* style change for the last teaser in the row */
  .g-element-1:nth-of-type(2n) > .textTeaser {
    padding-right: 7.4074% /*40/540*/;
    margin-right: -3.7037% /*20/540*/;
  }
  .g-element-1:nth-of-type(2n) > .textTeaser > .descriptionText {
    padding-right: 7.6923% /*40/520*/;
    margin-right: -7.6923% /*40/520*/;
  }
}
/* teaser slider */
@media screen {
  .textTeaserRow {
    width: 100%;
    height: auto;
    margin-left: -1.786% /*20/1120*/;
    padding-left: 1.786% /*20/1120*/;
    overflow: hidden;
  }
  .textTeaserRow .textTeaserGroup {
    display: inline-block;
  }
  .textTeaserSlider {
    position: relative;
  }
  .textTeaserSlider > .labelRow {
    padding: 15px 0;
    background: #e7a200;
    margin: 0 -1.818% /*20/1100*/;
    overflow: hidden;
  }
  .textTeaserSlider p {
    display: inline-block;
    box-sizing: border-box;
    padding: 0 80px;
    margin: 0;
    width: 100%;
    font: 700 normal 25px/34px Arial, sans-serif;
    color: #fff;
    text-align: center;
  }
  .textTeaserSlider p > strong {
    font-size: 50px;
    line-height: 45px;
  }
  .textTeaserSlider .paginate {
    text-decoration: none;
    width: 60px;
    height: 45px;
    display: block;
    padding: 15px 0 0 0;
    color: #e7a200;
    background: #fff;
    border-radius: 50%;
    text-align: center;
    position: absolute;
    top: 50%;
    margin-top: -30px;
    transition: transform 0.25s ease;
    -moz-transition: -moz-transform 0.25s ease;
    -webkit-transition: -webkit-transform 0.25s ease;
  }
  .textTeaserSlider .paginate:active,
  .textTeaserSlider .paginate:focus,
  .textTeaserSlider .paginate:hover {
    transform: rotate(360deg) scale(1.5);
    -moz-transform: rotate(360deg) scale(1.5);
    -webkit-transform: rotate(360deg) scale(1.5);
  }
  .textTeaserSlider .paginate--left {
    left: 1.8181% /*20/1100*/;
  }
  .textTeaserSlider .paginate--right {
    right: 1.8181% /*20/1100*/;
  }
  .textTeaserSlider .paginate > [class*='icon-'] {
    font-size: 30px;
  }
}
@media screen and (max-width: 600px) {
  .textTeaserSlider p {
    font-size: 18px;
    line-height: 22px;
  }
  .textTeaserSlider p > strong {
    font-size: 20px;
    line-height: 20px;
  }
}
/*  =========================================================
weather teaser
========================================================== */
@media screen {
  .weatherTeaser {
    position: relative;
    padding: 20px 20px 0 20px;
    min-height: 300px;
    background: #e7a200;
  }
  .g-element-1:not(:first-of-type) > .weatherTeaser {
    text-align: center;
  }
  .weatherTeaser > h3 {
    font: 400 normal 19px/20px Arial, sans-serif;
    color: #fff;
    padding-bottom: 30px;
    margin: 0;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
  }
  .weatherTeaser > h3 > strong {
    font: 700 normal 30px/40px Arial, sans-serif;
    color: #fff;
  }
  .weatherTeaser > .image {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 15px 0 25px 0;
    font: 400 normal 19px/21px Arial, sans-serif;
    color: #fff;
  }
  .weatherTeaser > .image > strong {
    font: 700 normal 65px/1em Arial, sans-serif;
  }
}
@media screen and (max-width: 900px) {
  .weatherTeaser {
    text-align: center;
    margin-bottom: 1px;
  }
}
@media screen and (min-width: 901px) {
  .weatherTeaser {
    padding: 7.6926% /*20/260*/ 7.6926% /*20/260*/ 0 7.6926% /*20/260*/;
    margin-left: -7.6926% /*20/260*/;
  }
  /* style change for the last teaser in the row */
  .g-element-1:nth-of-type(4n) > .weatherTeaser {
    padding-right: 15.3846% /*40/260*/;
    margin-right: -7.6926% /*20/260*/;
  }
}
@media screen and (max-width: 900px) and (min-width: 601px) {
  .weatherTeaser {
    padding: 3.7037% /*20/540*/ 3.7037% /*20/540*/ 0 3.7037% /*20/540*/;
    margin-left: -3.7037% /*20/540*/;
  }
  .g-element-1:nth-of-type(1n) > .weatherTeaser {
    margin-right: 1px;
  }
  /* style change for the last teaser in the row */
  .g-element-1:nth-of-type(2n) > .weatherTeaser {
    padding-right: 7.4074% /*40/540*/;
    margin-right: -3.7037% /*20/540*/;
  }
}
/*  =========================================================
blur teaser
========================================================== */
/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage teaser styles
 * @author     gueldner
 * @since      30.05.2022
 * @version    $Id$
 **/
/*  =========================================================
general styles
text
========================================================== */
/*  =========================================================
general styles
========================================================== */
.blurTeaser {
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  padding: 25px 0;
  position: relative;
  width: 100%;
}
/* slots for overlay images */
.blurTeaser::before,
.blurTeaser::after {
  content: ' ';
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 0 0;
}
@media (max-width: 600px) {
  .blurTeaser::after {
    display: none;
  }
}
/* content wrapper */
.blurTeaser > .content--small--small {
  padding-bottom: 30px;
}
/*  =========================================================
text
========================================================== */
.blurTeaser__roofline {
  color: #fff;
  margin: 0;
  text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.5);
}
@media (min-width: 600.1px) {
  .blurTeaser__roofline {
    font: 700 normal 25px/34px Arial, sans-serif;
  }
}
@media (max-width: 600px) {
  .blurTeaser__roofline {
    font: 700 normal 20px/18px Arial, sans-serif;
  }
}
.blurTeaser__title {
  color: #fff;
  margin: 0 0 20px 0;
  text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.5);
}
@media (min-width: 600.1px) {
  .blurTeaser__title {
    font: 700 normal 50px/45px Arial, sans-serif;
  }
}
@media (min-width: 500.1px) and (max-width: 600px) {
  .blurTeaser__title {
    font: 700 normal 40px/40px Arial, sans-serif;
  }
}
@media (max-width: 500px) {
  .blurTeaser__title {
    font: 700 normal 30px/30px Arial, sans-serif;
  }
}
.blurTeaser__description {
  color: #fff;
  font: 400 normal 20px/22px Arial, sans-serif;
  margin: 0 0 20px 0;
  text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.5);
}
.blurTeaser__description strong {
  font-weight: 700;
}
/*  =========================================================
theme: sustainability
========================================================== */
.blurTeaser--sustainability {
  margin-top: 50px;
  background-image: url('../images/_TMP/blurTeaser/backgroundSustainability.47b13ae2.jpg');
}
@media (min-width: 600.1px) {
  .blurTeaser--sustainability {
    min-height: 490px;
  }
}
.blurTeaser--sustainability::after {
  top: -115px;
  width: 296px;
  height: 660px;
  background-image: url('../images/_TMP/blurTeaser/foregroundSustainability.0203702b.png');
}
@media (min-width: 900.1px) {
  .blurTeaser--sustainability::after {
    right: 0;
  }
}
@media (max-width: 900px) {
  .blurTeaser--sustainability::after {
    right: -40px;
  }
}
.blurTeaser--sustainability .blurTeaser__wrap {
  box-sizing: border-box;
}
@media (min-width: 900.1px) {
  .blurTeaser--sustainability .blurTeaser__wrap {
    padding-right: 33.333%;
  }
}
@media (min-width: 600.1px) and (max-width: 900px) {
  .blurTeaser--sustainability .blurTeaser__wrap {
    padding-right: 33.333%;
  }
}
/*  =========================================================
theme: hiking
========================================================== */
.blurTeaser--hiking {
  margin-top: 50px;
  background-image: url('../images/_TMP/blurTeaser/backgroundHiking.a4e87019.jpg');
}
@media (min-width: 600.1px) {
  .blurTeaser--hiking {
    min-height: 490px;
  }
}
.blurTeaser--hiking::after {
  bottom: 0;
  width: 535px;
  height: 537px;
  background-image: url('../images/_TMP/blurTeaser/foregroundHiking.f399fd42.png');
}
@media (min-width: 1300.1px) {
  .blurTeaser--hiking::after {
    left: 0;
  }
}
@media (min-width: 1150.1px) and (max-width: 1300px) {
  .blurTeaser--hiking::after {
    left: -100px;
  }
}
@media (min-width: 830.1px) and (max-width: 1150px) {
  .blurTeaser--hiking::after {
    left: -200px;
  }
}
@media (max-width: 830px) {
  .blurTeaser--hiking::after {
    left: -275px;
  }
}
.blurTeaser--hiking .blurTeaser__wrap {
  box-sizing: border-box;
}
@media (min-width: 900.1px) {
  .blurTeaser--hiking .blurTeaser__wrap {
    padding-left: 33.333%;
  }
}
@media (min-width: 600.1px) and (max-width: 900px) {
  .blurTeaser--hiking .blurTeaser__wrap {
    padding-left: 33.333%;
  }
}
/*  =========================================================
theme: bike
========================================================== */
.blurTeaser--bike {
  margin-top: 50px;
  background-image: url('../images/_TMP/blurTeaser/backgroundBike.a8700c73.jpg');
}
@media (min-width: 600.1px) {
  .blurTeaser--bike {
    min-height: 490px;
  }
}
.blurTeaser--bike::after {
  bottom: 0;
  width: 563px;
  height: 521px;
  background-image: url('../images/_TMP/blurTeaser/foregroundBike.a78f95fe.png');
}
@media (min-width: 1470.1px) {
  .blurTeaser--bike::after {
    right: 0;
  }
}
@media (min-width: 1275.1px) and (max-width: 1470px) {
  .blurTeaser--bike::after {
    right: -100px;
  }
}
@media (min-width: 1050.1px) and (max-width: 1275px) {
  .blurTeaser--bike::after {
    right: -200px;
  }
}
@media (min-width: 750.1px) and (max-width: 1050px) {
  .blurTeaser--bike::after {
    right: -300px;
  }
}
@media (max-width: 750px) {
  .blurTeaser--bike::after {
    right: -350px;
  }
}
.blurTeaser--bike .blurTeaser__wrap {
  box-sizing: border-box;
}
@media (min-width: 900.1px) {
  .blurTeaser--bike .blurTeaser__wrap {
    padding-right: 33.333%;
  }
}
@media (min-width: 600.1px) and (max-width: 900px) {
  .blurTeaser--bike .blurTeaser__wrap {
    padding-right: 33.333%;
  }
}
/*  =========================================================
theme: cuisine
========================================================== */
.blurTeaser--cuisine {
  margin-top: 150px;
  background-image: url('../images/_TMP/blurTeaser/backgroundCuisine.33d8a11e.jpg');
}
@media (min-width: 600.1px) {
  .blurTeaser--cuisine {
    min-height: 370px;
  }
}
.blurTeaser--cuisine::after {
  bottom: 0;
  width: 434px;
  height: 461px;
  background-image: url('../images/_TMP/blurTeaser/foregroundCuisine.b09f832e.png');
}
@media (min-width: 1250.1px) {
  .blurTeaser--cuisine::after {
    left: 0;
  }
}
@media (min-width: 1000.1px) and (max-width: 1250px) {
  .blurTeaser--cuisine::after {
    left: -100px;
  }
}
@media (min-width: 725.1px) and (max-width: 1000px) {
  .blurTeaser--cuisine::after {
    left: -200px;
  }
}
@media (max-width: 725px) {
  .blurTeaser--cuisine::after {
    left: -250px;
  }
}
.blurTeaser--cuisine .blurTeaser__wrap {
  box-sizing: border-box;
}
@media (min-width: 900.1px) {
  .blurTeaser--cuisine .blurTeaser__wrap {
    padding-left: 33.333%;
  }
}
@media (min-width: 600.1px) and (max-width: 900px) {
  .blurTeaser--cuisine .blurTeaser__wrap {
    padding-left: 33.333%;
  }
}
/*  =========================================================
theme: great wine capitals
========================================================== */
.blurTeaser--greatWineCapitals {
  margin-top: 25px;
  background-image: url('../images/_TMP/blurTeaser/backgroundGreatWineCapitals.483f9ddb.jpg');
}
@media (min-width: 600.1px) {
  .blurTeaser--greatWineCapitals {
    min-height: 370px;
  }
}
.blurTeaser--greatWineCapitals::after {
  top: -69px;
  width: 279px;
  height: 510px;
  background-image: url('../images/_TMP/blurTeaser/foregroundGreatWineCapitals.825c601e.png');
}
@media (min-width: 1120.1px) {
  .blurTeaser--greatWineCapitals::after {
    left: 0;
  }
}
@media (max-width: 1120px) {
  .blurTeaser--greatWineCapitals::after {
    left: -50px;
  }
}
.blurTeaser--greatWineCapitals::before {
  right: 10px;
  bottom: 10px;
  width: 269px;
  height: 75px;
  background-image: url('../images/_TMP/blurTeaser/logoGreatWineCapitals.75e6100d.png');
}
@media (max-width: 1120px) {
  .blurTeaser--greatWineCapitals::before {
    display: none;
  }
}
.blurTeaser--greatWineCapitals .blurTeaser__wrap {
  box-sizing: border-box;
}
@media (min-width: 900.1px) {
  .blurTeaser--greatWineCapitals .blurTeaser__wrap {
    padding-left: 16.66666%;
  }
}
@media (min-width: 600.1px) and (max-width: 900px) {
  .blurTeaser--greatWineCapitals .blurTeaser__wrap {
    padding-left: 33.333%;
  }
}
/*  =========================================================
theme: great wine themenjahr 2016
========================================================== */
.blurTeaser--themenjahr2016 {
  margin-top: 25px;
  background-image: url('../images/_TMP/blurTeaser/backgroundThemenjahr2016.02aaeeab.jpg');
}
@media (min-width: 600.1px) {
  .blurTeaser--themenjahr2016 {
    min-height: 370px;
  }
}
.blurTeaser--themenjahr2016::after {
  left: 0;
  bottom: 0;
  width: 370px;
  height: 418px;
  background-image: url('../images/_TMP/blurTeaser/foregroundThemenjahr2016.bbe9c38a.png');
}
@media (min-width: 1100.1px) {
  .blurTeaser--themenjahr2016::after {
    left: 0;
  }
}
@media (min-width: 850.1px) and (max-width: 1100px) {
  .blurTeaser--themenjahr2016::after {
    left: -100px;
  }
}
@media (max-width: 850px) {
  .blurTeaser--themenjahr2016::after {
    left: -200px;
  }
}
.blurTeaser--themenjahr2016::before {
  right: 0;
  bottom: 10px;
  width: 275px;
  height: 90px;
  background-image: url('../images/_TMP/blurTeaser/logoThemenjahr2016.0ce98631.png');
}
@media screen and (max-width: 1120px) {
  .blurTeaser--themenjahr2016::before {
    display: none;
  }
}
.blurTeaser--themenjahr2016 .blurTeaser__wrap {
  box-sizing: border-box;
}
@media (min-width: 900.1px) {
  .blurTeaser--themenjahr2016 .blurTeaser__wrap {
    padding-left: 33.333%;
  }
}
@media (min-width: 600.1px) and (max-width: 900px) {
  .blurTeaser--themenjahr2016 .blurTeaser__wrap {
    padding-left: 33.333%;
  }
}
/*  =========================================================
theme: trulli
========================================================== */
.blurTeaser--trulli {
  margin-top: 50px;
  background-image: url('../images/_TMP/blurTeaser/backgroundTrulli.92dbc1e2.jpg');
}
@media (min-width: 600.1px) {
  .blurTeaser--trulli {
    min-height: 490px;
  }
}
.blurTeaser--trulli::after {
  background-image: url('../images/_TMP/blurTeaser/foregroundTrulli.06495d40.png');
  bottom: 0;
}
@media (min-width: 1200.1px) {
  .blurTeaser--trulli::after {
    right: 0;
  }
}
@media (max-width: 1200px) {
  .blurTeaser--trulli::after {
    right: -100px;
  }
}
@media (min-width: 1050.1px) {
  .blurTeaser--trulli::after {
    width: 727px;
    height: 564px;
  }
}
@media (max-width: 1050px) {
  .blurTeaser--trulli::after {
    width: 425px;
    height: 330px;
  }
}
.blurTeaser--trulli .blurTeaser__wrap {
  box-sizing: border-box;
}
@media (min-width: 900.1px) {
  .blurTeaser--trulli .blurTeaser__wrap {
    padding-right: 33.333%;
  }
}
@media (min-width: 600.1px) and (max-width: 900px) {
  .blurTeaser--trulli .blurTeaser__wrap {
    padding-right: 33.333%;
  }
}
/*  =========================================================
theme: saxophone
========================================================== */
.blurTeaser--saxophone {
  margin-top: 50px;
  background-image: url('../images/_TMP/blurTeaser/backgroundSaxophone.55cdc0d1.png');
}
@media (min-width: 600.1px) {
  .blurTeaser--saxophone {
    min-height: 425px;
  }
}
.blurTeaser--saxophone::after {
  bottom: -25px;
  width: 330px;
  height: 521px;
  background-image: url('../images/_TMP/blurTeaser/foregroundSaxophone.db78bf1f.png');
}
@media (min-width: 1100.1px) {
  .blurTeaser--saxophone::after {
    left: 30px;
  }
}
@media (min-width: 950.1px) and (max-width: 1100px) {
  .blurTeaser--saxophone::after {
    left: -30px;
  }
}
@media (min-width: 750.1px) and (max-width: 950px) {
  .blurTeaser--saxophone::after {
    left: -100px;
  }
}
@media (max-width: 750px) {
  .blurTeaser--saxophone::after {
    left: -130px;
  }
}
.blurTeaser--saxophone .blurTeaser__wrap {
  box-sizing: border-box;
}
@media (min-width: 900.1px) {
  .blurTeaser--saxophone .blurTeaser__wrap {
    padding-left: 33.333%;
  }
}
@media (min-width: 600.1px) and (max-width: 900px) {
  .blurTeaser--saxophone .blurTeaser__wrap {
    padding-left: 33.333%;
  }
}
/*  =========================================================
theme: accommodation
========================================================== */
.blurTeaser--accommodation {
  margin-top: 50px;
  background-image: url('../images/_TMP/blurTeaser/backgroundAccommodation.8e396651.png');
}
@media (min-width: 600.1px) {
  .blurTeaser--accommodation {
    min-height: 410px;
  }
}
.blurTeaser--accommodation::after {
  bottom: -110px;
  width: 330px;
  height: 520px;
  background-image: url('../images/_TMP/blurTeaser/foregroundAccommodation.574521e8.png');
}
@media (min-width: 1100.1px) {
  .blurTeaser--accommodation::after {
    left: 0;
  }
}
@media (min-width: 950.1px) and (max-width: 1100px) {
  .blurTeaser--accommodation::after {
    left: -30px;
  }
}
@media (min-width: 750.1px) and (max-width: 950px) {
  .blurTeaser--accommodation::after {
    left: -100px;
  }
}
@media (max-width: 750px) {
  .blurTeaser--accommodation::after {
    left: -130px;
  }
}
.blurTeaser--accommodation .blurTeaser__wrap {
  box-sizing: border-box;
}
@media (min-width: 900.1px) {
  .blurTeaser--accommodation .blurTeaser__wrap {
    padding-left: 33.333%;
  }
}
@media (min-width: 600.1px) and (max-width: 900px) {
  .blurTeaser--accommodation .blurTeaser__wrap {
    padding-left: 33.333%;
  }
}
/*  =========================================================
theme: rheinhessen excellent
========================================================== */
.blurTeaser--rhExcellent {
  background-image: url("../images/_TMP/blurTeaser/backgroundRhExcellent.22974fc4.jpg");
}
@media (min-width: 985.1px) {
  .blurTeaser--rhExcellent {
    margin-top: 75px;
  }
}
@media (max-width: 985px) {
  .blurTeaser--rhExcellent {
    margin-top: 25px;
  }
}
@media (min-width: 600.1px) {
  .blurTeaser--rhExcellent {
    min-height: 370px;
  }
}
.blurTeaser--rhExcellent::after {
  background-image: url("../images/_TMP/blurTeaser/rhExcellent.0fdcc696.png");
  left: 0;
  width: 333px;
}
@media (min-width: 1325.1px) {
  .blurTeaser--rhExcellent::after {
    height: 336px;
    top: -55px;
  }
}
@media (min-width: 1210.1px) and (max-width: 1325px) {
  .blurTeaser--rhExcellent::after {
    height: 290px;
    top: -43px;
  }
}
@media (min-width: 985.1px) and (max-width: 1210px) {
  .blurTeaser--rhExcellent::after {
    height: 245px;
    top: -20px;
  }
}
@media (min-width: 800.1px) and (max-width: 985px) {
  .blurTeaser--rhExcellent::after {
    height: 192px;
    top: 50px;
  }
}
@media (max-width: 800px) {
  .blurTeaser--rhExcellent::after {
    height: 150px;
    top: 50px;
  }
}
.blurTeaser--rhExcellent .blurTeaser__wrap {
  box-sizing: border-box;
}
@media (min-width: 900.1px) {
  .blurTeaser--rhExcellent .blurTeaser__wrap {
    padding-left: 33.333%;
  }
}
@media (min-width: 600.1px) and (max-width: 900px) {
  .blurTeaser--rhExcellent .blurTeaser__wrap {
    padding-left: 33.333%;
  }
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage header
 * @author     lange
 * @since      10.07.2014
 * @version    $Id$
 **/
/*  =========================================================
basic styling
navigation wrapper
logo
smartphone trigger
fulltextsearch
========================================================== */
/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2022 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage top nav
 * @author     Andreas Rappel <andreas.rappel@cebesoft.com>
 * @since      17.03.2022
 * @version    $Id$
 **/
/*  =========================================================
basic styling
lang setter
========================================================== */
/*  =========================================================
basic styling
========================================================== */
#siteHeader__topNav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
}
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--preload #siteHeader__topNav {
    -ms-flex-align: end;
        align-items: flex-end;
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
    color: #3d3d3d;
    -ms-flex: 1 0;
        flex: 1 0;
  }
}
#siteHeader:not(.siteHeader--preload):not(.siteHeader--mobile) #siteHeader__topNav {
  -ms-flex-align: end;
      align-items: flex-end;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  color: #3d3d3d;
  -ms-flex: 1 0;
      flex: 1 0;
}
@media (max-width: 1200px) {
  #siteHeader.siteHeader--preload #siteHeader__topNav {
    background: #3d3d3d;
    box-sizing: border-box;
    color: #fff;
    column-gap: 20px;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-order: 2;
        order: 2;
    padding: 10px;
    width: 100%;
  }
}
#siteHeader:not(.siteHeader--preload).siteHeader--mobile #siteHeader__topNav {
  background: #3d3d3d;
  box-sizing: border-box;
  color: #fff;
  column-gap: 20px;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-order: 2;
      order: 2;
  padding: 10px;
  width: 100%;
}
.siteHeader__topNav__wrap {
  column-gap: 20px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: center;
      justify-content: center;
}
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--preload .siteHeader__topNav__wrap {
    -ms-flex: 1 1;
        flex: 1 1;
  }
}
#siteHeader:not(.siteHeader--preload):not(.siteHeader--mobile) .siteHeader__topNav__wrap {
  -ms-flex: 1 1;
      flex: 1 1;
}
/*  =========================================================
nav item
========================================================== */
.siteHeader__topNav__item {
  -ms-flex-align: start;
      align-items: flex-start;
  column-gap: 5px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  text-decoration: none;
}
.siteHeader__topNav__item__text {
  font: 400 normal 14px/1.1em Arial, sans-serif;
  text-decoration: underline;
}
.siteHeader__topNav__item__icon {
  font-size: 14px;
  line-height: 1.1em;
}
/*  =========================================================
lang setter
========================================================== */
.siteHeader__langSet {
  column-gap: 5px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
}
.siteHeader__langSet__item {
  column-gap: 1px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
}
.siteHeader__langSet__item:is(span) {
  filter: grayscale(1);
  opacity: 0.5;
}
.siteHeader__langSet__item__text {
  display: none;
}
.siteHeader__langSet__item::before {
  aspect-ratio: 1.26315789;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  display: block;
  width: 20px;
}
.siteHeader__langSet__item--de::before {
  background-image: url('../images/objects/flags/de.58f09000.png');
}
.siteHeader__langSet__item--en::before {
  background-image: url('../images/objects/flags/en.ea72ee41.png');
}
.siteHeader__langSet__item--nl::before {
  background-image: url('../images/objects/flags/nl.752365ec.png');
}
/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage main nav
 * @author     schoening
 * @since      05.10.2021
 * @version    $Id$
 **/
/*  =========================================================
basic styling
generic styling for all levels
level 0
dropdown
level 1
level 2
========================================================== */
/*  =========================================================
basic styling
========================================================== */
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--preload #siteHeader__mainNav {
    display: -ms-flexbox;
    display: flex;
    -ms-flex: 2 0;
        flex: 2 0;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: center;
        justify-content: center;
  }
}
#siteHeader:not(.siteHeader--preload):not(.siteHeader--mobile) #siteHeader__mainNav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 2 0;
      flex: 2 0;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: center;
      justify-content: center;
}
@media (max-width: 1200px) {
  #siteHeader.siteHeader--preload #siteHeader__mainNav {
    overflow-y: auto;
    text-align: center;
  }
}
#siteHeader:not(.siteHeader--preload).siteHeader--mobile #siteHeader__mainNav {
  overflow-y: auto;
  text-align: center;
}
/*  =========================================================
generic styling for all levels
========================================================== */
.mainNav__item__arrow {
  font-size: 14px;
  padding: 10px;
  position: absolute;
  right: 10px;
  top: 10px;
}
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--preload .mainNav__item__arrow {
    transform: rotateZ(-90deg);
  }
}
#siteHeader:not(.siteHeader--preload):not(.siteHeader--mobile) .mainNav__item__arrow {
  transform: rotateZ(-90deg);
}
.mainNav__item:not(:hover, .mainNav__item--active) > .mainNav__item__linkWrap > .mainNav__item__arrow {
  color: #3d3d3d;
}
.mainNav__item:is(:hover, .mainNav__item--active) > .mainNav__item__linkWrap > .mainNav__item__arrow {
  color: #c08700;
}
@media (max-width: 1200px) {
  #siteHeader.siteHeader--preload .mainNav__item--active > .mainNav__item__linkWrap > .mainNav__item__arrow {
    transform: scaleY(-1);
  }
}
#siteHeader:not(.siteHeader--preload).siteHeader--mobile .mainNav__item--active > .mainNav__item__linkWrap > .mainNav__item__arrow {
  transform: scaleY(-1);
}
.mainNav__item:is(:hover, .mainNav__item--active) > .mainNav__item__linkWrap > .mainNav__item__link .mainNav__item__link__text {
  position: relative;
}
.mainNav__item:is(:hover, .mainNav__item--active) > .mainNav__item__linkWrap > .mainNav__item__link .mainNav__item__link__text::before {
  border-bottom: 3px #c08700 solid;
  content: '';
  left: 0;
  position: absolute;
  right: 0;
  bottom: -3px;
}
.mainNav__item__linkWrap {
  position: relative;
  z-index: 1;
}
.mainNav__item__linkWrap:hover::after {
  bottom: 0;
  content: '';
  left: -20px;
  position: absolute;
  top: 0;
  width: 20px;
}
/*  =========================================================
dropdown
========================================================== */
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--preload .mainNav__dropdown {
    bottom: calc(-100vh + 100%);
    left: -5px;
    pointer-events: none;
    position: absolute;
    text-align: left;
    top: 100%;
    width: 380px;
  }
}
#siteHeader:not(.siteHeader--preload):not(.siteHeader--mobile) .mainNav__dropdown {
  bottom: calc(-100vh + 100%);
  left: -5px;
  pointer-events: none;
  position: absolute;
  text-align: left;
  top: 100%;
  width: 380px;
}
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--preload .mainNav-lvl0__item:not(:hover) .mainNav__dropdown {
    display: none;
  }
}
#siteHeader:not(.siteHeader--preload):not(.siteHeader--mobile) .mainNav-lvl0__item:not(:hover) .mainNav__dropdown {
  display: none;
}
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--preload .mainNav-lvl1 > .ps-scrollbar-y-rail {
    top: 0 !important;
  }
}
#siteHeader:not(.siteHeader--preload):not(.siteHeader--mobile) .mainNav-lvl1 > .ps-scrollbar-y-rail {
  top: 0 !important;
}
@media (max-width: 1200px) {
  #siteHeader.siteHeader--preload .mainNav__dropdown {
    display: inline;
  }
}
#siteHeader:not(.siteHeader--preload).siteHeader--mobile .mainNav__dropdown {
  display: inline;
}
/*  =========================================================
level 0
========================================================== */
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--preload .mainNav-lvl0__item {
    -ms-flex-align: center;
        align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    position: relative;
  }
  #siteHeader.siteHeader--preload .mainNav-lvl0__item > .mainNav__item__linkWrap > .mainNav__item__arrow {
    display: none;
  }
}
#siteHeader:not(.siteHeader--preload):not(.siteHeader--mobile) .mainNav-lvl0__item {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  position: relative;
}
#siteHeader:not(.siteHeader--preload):not(.siteHeader--mobile) .mainNav-lvl0__item > .mainNav__item__linkWrap > .mainNav__item__arrow {
  display: none;
}
@media (max-width: 1200px) {
  #siteHeader.siteHeader--preload .mainNav-lvl0__item {
    border-bottom: 1px #c6c6c6 solid;
  }
  #siteHeader.siteHeader--preload .mainNav-lvl0__item.siteHeader__searchToggle {
    display: none;
  }
}
#siteHeader:not(.siteHeader--preload).siteHeader--mobile .mainNav-lvl0__item {
  border-bottom: 1px #c6c6c6 solid;
}
#siteHeader:not(.siteHeader--preload).siteHeader--mobile .mainNav-lvl0__item.siteHeader__searchToggle {
  display: none;
}
.mainNav-lvl0__item__link {
  color: #3d3d3d;
  cursor: pointer;
  display: block;
  font: 400 normal 18px/1.1em Arial, sans-serif;
  position: relative;
  text-decoration: none;
}
@media (max-width: 1200px) {
  #siteHeader.siteHeader--preload .mainNav-lvl0__item__link {
    padding: 15px;
  }
}
#siteHeader:not(.siteHeader--preload).siteHeader--mobile .mainNav-lvl0__item__link {
  padding: 15px;
}
@media (min-width: 1200.1px) {
  #siteHeader:not(.siteHeader--minified1).siteHeader--preload .mainNav-lvl0__item__link {
    padding: 5px 35px;
    text-transform: uppercase;
    white-space: nowrap;
  }
}
#siteHeader:not(.siteHeader--minified1):not(.siteHeader--preload):not(.siteHeader--mobile) .mainNav-lvl0__item__link {
  padding: 5px 35px;
  text-transform: uppercase;
  white-space: nowrap;
}
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--minified1:not(.siteHeader--minified2).siteHeader--preload .mainNav-lvl0__item__link {
    padding: 5px 15px;
    text-transform: uppercase;
    white-space: nowrap;
  }
}
#siteHeader.siteHeader--minified1:not(.siteHeader--minified2):not(.siteHeader--preload):not(.siteHeader--mobile) .mainNav-lvl0__item__link {
  padding: 5px 15px;
  text-transform: uppercase;
  white-space: nowrap;
}
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--minified2.siteHeader--preload .mainNav-lvl0__item__link {
    padding: 5px 10px;
    white-space: nowrap;
  }
}
#siteHeader.siteHeader--minified2:not(.siteHeader--preload):not(.siteHeader--mobile) .mainNav-lvl0__item__link {
  padding: 5px 10px;
  white-space: nowrap;
}
.mainNav-lvl0__item__link__icon {
  font-size: 17px;
  margin-right: 5px;
  vertical-align: center;
}
/*  =========================================================
level 1
========================================================== */
.mainNav-lvl1 {
  background: #fff;
}
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--preload .mainNav-lvl1 {
    max-height: 100%;
    overflow-y: auto;
    pointer-events: all;
  }
}
#siteHeader:not(.siteHeader--preload):not(.siteHeader--mobile) .mainNav-lvl1 {
  max-height: 100%;
  overflow-y: auto;
  pointer-events: all;
}
@media (max-width: 1200px) {
  #siteHeader.siteHeader--preload .mainNav-lvl1 {
    width: 100%;
  }
}
#siteHeader:not(.siteHeader--preload).siteHeader--mobile .mainNav-lvl1 {
  width: 100%;
}
@media (max-width: 1200px) {
  #siteHeader.siteHeader--preload .mainNav-lvl0__item:not(.mainNav__item--active) .mainNav-lvl1 {
    display: none;
  }
}
#siteHeader:not(.siteHeader--preload).siteHeader--mobile .mainNav-lvl0__item:not(.mainNav__item--active) .mainNav-lvl1 {
  display: none;
}
.mainNav-lvl1__item .mainNav__item__linkWrap:only-child .mainNav__item__arrow {
  display: none;
}
.mainNav-lvl1__item {
  border-top: 1px #c6c6c6 solid;
}
@media (max-width: 1200px) {
  #siteHeader.siteHeader--preload .mainNav-lvl1__item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
  }
}
#siteHeader:not(.siteHeader--preload).siteHeader--mobile .mainNav-lvl1__item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column-reverse;
      flex-direction: column-reverse;
}
.mainNav-lvl1__item__link {
  color: #3d3d3d;
  display: block;
  font: 700 normal 17px/24px Arial, sans-serif;
  padding: 15px;
  text-decoration: none;
}
/*  =========================================================
level 2
========================================================== */
.mainNav-lvl2 {
  background: #eee;
}
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--preload .mainNav-lvl0__item:not(:nth-of-type(n+4)) .mainNav-lvl2.mainNav-lvl2--leftSide {
    left: -100%;
  }
}
#siteHeader:not(.siteHeader--preload):not(.siteHeader--mobile) .mainNav-lvl0__item:not(:nth-of-type(n+4)) .mainNav-lvl2.mainNav-lvl2--leftSide {
  left: -100%;
}
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--preload .mainNav-lvl2 {
    max-height: 100%;
    overflow-y: auto;
    position: absolute;
    text-align: left;
    width: 75%;
  }
}
#siteHeader:not(.siteHeader--preload):not(.siteHeader--mobile) .mainNav-lvl2 {
  max-height: 100%;
  overflow-y: auto;
  position: absolute;
  text-align: left;
  width: 75%;
}
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--preload .mainNav-lvl1__item:not(:hover) .mainNav-lvl2 {
    opacity: 0;
    pointer-events: none;
  }
}
#siteHeader:not(.siteHeader--preload):not(.siteHeader--mobile) .mainNav-lvl1__item:not(:hover) .mainNav-lvl2 {
  opacity: 0;
  pointer-events: none;
}
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--preload .mainNav-lvl0__item:not(:nth-of-type(n+4)) .mainNav-lvl2 {
    left: 100%;
  }
}
#siteHeader:not(.siteHeader--preload):not(.siteHeader--mobile) .mainNav-lvl0__item:not(:nth-of-type(n+4)) .mainNav-lvl2 {
  left: 100%;
}
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--preload .mainNav-lvl0__item:nth-of-type(n+4) .mainNav-lvl2 {
    right: 100%;
  }
}
#siteHeader:not(.siteHeader--preload):not(.siteHeader--mobile) .mainNav-lvl0__item:nth-of-type(n+4) .mainNav-lvl2 {
  right: 100%;
}
@media (max-width: 1200px) {
  #siteHeader.siteHeader--preload .mainNav-lvl2 {
    border-top: 1px #c6c6c6 solid;
    bottom: unset !important;
    margin-top: unset !important;
    width: 100%;
  }
}
#siteHeader:not(.siteHeader--preload).siteHeader--mobile .mainNav-lvl2 {
  border-top: 1px #c6c6c6 solid;
  bottom: unset !important;
  margin-top: unset !important;
  width: 100%;
}
@media (max-width: 1200px) {
  #siteHeader.siteHeader--preload .mainNav-lvl1__item:not(.mainNav__item--active) .mainNav-lvl2 {
    display: none;
  }
}
#siteHeader:not(.siteHeader--preload).siteHeader--mobile .mainNav-lvl1__item:not(.mainNav__item--active) .mainNav-lvl2 {
  display: none;
}
.mainNav-lvl2__item:not(:last-child) {
  border-bottom: 1px #c6c6c6 solid;
}
.mainNav-lvl2__item__link {
  color: #3d3d3d;
  display: block;
  font: 700 normal 14px/24px Arial, sans-serif;
  padding: 15px;
  text-decoration: none;
}
.mainNav-lvl2__item__group {
  color: #3d3d3d;
  display: block;
  font: 700 normal 17px/24px Arial, sans-serif;
  padding: 15px;
  text-decoration: none;
}
/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2022 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage header
 * @author     gueldner
 * @since      19.07.2022
 * @version    $Id$
 **/
/*  =========================================================
mobile check
========================================================== */
/*  =========================================================
mobile check
========================================================== */
/*  =========================================================
basic styling
========================================================== */
#siteHeader {
  background: #fff;
  border-bottom: 1px #c6c6c6 solid;
  position: sticky;
  width: 100%;
  z-index: 10;
}
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--preload {
    -ms-flex-align: stretch;
        align-items: stretch;
    display: -ms-flexbox;
    display: flex;
    top: 0;
  }
}
#siteHeader:not(.siteHeader--preload):not(.siteHeader--mobile) {
  -ms-flex-align: stretch;
      align-items: stretch;
  display: -ms-flexbox;
  display: flex;
  top: 0;
}
@media (max-width: 1200px) {
  #siteHeader.siteHeader--preload {
    -ms-flex-align: center;
        align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    top: 0;
  }
}
#siteHeader:not(.siteHeader--preload).siteHeader--mobile {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: justify;
      justify-content: space-between;
  top: 0;
}
/*  =========================================================
navigation wrapper
========================================================== */
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--preload #siteHeader__navWrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex: 1 1;
        flex: 1 1;
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
  }
}
#siteHeader:not(.siteHeader--preload):not(.siteHeader--mobile) #siteHeader__navWrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1 1;
      flex: 1 1;
  -ms-flex-direction: column-reverse;
      flex-direction: column-reverse;
}
@media (min-width: 1200.1px) {
  #siteHeader:not(.siteHeader--minified2).siteHeader--preload #siteHeader__navWrapper {
    padding: 0 50px 0 0;
  }
}
#siteHeader:not(.siteHeader--minified2):not(.siteHeader--preload):not(.siteHeader--mobile) #siteHeader__navWrapper {
  padding: 0 50px 0 0;
}
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--minified2.siteHeader--preload #siteHeader__navWrapper {
    padding: 0 15px 0 0;
  }
}
#siteHeader.siteHeader--minified2:not(.siteHeader--preload):not(.siteHeader--mobile) #siteHeader__navWrapper {
  padding: 0 15px 0 0;
}
@media (max-width: 1200px) {
  #siteHeader.siteHeader--preload #siteHeader__navWrapper {
    background: #fff;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    left: 0;
    position: absolute;
    right: 0;
    top: calc(100% + 1px);
    bottom: calc(100% - 100vh);
  }
}
#siteHeader:not(.siteHeader--preload).siteHeader--mobile #siteHeader__navWrapper {
  background: #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  left: 0;
  position: absolute;
  right: 0;
  top: calc(100% + 1px);
  bottom: calc(100% - 100vh);
}
@media (max-width: 1200px) {
  #siteHeader:not(.siteHeader--noAnim).siteHeader--preload #siteHeader__navWrapper {
    transition: opacity 0.25s ease, margin-top 0.25s ease;
  }
}
#siteHeader:not(.siteHeader--noAnim):not(.siteHeader--preload).siteHeader--mobile #siteHeader__navWrapper {
  transition: opacity 0.25s ease, margin-top 0.25s ease;
}
@media (max-width: 1200px) {
  #siteHeader:not(.siteHeader--showMenu).siteHeader--preload #siteHeader__navWrapper {
    pointer-events: none;
    opacity: 0;
  }
  #siteHeader:not(.siteHeader--showMenu).siteHeader--preload:not(.siteHeader--showSearch) #siteHeader__navWrapper {
    margin-top: 25px;
  }
  #siteHeader:not(.siteHeader--showMenu).siteHeader--preload.siteHeader--showSearch #siteHeader__navWrapper {
    margin-top: 75px;
  }
}
#siteHeader:not(.siteHeader--showMenu):not(.siteHeader--preload).siteHeader--mobile #siteHeader__navWrapper {
  pointer-events: none;
  opacity: 0;
}
#siteHeader:not(.siteHeader--showMenu):not(.siteHeader--preload).siteHeader--mobile:not(.siteHeader--showSearch) #siteHeader__navWrapper {
  margin-top: 25px;
}
#siteHeader:not(.siteHeader--showMenu):not(.siteHeader--preload).siteHeader--mobile.siteHeader--showSearch #siteHeader__navWrapper {
  margin-top: 75px;
}
@media (max-width: 1200px) {
  #siteHeader.siteHeader--showMenu.siteHeader--preload #siteHeader__navWrapper {
    opacity: 1;
  }
  #siteHeader.siteHeader--showMenu.siteHeader--preload:not(.siteHeader--showSearch) #siteHeader__navWrapper {
    margin-top: 0;
  }
  #siteHeader.siteHeader--showMenu.siteHeader--preload.siteHeader--showSearch #siteHeader__navWrapper {
    margin-top: 50px;
  }
}
#siteHeader.siteHeader--showMenu:not(.siteHeader--preload).siteHeader--mobile #siteHeader__navWrapper {
  opacity: 1;
}
#siteHeader.siteHeader--showMenu:not(.siteHeader--preload).siteHeader--mobile:not(.siteHeader--showSearch) #siteHeader__navWrapper {
  margin-top: 0;
}
#siteHeader.siteHeader--showMenu:not(.siteHeader--preload).siteHeader--mobile.siteHeader--showSearch #siteHeader__navWrapper {
  margin-top: 50px;
}
/*  =========================================================
logo
========================================================== */
#siteHeader__logo {
  display: block;
}
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--preload #siteHeader__logo {
    height: 95px;
    min-width: 250px;
    width: 300px;
  }
}
#siteHeader:not(.siteHeader--preload):not(.siteHeader--mobile) #siteHeader__logo {
  height: 95px;
  min-width: 250px;
  width: 300px;
}
@media (max-width: 1200px) and (min-width: 501px) {
  #siteHeader.siteHeader--preload #siteHeader__logo {
    height: 63.33333333px;
    margin: 10px 10px 12px 10px;
  }
}
@media (max-width: 1200px) and (max-width: 500px) {
  #siteHeader.siteHeader--preload #siteHeader__logo {
    height: 45.6px;
    margin: 10px 10px 12px 10px;
  }
}
@media (min-width: 501px) {
  #siteHeader:not(.siteHeader--preload).siteHeader--mobile #siteHeader__logo {
    height: 63.33333333px;
    margin: 10px 10px 12px 10px;
  }
}
@media (max-width: 500px) {
  #siteHeader:not(.siteHeader--preload).siteHeader--mobile #siteHeader__logo {
    height: 45.6px;
    margin: 10px 10px 12px 10px;
  }
}
#siteHeader__logo > img {
  display: block;
  height: 100%;
  margin: 0 0 0 10px;
  object-fit: contain;
  width: 100%;
}
/*  =========================================================
smartphone trigger
========================================================== */
#siteHeader__trigger {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  margin: 15px 30px 15px 0;
}
@media (min-width: 1200.1px) {
  #siteHeader.siteHeader--preload #siteHeader__trigger {
    display: none;
  }
}
#siteHeader:not(.siteHeader--preload):not(.siteHeader--mobile) #siteHeader__trigger {
  display: none;
}
@media (max-width: 1200px) and (min-width: 501px) {
  #siteHeader.siteHeader--preload #siteHeader__trigger {
    column-gap: 20px;
  }
}
@media (max-width: 1200px) and (max-width: 500px) {
  #siteHeader.siteHeader--preload #siteHeader__trigger {
    column-gap: 10px;
  }
}
@media (min-width: 501px) {
  #siteHeader:not(.siteHeader--preload).siteHeader--mobile #siteHeader__trigger {
    column-gap: 20px;
  }
}
@media (max-width: 500px) {
  #siteHeader:not(.siteHeader--preload).siteHeader--mobile #siteHeader__trigger {
    column-gap: 10px;
  }
}
.siteHeader__trigger__item {
  -ms-flex-align: center;
      align-items: center;
  color: #3d3d3d;
  cursor: pointer;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  row-gap: 5px;
}
@media (min-width: 501px) {
  .siteHeader__trigger__item__icon {
    font-size: 20px;
    line-height: 24px;
  }
}
@media (max-width: 500px) {
  .siteHeader__trigger__item__icon {
    font-size: 15px;
    line-height: 20px;
  }
}
.siteHeader__trigger__item--active .siteHeader__trigger__item__icon::before {
  content: '\e608';
}
@media (min-width: 501px) {
  .siteHeader__trigger__item__text {
    font: 400 normal 16px/1.1em Arial, sans-serif;
  }
}
@media (max-width: 500px) {
  .siteHeader__trigger__item__text {
    font: 400 normal 12px/1.1em Arial, sans-serif;
  }
}
/*  =========================================================
fulltextsearch
========================================================== */
#siteHeader__searchWrapper {
  background: #3d3d3d;
  box-sizing: border-box;
  left: 0;
  padding: 5px;
  position: absolute;
  top: calc(100% + 1px);
  transition: opacity 0.25s ease, margin-top 0.25s ease;
  width: 100%;
}
#siteHeader:not(.siteHeader--showSearch) #siteHeader__searchWrapper {
  pointer-events: none;
  opacity: 0;
  margin-top: 25px;
}
#siteHeader.siteHeader--showSearch #siteHeader__searchWrapper {
  opacity: 1;
  margin-top: 0;
}
#siteHeader__search {
  margin: 0 auto;
  max-width: 100%;
  width: 700px;
}
#siteHeader__search__form {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
}
.siteHeader__search__form__input {
  -ms-flex: 1 1;
      flex: 1 1;
}
.siteHeader__search__form__button {
  -ms-flex-align: center;
      align-items: center;
  background: #c08700;
  border: 0;
  color: #fff;
  border-radius: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  outline: none;
  padding: 0 7px;
  row-gap: 3px;
}
.siteHeader__search__form__button__icon {
  font-size: 20px;
}
.siteHeader__search__form__button__text {
  font: 400 normal 10px/1.1em Arial, sans-serif;
}
.has-map #siteHeader__fulltextsearch.mapVersion {
  display: block;
  margin: 0 31% 0 31%;
}
#siteHeader__fulltextsearch.mapVersion,
.has-map #siteHeader__search {
  display: none;
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage keyvisual styles
 * @author     lange
 * @since      10.07.2014
 * @version    $Id$
 **/
/*  =========================================================

========================================================== */
/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2022 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage keyvisual styles
 * @version    $Id$
 **/
/*  =========================================================
this is the text element with page title and breadcrumb
that is overlapping the keyvisual and is having a white bg
========================================================== */
@media screen and (max-width: 900px) {
  #keyvisualArea__siteTitle.offer {
    background-color: #fff;
  }
}
@media screen and (min-width: 601px) {
  #keyvisualArea__siteTitle.gradientBg {
    background: -moz-linear-gradient(left, #c08700 0%, #f7ad00 50%, #c08700 100%) bottom center;
    background: -webkit-linear-gradient(left, #c08700 0%, #f7ad00 50%, #c08700 100%) bottom center;
    background: -ms-linear-gradient(left, #c08700 0%, #f7ad00 50%, #c08700 100%) bottom center;
    background: linear-gradient(to left, #c08700 0%, #f7ad00 50%, #c08700 100%) bottom center;
    background-size: 100% 50%;
    background-repeat: no-repeat;
  }
}
/*  =========================================================
text wrapper
========================================================== */
#keyvisualArea__siteTitle__headline {
  background: #fff;
}
@media screen and (min-width: 1101px) {
  #keyvisualArea__siteTitle__headline {
    margin: 0 auto;
  }
}
@media screen and (min-width: 601px) {
  #keyvisualArea__siteTitle__headline {
    pointer-events: all;
    -webkit-user-select: text;
        -ms-user-select: text;
            user-select: text;
  }
}
@media screen and (min-width: 601px) {
  #keyvisualArea__siteTitle.keyvisualArea__siteTitle--default #keyvisualArea__siteTitle__headline {
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  #keyvisualArea__siteTitle__headline > * {
    margin: 0 3.125%;
  }
}
@media screen and (max-width: 600px) {
  #keyvisualArea__siteTitle__headline > * {
    word-wrap: break-word;
  }
}
@media screen and (min-width: 601px) {
  #keyvisualArea__siteTitle__headline > *:not(ul) {
    margin: 0 40px;
  }
}
#keyvisualArea__siteTitle__headline > hr {
  max-width: 571px;
  margin: 0;
  background-color: #000;
  opacity: 0.2;
  left: 40px;
  position: absolute;
}
@media screen and (max-width: 900px) {
  #keyvisualArea__siteTitle__headline > [data-offCanvasLink] {
    display: block;
    position: relative;
    text-decoration: none;
    font: 700 normal 22px/20px Arial, sans-serif;
    color: #fff;
    background: #e7a200;
    padding: 15px;
    margin: 0 3.125% /*10/320*/ 20px;
  }
}
@media screen and (max-width: 900px) {
  #keyvisualArea__siteTitle__headline > [data-offCanvasLink]::before {
    content: ' ';
    position: absolute;
    width: 14px;
    height: 14px;
    top: 50%;
    left: 100%;
    margin: -7px 0 0 -7px;
    background: #e7a200;
    transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform-origin: center;
    -moz-transform-origin: center;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
  }
}
/*  =========================================================
title
========================================================== */
#keyvisualArea__siteTitle__headline > h1 {
  text-align: left;
  padding-bottom: 30px;
  color: #393939;
}
#keyvisualArea__siteTitle__headline > h1:not(.onlyElement) {
  position: relative;
}
@media screen and (max-width: 1150px) and (min-width: 601px) {
  #keyvisualArea__siteTitle__headline > h1 {
    padding: 0 0 25px 0;
  }
}
@media screen and (min-width: 601px) {
  #keyvisualArea__siteTitle__headline > h1 {
    font: 400 normal 50px/45px Arial, sans-serif;
  }
}
@media screen and (max-width: 600px) {
  #keyvisualArea__siteTitle__headline > h1 {
    font: 400 normal 35px/45px Arial, sans-serif;
  }
}
@media screen and (min-width: 601px) {
  #keyvisualArea__siteTitle.offer #keyvisualArea__siteTitle__headline > h1 {
    padding: 0 0 25px 0;
  }
}
#keyvisualArea__siteTitle__headline > h1:not(.onlyElement)::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  content: '';
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
#keyvisualArea__siteTitle__headline > h1:not(.onlyElement).headlineCard::after {
  max-width: 680px;
}
#keyvisualArea__siteTitle__headline > h1 > img {
  margin-bottom: 15px;
}
#keyvisualArea__siteTitle__headline > h1 .stars {
  position: relative;
  top: -15px;
  margin-left: 15px;
  font: 700 25px/30px "meta", Arial, sans-serif;
  overflow: hidden;
}
/*  =========================================================
text
========================================================== */
@media screen and (max-width: 1150px) and (min-width: 601px) {
  #keyvisualArea__siteTitle__headline > p {
    padding: 0;
  }
}
#keyvisualArea__siteTitle__headline > .titleText {
  text-align: left;
  color: #393939;
}
@media screen and (min-width: 601px) {
  #keyvisualArea__siteTitle__headline > .titleText {
    font: 400 normal 25px/34px Arial, sans-serif;
  }
}
@media screen and (max-width: 600px) {
  #keyvisualArea__siteTitle__headline > .titleText {
    font: 400 normal 20px/25px Arial, sans-serif;
  }
}
#keyvisualArea__siteTitle__headline > h1 + .titleText {
  font-size: 20px;
  margin: -10px 0 15px 0;
}
#keyvisualArea__siteTitle__headline > .descriptionText {
  text-align: left;
  font: 700 normal 17px/25px Arial, sans-serif;
  color: #393939;
  padding-top: 30px;
  overflow: hidden;
}
@media screen and (max-width: 600.1px) and (min-width: 601px) {
  #keyvisualArea__siteTitle__headline > .descriptionText {
    padding: 25px 40px 21px 0;
  }
}
@media screen and (max-width: 600px) {
  #keyvisualArea__siteTitle__headline > .descriptionText {
    padding-bottom: 30px;
  }
}
@media screen and (min-width: 601px) {
  #keyvisualArea__siteTitle.offer #keyvisualArea__siteTitle__headline > .descriptionText {
    padding: 25px 40px 21px 0;
  }
}
#keyvisualArea__siteTitle__headline > .descriptionText > strong {
  font-weight: 700;
}
#keyvisualArea__siteTitle__headline > .descriptionText > .certificate {
  float: left;
  max-width: 200px;
  margin: -10px 30px -10px 0;
  text-align: center;
  font: 400 12px/14px Arial, sans-serif;
  color: #393939;
}
@media screen and (max-width: 600px) {
  #keyvisualArea__siteTitle__headline > .descriptionText > .certificate {
    margin: 0 20px 0 0;
    text-align: left;
  }
}
@media screen and (max-width: 600px) {
  #keyvisualArea__siteTitle__headline > .descriptionText > .certificate > span {
    display: none;
  }
}
#keyvisualArea__siteTitle__headline > .descriptionText > .certificate > img {
  margin-bottom: 5px;
}
#keyvisualArea__siteTitle__headline > .descriptionText > .certificate:last-of-type {
  margin-right: 0;
}
#keyvisualArea__siteTitle__headline > [data-offCanvasLink] {
  display: none;
}
/*  =========================================================
list (breadcrumb?)
========================================================== */
#keyvisualArea__siteTitle__headline ul {
  margin: 0;
  list-style: none;
}
@media screen and (min-width: 1151px) {
  #keyvisualArea__siteTitle__headline ul {
    padding: 17px 0 0 0;
  }
}
@media screen and (min-width: 601px) {
  #keyvisualArea__siteTitle__headline ul {
    padding: 17px 0 37px 40px;
  }
}
@media screen and (max-width: 600px) {
  #keyvisualArea__siteTitle__headline ul {
    margin-bottom: 30px;
    padding: 20px 0 0 10px;
    text-align: left;
  }
}
@media screen and (min-width: 601px) {
  #keyvisualArea__siteTitle.offer #keyvisualArea__siteTitle__headline > ul {
    padding: 17px 0 37px 40px;
  }
}
@media screen and (max-width: 600px) {
  #keyvisualArea__siteTitle__headline.offer > ul {
    margin-bottom: 25px;
  }
}
#keyvisualArea__siteTitle__headline li {
  display: inline-block;
  position: relative;
  margin-right: 15px;
  vertical-align: top;
  font: 400 normal 14px/16px Arial, sans-serif;
  color: #595959;
}
#keyvisualArea__siteTitle__headline li:not(:last-of-type)::after {
  position: absolute;
  top: 0;
  right: -10px;
  content: '>';
}
#keyvisualArea__siteTitle__headline li a {
  font-size: 13px;
}
#keyvisualArea__siteTitle__headline li:not(:last-of-type) a {
  text-decoration: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
#keyvisualArea__siteTitle__headline li:last-of-type > a {
  color: #c08700;
  text-decoration: none;
}
/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2022 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage keyvisual styles
 * @version    $Id$
 **/
/*  =========================================================
this is the text that is placed directly on the image
for example on the frontdoor
========================================================== */
.keyvisual__item__text {
  position: absolute;
  margin: 0;
  color: #fffffd;
  text-align: left;
}
/*  =========================================================
positions
========================================================== */
@media screen and (min-width: 601px) {
  .keyvisual__item__text {
    height: auto;
  }
}
@media screen and (max-width: 600px) {
  .keyvisual__item__text {
    height: auto;
  }
}
@media screen and (min-width: 601px) {
  .keyvisual__item__text:not([class*='heroimage__position']) {
    top: 40%;
    left: 9%;
    width: auto;
    max-width: 82%;
  }
}
@media screen and (max-width: 600px) {
  .keyvisual__item__text:not([class*='heroimage__position']) {
    top: 40%;
    left: 3%;
    width: auto;
    max-width: 94%;
  }
}
@media screen and (min-width: 601px) {
  .keyvisual__item__text:not(.heroimage__position__top__center, .heroimage__position__middle__center, .heroimage__position__right__center) {
    width: auto;
    max-width: 82%;
  }
}
@media screen and (max-width: 600px) {
  .keyvisual__item__text:not(.heroimage__position__top__center, .heroimage__position__middle__center, .heroimage__position__right__center) {
    width: auto;
    max-width: 94%;
  }
}
@media screen and (min-width: 601px) {
  .keyvisual__item__text.heroimage__position__top__left {
    text-align: left;
    top: 170px;
    left: 9%;
  }
}
@media screen and (max-width: 600px) {
  .keyvisual__item__text.heroimage__position__top__left {
    text-align: left;
    top: 80px;
    left: 3%;
  }
}
@media screen and (min-width: 601px) {
  .keyvisual__item__text.heroimage__position__top__right {
    text-align: right;
    top: 170px;
    right: 9%;
  }
}
@media screen and (max-width: 600px) {
  .keyvisual__item__text.heroimage__position__top__right {
    text-align: right;
    top: 80px;
    right: 9%;
  }
}
@media screen and (min-width: 601px) {
  .keyvisual__item__text.heroimage__position__top__center {
    top: 170px;
    width: 100%;
    text-align: center;
  }
  .keyvisual__item__text.heroimage__position__top__center > * {
    text-align: center;
  }
}
@media screen and (max-width: 600px) {
  .keyvisual__item__text.heroimage__position__top__center {
    top: 80px;
    width: 100%;
    text-align: center;
  }
  .keyvisual__item__text.heroimage__position__top__center > * {
    text-align: center;
  }
}
@media screen and (min-width: 601px) {
  .keyvisual__item__text.heroimage__position__middle__left {
    text-align: left;
    top: 40%;
    left: 9%;
  }
}
@media screen and (max-width: 600px) {
  .keyvisual__item__text.heroimage__position__middle__left {
    text-align: left;
    top: 42%;
    left: 3%;
  }
}
@media screen and (min-width: 601px) {
  .keyvisual__item__text.heroimage__position__middle__right {
    text-align: right;
    top: 40%;
    right: 9%;
  }
}
@media screen and (max-width: 600px) {
  .keyvisual__item__text.heroimage__position__middle__right {
    text-align: right;
    top: 42%;
    right: 3%;
  }
}
@media screen and (min-width: 601px) {
  .keyvisual__item__text.heroimage__position__middle__center {
    top: 40%;
    width: 100%;
    text-align: center;
  }
  .keyvisual__item__text.heroimage__position__middle__center > * {
    text-align: center;
  }
}
@media screen and (max-width: 600px) {
  .keyvisual__item__text.heroimage__position__middle__center {
    top: 42%;
    width: 100%;
    text-align: center;
  }
  .keyvisual__item__text.heroimage__position__middle__center > * {
    text-align: center;
  }
}
@media screen and (min-width: 601px) {
  .keyvisual__item__text.heroimage__position__bottom__left {
    text-align: left;
    bottom: 105px;
    left: 9%;
  }
}
@media screen and (max-width: 600px) {
  .keyvisual__item__text.heroimage__position__bottom__left {
    text-align: left;
    bottom: 50px;
    left: 3%;
  }
}
@media screen and (min-width: 601px) {
  .keyvisual__item__text.heroimage__position__bottom__right {
    text-align: right;
    bottom: 105px;
    right: 9%;
  }
}
@media screen and (max-width: 600px) {
  .keyvisual__item__text.heroimage__position__bottom__right {
    text-align: right;
    bottom: 50px;
    right: 3%;
  }
}
@media screen and (min-width: 601px) {
  .keyvisual__item__text.heroimage__position__bottom__center {
    bottom: 105px;
    width: 100%;
    text-align: center;
  }
  .keyvisual__item__text.heroimage__position__bottom__center > * {
    text-align: center;
  }
}
@media screen and (max-width: 600px) {
  .keyvisual__item__text.heroimage__position__bottom__center {
    bottom: 55px;
    width: 100%;
    text-align: center;
  }
  .keyvisual__item__text.heroimage__position__bottom__center > * {
    text-align: center;
  }
}
/*  =========================================================
text styles
========================================================== */
.keyvisual__item__text h1,
.keyvisual__item__text h2,
.keyvisual__item__text h3,
.keyvisual__item__text h4,
.keyvisual__item__text h5,
.keyvisual__item__text h6,
.keyvisual__item__text p,
.keyvisual__item__text a:not([class]) {
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 601px) {
  .keyvisual__item__text h3 {
    font: 400 60px/70px Arial, sans-serif;
  }
}
@media screen and (max-width: 600px) {
  .keyvisual__item__text h3 {
    font: 400 35px/40px Arial, sans-serif;
  }
}
@media screen and (min-width: 601px) {
  .keyvisual__item__text p {
    font: 400 24px/40px Arial, sans-serif;
  }
}
@media screen and (max-width: 600px) {
  .keyvisual__item__text p {
    font: 400 20px/30px Arial, sans-serif;
  }
}
.keyvisual__item__text__title > a,
.keyvisual__item__text__subtitle > a {
  text-decoration: none;
}
/*  =========================================================
button
========================================================== */
.keyvisual__item__text__button {
  padding: 12px 20px;
  border: 2px solid #fffffd;
  border-radius: 6px;
  text-decoration: none;
  margin-top: 10px;
  display: inline-block;
}
.keyvisual__item__text__button::after {
  vertical-align: middle;
  content: "\e601";
  font-family: "icomoon";
  font-weight: 400;
}
@media screen and (min-width: 601px) {
  .keyvisual__item__text__button {
    margin-top: 0;
    font: 400 18px/16px Arial, sans-serif;
  }
}
@media screen and (max-width: 600px) {
  .keyvisual__item__text__button {
    font: 400 18px/16px Arial, sans-serif;
  }
}
.keyvisual__item__text:not(.heroimage__position__top__center, .heroimage__position__middle__center, .heroimage__position__right__center) > .keyvisual__item__text__button {
  display: inline-block;
}
/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2022 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage keyvisual styles
 * @version    $Id$
 **/
/*  =========================================================

========================================================== */
#keyvisual:not(.noKeyvisual) {
  background: #eee url('../images/objects/loading.b5c8b5e1.gif') 50vw 50% no-repeat;
}
.keyvisual__video__youtube {
  background-size: cover;
  background-position: center center;
  opacity: 0;
  transition: opacity 0.25s ease;
}
#keyvisual[style] .keyvisual__video__youtube {
  opacity: 1;
}
@media (min-width: 1680.1px) {
  .keyvisual__video__youtube {
    width: 100%;
  }
  #keyvisual[style]:not(.keyvisual--wine) .keyvisual__video__youtube {
    height: calc(42.85714286vw);
    margin-top: calc(-21.42857143vw + 360px);
  }
  #keyvisual.keyvisual--wine[style] .keyvisual__video__youtube {
    height: calc(56.60377358vw);
    margin-top: calc(-28.30188679vw + 475.47169811px);
  }
}
@media (max-width: 1680px) and (min-aspect-ratio: 14/8) {
  #keyvisual:not(.keyvisual--wine) .keyvisual__video__youtube {
    width: 100%;
  }
}
@media (max-width: 1680px) and (max-aspect-ratio: 14/8) {
  #keyvisual:not(.keyvisual--wine) .keyvisual__video__youtube {
    height: 75vh;
  }
}
@media (max-width: 1680px) and (min-aspect-ratio: 14/8) {
  #keyvisual[style]:not(.keyvisual--wine) .keyvisual__video__youtube {
    height: calc(57.14285714vw);
    margin-top: calc(-28.57142857vw + 37.5vh);
  }
}
@media (max-width: 1680px) and (max-aspect-ratio: 14/8) {
  #keyvisual[style]:not(.keyvisual--wine) .keyvisual__video__youtube {
    width: calc(175vh);
    margin-left: calc(-87.5vh + 50vw);
  }
}
@media (max-width: 1680px) and (min-aspect-ratio: 140/105) {
  #keyvisual.keyvisual--wine .keyvisual__video__youtube {
    width: 100%;
  }
}
@media (max-width: 1680px) and (max-aspect-ratio: 140/105) {
  #keyvisual.keyvisual--wine .keyvisual__video__youtube {
    height: 75vh;
  }
}
@media (max-width: 1680px) and (min-aspect-ratio: 140/105) {
  #keyvisual.keyvisual--wine[style] .keyvisual__video__youtube {
    height: calc(75vw);
    margin-top: calc(-37.5vw + 37.5vh);
  }
}
@media (max-width: 1680px) and (max-aspect-ratio: 140/105) {
  #keyvisual.keyvisual--wine[style] .keyvisual__video__youtube {
    width: calc(133.33333333vh);
    margin-left: calc(-66.66666667vh + 50vw);
  }
}
/*  Fallback */
.keyvisual__video__fallback {
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
}
.keyvisual__video__youtube.playing + .keyvisual__video__fallback {
  display: none;
}
.keyvisual__video__youtube .bg {
  background-size: cover;
  background-position: center center;
  top: 0;
  left: 0;
  width: 100%;
  position: absolute;
  height: 100%;
}
.keyvisual__video__youtube .bg.invisible {
  background: transparent !important;
}
/*  =========================================================
iFrame
========================================================== */
.keyvisual__video__youtube > iframe {
  transition: visibility 0.5s, opacity 0.5s linear;
  width: 100%;
  height: 100%;
}
/*  =========================================================
icons
========================================================== */
.keyvisual__video__youtube .icon-play.hideForVideo {
  visibility: visible;
}
.keyvisual__video__youtube .icon-play.hideForVideo::before {
  content: "\e911";
}
.keyvisual__video__youtube .icon-play {
  position: absolute;
  left: 125px;
  bottom: 13px;
  font-size: 50px;
  background: rgba(57, 57, 57, 0.8);
  border: none;
  border-radius: 100%;
  color: #fff;
  z-index: 1;
}
@media screen and (max-width: 600px) {
  .keyvisual__video__youtube .icon-play {
    left: 60px;
    font-size: 40px;
  }
}
.keyvisual__video__youtube .icon-play:not(.hideForVideo) :is(.icon-speakerOn, .icon-speakerOff) {
  display: none;
}
.keyvisual__video__youtube .icon-speakerOn,
.keyvisual__video__youtube .icon-speakerOff {
  position: absolute;
  left: 65px;
  bottom: 13px;
  font-size: 21px;
  color: #fff;
  background: rgba(57, 57, 57, 0.8);
  border-radius: 100%;
  border: 4px #fff solid;
  -ms-flex-align: center;
      align-items: center;
  aspect-ratio: 1;
  box-sizing: border-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  width: 50px;
  z-index: 1;
}
@media screen and (max-width: 600px) {
  .keyvisual__video__youtube .icon-speakerOn,
  .keyvisual__video__youtube .icon-speakerOff {
    left: 10px;
    font-size: 18px;
    width: 40px;
  }
}
/*  =========================================================
everything related to heights
========================================================== */
#keyvisualArea {
  box-sizing: border-box;
  overflow-x: hidden;
  position: relative;
  width: 100%;
}
@media (min-width: 600.1px) {
  #keyvisualArea:empty {
    height: 255px;
  }
}
@media (max-width: 600px) {
  #keyvisualArea:empty {
    height: 80px;
  }
}
#keyvisualArea:empty,
#keyvisual:empty {
  background: url('../images/_TMP/keyvisual/noKeyvisual.613eb81c.jpg') 50% 0 no-repeat;
  background-size: cover;
}
#keyvisual {
  width: 100%;
}
@media (min-width: 1680.1px) {
  #keyvisual:not(.noKeyvisual) {
    height: 720px;
  }
}
@media (min-width: 600.1px) and (max-width: 1680px) {
  #keyvisual:not(.noKeyvisual) {
    height: clamp(255px, 75vh, 75vh);
  }
}
@media (max-width: 600px) {
  #keyvisual:not(.noKeyvisual) {
    height: 380px;
  }
}
@media (min-width: 600.1px) {
  #keyvisual.noKeyvisual {
    height: 255px;
  }
}
@media (max-width: 600px) {
  #keyvisual.noKeyvisual {
    height: 80px;
  }
}
#keyvisual .videoCookieLayer--consent {
  top: 50% !important;
}
/*  =========================================================
copyright overrides
========================================================== */
.copyright {
  transform: rotate(-90deg);
  transform-origin: left top;
  margin-bottom: -18px;
}
/*  =========================================================
keyvisual itself
========================================================== */
#keyvisual {
  -ms-flex-direction: row;
      flex-direction: row;
  overflow: hidden;
  width: 100%;
}
#keyvisual:not([style]) {
  white-space: nowrap;
}
#keyvisual[style] {
  display: -ms-flexbox;
  display: flex;
}
/*  =========================================================
picture/image
========================================================== */
#keyvisual picture,
#keyvisual img {
  display: block;
  height: 100%;
  width: 100%;
}
#keyvisual img {
  object-fit: cover;
}
/*  =========================================================
image wrapper
========================================================== */
.keyvisual__item {
  -ms-flex-positive: 1;
      flex-grow: 1;
  height: 100%;
  position: relative;
  width: 100%;
  z-index: 0;
}
#keyvisualArea .keyvisual__item:not([style]) .keyvisual__item {
  display: inline-block;
  white-space: normal;
  width: 100%;
}
.keyvisual__item.left {
  left: -100%;
}
.keyvisual__item.right {
  left: 100%;
}
.keyvisual__item.positioned {
  transition: left 1s ease;
}
/*  =========================================================
scroll buttons
========================================================== */
#keyvisual__sliderDots {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  #keyvisual__sliderDots {
    display: none;
  }
}
.keyvisual__sliderDots__item {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid #fff;
  margin: 10px;
  display: block;
}
.keyvisual__sliderDots__item.active {
  background-color: #fff;
}
/*  =========================================================
pagination
========================================================== */
.keyvisual__paginate {
  position: absolute;
  top: calc(50% - 30px);
  width: 60px;
  height: 60px;
  border: 2px solid #fff;
  border-radius: 50%;
  text-align: center;
  color: #fff;
  display: block;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .keyvisual__paginate {
    display: none;
  }
}
.keyvisual__paginate__icon {
  display: inline-block;
  font-size: 30px;
  z-index: 9002 !important;
}
.keyvisual__paginate--left {
  left: -30px;
}
.keyvisual__paginate--left .keyvisual__paginate__icon {
  margin: 15px 0 0 14px;
}
.keyvisual__paginate--right {
  right: -30px;
}
.keyvisual__paginate--right .keyvisual__paginate__icon {
  margin: 15px 14px 0 0;
}
/*  =========================================================
siteTitle
========================================================== */
#keyvisualArea__siteTitle {
  box-sizing: border-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: end;
      justify-content: flex-end;
}
@media (min-width: 1680.1px) {
  #keyvisualArea__siteTitle {
    margin-top: -720px;
    min-height: 720px;
  }
}
@media (min-width: 600.1px) and (max-width: 1680px) {
  #keyvisualArea__siteTitle {
    margin-top: -75vh;
    min-height: 75vh;
  }
}
@media (min-width: 600.1px) {
  #keyvisualArea__siteTitle {
    padding-top: 255px;
  }
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage marginalRow that runs aside the main content
 * @author     gueldner
 * @since      30.07.2014
 * @version    $Id$
 **/
/*  =========================================================
basic styling
sub content styling
general font styling
basket list styling
blog navigation
blog images
static map
styling adds for specific templates
download area
========================================================== */
/*  =========================================================
basic styling
========================================================== */
@media screen {
  .marginalRowAdd {
    vertical-align: bottom;
    background: #e7a200;
    box-sizing: border-box;
    color: #fff;
    position: relative;
    z-index: 1;
    padding: 25px 25px 0 25px;
  }
  /* modification for marginalRow in contentArea */
  .marginalRowAddContainer .marginalRowAdd {
    padding: 0 10px 125px 10px;
  }
  .marginalRowAddContainer.startInTitle .marginalRowAdd {
    padding-top: 20px;
  }
  .marginalRowAddContainer.startLater .marginalRowAdd {
    padding: 20px 10px 120px 10px;
  }
  /* helper to position marginalRow and following elements */
  #marginalRowAdd {
    position: relative;
    /* remove the gap between two articles - in CMS defaultArticle and defaultFirstArticle are the same object - but the portal splits it in two due to old logic */
  }
  #marginalRowAdd + p:not(.marginalRowElement),
  #marginalRowAdd + span:not(.marginalRowElement),
  #marginalRowAdd + div:not(.marginalRowElement),
  #marginalRowAdd + a:not(.marginalRowElement),
  #marginalRowAdd + h1:not(.marginalRowElement),
  #marginalRowAdd + h2:not(.marginalRowElement),
  #marginalRowAdd + h3:not(.marginalRowElement),
  #marginalRowAdd + h4:not(.marginalRowElement),
  #marginalRowAdd + h5:not(.marginalRowElement),
  #marginalRowAdd + h6:not(.marginalRowElement) {
    position: relative;
    z-index: 1;
    margin-top: 120px;
  }
  /* little hack to position the marginalRow in contentArea */
  .marginalRowAddContainer {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    min-height: 100%;
    width: 100%;
    margin-bottom: -120px;
  }
  /* make sure that marginalRow goes over whole height */
  .marginalRowAddContainer > .content,
  .marginalRowAddContainer > .content > [class*='g-grid'],
  .marginalRowAddContainer .marginalRowAdd {
    height: 100%;
  }
  /* make it possible to move marginalRow in contentArea a bit up */
  .marginalRowAddContainer.startInTitle {
    margin-top: -160px;
  }
  /* handle margins for inverseButtons */
  .marginalRowAdd .inverseButton {
    margin: 15px 0;
  }
}
@media screen and (min-width: 600.1px) {
  .defaultFirstArticle.v-el-large + #marginalRowAdd {
    margin-top: -65px;
  }
}
@media screen and (max-width: 600px) {
  .defaultFirstArticle.v-el-large + #marginalRowAdd {
    margin-top: -35px;
  }
}
@media screen and (max-width: 900px) {
  .marginalRowAddContainer.startInTitle {
    z-index: 2;
    margin: 0;
    left: 100%;
  }
  aside.marginalRowAdd {
    z-index: 0;
  }
}
@media screen and (max-width: 600px) {
  #marginalRowAdd + * {
    z-index: 0;
  }
}
/* show sidebar in small screen resolution below main content area */
@media screen and (max-width: 900px) {
  #marginalRowAdd .marginalRowAddContainer {
    position: static;
    margin-bottom: 0;
    margin-top: 40px;
  }
  #marginalRowAdd .marginalRowAddContainer > .content,
  #marginalRowAdd .marginalRowAddContainer > .content > [class*='g-grid'],
  #marginalRowAdd .marginalRowAddContainer .marginalRowAdd {
    width: 97.5%;
    height: 100%;
    padding: 0;
  }
  #marginalRowAdd .marginalRowAddContainer .marginalRowAdd {
    display: block;
    margin: 0;
    padding: 10px;
  }
  #marginalRowAdd .marginalRowAdd .staticMap > .image {
    margin: 0 0 20px 0;
  }
  #marginalRowAdd .marginalRowAdd .staticMap > .image > img {
    width: 100%;
  }
  #marginalRowAdd .contentText {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 601px) {
  #stickyHeader.requestOffers ~ #keyvisualArea__siteTitle .marginalRowAdd:not(.offer) {
    margin: 0;
  }
}
/*  =========================================================
sub content styling
========================================================== */
@media screen {
  .marginalRowAdd > .subContent:not(.offer) {
    padding: 20px;
    margin: 20px -20px 0 -20px;
  }
  .marginalRowAdd > .subContent.offer {
    margin: 28px 0 20px;
  }
  .marginalRowAddContainer .marginalRowAdd > .subContent {
    margin: 20px -10px 0 -10px;
  }
  .marginalRowAddContainer .marginalRowAdd > .subContent > a > [class^='icon-'] {
    font-size: 20px;
    margin-right: 10px;
    vertical-align: middle;
  }
  .marginalRowAddContainer .marginalRowAdd > .subContent > a > strong {
    font: 700 normal 18px/18px Arial, sans-serif;
  }
  .marginalRowAddContainer .marginalRowAdd > .subContent > a {
    font: 400 normal 14px/15px Arial, sans-serif;
    width: 60%;
    text-decoration: none;
  }
  .marginalRowAdd > .subContent.offer > [data-jsaction='quickRequest'] {
    display: inline-block !important;
  }
  .marginalRowAdd > .subContent:not(.stored) > [data-jsaction='stripFromBasket'],
  .marginalRowAdd > .subContent.stored > [data-jsaction='addToBasket'],
  .marginalRowAdd > .subContent > [data-jsaction='quickRequest'] {
    display: none;
  }
  .marginalRowAdd > .subContent.stored > [data-jsaction='stripFromBasket'],
  .marginalRowAdd > .subContent:not(.stored) > [data-jsaction='addToBasket'] {
    display: inline-block;
  }
  /* modificator for buttons inside subContent */
  .marginalRowAdd > .subContent .inverseButton {
    margin: 0;
  }
  .marginalRowAdd > .subContent .inverseButton > .icon-checkmark {
    color: #e7a200;
  }
}
@media screen and (min-width: 1151px) {
  .marginalRowAdd > .subContent.tour {
    padding: 20px 61px 20px 20px;
  }
}
@media screen and (min-width: 900px) {
  /* leave some space for the sidebar column on large screens, if the text is too short to fit in all components */
  #marginalRowAdd article.has-downloads {
    min-height: 50px;
  }
}
@media screen and (max-width: 600px) {
  .marginalRowAdd > .subContent > [data-jsaction='stripFromBasket'],
  .marginalRowAdd > .subContent > [data-jsaction='addToBasket'] {
    display: none !important;
  }
  .marginalRowAdd > .subContent > [data-jsaction='quickRequest'] {
    display: inline-block;
  }
}
/*  =========================================================
general font styling
========================================================== */
@media screen {
  .marginalRowAdd h2 {
    font: 400 normal 22px/22px Arial, sans-serif;
    margin: 0 0 20px 0;
  }
  .marginalRowAdd:not(.contactCard) h2 > strong {
    font: 700 25px/22px Arial, sans-serif;
    padding-top: 20px;
  }
  .marginalRowAdd.contactCard h2 > span.contactCard--headline {
    font: 400 normal 25px/22px Arial, sans-serif;
    padding-top: 20px;
  }
  .marginalRowAdd.contactCard h3 {
    font: 400 normal 20px/20px Arial, sans-serif;
    margin: 0 0 10px 0;
  }
  .marginalRowAdd.contactCard p > .phone {
    text-decoration: none;
  }
  .marginalRowAdd:not(.contactCard) h3 {
    font: 700 normal 20px/20px Arial, sans-serif;
    margin: 0 0 10px 0;
  }
  .marginalRowAdd p {
    font: 400 normal 14px/18px Arial, sans-serif;
    margin: 0;
  }
  .marginalRowAdd p.priceFrom > .large {
    display: inline-block;
    margin: 12px 0 0;
  }
  .marginalRowAdd span.priceShortDescription {
    display: inline-block;
    padding: 18px 0 10px 0;
  }
  .marginalRowAdd p span {
    font-size: 16px;
    font-weight: 400;
  }
  .marginalRowAdd p span[itemprop] {
    font-size: inherit;
    font-weight: normal;
  }
  .marginalRowAdd p .large {
    font: 400 normal 40px/35px Arial, sans-serif;
  }
  .marginalRowAdd .subContent.tour > p:first-child {
    margin-bottom: 39px;
  }
  .marginalRowAdd .subContent .subContent__route > span {
    display: -ms-flexbox;
    display: flex;
  }
  .marginalRowAdd .subContent .subContent__route > span,
  .marginalRowAdd .subContent .subContent__route > span > span {
    font: 700 16px/18px Arial, sans-serif;
  }
  .marginalRowAdd .subContent .subContent__route > span > span:last-child {
    padding-left: 2px;
  }
  .marginalRowAdd .subContent .subContent__details {
    display: -ms-flexbox;
    display: flex;
  }
  .marginalRowAdd .subContent .subContent__details > span {
    display: -ms-flexbox;
    display: flex;
  }
  .marginalRowAdd .subContent .subContent__details > span:first-child {
    font: 700 normal 14px/18px Arial, sans-serif;
    -ms-flex-positive: 2;
        flex-grow: 2;
  }
  .marginalRowAdd .subContent .subContent__details > span:last-child {
    font: 400 normal 14px/18px Arial, sans-serif;
  }
}
@media screen and (min-width: 1101px) {
  .marginalRowAdd.contactCard {
    padding: 30px 0 0 22px;
  }
}
@media screen and (max-width: 1100px) and (min-width: 1025px) {
  .marginalRowAdd.contactCard {
    padding: 30px 10px 0;
  }
  .marginalRowAdd.contactCard h2 {
    margin: 0 0 10px 0;
  }
  .marginalRowAdd.contactCard .subContent {
    margin: 0;
    padding: 10px 0 10px 0;
  }
}
@media screen and (max-width: 900px) and (min-width: 601px) {
  .marginalRowAdd .subContent .subContent__details > span:last-child {
    -ms-flex-positive: 2;
        flex-grow: 2;
  }
  .marginalRowAdd .subContent .subContent__route > span > span:last-child {
    -ms-flex-positive: 2;
        flex-grow: 2;
  }
}
/*  =========================================================
basket list styling
========================================================== */
@media screen {
  .marginalRowAdd ul.basket {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .marginalRowAdd ul.basket > li {
    margin: 0 0 15px 0;
  }
  .marginalRowAdd ul.basket > li > label {
    font: 400 normal 14px/15px Arial, sans-serif;
    width: 60%;
  }
  .marginalRowAdd ul.basket > li > label > strong {
    font: 700 normal 18px/18px Arial, sans-serif;
  }
  .marginalRowAdd ul.basket > li > input.styled[type=checkbox] + label > [class^='icon-'] {
    font-size: 12px;
  }
  .marginalRowAdd ul.basket > li > .info {
    float: right;
    text-align: right;
    font: 400 normal 12px/18px Arial, sans-serif;
  }
  .marginalRowAdd ul.basket > li > .info > strong {
    font: 700 normal 16px/18px Arial, sans-serif;
  }
}
/*  =========================================================
blog navigation
========================================================== */
@media screen {
  .marginalRowAdd ul.blogNavigation {
    padding: 0;
    margin: 20px -10px;
    border-bottom: 1px solid white;
  }
  .marginalRowAdd ul.blogNavigation > li {
    list-style: none outside none;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.15) 100%);
    /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(100%, rgba(0, 0, 0, 0.15)));
    /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.15) 100%);
    /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.15) 100%);
    /* Opera 11.10+ */
    background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.15) 100%);
    /* IE10+ */
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.15) 100%);
    /* W3C */
    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#00000000', endColorstr='#26000000', GradientType=0);
    /* IE6-9 */
  }
  .marginalRowAdd ul.blogNavigation a {
    font: 700 18px/16px Arial, sans-serif;
    margin: 0 0 0;
    text-decoration: none;
    padding: 15px 15px 15px 15px;
    display: block;
  }
}
@media screen and (max-width: 900px) {
  .marginalRowAdd ul.blogNavigation {
    margin: 0;
    border-bottom: none;
  }
  .marginalRowAdd ul.blogNavigation a {
    color: #363636;
  }
  #sidebarMap {
    height: 460px;
    margin: 0;
    width: auto;
  }
}
/*  =========================================================
blog images
========================================================== */
@media screen {
  .marginalRowAdd .blogImages {
    margin: 20px 10px 20px 10px;
  }
  .marginalRowAdd .blogImages > a {
    margin: 3px;
    width: 92px;
    height: 68px;
    border: 2px solid white;
    box-sizing: border-box;
    display: block;
    float: left;
    overflow: hidden;
  }
  .marginalRowAdd .blogImages > .image > img {
    height: auto;
    width: 100%;
  }
}
@media screen and (max-width: 1153px) {
  .marginalRowAdd .blogImages > a {
    margin: 3px;
    width: 46.353%;
    /* 134/186 */
    padding-bottom: 33.025%;
  }
}
/*  =========================================================
static map
========================================================== */
@media screen {
  .marginalRowAdd .staticMap > .image {
    margin: 0 -10px 10px -10px;
  }
  .marginalRowAdd .staticMap > .image > img {
    width: 100%;
    height: auto;
  }
}
@media screen and (min-width: 901px) {
  #sidebarMap {
    width: 340px;
    margin: 0 -10px 10px -10px;
    height: 460px;
  }
}
/*  =========================================================
styling adds for specific templates
========================================================== */
@media screen {
  /* columns is used for tourData */
  .marginalRowAdd .columns {
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2;
  }
  /* author image for blog articles */
  .marginalRowAdd img.author {
    width: 54px;
    height: 54px;
    border: 3px #fff solid;
    margin-right: 10px;
    float: left;
  }
  /* modificator for h2 besides an author image */
  .marginalRowAdd img.author + h2 {
    margin-top: 10px;
  }
}
/*  =========================================================
download area
========================================================== */
@media screen {
  .marginalRowAdd h2 {
    color: inherit;
    font: 700 25px/22px "meta", Arial, sans-serif;
  }
  .marginalRowAdd ul.downloads {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .marginalRowAdd ul.downloads > li {
    margin: 0 0 15px 0;
  }
  .marginalRowAdd ul.downloads > li > a {
    font: 400 normal 14px/15px Arial, sans-serif;
    width: 60%;
    text-decoration: none;
  }
  .marginalRowAdd ul.downloads > li > a > strong {
    font: 700 normal 18px/18px Arial, sans-serif;
  }
  .marginalRowAdd ul.downloads > li > a > [class^='icon-'] {
    font-size: 20px;
    margin-right: 10px;
    vertical-align: middle;
  }
  .marginalRowAdd ul.downloads > li > a > .downloadSize {
    margin-left: 35px;
  }
}
/*  =========================================================
staticMap
========================================================== */
@media screen {
  .staticMap.noMap {
    margin-top: 10px;
  }
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2022 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage pageFooter
 * @author     gueldner
 * @since      07.07.2022
 * @version    $Id$
 **/
/*  =========================================================
basic styling
wrap
bottom logo
========================================================== */
/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2022 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage pageFooter
 * @author     gueldner
 * @since      07.07.2022
 * @version    $Id$
 **/
/*  =========================================================
basic styling
default item
sponsor group
logo rheinhessen
logo ingelheim
logo eu
logo paul
========================================================== */
/*  =========================================================
basic styling
========================================================== */
#siteFooter__logos {
  column-gap: 20px;
  -ms-flex-pack: justify;
      justify-content: space-between;
  row-gap: 20px;
}
@media (min-width: 1200.1px) {
  #siteFooter__logos {
    -ms-grid-columns: auto 1fr 1fr;
        grid-template-columns: auto 1fr 1fr;
  }
}
@media (max-width: 1200px) and (min-width: 600.1px) {
  #siteFooter__logos {
    grid-template-areas: 'eu paul' 'main main';
  }
}
@media (min-width: 600.1px) {
  #siteFooter__logos {
    display: -ms-grid;
    display: grid;
  }
}
@media (max-width: 600px) {
  #siteFooter__logos {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
  }
}
@media (min-width: 1200.1px) {
  #siteFooter__logos {
    grid-area: logos;
  }
}
@media (max-width: 1200px) {
  #siteFooter__logos {
    -ms-flex-order: 3;
        order: 3;
  }
}
/*  =========================================================
default item
========================================================== */
.siteFooter__logos__item {
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
}
@media (min-width: 1400.1px) {
  .siteFooter__logos__item {
    -ms-flex-direction: row;
        flex-direction: row;
  }
}
@media (max-width: 1400px) {
  .siteFooter__logos__item {
    -ms-flex-direction: column;
        flex-direction: column;
  }
}
.siteFooter__logos__item::before {
  background-size: cover !important;
  content: '';
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.siteFooter__logos__item__text {
  color: #3d3d3d;
  display: block;
  font: 400 normal 12px/15px Arial, sans-serif;
  text-align: justify;
}
@media (min-width: 1400.1px) {
  .siteFooter__logos__item__text {
    margin: 0 0 0 20px;
  }
}
@media (max-width: 1400px) {
  .siteFooter__logos__item__text {
    margin: 10px 0 0;
  }
}
/*  =========================================================
sponsor group
========================================================== */
#siteFooter__logos__sponsoring {
  -ms-flex-align: start;
      align-items: flex-start;
  gap: 20px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: column;
      flex-flow: column;
}
@media (min-width: 600.1px) {
  #siteFooter__logos__sponsoring {
    display: -ms-grid;
    display: grid;
    grid-template-areas: 'rh rpg' 'ingelheim aug';
  }
}
@media (max-width: 1200px) and (min-width: 600.1px) {
  #siteFooter__logos__sponsoring {
    grid-area: main;
  }
}
@media (max-width: 600px) {
  #siteFooter__logos__sponsoring {
    border-top: 1px #393939 solid;
    margin: 10px 0 0;
    -ms-flex-order: 3;
        order: 3;
    padding: 10px 0 0;
  }
}
/*  =========================================================
logo rheinhessen
========================================================== */
#siteFooter__logos__rheinhessen {
  -ms-flex-align: start;
      align-items: flex-start;
  grid-area: rh;
}
#siteFooter__logos__rheinhessen::before {
  aspect-ratio: 5.32114754;
  background: url('../images/environment/mainLogo-noMargins.5ea7bb4e.svg') 0 0 no-repeat;
  background-size: contain !important;
  width: 246px;
}
/*  =========================================================
logo rheinland-pfalz gold
========================================================== */
#siteFooter__logos__rpg {
  -ms-flex-align: start;
      align-items: flex-start;
  grid-area: rpg;
}
#siteFooter__logos__rpg::before {
  aspect-ratio: 1.75438596;
  background: url('../images/objects/rlp-gold.2d8bf191.svg') 0 0 no-repeat;
  background-size: contain !important;
  width: 200px;
}
body.rhein-selz #siteFooter__logos__rpg::before {
  width: 160px;
}
/*  =========================================================
logo ingelheim
========================================================== */
#siteFooter__logos__ingelheim {
  -ms-flex-align: start;
      align-items: flex-start;
  grid-area: ingelheim;
}
#siteFooter__logos__ingelheim::before {
  aspect-ratio: 2.75;
  background: #fff url('../images/ingelheim/logo_ingelheimAmRhein.441b62a4.svg') 0 0 no-repeat;
  width: 198px;
}
/*  =========================================================
logo verbandsgemeineverwaltungGauAlgesheim
========================================================== */
#siteFooter__logos__verbandsgemeineverwaltungGauAlgesheim {
  -ms-flex-align: start;
      align-items: flex-start;
  grid-area: aug;
}
#siteFooter__logos__verbandsgemeineverwaltungGauAlgesheim::before {
  aspect-ratio: 6.57142857;
  background: #fff url('../images/ingelheim/logo_verbandsgemeineverwaltung-gau-algesheim.cd7c1c0c.png') 0 0 no-repeat;
  width: 235px;
}
/*  =========================================================
logo eu
========================================================== */
#siteFooter__logos__eu {
  -ms-flex-align: start;
      align-items: flex-start;
  -ms-flex: 1 1;
      flex: 1 1;
  max-width: 400px;
}
@media (max-width: 1200px) and (min-width: 600.1px) {
  #siteFooter__logos__eu {
    grid-area: eu;
  }
}
@media (max-width: 600px) {
  #siteFooter__logos__eu {
    -ms-flex-order: 1;
        order: 1;
  }
}
#siteFooter__logos__eu::before {
  aspect-ratio: 2.62;
  background: url('../images/objects/eu.43f44e53.png') 0 0 no-repeat;
  width: 131px;
}
/*  =========================================================
logo paul
========================================================== */
#siteFooter__logos__paul {
  -ms-flex-align: start;
      align-items: flex-start;
  -ms-flex: 1 1;
      flex: 1 1;
  max-width: 400px;
}
@media (max-width: 1200px) and (min-width: 600.1px) {
  #siteFooter__logos__paul {
    grid-area: paul;
  }
}
@media (max-width: 600px) {
  #siteFooter__logos__paul {
    -ms-flex-order: 2;
        order: 2;
  }
}
#siteFooter__logos__paul::before {
  aspect-ratio: 1.57777778;
  background: url('../images/objects/paul.b84802d2.png') 0 0 no-repeat;
  width: 71px;
}
/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2022 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage pageFooter
 * @author     gueldner
 * @since      07.07.2022
 * @version    $Id$
 **/
/*  =========================================================
basic styling
social
========================================================== */
/*  =========================================================
basic styling
========================================================== */
@media (min-width: 1200.1px) {
  #siteFooter__meta {
    grid-area: meta;
  }
}
@media (max-width: 1200px) {
  #siteFooter__meta {
    -ms-flex-order: 1;
        order: 1;
  }
}
@media (min-width: 600.1px) {
  #siteFooter__meta {
    -ms-flex-align: start;
        align-items: flex-start;
    column-gap: 20px;
    display: -ms-grid;
    display: grid;
  }
}
@media (max-width: 600px) {
  #siteFooter__meta {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    row-gap: 30px;
  }
}
.siteFooter__meta__group {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
}
@media (min-width: 600.1px) {
  .siteFooter__meta__group:nth-child(1) {
    grid-area: 1/1/3/1;
  }
  .siteFooter__meta__group:nth-child(2) {
    grid-area: 1/2/3/2;
  }
}
.siteFooter__meta__group__title {
  font: 400 normal 22px/1.1em Arial, sans-serif;
  color: #3d3d3d;
  margin: 0 0 10px 0;
  text-decoration: none;
}
.siteFooter__meta__group__item {
  color: #c08700;
  font: 400 normal 16px/1.1em Arial, sans-serif;
  text-decoration: underline;
}
.siteFooter__meta__group__item:not(:last-child) {
  margin-bottom: 10px;
}
/*  =========================================================
social
========================================================== */
.siteFooter__meta__social {
  column-gap: 5px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (40px)[auto-fill];
      grid-template-columns: repeat(auto-fill, 40px);
  margin-top: 20px;
  row-gap: 5px;
}
@media (min-width: 600.1px) {
  .siteFooter__meta__social {
    grid-area: 2/3;
  }
}
body.ingelheim .siteFooter__meta__social {
  -ms-grid-columns: (40px)[2];
      grid-template-columns: repeat(2, 40px);
}
.siteFooter__meta__social__item {
  -ms-flex-align: center;
      align-items: center;
  aspect-ratio: 1;
  background: #fff;
  color: #c08700;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  text-decoration: none;
}
.siteFooter__meta__social__item__icon {
  font-size: 20px;
}
.siteFooter__meta__social__item__text {
  font: 400 normal 10px/1.1em Arial, sans-serif;
  word-break: break-word;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
  text-align: center;
}
/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2022 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage pageFooter
 * @author     gueldner
 * @since      07.07.2022
 * @version    $Id$
 **/
/*  =========================================================
basic styling
========================================================== */
/*  =========================================================
basic styling
========================================================== */
#sideFooter__certificates {
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 1200.1px) {
  #sideFooter__certificates {
    grid-area: certificates;
  }
}
@media (max-width: 1200px) {
  #sideFooter__certificates {
    -ms-flex-order: 2;
        order: 2;
  }
}
@media (min-width: 1200.1px) {
  #sideFooter__certificates {
    -ms-flex-direction: column;
        flex-direction: column;
    row-gap: 20px;
  }
}
@media (max-width: 1200px) {
  #sideFooter__certificates {
    -ms-flex-align: center;
        align-items: center;
    column-gap: 25px;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: center;
        justify-content: center;
  }
}
.sideFooter__certificates__item {
  background-size: contain !important;
  display: block;
  -ms-flex-negative: 1;
      flex-shrink: 1;
}
#sideFooter__certificates__ggA {
  aspect-ratio: 1;
  background: url('../images/objects/ggA.1d404100.png') 0 0 no-repeat;
  width: 100px;
}
#sideFooter__certificates__wineModeration {
  aspect-ratio: 3.86206897;
  background: url('../images/objects/wine-moderation.60362bb0.png') 0 0 no-repeat;
  width: 224px;
}
/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2022 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage pageFooter
 * @author     gueldner
 * @since      08.07.2022
 * @version    $Id$
 **/
/*  =========================================================
basic styling
article
item
========================================================== */
/*  =========================================================
basic styling
========================================================== */
#siteFooter__contact {
  margin: 0 auto;
  max-width: 78.33333333%;
  width: 1100px;
}
@media (min-width: 700.1px) {
  #siteFooter__contact {
    column-gap: 65px;
    display: -ms-grid;
    display: grid;
    row-gap: 20px;
  }
}
@media (max-width: 700px) {
  #siteFooter__contact {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    row-gap: 20px;
  }
}
/*  =========================================================
article
========================================================== */
.siteFooter__contact__article {
  color: #3d3d3d;
}
@media (min-width: 700.1px) {
  .siteFooter__contact__article {
    grid-area: 1/1/2/3;
  }
}
.siteFooter__contact__article h3 {
  font: 400 normal 22px/1.1em Arial, sans-serif;
  margin: 0 0 7px;
}
.siteFooter__contact__article p {
  font: 400 normal 16px/1.1em Arial, sans-serif;
  margin: 0;
}
/*  =========================================================
item
========================================================== */
.siteFooter__contact__item {
  color: #3d3d3d;
  column-gap: 15px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  text-decoration: none;
}
.siteFooter__contact__item__icon {
  font-size: 30px;
  height: 30px;
  width: 30px;
}
.siteFooter__contact__item__text {
  font: 400 normal 16px/20px Arial, sans-serif;
}
.siteFooter__contact__item__text strong {
  font: 400 normal 18px/24px Arial, sans-serif;
}
.siteFooter__contact__item__text em {
  color: #c08700;
  font: 400 normal 18px/24px Arial, sans-serif;
  text-decoration: underline;
}
/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2024 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage pageFooter
 * @author     mahlke
 * @since      19.01.2024
 * @version    $Id$
 **/
body.ingelheim #sideFooter__map {
  aspect-ratio: 1.4911338;
}
@media (min-width: 1200.1px) {
  body.ingelheim #sideFooter__map {
    height: 100%;
    width: 100%;
    max-width: 325px;
  }
}
@media (max-width: 1200px) and (min-width: 600.1px) {
  body.ingelheim #sideFooter__map {
    height: 220px;
  }
}
@media (max-width: 600px) {
  body.ingelheim #sideFooter__map {
    height: auto;
    width: 100%;
  }
}
body.ingelheim #sideFooter__map::before {
  content: '';
  background: url('../images/ingelheim/INGELHEIM_Web_Karte.4c41d714.jpg') 0 0 no-repeat;
  background-size: contain;
  height: 100%;
  display: block;
}
/*  =========================================================
basic styling
========================================================== */
#siteFooter {
  background: #eee;
  position: relative;
  text-align: left;
  z-index: 0;
}
@media (min-width: 850.1px) {
  #siteFooter {
    padding: 50px 0;
  }
}
@media (max-width: 850px) {
  #siteFooter {
    padding: 30px 0;
  }
}
.siteFooter__hr {
  background: #393939;
  border: none;
  height: 1px;
  max-width: 78.33333333%;
  width: 1296px;
}
@media (min-width: 600.1px) {
  .siteFooter__hr {
    margin: 40px auto 50px;
  }
}
@media (max-width: 600px) {
  .siteFooter__hr {
    margin: 30px auto 30px;
  }
}
/*  =========================================================
wrap
========================================================== */
.siteFooter__wrap {
  margin: 0 auto;
  max-width: 78.33333333%;
  width: 1100px;
}
@media (min-width: 1200.1px) {
  .siteFooter__wrap {
    -ms-flex-align: start;
        align-items: flex-start;
    column-gap: 70px;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 325px;
        grid-template-columns: 1fr 325px;
    grid-template-areas: 'meta certificates' 'logos logos';
    row-gap: 70px;
  }
}
@media (max-width: 1200px) {
  .siteFooter__wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    row-gap: 50px;
  }
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage elements styles
 * @author     bruetsch
 * @since      04.08.2014
 * @version    $Id$
 **/
/*  =========================================================
basics
infoboard
tour infoboard elements
Around Me
========================================================== */
/*  =========================================================
basics
========================================================== */
.mapSection {
  position: relative;
}
@media screen {
  #fullscreenMapContainer {
    height: 100vh;
    width: 100%;
    position: relative;
    z-index: 0;
  }
  #fullscreenMap {
    width: 100%;
    height: 100%;
  }
  #fullscreenMapShadow {
    display: none;
    z-index: 100;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
  }
  #fullscreenMapResponse {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 280px;
    height: 60px;
    margin: -35px 0 0 -145px;
    padding: 10px;
    background: none repeat scroll 0 0 rgba(0, 0, 0, 0.6);
    font: 700 24px/30px arial;
    color: #fff;
  }
  #tourDetailMap {
    width: 100%;
    height: 100%;
  }
  .imx-cluster {
    text-align: center;
  }
  .imx-cluster > span {
    line-height: 50px;
    font-size: 20px;
    font-weight: bold;
    color: #393939;
  }
  .imx-infowindow.kml-infowindow {
    padding: 10px;
    color: #393939;
    font: 400 17px/27px Arial, sans-serif;
    background: #fff;
    border: 4px solid #b5b5b5;
  }
  /*  =========================================================
  infoboard
  ========================================================== */
  #infoboard {
    /* display:none; */
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 20;
    text-align: left;
    background: #ebebeb;
    /* Old browsers */
    padding: 20px;
    max-height: 100%;
    width: 100%;
    box-sizing: border-box;
    height: 250px;
  }
  #infoboard::before {
    background: none repeat scroll 0 0 #ebebeb;
    content: " ";
    height: 40px;
    width: 40px;
    position: absolute;
    margin: -40px 0 0 47%;
    transform: rotate(45deg);
    transform-origin: center center 0;
    -webkit-transform: rotate(45deg);
    -webkit-transform-origin: center center 0;
    -moz-transform: rotate(45deg);
    -moz-transform-origin: center center 0;
    -o-transform: rotate(45deg);
    -o-transform-origin: center center 0;
  }
  #infoboard .infoboardTeaserText {
    border-right: 1px solid #bcbcbc;
    width: 48%;
    padding-right: 20px;
    display: inline-block;
  }
  #infoboard .closeButton {
    background: #e7a200;
    border-color: -moz-use-text-color -moz-use-text-color #c08700;
    color: #fff;
    position: absolute;
    right: 15px;
  }
  #infoboard .closeButton > span {
    margin: 0;
  }
  #infoboard .infoboardTeaserText > h3 {
    font: 700 normal 22px Arial, sans-serif;
    color: #393939;
    margin: 0 0 5px 0;
  }
  #infoboard .infoboardTeaserText > p {
    font: 400 normal 16px Arial, sans-serif;
    color: #393939;
    margin: 0 0 10px 0;
  }
  #infoboard .infoboardTabArea {
    width: 48%;
    display: inline-block;
    padding: 20px 0 0 20px;
    vertical-align: top;
  }
  #infoboard .infoboardTabArea > ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 115px;
    display: inline-block;
    vertical-align: top;
  }
  #infoboard .infoboardTabArea > ul > li {
    display: block;
    margin-bottom: 10px;
  }
  #infoboard .infoboardTabArea > ul > li > a::before {
    background: none repeat scroll 0 0 #e7a200;
    display: none;
    content: " ";
    height: 14px;
    right: -7px;
    margin: -7px 0 0 -7px;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    transform-origin: center center 0;
    -webkit-transform: rotate(45deg);
    -webkit-transform-origin: center center 0;
    -moz-transform: rotate(45deg);
    -moz-transform-origin: center center 0;
    -o-transform: rotate(45deg);
    -o-transform-origin: center center 0;
    width: 14px;
  }
  #infoboard .infoboardTabArea > ul > li > a.active::before {
    background: none repeat scroll 0 0 #e7a200;
    display: block !important;
    content: " ";
    height: 14px;
    right: -7px;
    margin: -7px 0 0 -7px;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    transform-origin: center center 0;
    -webkit-transform: rotate(45deg);
    -webkit-transform-origin: center center 0;
    -moz-transform: rotate(45deg);
    -moz-transform-origin: center center 0;
    -o-transform: rotate(45deg);
    -o-transform-origin: center center 0;
    width: 14px;
  }
  #infoboard .infoboardTabArea > ul > li > a.active {
    background: none repeat scroll 0 0 #e7a200;
    color: #fff;
    position: relative;
  }
  #infoboard .infoboardTabArea > ul > li > a {
    background: none repeat scroll 0 0 #fff;
    min-width: 100px;
    color: #393939;
    display: block;
    font: 700 16px Arial, sans-serif;
    padding: 10px 13px;
    text-decoration: none;
  }
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen {
    display: none;
    vertical-align: top;
    margin-left: 35px;
    width: 68.9%;
    height: auto;
  }
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen a.gallery {
    border: 2px solid white;
    font: 700 16px Arial, sans-serif;
    background: #e7a200;
    color: #fff;
    box-sizing: border-box;
    display: block;
    display: inline-block;
    height: 0;
    margin: 0 0.25% 0.15% 0.5%;
    overflow: hidden;
    width: 15.899%;
    text-decoration: none;
    position: relative;
    padding-bottom: 10.025%;
  }
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen a.gallery > span {
    left: 8px;
    position: relative;
    top: 8px;
    display: inline-block;
  }
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen a.gallery span.icon {
    font-size: 12px;
    margin-left: 5px;
  }
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen img {
    height: auto;
    width: 100%;
  }
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen.active {
    display: inline-block;
  }
  #infoboard .infoboardTabArea > #infoboard__tabArea__kontaktInfos {
    display: none;
    vertical-align: middle;
  }
  #infoboard .infoboardTabArea > #infoboard__tabArea__kontaktInfos.active {
    display: inline-block;
  }
  #infoboard .contactInformationText {
    margin: 0 0 0 60px;
    font: 700 16px Arial, sans-serif;
    color: #393939;
  }
  #infoboard .contactInformationText > h2 {
    margin: 0;
    padding: 0;
    font-size: 24px;
  }
  #infoboard .contactInformationText > p {
    margin: 0 0 10px 0;
    padding: 0;
  }
  #infoboard .contactInformationText > a {
    text-decoration: none;
    display: inline-block;
    vertical-align: middle;
    margin: 0 15px 15px 55px;
    position: relative;
    font: 400 18px Arial, sans-serif;
  }
  #infoboard .contactInformationText > a > strong {
    font: 700 20px/25px Arial, sans-serif;
  }
  #infoboard .contactInformationText > a.phone::before {
    content: "\e612";
    font: 32px 'icomoon';
    background-color: #393939;
    color: #eaeaea;
    left: -55px;
    padding: 5px 8px;
    position: absolute;
  }
  #infoboard .contactInformationText > a.email {
    margin-left: 57px;
  }
  #infoboard .contactInformationText > a.email::before {
    content: "\e60f";
    font: 35px 'icomoon';
    left: -57px;
    position: absolute;
    background-color: #393939;
    color: #eaeaea;
    padding: 5px 7px;
  }
  #infoboard .contactInformationText > a > span {
    font-size: 35px;
    margin-right: 5px;
    vertical-align: middle;
  }
  #infoboard .clusterboard ul {
    margin: 10px 0 0 0;
    padding: 0;
    list-style: none outside none;
    overflow: hidden;
  }
  #infoboard .clusterboard ul > li {
    float: left;
    width: 320px;
    margin: 0 40px 0 0;
  }
  #infoboard .clusterboard ul > li:last-of-type {
    margin: 0;
  }
  #infoboard .clusterboard h3 {
    font: 700 normal 22px Arial, sans-serif;
    color: #393939;
    margin: 0 0 20px 0;
  }
  #infoboard .clusterboard h4 {
    font: 700 normal 18px Arial, sans-serif;
    color: #393939;
    margin: 0 0 10px 0;
  }
  #infoboard .clusterboard p {
    font: 400 normal 16px Arial, sans-serif;
    color: #393939;
    margin: 0 0 10px 0;
  }
}
@media screen and (max-width: 1565px) {
  #infoboard .contactInformationText > a {
    display: block;
  }
}
@media screen and (max-width: 1525px) {
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen a.gallery {
    font-size: 13px;
  }
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen a.gallery > span {
    left: 4px;
    top: 5px;
  }
}
@media screen and (max-width: 1275px) {
  #infoboard {
    height: 395px;
  }
  #infoboard .infoboardTeaserText > p {
    width: 90%;
  }
  #infoboard .infoboardTeaserText {
    border-right: 0;
    padding-bottom: 20px;
    width: 100%;
    display: inline-block;
    border-bottom: 1px solid #bcbcbc;
  }
  #infoboard .infoboardTabArea {
    width: 100%;
    padding-left: 0;
    display: inline-block;
    vertical-align: top;
  }
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen a.gallery {
    font-size: 18px;
  }
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen a.gallery > span {
    left: 12px;
    top: 16px;
  }
  #infoboard .contactInformationText > a {
    display: inline-block;
  }
  #infoboard .contactInformationText > a.email::before {
    top: 1px;
  }
}
@media screen and (max-width: 900px) {
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen a.gallery > span {
    left: 10px;
    top: 6px;
  }
}
@media screen and (max-width: 900px) {
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen a.gallery {
    font-size: 16px;
  }
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen a.gallery > span {
    left: 7px;
    top: 8px;
  }
}
@media screen and (max-width: 775px) {
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen a.gallery {
    font-size: 12px;
  }
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen a.gallery > span {
    left: 5px;
    top: 5px;
  }
  #infoboard .contactInformationText > a {
    display: block;
  }
}
@media screen and (max-width: 600px) {
  #infoboard {
    height: 100%;
    top: 0;
    overflow-y: auto;
    overflow-x: hidden;
  }
  #infoboard::before {
    display: none;
  }
  #infoboard .infoboardTabArea > ul {
    width: 100%;
  }
  #infoboard .infoboardTabArea > ul > li > a.active {
    background: none repeat scroll 0 0 #e7a200;
    color: #fff;
  }
  #infoboard .infoboardTabArea > ul > li > a {
    background: none repeat scroll 0 0 #e7a200;
    color: #fff;
    position: relative;
  }
  #infoboard .infoboardTabArea > ul > li > a::before {
    background: none repeat scroll 0 0 #e7a200;
    display: block;
    content: " ";
    height: 14px;
    margin: -7px 0 0 -7px;
    position: absolute;
    right: -7px;
    top: 50%;
    transform: rotate(45deg);
    transform-origin: center center 0;
    width: 14px;
  }
  #infoboard .infoboardTeaserText {
    padding: 20px 20px 20px 0;
  }
  #infoboard .infoboardTeaserText > h3 {
    width: 80%;
  }
  #infoboard .contactInformationText {
    padding-top: 20px;
    margin-left: 20px;
  }
  #infoboard .contactInformationText > a {
    padding: 10px 19px 10px 60px;
    margin: 0 15px 15px 0;
  }
  #infoboard .contactInformationText > a.phone::before {
    content: "\e612";
    font: 34px 'icomoon';
    left: 0;
    top: 13px;
    position: absolute;
  }
  #infoboard .contactInformationText > a.email {
    margin-left: 0;
    padding: 10px 44px 10px 60px;
  }
  #infoboard .contactInformationText > a.email::before {
    content: "\e60f";
    font: 36px 'icomoon';
    left: 0;
    top: 9px;
    position: absolute;
  }
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen a.gallery {
    width: 31.38%;
    padding-bottom: 21.025%;
  }
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen a.gallery {
    font-size: 25px;
  }
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen a.gallery > span {
    left: 17px;
    top: 29px;
  }
}
@media screen and (max-width: 450px) {
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen a.gallery > span {
    left: 17px;
    top: 18px;
  }
}
@media screen and (max-width: 410px) {
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen a.gallery {
    font-size: 18px;
  }
  #infoboard .infoboardTabArea > #infoboard__tabArea__impressionen a.gallery > span {
    left: 10px;
    top: 10px;
  }
}
/** tour infoboard elements **/
.mapSection__overlay {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  text-align: left;
  background-color: #f2f2f2;
  overflow: hidden;
}
.mapSection__overlay:not(.active) {
  display: none;
}
.mapSection__overlay.active {
  display: block;
}
.mapSection__overlay .mapSection__overlay__title {
  font: 400 25px/28px Arial, sans-serif;
  color: #393939;
  margin: 0;
}
.mapSection__overlay .mapSection__overlay__image {
  height: auto;
  max-width: 69%;
  border: 5px solid #fff;
}
.mapSection__overlay .mapSection__overlay__descriptionText {
  overflow: hidden;
}
.mapSection__overlay p {
  margin: 0;
  color: #393939;
}
.mapSection__overlay .mapSection__overlay__closingButton::after {
  content: "\e608";
  font: 400 24px 'icomoon';
  color: #393939;
  float: right;
}
@media screen and (min-width: 901px) {
  .mapSection__overlay {
    width: 20%;
  }
}
@media screen and (min-width: 601px) and (max-width: 900px) {
  .mapSection__overlay {
    width: 35%;
  }
}
@media screen and (min-width: 601px) {
  .mapSection__overlay {
    padding: 20px 20px 40px 20px;
  }
  .mapSection__overlay .mapSection__overlay__title,
  .mapSection__overlay .mapSection__overlay__image,
  .mapSection__overlay .buttonArea,
  .mapSection__overlay .mapSection__overlay__descriptionText {
    margin-right: 10%;
  }
  .mapSection__overlay .mapSection__overlay__title {
    padding: 10px 0 20px 0;
  }
  .mapSection__overlay .mapSection__overlay__image {
    margin: 0 110px 30px 0;
  }
  .mapSection__overlay .mapSection__overlay__descriptionText {
    max-height: 31.51%;
    margin-bottom: 30px;
  }
  .mapSection__overlay p {
    font: 400 16px/25px Arial, sans-serif;
  }
  .mapSection__overlay .buttonArea {
    float: right;
  }
}
@media screen and (max-width: 600px) {
  .mapSection__overlay {
    position: fixed;
    z-index: 3;
    width: 100%;
  }
  .mapSection__overlay .mapSection__overlay__wrapper {
    padding: 30px 10px 30px 10px;
  }
  .mapSection__overlay .mapSection__overlay__title {
    margin: 0 0 15px 0;
  }
  .mapSection__overlay .mapSection__overlay__image {
    margin: 0 10px 15px 0;
  }
  .mapSection__overlay .mapSection__overlay__descriptionText {
    padding: 0 10px 0 0;
    margin-bottom: 8px;
  }
  .mapSection__overlay p {
    font: 400 17px/25px Arial, sans-serif;
  }
}
/*  =========================================================
Around Me
========================================================== */
@media screen {
  #aroundMe {
    display: none;
  }
}
@media screen and (max-width: 630px) {
  #aroundMe {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 10px 10px 0 10px;
    background-color: #e7a200;
    border-top: 1px solid #393939;
    text-align: left;
  }
  #aroundMe p {
    margin: 5px 0;
    padding: 0 0 0 30px;
    font: 700 16px Arial, sans-serif;
    color: #fff;
  }
  #aroundMe input[type="checkbox"] {
    display: none;
  }
  #aroundMe label {
    display: inline-block;
    padding: 0 0 0 25px;
    font: 700 20px Arial, sans-serif;
    color: #fff;
  }
  #aroundMe > .closeButton {
    position: absolute;
    top: 0;
    right: 25px;
  }
}
/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2022 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage map
 * @author     Andreas Rappel <andreas.rappel@cebesoft.com>
 * @since      25.07.2022
 * @version    $Id$
 **/
/*  =========================================================
infowindow (NOT infoboard) used in filter list map
========================================================== */
.infowindow {
  position: relative;
}
.infowindow #infowindow {
  font: 400 normal 14px/16px Arial, sans-serif;
  background-color: #fff;
  padding: 25px 13px 17px 13px;
  width: 244px;
}
@media (max-width: 500px) {
  .infowindow #infowindow {
    padding: 35px 13px 17px 13px;
  }
}
.infowindow #infowindow__closer {
  position: absolute;
  top: 5px;
  right: 5px;
  font-size: 15px;
}
@media (max-width: 500px) {
  .infowindow #infowindow__closer {
    font-size: 25px;
  }
}
.infowindow #infowindow h3 {
  font: 700 normal 17px/22px Arial, sans-serif;
  margin: 7px 0;
}
.infowindow #infowindow div {
  margin: 7px 0;
}
/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2022 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage map
 * @author     Andreas Rappel <andreas.rappel@cebesoft.com>
 * @since      26.07.2022
 * @version    $Id$
 **/
/*  =========================================================
cluster infowindow (NOT not cluster infoboard) used in filter list map
========================================================== */
.clusterinfowindow {
  position: relative;
}
.clusterinfowindow #clusterinfowindow {
  font: 400 normal 14px/16px Arial, sans-serif;
  background-color: #fff;
  padding: 25px 13px 17px 13px;
  width: 244px;
}
@media (max-width: 500px) {
  .clusterinfowindow #clusterinfowindow {
    padding: 35px 13px 17px 13px;
  }
}
.clusterinfowindow #clusterinfowindow__closer {
  position: absolute;
  top: 5px;
  right: 5px;
  font-size: 15px;
}
@media (max-width: 500px) {
  .clusterinfowindow #clusterinfowindow__closer {
    font-size: 25px;
  }
}
.clusterinfowindow #clusterinfowindow h3 {
  font: 700 normal 17px/22px Arial, sans-serif;
  margin: 7px 0;
}
.clusterinfowindow #clusterinfowindow ul {
  padding: 0;
  list-style-type: none;
}
.clusterinfowindow #clusterinfowindow ul li:not(:last-of-type) {
  margin-bottom: 5px;
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage elements styles
 * @author     gueldner
 * @since      12.08.2014
 * @version    $Id$
 **/
/*  =========================================================
general styling
request form
basket
========================================================== */
/*  =========================================================
general styling
========================================================= */
@media screen {
  #stickyHeader {
    position: fixed;
    top: 0;
    left: 0;
    transition: top 0.1s ease;
    z-index: 5;
    width: 100%;
  }
  #stickyHeader__functions {
    width: 100%;
    padding: 10px 0;
    margin-top: -200px;
    transition: margin 0.5s ease;
    -moz-transition: margin 0.5s ease;
    -webkit-transition: margin 0.5s ease;
    background-color: #e7a200;
  }
  #stickyHeader__functions.visible {
    margin-top: 0;
  }
  #stickyHeader__functions a.rightSide {
    float: right;
  }
}
@media screen and (max-width: 600px) {
  #stickyHeader:not(.requestBrochures) {
    display: none;
  }
  #stickyHeader.requestBrochures.scrollable {
    height: 100%;
    overflow-y: scroll;
  }
  .inverseGhostButton.fullBelow600 {
    width: 100%;
    text-align: center;
  }
}
/*  =========================================================
request form
========================================================= */
@media screen {
  #stickyHeader__requestForm {
    position: relative;
    width: 100%;
  }
  #stickyHeader__requestForm .loading-shadow {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.25);
  }
  #stickyHeader__requestForm > .headlines {
    background: #e7a200;
  }
  .requestBrochures #stickyHeader__requestForm > .headlines [class*='g-element'] {
    margin: 0;
    padding: 0 1.72% /*40/1140*/;
    min-height: 72px;
  }
  #stickyHeader__requestForm > .headlines [class*='g-element'] {
    margin: 0;
    padding: 0 1.7543% /*40/1140*/;
  }
  #stickyHeader__requestForm > .headlines h3 {
    font: 700 normal 25px Arial, sans-serif;
    color: #fff;
    margin: 25px 0 15px 0;
  }
  #stickyHeader__requestForm > .headlines p {
    font: 400 normal 16px Arial, sans-serif;
    color: #fff;
    margin: 25px 0 15px 0;
  }
  #stickyHeader__requestForm > .headlines .inverseGhostButton {
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -20px;
  }
  #stickyHeader__requestForm > .fieldsets {
    position: relative;
    background: #e7a200;
  }
  #stickyHeader__requestForm > .fieldsets::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 300px;
  }
  #stickyHeader__requestForm > .fieldsets .g-grid-3 {
    padding: 25px 0 25px 0;
  }
  #stickyHeader__requestForm > .fieldsets fieldset {
    position: relative;
    z-index: 1;
    border: 0;
    margin: 0;
    padding: 0 1.7543% /*20/1140*/;
  }
  #stickyHeader__requestForm > .fieldsets fieldset > div {
    margin: 0 5.555% /*40/720*/ 20px 0;
    display: inline-block;
    vertical-align: bottom;
  }
  #stickyHeader__requestForm > .fieldsets fieldset > .half {
    width: 44.444% /*320/720*/;
  }
  #stickyHeader__requestForm > .fieldsets fieldset > .full {
    width: 94.444% /*680/720*/;
  }
  #stickyHeader__requestForm > .fieldsets fieldset > div > select,
  #stickyHeader__requestForm > .fieldsets fieldset > div > input[type=email],
  #stickyHeader__requestForm > .fieldsets fieldset > div > input[type=text] {
    width: 100%;
  }
  #stickyHeader__requestForm > .fieldsets fieldset > div > textarea {
    width: 100%;
    height: 55px;
  }
  #stickyHeader__requestForm > .fieldsets fieldset > button {
    float: right;
  }
  #stickyHeader__requestForm > .fieldsets fieldset > p.info {
    clear: right;
    margin: 10px 0 0 0;
    font: 400 italic 14px/16px Arial, sans-serif;
    color: #fff;
    text-align: right;
  }
  #stickyHeader__requestForm > .fieldsets fieldset div > p.info {
    clear: left;
    margin: 10px 0 0 0;
    font: 400 italic 14px/16px Arial, sans-serif;
    color: #fff;
    text-align: left;
  }
  /* form error */
  #stickyHeader__requestForm label.formerror {
    color: #c00;
  }
  #stickyHeader__requestForm select.formerror,
  #stickyHeader__requestForm input[type=email].formerror,
  #stickyHeader__requestForm input[type=text].formerror {
    color: #c00;
    border-color: #c00;
  }
  #stickyHeader__requestForm > .fieldsets fieldset div > p.info.formerror {
    color: #c00;
  }
  #stickyHeader__requestForm > .fieldsets fieldset div.error {
    border: 5px solid #c00;
  }
  #stickyHeader__requestForm > .fieldsets fieldset div.error.noBorder {
    border: none;
  }
  #stickyHeader__requestForm > .fieldsets fieldset div.error p {
    display: inline-block;
    font: 400 normal 14px/5px Arial, sans-serif;
    font-weight: bold;
    color: #c00;
  }
}
@media screen and (max-width: 900px) {
  #stickyHeader__requestForm > .fieldsets fieldset > .half {
    width: 94.444% /*680/720*/;
  }
  #stickyHeader__requestForm > .fieldsets .g-grid-3 {
    background-size: 100%;
  }
}
@media screen and (max-width: 600px) {
  #stickyHeader__requestForm > .headlines .inverseGhostButton {
    top: 20px;
    margin-top: 0;
  }
  #stickyHeader__requestForm > .headlines .content .inverseGhostButton {
    position: relative;
    width: 190px;
  }
  #stickyHeader__requestForm > .headlines .content .g-grid-3 .g-element-1 {
    width: 190px;
  }
  #stickyHeader__requestForm > .headlines .inverseGhostButton.rightSideBelow600 {
    top: 0;
    position: relative;
    display: inline-block;
    right: -232px;
    margin: 8px;
  }
}
/*  =========================================================
basket
========================================================= */
@media screen {
  #stickyHeader__basket {
    width: 100%;
    background: #e7a200;
  }
  #stickyHeader__basket > .headline {
    width: 100%;
    margin: 0 0 25px 0;
    padding: 20px 0;
  }
  #stickyHeader__basket > .headline .inverseGhostButton {
    float: right;
  }
  #stickyHeader__basket > .headline h3 {
    font: 700 normal 25px Arial, sans-serif;
    color: #fff;
    margin: 0;
    float: left;
  }
  #stickyHeader__basket ul {
    padding: 0;
    list-style: none;
  }
  #stickyHeader__basket ul > li > p {
    color: #fff;
    font: 700 normal 18px/18px Arial, sans-serif;
  }
  #stickyHeader__basket ul > li > span.label,
  #stickyHeader__basket ul > li > label {
    font: 400 normal 14px/15px Arial, sans-serif;
    width: 60%;
    padding-bottom: 30px;
    color: #fff;
  }
  #stickyHeader__basket ul > li > span.label > strong,
  #stickyHeader__basket ul > li > label > strong {
    font: 700 normal 18px/18px Arial, sans-serif;
  }
  #stickyHeader__basket ul > li > span.label {
    display: inline-block;
    padding-left: 15px;
  }
  #stickyHeader__basket ul > li > input.styled[type=checkbox] + label > [class^='icon-'] {
    font-size: 12px;
  }
  #stickyHeader__basket ul > li > .info {
    float: right;
    text-align: right;
    font: 400 normal 12px/18px Arial, sans-serif;
    color: #fff;
    padding-right: 10px;
  }
  #stickyHeader__basket ul > li > .info > strong {
    font: 700 normal 16px/18px Arial, sans-serif;
  }
  #stickyHeader__basket > #requestButton {
    background: #e7a200;
    text-align: right;
    padding: 10px;
  }
}
@media screen and (min-width: 901px) {
  #stickyHeader__basket > .content > ul > li:nth-child(3n+3) {
    border-right: #fff 1px solid;
    border-left: #fff 1px solid;
    list-style: none;
    padding: 0 10px;
    display: inline-block;
    line-height: 5px;
    margin: 20px 0;
  }
  #stickyHeader__basket > .content > ul > li {
    margin-top: 10px;
  }
}
@media screen and (max-width: 900px) {
  .ps-active-y {
    position: relative;
    height: 205px;
    overflow: scroll;
  }
}

/*
    jQuery Touch Optimized Sliders "R"Us
    Core CSS
*/
.tos-noanimation {
  -webkit-transition-property: none !important;
  -moz-transition-property: none !important;
  -ms-transition-property: none !important;
  -o-transition-property: none !important;
  transition-property: none !important;
}
.tos-fastanimation {
  -webkit-transition-duration: 0.2s !important;
  -moz-transition-duration: 0.2s !important;
  -ms-transition-duration: 0.2s !important;
  -o-transition-duration: 0.2s !important;
  transition-duration: 0.2s !important;
  -webkit-transition-timing-function: ease-out !important;
  -moz-transition-timing-function: ease-out !important;
  -ms-transition-timing-function: ease-out !important;
  -o-transition-timing-function: ease-out !important;
  transition-timing-function: ease-out !important;
}
.tos-wrapper {
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  -moz-transition: opacity 0.4s ease;
  -ms-transition: opacity 0.4s ease;
  -o-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  display: none;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  overflow: hidden;
}
.tos-wrapper.tos-opened {
  display: block;
}
.tos-wrapper.tos-opening {
  opacity: 1;
}
.tos-wrapper.tos-fixed {
  background-color: black;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9000;
}
.tos-wrapper.tos-inline {
  position: relative;
}
.tos-slider {
  white-space: nowrap;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  position: relative;
}
.tos-wrapper.tos-fx-slide .tos-slider {
  left: 0;
  -webkit-transition: left 0.4s ease;
  -moz-transition: left 0.4s ease;
  -ms-transition: left 0.4s ease;
  -o-transition: left 0.4s ease;
  transition: left 0.4s ease;
}
.tos-wrapper.tos-fx-slide.tos-fixed .tos-slider {
  position: absolute;
}
.tos-wrapper.tos-fx-fade .tos-slider {
  opacity: 1;
  -webkit-transition: opacity 0.4s ease;
  -moz-transition: opacity 0.4s ease;
  -ms-transition: opacity 0.4s ease;
  -o-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.tos-uibg {
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
  background-image: -moz-linear-gradient(bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
  background-image: -ms-linear-gradient(bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
  background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
  background-image: linear-gradient(bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
  -webkit-transition: opacity 0.4s ease;
  -moz-transition: opacity 0.4s ease;
  -ms-transition: opacity 0.4s ease;
  -o-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  opacity: 0;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}
.tos-desktop .tos-wrapper:hover .tos-uibg,
.tos-touch .tos-wrapper.tos-hover .tos-uibg {
  opacity: 1;
}
.tos-slide {
  -webkit-overflow-scrolling: touch;
  line-height: 1px;
  text-align: center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.tos-slide:before {
  content: "";
  display: inline-block;
  height: 50%;
  width: 1px;
  margin-right: -1px;
}
.tos-slide.tos-loading:after {
  content: '';
  border-right: 5px solid black;
  border-radius: 50%;
  display: block;
  width: 30px;
  height: 30px;
  margin: -15px;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  -webkit-animation: spin 1s infinite linear;
  -moz-animation: spin 1s infinite linear;
  -ms-animation: spin 1s infinite linear;
  -o-animation: spin 1s infinite linear;
  animation: spin 1s infinite linear;
}
.tos-slide.tos-loading > * {
  opacity: 0;
}
.tos-slide > * {
  opacity: 1;
  -webkit-transition: opacity 0.4s ease;
  -moz-transition: opacity 0.4s ease;
  -ms-transition: opacity 0.4s ease;
  -o-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.tos-wrapper.tos-fixed .tos-slide.tos-loading:after {
  border-right-color: white;
}
@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
  }
}
@-moz-keyframes spin {
  from {
    -moz-transform: rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg);
  }
}
@-ms-keyframes spin {
  from {
    -ms-transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
  }
}
@-o-keyframes spin {
  from {
    -o-transform: rotate(0deg);
  }
  to {
    -o-transform: rotate(360deg);
  }
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.tos-slide > * {
  vertical-align: middle;
  display: inline-block;
  max-height: 100%;
  max-width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
.tos-slide.tos-html > div {
  white-space: normal;
  text-align: left;
  line-height: 1.5;
}
.tos-slide.tos-html > div * {
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
  -o-text-size-adjust: none;
  text-size-adjust: none;
}
.tos-wrapper.tos-fill .tos-slide.tos-image > img {
  max-height: none;
  max-width: none;
  min-height: 100%;
  min-width: 100%;
}
.tos-wrapper.tos-fixed .tos-slide.tos-html > div {
  background-color: white;
  color: #333333;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  padding: 40px;
  overflow: auto;
}
.tos-desktop .tos-wrapper.tos-fixed {
  background-color: rgba(0, 0, 0, 0.85);
}
.tos-desktop .tos-wrapper.tos-fixed.tos-fit .tos-slide {
  padding: 20px;
}
/*
    jQuery Touch Optimized Sliders "R"Us
    Buttons addon
*/
.tos-prev,
.tos-next,
.tos-close {
  background: black;
  border-radius: 3px;
  opacity: 0;
  display: block;
  width: 40px;
  position: absolute;
  z-index: 1;
  -webkit-transition: opacity 0.4s ease;
  -moz-transition: opacity 0.4s ease;
  -ms-transition: opacity 0.4s ease;
  -o-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.tos-prev,
.tos-next {
  height: 80px;
  margin-top: -40px;
  top: 50%;
}
.tos-prev.tos-disabled,
.tos-next.tos-disabled {
  cursor: default;
}
.tos-prev {
  left: 20px;
}
.tos-next {
  right: 20px;
}
.tos-close {
  height: 40px;
  top: 20px;
  right: 20px;
}
.tos-desktop .tos-wrapper:hover .tos-prev,
.tos-desktop .tos-wrapper:hover .tos-next,
.tos-desktop .tos-wrapper:hover .tos-close,
.tos-touch .tos-wrapper.tos-hover .tos-prev,
.tos-touch .tos-wrapper.tos-hover .tos-next,
.tos-touch .tos-wrapper.tos-hover .tos-close {
  opacity: 0.5;
}
.tos-desktop .tos-wrapper:hover .tos-prev:hover,
.tos-desktop .tos-wrapper:hover .tos-next:hover,
.tos-desktop .tos-wrapper:hover .tos-close:hover,
.tos-touch .tos-wrapper.tos-hover .tos-prev:hover,
.tos-touch .tos-wrapper.tos-hover .tos-next:hover,
.tos-touch .tos-wrapper.tos-hover .tos-close:hover {
  opacity: 0.9;
}
.tos-desktop .tos-wrapper:hover .tos-prev.tos-disabled,
.tos-desktop .tos-wrapper:hover .tos-next.tos-disabled,
.tos-desktop .tos-wrapper:hover .tos-close.tos-disabled,
.tos-touch .tos-wrapper.tos-hover .tos-prev.tos-disabled,
.tos-touch .tos-wrapper.tos-hover .tos-next.tos-disabled,
.tos-touch .tos-wrapper.tos-hover .tos-close.tos-disabled {
  opacity: 0.2;
}
.tos-prev span,
.tos-next span,
.tos-close span:before,
.tos-close span:after {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  margin: -5px;
  position: absolute;
  top: 50%;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
.tos-close span:before,
.tos-close span:after {
  width: 6px;
  height: 6px;
  margin-top: -4px;
  margin-left: 0;
  margin-right: 0;
}
.tos-prev span,
.tos-close span:before {
  border-bottom: 3px solid white;
  border-left: 3px solid white;
  left: 50%;
}
.tos-next span,
.tos-close span:after {
  border-top: 3px solid white;
  border-right: 3px solid white;
  right: 50%;
}
.tos-desktop .tos-wrapper.tos-fixed.tos-fit.tos-has-prev .tos-slide,
.tos-desktop .tos-wrapper.tos-fixed.tos-fit.tos-has-next .tos-slide,
.tos-desktop .tos-wrapper.tos-fixed.tos-fit.tos-has-close .tos-slide {
  padding-left: 80px;
  padding-right: 80px;
}
.tos-inline {
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  -moz-transition: opacity 0.4s ease;
  -ms-transition: opacity 0.4s ease;
  -o-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  display: inline-block;
  margin: 0;
  position: relative;
  top: auto;
  left: auto;
  right: auto;
}
.tos-inline.tos-prev {
  margin-right: -60px;
}
.tos-inline.tos-next {
  margin-left: -60px;
}
.tos-loading .tos-inline {
  opacity: 0 !important;
}
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed .tos-prev,
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed .tos-next,
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed .tos-close {
  -webkit-transform: scale(2);
  -moz-transform: scale(2);
  -ms-transform: scale(2);
  -o-transform: scale(2);
  transform: scale(2);
}
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed .tos-prev,
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed .tos-next,
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed .tos-close {
  -webkit-transform: scale(3);
  -moz-transform: scale(3);
  -ms-transform: scale(3);
  -o-transform: scale(3);
  transform: scale(3);
}
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed .tos-prev,
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed .tos-prev {
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -ms-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed .tos-next,
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed .tos-next {
  -webkit-transform-origin: right center;
  -moz-transform-origin: right center;
  -ms-transform-origin: right center;
  -o-transform-origin: right center;
  transform-origin: right center;
}
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed .tos-close,
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed .tos-close {
  -webkit-transform-origin: right top;
  -moz-transform-origin: right top;
  -ms-transform-origin: right top;
  -o-transform-origin: right top;
  transform-origin: right top;
}
/*
    jQuery Touch Optimized Sliders "R"Us
    Caption addon
*/
.tos-caption {
  font: 400 normal 16px/20px Arial, sans-serif;
  color: white;
  text-align: center;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  -moz-transition: opacity 0.4s ease;
  -ms-transition: opacity 0.4s ease;
  -o-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  position: absolute;
  left: 0;
  z-index: 1;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
.tos-caption.tos-disabled {
  opacity: 0 !important;
}
.tos-desktop .tos-wrapper:hover .tos-caption,
.tos-touch .tos-wrapper.tos-hover .tos-caption {
  opacity: 1;
}
.tos-wrapper .tos-caption {
  line-height: 20px;
  font-size: 15px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
  bottom: 20px;
}
.tos-wrapper.tos-has-caption .tos-uibg {
  height: 100px;
}
.tos-desktop .tos-wrapper.tos-fixed.tos-fit.tos-has-caption .tos-slide {
  padding-bottom: 60px;
}
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed .tos-caption {
  line-height: 40px;
  font-size: 30px;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
  bottom: 40px;
}
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed.tos-has-caption .tos-uibg {
  height: 200px;
}
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed .tos-caption {
  line-height: 60px;
  font-size: 45px;
  text-shadow: 0 3px 6px rgba(0, 0, 0, 0.8);
  bottom: 60px;
}
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed.tos-has-caption .tos-uibg {
  height: 300px;
}
/*
    jQuery Touch Optimized Sliders "R"Us
    Drag addon
*/
.tos-wrapper.tos-fx-slide .tos-slider {
  -webkit-transition-property: left, margin;
  -moz-transition-property: left, margin;
  -ms-transition-property: left, margin;
  -o-transition-property: left, margin;
  transition-property: left, margin;
}
/*
    jQuery Touch Optimized Sliders "R"Us
    Pagination addon
*/
.tos-pagination {
  text-align: center;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  -moz-transition: opacity 0.4s ease;
  -ms-transition: opacity 0.4s ease;
  -o-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.tos-pagination a {
  display: inline-block;
}
.tos-pagination.tos-bullets a {
  background-color: rgba(255, 255, 255, 0.2);
}
.tos-pagination.tos-bullets a:hover {
  background-color: rgba(255, 255, 255, 0.5);
}
.tos-pagination.tos-bullets a.tos-selected {
  background-color: rgba(255, 255, 255, 0.9);
}
.tos-desktop .tos-wrapper:hover .tos-pagination,
.tos-touch .tos-wrapper.tos-hover .tos-pagination {
  opacity: 1;
}
.tos-wrapper .tos-pagination {
  padding: 0 0 20px 0;
}
.tos-wrapper.tos-has-bullets .tos-pagination {
  height: 10px;
}
.tos-wrapper.tos-has-bullets .tos-pagination a {
  border-radius: 10px;
  width: 10px;
  height: 10px;
  margin: 0 5px;
}
.tos-wrapper.tos-has-bullets .tos-caption {
  bottom: 40px;
}
.tos-wrapper.tos-has-bullets .tos-uibg {
  height: 90px;
}
.tos-wrapper.tos-has-bullets.tos-has-caption .tos-uibg {
  height: 130px;
}
.tos-wrapper.tos-has-thumbnails .tos-pagination {
  height: 50px;
}
.tos-wrapper.tos-has-thumbnails .tos-pagination a {
  background-position: center center;
  background-size: cover;
  width: 50px;
  height: 50px;
  margin: 0 5px;
}
.tos-wrapper.tos-has-thumbnails .tos-caption {
  bottom: 80px;
}
.tos-wrapper.tos-has-thumbnails .tos-uibg {
  height: 130px;
}
.tos-wrapper.tos-has-thumbnails.tos-has-caption .tos-uibg {
  height: 170px;
}
.tos-desktop .tos-wrapper.tos-fixed.tos-fit.tos-has-bullets .tos-slide {
  padding-bottom: 50px;
}
.tos-desktop .tos-wrapper.tos-fixed.tos-fit.tos-has-bullets.tos-has-caption .tos-slide {
  padding-bottom: 80px;
}
.tos-desktop .tos-wrapper.tos-fixed.tos-fit.tos-has-thumbnails .tos-slide {
  padding-bottom: 90px;
}
.tos-desktop .tos-wrapper.tos-fixed.tos-fit.tos-has-thumbnails.tos-has-caption .tos-slide {
  padding-bottom: 120px;
}
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed .tos-pagination {
  padding: 0 0 40px 0;
}
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed.tos-has-bullets .tos-pagination {
  height: 20px;
}
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed.tos-has-bullets .tos-pagination a {
  border-radius: 20px;
  width: 20px;
  height: 20px;
  margin: 0 10px;
}
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed.tos-has-bullets .tos-caption {
  bottom: 80px;
}
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed.tos-has-bullets .tos-uibg {
  height: 180px;
}
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed.tos-has-bullets.tos-has-caption .tos-uibg {
  height: 260px;
}
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed.tos-has-thumbnails .tos-pagination {
  height: 100px;
}
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed.tos-has-thumbnails .tos-pagination a {
  background-position: center center;
  background-size: cover;
  width: 100px;
  height: 100px;
  margin: 0 10px;
}
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed.tos-has-thumbnails .tos-caption {
  bottom: 160px;
}
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed.tos-has-thumbnails .tos-uibg {
  height: 260px;
}
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed.tos-has-thumbnails.tos-has-caption .tos-uibg {
  height: 340px;
}
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed .tos-pagination {
  padding: 0 0 60px 0;
}
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed.tos-has-bullets .tos-pagination {
  height: 30px;
}
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed.tos-has-bullets .tos-pagination a {
  border-radius: 30px;
  width: 30px;
  height: 30px;
  margin: 0 15px;
}
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed.tos-has-bullets .tos-caption {
  bottom: 120px;
}
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed.tos-has-bullets .tos-uibg {
  height: 270px;
}
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed.tos-has-bullets.tos-has-caption .tos-uibg {
  height: 390px;
}
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed.tos-has-thumbnails .tos-pagination {
  height: 150px;
}
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed.tos-has-thumbnails .tos-pagination a {
  background-position: center center;
  background-size: cover;
  width: 150px;
  height: 150px;
  margin: 0 15px;
}
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed.tos-has-thumbnails .tos-caption {
  bottom: 240px;
}
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed.tos-has-thumbnails .tos-uibg {
  height: 390px;
}
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed.tos-has-thumbnails.tos-has-caption .tos-uibg {
  height: 510px;
}
/*
    jQuery Touch Optimized Sliders "R"Us
    Youtube media
*/
.tos-play {
  background: black;
  opacity: 0;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transition: opacity 0.4s ease;
  -moz-transition: opacity 0.4s ease;
  -ms-transition: opacity 0.4s ease;
  -o-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.tos-play:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
}
.tos-desktop .tos-wrapper:hover .tos-play,
.tos-touch .tos-wrapper.tos-hover .tos-play {
  opacity: 0.5;
}
.tos-desktop .tos-wrapper:hover .tos-play:hover,
.tos-touch .tos-wrapper.tos-hover .tos-play:hover {
  opacity: 0.9;
}
.tos-wrapper .tos-play {
  border-radius: 80px;
  width: 80px;
  height: 80px;
  margin: -40px;
}
.tos-wrapper .tos-play:after {
  border: 20px solid transparent;
  border-left-color: white;
  border-left-width: 30px;
  margin-top: -20px;
  margin-left: -10.5px;
}
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed .tos-play {
  border-radius: 160px;
  width: 160px;
  height: 160px;
  margin: -80px;
}
.tos-touch.tos-scale-2 .tos-wrapper.tos-fixed .tos-play:after {
  border: 40px solid transparent;
  border-left-color: white;
  border-left-width: 60px;
  margin-top: -40px;
  margin-left: -21px;
}
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed .tos-play {
  border-radius: 240px;
  width: 240px;
  height: 240px;
  margin: -120px;
}
.tos-touch.tos-scale-3 .tos-wrapper.tos-fixed .tos-play:after {
  border: 60px solid transparent;
  border-left-color: white;
  border-left-width: 90px;
  margin-top: -60px;
  margin-left: -31.5px;
}

/* perfect-scrollbar v0.6.16 */
.ps-container {
  -ms-touch-action: auto;
  touch-action: auto;
  overflow: hidden !important;
  -ms-overflow-style: none;
}
@supports (-ms-overflow-style: none) {
  .ps-container {
    overflow: auto !important;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .ps-container {
    overflow: auto !important;
  }
}
.ps-container.ps-active-x > .ps-scrollbar-x-rail,
.ps-container.ps-active-y > .ps-scrollbar-y-rail {
  display: block;
  background-color: transparent;
}
.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {
  background-color: #eee;
  opacity: 0.9;
}
.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {
  background-color: #999;
  height: 11px;
}
.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {
  background-color: #eee;
  opacity: 0.9;
}
.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {
  background-color: #999;
  width: 11px;
}
.ps-container > .ps-scrollbar-x-rail {
  display: none;
  position: absolute;
  opacity: 0;
  -webkit-transition: background-color 0.2s linear, opacity 0.2s linear;
  -o-transition: background-color 0.2s linear, opacity 0.2s linear;
  -moz-transition: background-color 0.2s linear, opacity 0.2s linear;
  transition: background-color 0.2s linear, opacity 0.2s linear;
  bottom: 0px;
  height: 15px;
}
.ps-container > .ps-scrollbar-x-rail > .ps-scrollbar-x {
  position: absolute;
  background-color: #aaa;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  -webkit-transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, -webkit-border-radius 0.2s ease-in-out;
  transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, -webkit-border-radius 0.2s ease-in-out;
  -o-transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, border-radius 0.2s ease-in-out;
  -moz-transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, border-radius 0.2s ease-in-out, -moz-border-radius 0.2s ease-in-out;
  transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, border-radius 0.2s ease-in-out;
  transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, border-radius 0.2s ease-in-out, -webkit-border-radius 0.2s ease-in-out, -moz-border-radius 0.2s ease-in-out;
  bottom: 2px;
  height: 6px;
}
.ps-container > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x,
.ps-container > .ps-scrollbar-x-rail:active > .ps-scrollbar-x {
  height: 11px;
}
.ps-container > .ps-scrollbar-y-rail {
  display: none;
  position: absolute;
  opacity: 0;
  -webkit-transition: background-color 0.2s linear, opacity 0.2s linear;
  -o-transition: background-color 0.2s linear, opacity 0.2s linear;
  -moz-transition: background-color 0.2s linear, opacity 0.2s linear;
  transition: background-color 0.2s linear, opacity 0.2s linear;
  right: 0;
  width: 15px;
}
.ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {
  position: absolute;
  background-color: #aaa;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  -webkit-transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, -webkit-border-radius 0.2s ease-in-out;
  transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, -webkit-border-radius 0.2s ease-in-out;
  -o-transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, border-radius 0.2s ease-in-out;
  -moz-transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, border-radius 0.2s ease-in-out, -moz-border-radius 0.2s ease-in-out;
  transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, border-radius 0.2s ease-in-out;
  transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, border-radius 0.2s ease-in-out, -webkit-border-radius 0.2s ease-in-out, -moz-border-radius 0.2s ease-in-out;
  right: 2px;
  width: 6px;
}
.ps-container > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y,
.ps-container > .ps-scrollbar-y-rail:active > .ps-scrollbar-y {
  width: 11px;
}
.ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {
  background-color: #eee;
  opacity: 0.9;
}
.ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {
  background-color: #999;
  height: 11px;
}
.ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {
  background-color: #eee;
  opacity: 0.9;
}
.ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {
  background-color: #999;
  width: 11px;
}
.ps-container:hover > .ps-scrollbar-x-rail,
.ps-container:hover > .ps-scrollbar-y-rail {
  opacity: 0.6;
}
.ps-container:hover > .ps-scrollbar-x-rail:hover {
  background-color: #eee;
  opacity: 0.9;
}
.ps-container:hover > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x {
  background-color: #999;
}
.ps-container:hover > .ps-scrollbar-y-rail:hover {
  background-color: #eee;
  opacity: 0.9;
}
.ps-container:hover > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y {
  background-color: #999;
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage defaultArticle
 * @author     gueldner
 * @since      30.09.2022
 * @version    $Id$
 **/
/*  =========================================================
basic structure
========================================================== */
/*  =========================================================
basic structure
========================================================== */
/* remove the gap between two articles - in CMS defaultArticle and defaultFirstArticle are the same object - but the portal splits it in two due to old logic */
@media (min-width: 600.1px) {
  .defaultFirstArticle.v-el-large + .defaultArticle {
    margin-top: -65px;
  }
}
@media (max-width: 600px) {
  .defaultFirstArticle.v-el-large + .defaultArticle {
    margin-top: -35px;
  }
}
/* this is prepared to replace the contentText in future */

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage contentText
 * @author     gueldner
 * @since      06.09.2022
 * @version    $Id$
 **/
/*  =========================================================
basic structure
actual text
inline images
stuff
========================================================== */
/*  =========================================================
actual text
========================================================== */
.contentText h1 {
  color: #393939;
  font: 400 normal 40px/1.1em Arial, sans-serif;
}
.contentText h1:not(:last-child) {
  margin: 0 0 15px 0;
}
.contentText h1:last-child {
  margin: 0;
}
.contentText h2 {
  color: #393939;
  font: 400 normal 40px/1.1em Arial, sans-serif;
}
.contentText h2:not(:last-child) {
  margin: 0 0 15px 0;
}
.contentText h2:last-child {
  margin: 0;
}
.contentText h3 {
  color: #393939;
  font: 400 normal 25px/1.1em Arial, sans-serif;
}
.contentText h3:not(:last-child) {
  margin: 0 0 10px 0;
}
.contentText h3:last-child {
  margin: 0;
}
.contentText p {
  color: #363636;
  font: 400 normal 17px/1.6em Arial, sans-serif;
}
.contentText p:not(:last-child) {
  margin: 0 0 15px 0;
}
.contentText p:last-child {
  margin: 0;
}
/*  =========================================================
inline images
========================================================== */
.wysiwyg__image--left {
  text-align: left;
}
.wysiwyg__image--center {
  text-align: center;
}
.wysiwyg__image--right {
  text-align: right;
}
.wysiwyg__image__wrapper {
  display: inline-block;
  position: relative;
}
.wysiwyg__image__caption {
  position: absolute;
  bottom: 10px;
  left: 10px;
  padding: 2px 5px;
  background: rgba(61, 61, 61, 0.5);
  font: 400 normal 12px/14px Arial, sans-serif;
  color: #fff;
}
.wysiwyg__image__caption p {
  display: inline;
}
.wysiwyg__image img {
  display: block;
  height: auto;
  max-width: 100%;
}
/*  =========================================================
stuff
========================================================== */
.contentText > iframe.trustyou {
  float: right;
  width: 125px;
  height: 101px;
  margin: 0 0 0 10px;
  border: 0;
}
/* still in use? */
.contentText > .buttonArea {
  overflow: hidden;
  margin: 0 0 20px 0;
}
.contentText > .buttonArea > .button {
  margin: 10px 10px 0 0;
}
.contentText > .buttonArea > .button.rightsided {
  float: right;
}
/* used on teroir pages */
.contentText img.skyscraper {
  float: right;
  margin: 0 0 0 25px;
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage contentText
 * @author     gueldner
 * @since      06.09.2022
 * @version    $Id$
 **/
/*  =========================================================
basic structure
thumbnails
buttons
========================================================== */
/*  =========================================================
basic structure
========================================================== */
@media (min-width: 600.1px) {
  .contentText .gallery {
    margin: 30px 0 0 0;
  }
}
@media (max-width: 600px) {
  .contentText .gallery {
    margin: 39px 0 0 0;
  }
}
@media (max-width: 500px) {
  .contentText .gallery .youtube {
    left: 0;
    position: relative;
    right: 0;
    width: 100%;
  }
}
/*  =========================================================
thumbnails
========================================================== */
.contentText .thumbnail {
  box-sizing: border-box;
  display: inline-block;
  height: auto;
  overflow: hidden;
  vertical-align: top;
}
@media (min-width: 600.1px) {
  .contentText .thumbnail {
    margin: 0 20px 22px 0;
    width: 20.57%;
  }
}
@media (max-width: 600px) {
  .contentText .thumbnail {
    margin: 0 5.555% /*40/720*/ 10px /*40/720*/ 0;
    width: 70%;
  }
}
.contentText .thumbnail.hidden {
  display: none;
}
.contentText .thumbnail img {
  display: block;
  height: auto;
  width: 100%;
}
/*  =========================================================
buttons
========================================================== */
.contentText :is(.gallery__showMoreButton, .gallery__showLessButton) {
  background: #e7a200;
  border-radius: 5px;
  margin: 22px 0 0 10px;
  padding: 10px;
  text-align: center;
  text-decoration: none;
}
@media (min-width: 600.1px) {
  .contentText :is(.gallery__showMoreButton, .gallery__showLessButton) {
    display: none;
  }
}
@media (max-width: 600px) {
  .contentText :is(.gallery__showMoreButton, .gallery__showLessButton).hidden {
    display: none;
  }
}
.contentText :is(.gallery__showMoreButton, .gallery__showLessButton) > span {
  color: #fff;
  font: 400 normal 18px/20px Arial, sans-serif;
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage contentText
 * @author     gueldner
 * @since      06.09.2022
 * @version    $Id$
 **/
/*  =========================================================
basic structure
items
stuff
========================================================== */
/*  =========================================================
basic structure
========================================================== */
.contentText :is(ul, ol) {
  margin: 0;
  padding: 0;
}
.contentText ul {
  list-style: none;
}
/*  =========================================================
items
========================================================== */
.contentText :is(ul, ol) li {
  color: #393939;
  font: 400 normal 16px/24px Arial, sans-serif;
}
.contentText ul ul {
  margin: 10px 0 0 25px;
}
.contentText ul li {
  margin: 0 0 10px -25px;
  padding: 0 0 0 25px;
}
.contentText ul li::before {
  padding: 0 10px 0 0;
}
@media (min-width: 600.1px) {
  .contentText ul li::before {
    font: 400 normal 14px/14px 'icomoon';
  }
}
@media (max-width: 600px) {
  .contentText ul li::before {
    font: 400 normal 11px/11px 'icomoon';
  }
}
.contentText ul li:not(.download)::before {
  content: '\e607';
}
.contentText ul li.download::before {
  content: '\e609';
}
.contentText ol li {
  margin: 0 0 5px 25px;
  padding: 0;
}
/*  =========================================================
stuff
========================================================== */
.contentText ul li h4 {
  display: inline;
  margin: 0;
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage contentText
 * @author     gueldner
 * @since      06.09.2022
 * @version    $Id$
 **/
/*  =========================================================
basic structure
========================================================== */
/*  =========================================================
basic structure
========================================================== */
.contentText table {
  border: 1px solid rgba(0, 0, 0, 0.1);
  height: auto;
  margin: 0 0 20px 0;
  width: 100%;
}
.contentText table caption {
  background-color: rgba(0, 0, 0, 0.1);
  padding: 10px;
  text-align: center;
}
.contentText table tr:not(:nth-child(2n+1)) {
  background-color: rgba(100, 100, 100, 0.1);
}
.contentText table td {
  border: 0;
  padding: 10px;
}
.contentText table :is(h2, h3, h4, h5, h6, p) {
  color: #393939;
  margin: 0;
}
.contentText table h2 {
  font: 700 normal 25px Arial, sans-serif;
}
.contentText table :is(h3, h4, h5, h6) {
  font: 700 normal 17px/27px Arial, sans-serif;
}
.contentText table p {
  font: 400 normal 17px/27px Arial, sans-serif;
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2022 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage contentAreaTabElement
 * @author     güldner
 * @since      06.09.2022
 * @version    $Id$
 **/
/*  =========================================================
tabs
content
========================================================== */
/*  =========================================================
tabs
========================================================== */
.contentAreaTabElement__tabButton {
  display: inline-block;
  font: 400 normal 18px/30px Arial, sans-serif;
  padding: 0 12px;
  text-decoration: none;
}
@media (min-width: 601px) {
  .contentAreaTabElement__tabButton {
    margin: 0 30px 20px 0;
  }
}
.contentAreaTabElement__tabButton:not(.active) {
  color: #9b9b9b;
}
.contentAreaTabElement__tabButton.active {
  color: #c08700;
  border-bottom: 2px solid #c08700;
}
/*  =========================================================
not optimized yet
========================================================== */
@media screen and (max-width: 950px) and (min-width: 851px) {
  .contentAreaTabElement__tabElements__tabElement--location__infoBox,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox {
    min-width: 40%;
    min-height: 80%;
  }
}
@media screen and (min-width: 851px) {
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .caption,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .caption {
    font: 400 normal 25px/28px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .name,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .name {
    font: 400 normal 20px/22px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .person,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .person,
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .street,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .street,
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .city > *,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .city > *,
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .tel,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .tel,
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .mail,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .mail,
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .website,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .website {
    font: 400 normal 16px/18px Arial, sans-serif;
  }
}
@media screen and (max-width: 950px) and (min-width: 851px) {
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--addressbase {
    min-width: 40%;
    min-height: 80%;
  }
}
@media screen and (min-width: 851px) {
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--addressbase > .caption {
    margin: 25px 0 0 11px;
    padding-bottom: 10px;
    font: 400 normal 25px/28px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--addressbase p {
    font: 400 normal 16px/22px Arial, sans-serif;
    margin-bottom: 8px;
  }
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--addressbase br {
    font: 400 normal 16px/22px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--addressbase a {
    color: #c08700;
    text-decoration: underline;
  }
}
@media screen and (max-width: 850px) and (min-width: 751px) {
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--addressbase > .caption {
    margin: 25px 0 0 11px;
    padding-bottom: 10px;
    font: 400 normal 25px/28px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--addressbase p {
    font: 400 normal 16px/22px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--addressbase br {
    font: 400 normal 16px/22px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--addressbase a {
    color: #c08700;
    text-decoration: underline;
  }
}
@media screen and (min-width: 600px) and (max-width: 751px) {
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > .caption {
    margin: 25px 0 0 11px;
    font: 400 normal 25px/28px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent p {
    font: 400 normal 16px/22px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent br {
    font: 400 normal 16px/22px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent a {
    color: #c08700;
    text-decoration: underline;
  }
}
@media screen and (max-width: 601px) {
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > .caption {
    margin: 25px 0 0 11px;
    padding: 0 0 11px;
    font: 400 normal 23px/26px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > p {
    font: 400 normal 16px/22px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent br {
    font: 400 normal 16px/22px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent a {
    color: #c08700;
    text-decoration: underline;
  }
}
@media screen and (min-width: 601px) and (max-width: 750px) {
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--addressbase > .caption {
    margin: 25px 0 0 11px;
    padding: 0 0 11px;
    font: 400 normal 23px/26px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--addressbase p {
    font: 400 normal 14px/17px Arial, sans-serif;
    margin-bottom: 10px;
  }
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--addressbase br {
    font: 400 normal 16px/22px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox.contentAreaTabElement__tabElements__tabElement--contact__infoBox--addressbase a {
    color: #c08700;
    text-decoration: underline;
  }
}
@media screen and (max-width: 850px) and (min-width: 751px) {
  .contentAreaTabElement__tabElements__tabElement--location__infoBox,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox {
    min-width: 40%;
    min-height: 80%;
  }
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .caption,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .caption {
    margin: 25px 0 0 11px;
    font: 400 normal 25px/28px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .name,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .name {
    font: 400 normal 20px/22px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .person,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .person,
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .street,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .street,
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .city > *,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .city > *,
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .tel,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .tel,
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .mail,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .mail,
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .website,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .website {
    font: 400 normal 16px/18px Arial, sans-serif;
  }
}
@media screen and (max-width: 750px) and (min-width: 601px) {
  .contentAreaTabElement__tabElements__tabElement--location__infoBox,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox {
    min-width: 40%;
    min-height: 80%;
  }
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .caption,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .caption {
    margin: 11px 0 0 11px;
    padding: 0 0 11px;
    font: 400 normal 23px/26px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .name,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .name {
    font: 400 normal 18px/21px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .person,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .person,
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .street,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .street,
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .city > *,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .city > *,
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .tel,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .tel,
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .mail,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .mail,
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .website,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .website {
    font: 400 normal 14px/16px Arial, sans-serif;
  }
}
@media screen and (max-width: 600px) {
  .contentAreaTabElement {
    margin-top: 46px;
  }
  .contentBox.contentAreaTabElement__tabElements__tabElement--variant,
  .contentbox--marginTop {
    margin: 15px 0 60px 0;
  }
  .contentAreaTabElement__tabButtons > a.offer:first-child {
    margin: 0 28px 20px 0;
  }
  .contentAreaTabElement__tabButtons > a:not(:last-child) {
    margin: 0 28px 20px 0;
  }
  .contentAreaTabElement__tabButtons > a:last-child {
    margin: 0 28px 20px 0;
  }
  .contentAreaTabElement__tabElements {
    position: relative;
  }
  .contentAreaTabElement__tabElements__tabElement:not(.contentAreaTabElement__tabElements__tabElement--variant) > *:not(.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent):not(.rectangle):not(.innerContentBox--tabs) {
    display: none;
  }
  .rectangle {
    position: absolute;
    width: 18px;
    height: 18px;
    border: 1px solid #c3c3c3;
    left: calc(50% - 9px);
    transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform-origin: center;
    -moz-transform-origin: center;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
  }
  .rectangle:not(.offer):not(.event) {
    top: 5px;
  }
  .rectangle.offer {
    z-index: -1;
  }
  .rectangle.offer--variant {
    top: -11px;
  }
  .rectangle.offer--contact {
    top: 5px;
  }
  .rectangle.event--eventLinks,
  .rectangle.event--eventLocation,
  .rectangle.event--eventDates {
    top: -11px;
  }
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent {
    display: block;
    position: relative;
    height: 100%;
    border: 1px solid #c3c3c3;
    background-color: #fff;
    margin: 15px 0 0;
  }
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > h3:last-child,
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > p:last-child,
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > a:last-child {
    margin: 0 24px 25px 24px;
  }
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > h3:not(:last-child),
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > p:not(:last-child),
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > a:not(:last-child) {
    margin: 0 10px 0 24px;
  }
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > .image > img {
    position: relative;
    width: 100%;
    height: 100%;
  }
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > .image > .ghostButton {
    position: absolute;
    margin: 16px 15px;
    bottom: 0;
    right: 0;
    background: #fff;
  }
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > .caption {
    font: 400 normal 25px/25px Arial, sans-serif;
    color: #c08700;
    padding: 20px 0 12px;
  }
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > .name {
    color: #363636;
    font: 400 normal 20px/20px Arial, sans-serif;
    padding-bottom: 10px;
    margin-right: 25px;
  }
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > .tel,
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > .mail,
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > .website {
    font: 400 normal 18px/18px Arial, sans-serif;
    color: #363636;
    padding: 6.5px 0;
  }
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > .website {
    margin-bottom: 25px;
  }
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > .city {
    padding-bottom: 6.5px;
  }
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > .city > * {
    font: 400 normal 18px/18px Arial, sans-serif;
  }
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > .street {
    font: 400 normal 18px/18px Arial, sans-serif;
    padding-bottom: 3px;
  }
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > .mail > span,
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent > .website > span {
    color: #c08700;
    text-decoration: underline;
  }
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .tel:active > span,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .tel:hover > span,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .tel:focus > span {
    text-decoration: underline;
  }
}
.contentAreaTabElement__tabElements__tabElement--contact__infoBox > ul {
  font: 400 normal 16px/22px Arial, sans-serif;
  padding-right: 10px;
  overflow-wrap: break-word;
}
.contentAreaTabElement__tabElements__tabElement--contact picture img,
.contentAreaTabElement__tabElements__tabElement picture img,
.contentAreaTabElement__tabElements__tabElement--contact__infoBox .image img {
  width: 100%;
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2022 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage contentAreaTabElement
 * @author     güldner
 * @since      26.09.2022
 * @version    $Id$
 **/
/*  =========================================================
basic styling
location/contact
========================================================== */
/*  =========================================================
basic styling
========================================================== */
.contentAreaTabElement__tabElements {
  margin: 0 auto;
}
.contentAreaTabElement__tabElements__tabElement {
  position: relative;
}
.contentAreaTabElement__tabElements__tabElement:not(.active) {
  display: none;
}
/*  =========================================================
location/contact
========================================================== */
.contentAreaTabElement__tabElements__tabElement--location,
.contentAreaTabElement__tabElements__tabElement--contact {
  overflow: hidden;
  width: 100%;
}
@media (min-width: 601px) {
  .contentAreaTabElement__tabElements__tabElement--location,
  .contentAreaTabElement__tabElements__tabElement--contact {
    border: 1px #c3c3c3 solid;
  }
}
.contentAreaTabElement__tabElements__tabElement--location > img,
.contentAreaTabElement__tabElements__tabElement--contact > img {
  height: auto;
  width: 100%;
}
.contentAreaTabElement__tabElements__tabElement--location > .ghostButton,
.contentAreaTabElement__tabElements__tabElement--contact > .ghostButton {
  background: #fff;
  bottom: 21px;
  position: absolute;
  right: 21px;
}
@media (min-width: 601px) {
  .contentAreaTabElement__tabElements__tabElement > .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent {
    display: none;
  }
}
@media (max-width: 950px) and (min-width: 600.1px) {
  .contentAreaTabElement__tabElements__tabElement.placeholder {
    height: 320px;
  }
}
.contentAreaTabElement__tabElements__tabElement.placeholder .contentAreaTabElement__tabElements__tabElement--contact__infoBox {
  margin: 0;
}
.contentAreaTabElement__tabElements__tabElement.placeholder .contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent {
  margin: 15px 0 0 0;
}
.contentAreaTabElement__tabElements__tabElement.placeholder .contentAreaTabElement__tabElements__tabElement--contact__infoBox:not(.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent) {
  width: 100%;
}
.contentAreaTabElement__tabElements__tabElement.placeholder > div:not(.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent) {
  position: initial;
}
@media (min-width: 750.1px) {
  .contentAreaTabElement__tabElements__tabElement--location__infoBox:not(.event),
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox:not(.event) {
    max-height: 87%;
    max-width: 63%;
  }
}
@media (min-width: 600.1px) and (max-width: 750px) {
  .contentAreaTabElement__tabElements__tabElement--location__infoBox:not(.event),
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox:not(.event) {
    max-width: 57%;
    max-height: 88%;
  }
}
@media (max-width: 600px) {
  .contentAreaTabElement__tabElements__tabElement--location__infoBox:not(.event),
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox:not(.event) {
    max-width: 100%;
  }
}
.contentAreaTabElement__tabElements__tabElement--location__infoBox:not(.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent),
.contentAreaTabElement__tabElements__tabElement--contact__infoBox:not(.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent) {
  background: #fff;
  left: 0;
  overflow-y: auto;
  padding: 20px;
  top: 0;
}
.contentAreaTabElement__tabElements__tabElement--location__infoBox:not(.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent) > .caption,
.contentAreaTabElement__tabElements__tabElement--contact__infoBox:not(.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent) > .caption {
  color: #c08700;
}
.contentAreaTabElement__tabElements__tabElement--location__infoBox:not(.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent) > :is(.name, .tel, .mail, .website),
.contentAreaTabElement__tabElements__tabElement--contact__infoBox:not(.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent) > :is(.name, .tel, .mail, .website) {
  color: #363636;
}
.contentAreaTabElement__tabElements__tabElement--location__infoBox:not(.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent) > :is(.mail, .website) > span,
.contentAreaTabElement__tabElements__tabElement--contact__infoBox:not(.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent) > :is(.mail, .website) > span {
  color: #c08700;
}
.contentAreaTabElement__tabElements__tabElement--location__infoBox:not(.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent) > .name,
.contentAreaTabElement__tabElements__tabElement--contact__infoBox:not(.contentAreaTabElement__tabElements__tabElement--contact__infoBox--mobileContent) > .name {
  max-width: 340px;
}
.contentAreaTabElement__tabElements__tabElement--location__infoBox > :is(.tel, .mail, .website),
.contentAreaTabElement__tabElements__tabElement--contact__infoBox > :is(.tel, .mail, .website) {
  display: inline-block;
  text-decoration: none;
}
.contentAreaTabElement__tabElements__tabElement--location__infoBox > :is(.mail, .website) > span,
.contentAreaTabElement__tabElements__tabElement--contact__infoBox > :is(.mail, .website) > span {
  text-decoration: underline;
}
@media (min-width: 950.1px) {
  .contentAreaTabElement__tabElements__tabElement--location__infoBox,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox {
    min-width: calc(33.33333333%);
    min-height: calc(77.35849057%);
  }
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > :is(h3, p, a),
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > :is(h3, p, a) {
    margin: 0;
  }
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > :is(.tel, .mail, .website),
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > :is(.tel, .mail, .website) {
    padding: 4px 0;
  }
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .caption,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .caption {
    margin: 0 0 20px 0;
  }
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .name,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .name {
    padding-bottom: 1px;
  }
}
@media (max-width: 950px) and (min-width: 600.1px) {
  .contentAreaTabElement__tabElements__tabElement--location__infoBox,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox {
    margin: 2% 0 0 2%;
  }
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > :is(p, a),
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > :is(p, a) {
    margin: 0 11px 0 11px;
  }
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > :is(.tel, .mail, .website),
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > :is(.tel, .mail, .website) {
    display: inline-block;
    padding: 4px 0;
    color: #363636;
    text-decoration: none;
  }
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .name,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .name {
    color: #363636;
  }
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > .caption,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > .caption {
    margin: 25px 0 0 11px;
    color: #c08700;
  }
  .contentAreaTabElement__tabElements__tabElement--location__infoBox > :is(.mail, .website) > span,
  .contentAreaTabElement__tabElements__tabElement--contact__infoBox > :is(.mail, .website) > span {
    color: #c08700;
    text-decoration: underline;
  }
}
/*  =========================================================
contentForm
========================================================== */
.contentForm_copyright__info {
  font-size: 10px;
  font-family: sans-serif, Arial, Helvetica;
  font-weight: 400;
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage area title
 * @author     gueldner
 * @since      05.10.2022
 * @version    $Id$
 **/
/*  =========================================================
basic structure
========================================================== */
/*  =========================================================
basic structure
========================================================== */
.areaTitle h2 {
  color: #393939;
  font: 400 normal 40px/1.1em Arial, sans-serif;
}
@media (min-width: 600.1px) {
  .areaTitle h2 {
    margin: 0 0 15px 0;
  }
}
@media (max-width: 600px) {
  .areaTitle h2 {
    margin: 0 0 10px 0;
  }
}
.areaTitle h3 {
  color: #393939;
  font: 400 normal 25px/1.1em Arial, sans-serif;
}
.areaTitle h3:not(:last-child) {
  margin: 0 0 10px 0;
}
.areaTitle h3:last-child {
  margin: 0;
}
.areaTitle {
  /* text paragraph */
  /* text paragraph */
  /* text paragraph */
}
.areaTitle .subtitle {
  color: #393939;
  font: 400 italic 14px/16px Arial, sans-serif;
  margin: 0;
}
.areaTitle .titleText {
  color: #393939;
  margin: 0;
}
@media (min-width: 600.1px) {
  .areaTitle .titleText {
    font: 700 normal 25px/34px Arial, sans-serif;
  }
}
@media (max-width: 600px) {
  .areaTitle .titleText {
    font: 400 normal 20px/20px Arial, sans-serif;
  }
}
.areaTitle .descriptionText {
  color: #393939;
  font: 400 17px/27px Arial, sans-serif;
  margin: 0 0 20px 0;
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage text module
 * @author     gueldner
 * @since      05.10.2022
 * @version    $Id$
 **/
/*  =========================================================
basic structure
========================================================== */
/*  =========================================================
basic structure
========================================================== */
/* remove the gap between two articles - in CMS defaultArticle and defaultFirstArticle are the same object - but the portal splits it in two due to old logic */
@media (min-width: 600.1px) {
  .defaultFirstArticle.v-el-large + .textModule {
    margin-top: -65px;
  }
}
@media (max-width: 600px) {
  .defaultFirstArticle.v-el-large + .textModule {
    margin-top: -35px;
  }
}
.textModule__title {
  color: #393939;
  font: 400 normal 36px/45px Arial, sans-serif;
  text-align: center;
}
.textModule__title:not(:last-child) {
  margin: 0 0 15px 0;
}
.textModule__title:last-child {
  margin: 0;
}
.textModule__subline {
  color: #393939;
  font: 400 25px/34px Arial, sans-serif;
  text-align: center;
}
.textModule__subline:not(:last-child) {
  margin: 0 0 20px 0;
}
.textModule__subline:last-child {
  margin: 0;
}
.textModule__paragraph {
  color: #393939;
  font: 400 17px/27px Arial, sans-serif;
}
.textModule__paragraph:not(:last-child) {
  margin: 0 0 20px 0;
}
.textModule__paragraph:last-child {
  margin: 0;
}
.textModule__paragraph p:not(:last-child) {
  margin: 0 0 20px 0;
}
.textModule__paragraph p:last-child {
  margin: 0;
}
.textModule__wrap:not(.moduleTextPositionContentCenter) {
  text-align: left;
}
.textModule__wrap.moduleTextPositionContentCenter {
  text-align: center;
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage text image module
 * @author     gueldner
 * @since      05.10.2022
 * @version    $Id$
 **/
/*  =========================================================
basic structure
figure
text
========================================================== */
/*  =========================================================
basic structure
========================================================== */
.textImageModule__wrap {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 900.1px) {
  .textImageModule__wrap {
    column-gap: 30px;
  }
  .textImageModule__wrap.modulePositionLeft {
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
  }
  .textImageModule__wrap.modulePositionRight {
    -ms-flex-direction: row;
        flex-direction: row;
  }
}
@media (max-width: 900px) {
  .textImageModule__wrap {
    -ms-flex-direction: column;
        flex-direction: column;
    padding-right: 30px;
    row-gap: 10px;
  }
}
/*  =========================================================
figure
========================================================== */
.textImageModule__fig {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
}
@media (min-width: 900.1px) {
  .textImageModule__fig {
    width: 53.18091451%;
  }
}
@media (max-width: 900px) {
  .textImageModule__fig {
    height: 239px;
  }
}
.textImageModule__fig img {
  display: block;
  object-fit: cover;
  height: 100%;
  width: 100%;
}
/* gallery overrides */
.textImageModule__fig .gallery {
  margin-left: 0 !important;
}
.textImageModule__fig .gallery .thumbnail.image {
  margin: 0;
}
.textImageModule__fig .gallery .thumbnail {
  width: auto;
}
.textImageModule__fig .gallery .thumbnail i {
  position: absolute;
  bottom: 15px;
  right: 5px;
  color: #fff;
}
/*  =========================================================
text
========================================================== */
.textImageModule__text {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 100%;
      flex: 100%;
  -ms-flex-direction: column;
      flex-direction: column;
  row-gap: 15px;
}
@media (max-width: 900px) {
  .textImageModule__text {
    padding-left: 30px;
  }
}
.textImageModule__title {
  color: #393939;
}
@media (min-width: 600.1px) {
  .textImageModule__title {
    font: 400 normal 28px/38px Arial, sans-serif;
  }
}
@media (max-width: 600px) {
  .textImageModule__title {
    font: 400 normal 24px/28px Arial, sans-serif;
  }
}
.textImageModule__title:not(:last-child) {
  margin: 0 0 15px 0;
}
.textImageModule__title:last-child {
  margin: 0;
}
.textImageModule__subline {
  color: #393939;
  font: 400 17px/27px Arial, sans-serif;
}
.textImageModule__subline:not(:first-child) {
  margin-top: -10px;
}
.textImageModule__subline:first-child {
  margin-top: 0;
}
.textImageModule__subline:not(:last-child) {
  margin-bottom: 15px;
}
.textImageModule__subline:last-child {
  margin-bottom: 0;
}
.textImageModule__paragraph {
  color: #363636;
  font: 400 normal 17px/1.6em Arial, sans-serif;
}
.textImageModule__paragraph:not(:last-child) {
  margin: 0 0 15px 0;
}
.textImageModule__paragraph:last-child {
  margin: 0;
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage list elements
 * @author     gueldner
 * @since      16.11.2022
 * @version    $Id$
 **/
/*  =========================================================
basic structure
text container
aside container
iFrame for trustYou
========================================================== */
/*  =========================================================
basic structure
========================================================== */
.listElement {
  box-sizing: border-box;
  position: relative;
}
@media (min-width: 600.1px) {
  .listElement {
    padding-left: 70px;
  }
}
@media (max-width: 600px) {
  .listElement {
    padding-top: 130px;
  }
}
.listElement__wrap {
  border: 1px #c3c3c3 solid;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
}
@media (min-width: 1100.1px) {
  .listElement:not(.no-image) .listElement__wrap {
    padding-left: 230px;
  }
}
@media (max-width: 1100px) and (min-width: 600.1px) {
  .listElement:not(.no-image) .listElement__wrap {
    padding-left: 200px;
  }
}
@media (max-width: 600px) {
  .listElement:not(.no-image) .listElement__wrap {
    padding-top: 60px;
  }
}
/*  =========================================================
text container
========================================================== */
.listElement__text {
  -ms-flex: 1 1;
      flex: 1 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: justify;
      justify-content: space-between;
  padding: 20px;
  row-gap: 20px;
}
.listElement__text__buttons {
  column-gap: 10px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 10px;
}
/*  =========================================================
aside container
========================================================== */
@media (min-width: 900.1px) {
  .listElement__aside {
    background: rgba(0, 0, 0, 0.05);
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: justify;
        justify-content: space-between;
    padding: 20px 15px;
    row-gap: 20px;
    width: 200px;
  }
}
@media (max-width: 900px) {
  .listElement__aside {
    display: none;
  }
}
/*  =========================================================
iFrame for trustYou
========================================================== */
.listElement > .text > .textArea iframe.trustyou {
  float: right;
  width: 125px;
  height: 101px;
  margin: 0 0 0 10px;
  border: 0;
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage list elements
 * @author     gueldner
 * @since      16.11.2022
 * @version    $Id$
 **/
/*  =========================================================
basic structure
========================================================== */
/*  =========================================================
basic structure
========================================================== */
.listElement__aside {
  color: #393939;
}
.listElement__aside strong {
  font-weight: 700;
}
/* title area styles */
.listElement__aside h5 {
  font: 400 normal 20px/28px Arial, sans-serif;
}
.listElement__aside h5:not(:first-child) {
  margin: 20px 0 5px 0;
}
.listElement__aside h5:first-child {
  margin: 0 0 5px 0;
}
.listElement__aside .price {
  font: 700 normal 30px/25px Arial, sans-serif;
}
.listElement__aside .dates {
  font: 400 normal 14px/18px Arial, sans-serif;
}
.listElement__aside .label {
  font: 400 normal 10px/14px Arial, sans-serif;
}
.listElement__aside .title {
  font: 700 normal 18px/24px Arial, sans-serif;
}
.listElement__aside .info {
  font: 400 normal 12px/18px Arial, sans-serif;
}
.listElement__aside .tour {
  font: 700 normal 30px/25px Arial, sans-serif;
}
.listElement__aside .winecontact {
  font: 400 normal 16px/22px Arial, sans-serif;
}
/* text area styles */
.listElement__aside p {
  font: 400 normal 14px/18px Arial, sans-serif;
  margin: 10px 0;
}
.listElement__aside p .large {
  font: 700 normal 16px Arial, sans-serif;
}
.listElement__aside p a.phone {
  font: initial;
  font: 400 normal 14px/18px Arial, sans-serif;
  color: #393939;
  text-decoration: none;
}
.listElement__aside ul {
  font: 400 normal 14px/15px Arial, sans-serif;
  list-style: none;
  margin: 10px 0;
  padding: 0 0 0 25px;
}
.listElement__aside ul > li {
  position: relative;
  margin-bottom: 15px;
}
.listElement__aside ul > li::before {
  content: '\e607';
  width: 15px;
  height: 13px;
  padding-top: 2px;
  background: #595959;
  position: absolute;
  top: 0;
  left: -20px;
  font: 400 normal 12px/1em 'icomoon';
  color: #fff;
  text-align: center;
}
/* collect buttons */
.listElement__aside__buttons:not(.stored) > [data-jsaction='stripFromBasket'],
.listElement__aside__buttons.stored > [data-jsaction='addToBasket'] {
  display: none;
}

@media screen {
  #glossary h3 {
    margin: 0;
    color: #393939;
    font: 400 18px/22px Arial, sans-serif;
  }
  #glossary ul {
    display: block;
    overflow: hidden;
    width: 100%;
    margin: 10px 0 40px;
    padding: 0;
    list-style: none outside none;
    background: none repeat scroll 0 0 #e7a200;
  }
  #glossary ul > li {
    float: left;
    padding: 10px 0;
    text-align: center;
  }
  #glossary ul > li > a {
    display: block;
    padding: 0 12px;
    font: 400 16px/18px Arial, sans-serif;
    color: #fff;
    text-decoration: none;
    border-right: 1px solid #fff;
  }
  #glossary ul > li:last-of-type > a {
    border-right: 0 none;
  }
  #glossary ul > li.active {
    position: relative;
    left: -1px;
    background: none repeat scroll 0 0 #fff;
  }
  #glossary ul > li.active > a {
    color: #e7a200;
    font: 700 24px/17px "meta", Arial, sans-serif;
  }
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage list elements
 * @author     gueldner
 * @since      16.11.2022
 * @version    $Id$
 **/
/*  =========================================================
basic structure
type variations
picture/img
========================================================== */
/*  =========================================================
basic structure
========================================================== */
.listElement > .image {
  box-sizing: border-box;
  display: block;
  overflow: hidden;
  position: absolute;
  width: 270px;
  z-index: 1;
}
.listElement.brochures > .image {
  background-color: #d8d9d9;
  border: 5px #fff solid;
  padding-bottom: calc(17.30418944%);
}
/*  =========================================================
type variations
========================================================== */
.listElement:not(.tourTeaser, .brochures) > .image {
  aspect-ratio: 1.42105263;
}
@media (min-width: 600.1px) {
  .listElement:not(.tourTeaser, .brochures) > .image {
    left: 0;
    top: 15px;
  }
}
@media (max-width: 600px) {
  .listElement:not(.tourTeaser, .brochures) > .image {
    left: -6px;
    top: 0;
  }
}
.listElement.tourTeaser > .image {
  aspect-ratio: 1.42105263;
}
@media (min-width: 600.1px) {
  .listElement.tourTeaser > .image {
    left: 0;
    top: 15px;
    width: 39%;
  }
}
@media (max-width: 600px) {
  .listElement.tourTeaser > .image {
    left: -6px;
    top: 0;
  }
}
.listElement.brochures > .image {
  aspect-ratio: 1.60714286;
}
@media (min-width: 600.1px) {
  .listElement.brochures > .image {
    right: 78%;
    top: 10px;
  }
}
@media (max-width: 600px) {
  .listElement.brochures > .image {
    left: 15px;
    top: 0;
  }
}
/*  =========================================================
picture/img
========================================================== */
.listElement > .image > picture,
.listElement > .image > picture > img {
  display: block;
  width: 100%;
  height: 100%;
}
.listElement > .image > picture > img {
  object-fit: cover;
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2022 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage list map
 * @author     Andreas Rappel <andreas.rappel@cebesoft.com>
 * @since      24.07.2022
 * @version    $Id$
 **/
#tourTeaser__listMapContainer {
  box-sizing: border-box;
}
@media (min-width: 901px) {
  #tourTeaser__listMapContainer {
    padding-left: 3.125%;
  }
}
@media (max-width: 900px) {
  #tourTeaser__listMapContainer {
    padding-left: 1%;
  }
}
.listMap {
  aspect-ratio: 0.77272727;
  transition: margin 0.5s ease;
  -moz-transition: margin 0.5s ease;
  -webkit-transition: margin 0.5s ease;
}
.listMap > .teaser {
  height: 100%;
  position: relative;
  width: 100%;
}
.listMap > .teaser > img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.listMap > .teaser:not(.active) {
  display: none;
}
.listMap > .teaser a {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -97px 0 0 -132px;
}
.listMap > .teaser .circle {
  position: relative;
  z-index: 2;
  display: block;
  width: 120px;
  height: 120px;
  border-radius: 60px;
  border: 4px solid #e7a200;
  background-color: #fff;
}
.listMap > .teaser .arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 0;
  height: 0;
  margin-top: 28px;
  margin-left: -82px;
  border-color: #e7a200 transparent transparent;
  border-style: solid;
  border-width: 24px 12px 0;
}
.listMap > .teaser .title {
  position: absolute;
  top: 25px;
  left: 110px;
  z-index: 1;
  display: table;
  width: 135px;
  height: 64px;
  overflow: hidden;
  padding: 10px 10px 10px 25px;
  background-color: #e7a200;
}
.listMap > .teaser .title > .vertical {
  position: relative;
  display: table-cell;
  vertical-align: middle;
  font: 700 14px/16px Arial, sans-serif;
  color: #fff;
  text-align: center;
}
#filterListMap {
  min-height: 450px;
  width: 100%;
  aspect-ratio: 1.77777778;
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2022 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage list map
 * @author     Andreas Rappel <andreas.rappel@cebesoft.com>
 * @since      24.07.2022
 * @version    $Id$
 **/
@media screen {
  .listPaginate {
    text-decoration: none;
    list-style: none;
    text-align: center;
    margin: 15px 0 30px 0;
    padding: 0;
  }
  .listPaginate > li {
    display: inline-block;
    vertical-align: middle;
    margin: 0 5px;
    font: 700 normal 18px/20px Arial, sans-serif;
    color: #e7a200;
  }
  .listPaginate > li:first-of-type {
    margin-right: 15px;
  }
  .listPaginate > li:last-of-type {
    margin-left: 15px;
  }
  .listPaginate > li > span {
    padding: 12px;
  }
}
@media screen and (max-width: 600px) {
  .listPaginate {
    margin: 0;
  }
  .listPaginate > li {
    display: none;
  }
  .listPaginate > li:first-of-type,
  .listPaginate > li:last-of-type {
    display: inline-block;
  }
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2022 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage list map
 * @author     Andreas Rappel <andreas.rappel@cebesoft.com>
 * @since      24.07.2022
 * @version    $Id$
 **/
.filterList__switcher {
  float: right;
  margin-top: 20px;
  margin-bottom: 30px;
}
.filterList__switcher > a {
  display: none;
}
.filterList__switcher--list .filterList__switcher__map {
  display: block;
}
.filterList__switcher--map .filterList__switcher__list {
  display: block;
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2014 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 * @subpackage list elements
 * @author     gueldner
 * @since      16.11.2022
 * @version    $Id$
 **/
/*  =========================================================
title elements
description text
========================================================== */
/*  =========================================================
title elements
========================================================== */
.listElement__roofline {
  color: #393939;
  font: 400 normal 14px/1.1em Arial, sans-serif;
  margin: 0 0 5px 0;
}
.listElement__roofline > a {
  text-decoration: none;
}
.listElement__text__wrap p {
  color: #393939;
  font: 400 normal 16px/20px Arial, sans-serif;
}
.listElement__title {
  color: #393939;
  margin: 0 0 5px 0;
}
@media (min-width: 600.1px) {
  .listElement__title {
    font: 400 normal 25px/23px Arial, sans-serif;
  }
}
@media (max-width: 600px) {
  .listElement__title {
    font: 400 normal 20px/22px Arial, sans-serif;
  }
}
.listElement__title > a {
  text-decoration: none;
}
.listElement__title > .stars {
  margin-left: 15px;
}
.listElement__subline {
  color: #393939;
  font: 400 italic 16px/17px Arial, sans-serif;
  margin: 0 0 5px 0;
}
.listElement__subline > a {
  text-decoration: none;
}
.listElement__featureDate {
  color: #393939;
  font: 400 normal 14px/16px Arial, sans-serif;
  margin: 0 0 5px 0;
}
.listElement__featureDate > a {
  text-decoration: none;
}
/*  =========================================================
description text
========================================================== */
.listElement__descriptionText {
  color: #393939;
  font: 400 normal 16px/20px Arial, sans-serif;
  margin: 20px 0 0 0;
}
@media (max-width: 600px) {
  .listElement__descriptionText--shortable {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    position: relative;
  }
  .listElement__descriptionText--shortable::after {
    background-color: #fff;
    bottom: 0;
    content: '';
    display: block;
    height: 66%;
    left: 0;
    -webkit-mask-image: linear-gradient(transparent, #000);
            mask-image: linear-gradient(transparent, #000);
    position: absolute;
    width: 100%;
  }
}

/**
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @author     Phil Jope jope@infomax-it.de
 * @since      24.01.2024
 * @copyright  2024 infomax websolutions GmbH
 * @link       https://www.infomax-online.de
 */
/*  =========================================================
cookie consent
 ========================================================== */
.videoCookieLayer {
  position: relative;
}
.videoCookieLayer--visible {
  position: relative;
}
.videoCookieLayer--visible .grayscale {
  pointer-events: none;
  filter: grayscale(60%) brightness(20%);
  opacity: 0.9;
}
.videoCookieLayer--consent {
  position: absolute;
  z-index: 1;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-direction: column;
      flex-direction: column;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  color: white;
  width: 90%;
  top: 93%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.videoCookieLayer--consent .videoCookieLayer--headline {
  font: 400 normal 25px/28px Arial, sans-serif;
  color: white;
  margin: 0 50px 20px 50px;
}
.videoCookieLayer--consent .videoCookieLayer--headline.videoCookieLayer--darktext {
  color: #c08700;
}
.videoCookieLayer--consent .videoCookieLayer--text {
  font: 400 17px/27px Arial, sans-serif;
  color: white;
  margin: 0 50px 20px 50px;
}
.videoCookieLayer--consent .videoCookieLayer--darktext {
  color: #000;
}
.videoCookieLayer--consent .videoCookieLayer--button {
  border: 2px solid #e7a200;
  color: #e7a200;
  background-color: transparent;
}
@media screen and (max-width: 450px) {
  .videoCookieLayer--consent {
    top: 53%;
  }
}

.flatpickr-calendar {
  background: transparent;
  opacity: 0;
  display: none;
  text-align: center;
  visibility: hidden;
  padding: 0;
  -webkit-animation: none;
  animation: none;
  direction: ltr;
  border: 0;
  font-size: 14px;
  line-height: 24px;
  border-radius: 5px;
  position: absolute;
  width: 307.875px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  background: #fff;
  -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);
  box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);
}
.flatpickr-calendar.open,
.flatpickr-calendar.inline {
  opacity: 1;
  max-height: 640px;
  visibility: visible;
}
.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999;
}
.flatpickr-calendar.animate.open {
  -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
  animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.flatpickr-calendar.inline {
  display: block;
  position: relative;
  top: 2px;
}
.flatpickr-calendar.static {
  position: absolute;
  top: calc(102%);
}
.flatpickr-calendar.static.open {
  z-index: 999;
  display: block;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
  -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
  box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.flatpickr-calendar .hasWeeks .dayContainer {
  border-left: 0;
}
.flatpickr-calendar.hasTime .flatpickr-time {
  height: 40px;
  border-top: 1px solid #e6e6e6;
}
.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto;
}
.flatpickr-calendar:before,
.flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  left: 22px;
}
.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.arrowRight:before,
.flatpickr-calendar.rightMost:after,
.flatpickr-calendar.arrowRight:after {
  left: auto;
  right: 22px;
}
.flatpickr-calendar.arrowCenter:before,
.flatpickr-calendar.arrowCenter:after {
  left: 50%;
  right: 50%;
}
.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px;
}
.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px;
}
.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
  bottom: 100%;
}
.flatpickr-calendar.arrowTop:before {
  border-bottom-color: #e6e6e6;
}
.flatpickr-calendar.arrowTop:after {
  border-bottom-color: #fff;
}
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  top: 100%;
}
.flatpickr-calendar.arrowBottom:before {
  border-top-color: #e6e6e6;
}
.flatpickr-calendar.arrowBottom:after {
  border-top-color: #fff;
}
.flatpickr-calendar:focus {
  outline: 0;
}
.flatpickr-wrapper {
  position: relative;
  display: inline-block;
}
.flatpickr-months {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-months .flatpickr-month {
  background: transparent;
  color: rgba(0, 0, 0, 0.9);
  fill: rgba(0, 0, 0, 0.9);
  height: 34px;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  overflow: hidden;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  height: 34px;
  padding: 10px;
  z-index: 3;
  color: rgba(0, 0, 0, 0.9);
  fill: rgba(0, 0, 0, 0.9);
}
.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
  display: none;
}
.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
  position: relative;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
  /*
      /*rtl:begin:ignore*/
  /*
      */
  left: 0;
  /*
      /*rtl:end:ignore*/
  /*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
  /*
      /*rtl:begin:ignore*/
  /*
      */
  right: 0;
  /*
      /*rtl:end:ignore*/
  /*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  color: #959ea9;
}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: #f64747;
}
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  width: 14px;
  height: 14px;
}
.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
  -webkit-transition: fill 0.1s;
  transition: fill 0.1s;
  fill: inherit;
}
.numInputWrapper {
  position: relative;
  height: auto;
}
.numInputWrapper input,
.numInputWrapper span {
  display: inline-block;
}
.numInputWrapper input {
  width: 100%;
}
.numInputWrapper input::-ms-clear {
  display: none;
}
.numInputWrapper input::-webkit-outer-spin-button,
.numInputWrapper input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}
.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 14px;
  padding: 0 4px 0 2px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(57, 57, 57, 0.15);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.numInputWrapper span:hover {
  background: rgba(0, 0, 0, 0.1);
}
.numInputWrapper span:active {
  background: rgba(0, 0, 0, 0.2);
}
.numInputWrapper span:after {
  display: block;
  content: "";
  position: absolute;
}
.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0;
}
.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(57, 57, 57, 0.6);
  top: 26%;
}
.numInputWrapper span.arrowDown {
  top: 50%;
}
.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(57, 57, 57, 0.6);
  top: 40%;
}
.numInputWrapper span svg {
  width: inherit;
  height: auto;
}
.numInputWrapper span svg path {
  fill: rgba(0, 0, 0, 0.5);
}
.numInputWrapper:hover {
  background: rgba(0, 0, 0, 0.05);
}
.numInputWrapper:hover span {
  opacity: 1;
}
.flatpickr-current-month {
  font-size: 135%;
  line-height: inherit;
  font-weight: 300;
  color: inherit;
  position: absolute;
  width: 75%;
  left: 12.5%;
  padding: 7.48px 0 0 0;
  line-height: 1;
  height: 34px;
  display: inline-block;
  text-align: center;
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px);
}
.flatpickr-current-month span.cur-month {
  font-family: inherit;
  font-weight: 700;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0;
}
.flatpickr-current-month span.cur-month:hover {
  background: rgba(0, 0, 0, 0.05);
}
.flatpickr-current-month .numInputWrapper {
  width: 6ch;
  width: 7ch\0;
  display: inline-block;
}
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: rgba(0, 0, 0, 0.9);
}
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: rgba(0, 0, 0, 0.9);
}
.flatpickr-current-month input.cur-year {
  background: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: inherit;
  cursor: text;
  padding: 0 0 0 0.5ch;
  margin: 0;
  display: inline-block;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  line-height: inherit;
  height: auto;
  border: 0;
  border-radius: 0;
  vertical-align: initial;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}
.flatpickr-current-month input.cur-year:focus {
  outline: 0;
}
.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
  font-size: 100%;
  color: rgba(0, 0, 0, 0.5);
  background: transparent;
  pointer-events: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
  appearance: menulist;
  background: transparent;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  height: auto;
  line-height: inherit;
  margin: -1px 0 0 0;
  outline: none;
  padding: 0 0 0 0.5ch;
  position: relative;
  vertical-align: initial;
  -webkit-box-sizing: border-box;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  width: auto;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
  outline: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background: rgba(0, 0, 0, 0.05);
}
.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  background-color: transparent;
  outline: none;
  padding: 0;
}
.flatpickr-weekdays {
  background: transparent;
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 28px;
}
.flatpickr-weekdays .flatpickr-weekdaycontainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
span.flatpickr-weekday {
  cursor: default;
  font-size: 90%;
  background: transparent;
  color: rgba(0, 0, 0, 0.54);
  line-height: 1;
  margin: 0;
  text-align: center;
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-weight: bolder;
}
.dayContainer,
.flatpickr-weeks {
  padding: 1px 0 0 0;
}
.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: 307.875px;
}
.flatpickr-days:focus {
  outline: 0;
}
.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 307.875px;
  min-width: 307.875px;
  max-width: 307.875px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px);
  opacity: 1;
}
.dayContainer + .dayContainer {
  -webkit-box-shadow: -1px 0 0 #e6e6e6;
  box-shadow: -1px 0 0 #e6e6e6;
}
.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #393939;
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  -webkit-flex-basis: 14.2857143%;
  -ms-flex-preferred-size: 14.2857143%;
  flex-basis: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 39px;
  margin: 0;
  display: inline-block;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
}
.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
  cursor: pointer;
  outline: 0;
  background: #e6e6e6;
  border-color: #e6e6e6;
}
.flatpickr-day.today {
  border-color: #959ea9;
}
.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
  border-color: #959ea9;
  background: #959ea9;
  color: #fff;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: #569ff7;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #fff;
  border-color: #569ff7;
}
.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
  border-radius: 50px 0 0 50px;
}
.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
  border-radius: 0 50px 50px 0;
}
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  -webkit-box-shadow: -10px 0 0 #569ff7;
  box-shadow: -10px 0 0 #569ff7;
}
.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
  border-radius: 50px;
}
.flatpickr-day.inRange {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
  box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
  color: rgba(57, 57, 57, 0.3);
  background: transparent;
  border-color: transparent;
  cursor: default;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  cursor: not-allowed;
  color: rgba(57, 57, 57, 0.1);
}
.flatpickr-day.week.selected {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
  box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
}
.flatpickr-day.hidden {
  visibility: hidden;
}
.rangeMode .flatpickr-day {
  margin-top: 1px;
}
.flatpickr-weekwrapper {
  float: left;
}
.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px;
  -webkit-box-shadow: 1px 0 0 #e6e6e6;
  box-shadow: 1px 0 0 #e6e6e6;
}
.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%;
  line-height: 28px;
}
.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
  display: block;
  width: 100%;
  max-width: none;
  color: rgba(57, 57, 57, 0.3);
  background: transparent;
  cursor: default;
  border: none;
}
.flatpickr-innerContainer {
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}
.flatpickr-rContainer {
  display: inline-block;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.flatpickr-time {
  text-align: center;
  outline: 0;
  display: block;
  height: 0;
  line-height: 40px;
  max-height: 40px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-time:after {
  content: "";
  display: table;
  clear: both;
}
.flatpickr-time .numInputWrapper {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  width: 40%;
  height: 40px;
  float: left;
}
.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: #393939;
}
.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #393939;
}
.flatpickr-time.hasSeconds .numInputWrapper {
  width: 26%;
}
.flatpickr-time.time24hr .numInputWrapper {
  width: 49%;
}
.flatpickr-time input {
  background: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: 0;
  border-radius: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  height: inherit;
  line-height: inherit;
  color: #393939;
  font-size: 14px;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}
.flatpickr-time input.flatpickr-hour {
  font-weight: bold;
}
.flatpickr-time input.flatpickr-minute,
.flatpickr-time input.flatpickr-second {
  font-weight: 400;
}
.flatpickr-time input:focus {
  outline: 0;
  border: 0;
}
.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
  height: inherit;
  float: left;
  line-height: inherit;
  color: #393939;
  font-weight: bold;
  width: 2%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
      align-self: center;
}
.flatpickr-time .flatpickr-am-pm {
  outline: 0;
  width: 18%;
  cursor: pointer;
  text-align: center;
  font-weight: 400;
}
.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
  background: #eee;
}
.flatpickr-input[readonly] {
  cursor: pointer;
}
@-webkit-keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

/**
 * Rheinhessen Portal 2014
 *
 * LICENSE
 *
 * This software and its source code is protected by copyright law (Sec. 69a ff. UrhG).
 * It is not allowed to make any kinds of modifications, nor must it be copied,
 * or published without explicit permission. Misuse will lead to persecution.
 *
 * @copyright  2023 infomax websolutions GmbH
 * @link       http://www.infomax-it.de
 * @package    css
 **/
.flatpickr-calendar {
  font-family: Arial;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background-color: #e7a200;
  border-color: #e7a200;
}
