@charset "UTF-8";
/*  was 2.7rem  */
/*

    Breakpoint	 	
    X-Small	 	<576px
    Small	 	≥576px
    Medium	 	≥768px
    Large	 	≥992px
    Extra large	 	≥1200px
    Extra extra large	 	≥1400px


*/
/***  mixins ***/
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: normal;
  src: local("Open Sans Regular"), url("/Assets/fonts/OpenSans-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: local("Open Sans Bold"), url("/Assets/fonts/OpenSans-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "Bitter";
  font-style: normal;
  font-weight: normal;
  src: local("Bitter Regular"), url("/Assets/fonts/Bitter-Regular.ttf") format("truetype");
}
/*  OCMS stage banner (sites/shared/css/stagebanner.scss), pushes fixed headers down  */
/* Stage banner of the OCMS staging preview (ocms_ClientController.StageBannerHtml()).
   Shared by all sites: only generic values / CSS custom properties with fallbacks, because this file cannot know
   a site's tokens. A site tunes the look by setting the --ocms-stagebanner-* properties on :root or by overriding
   .ocms-stagebanner in its own SCSS. A site with a fixed header must offset it by the banner height, e.g.
   body:has(.ocms-stagebanner) header { top: var(--ocms-stagebanner-height, 2rem); } (see fuchs_header_footer.scss).
   Bundle order: include after the site's *_variables.scss, before the layout files. */
.ocms-stagebanner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000; /* above fixed headers and flyouts of the sites */
  box-sizing: border-box;
  height: var(--ocms-stagebanner-height, 2rem);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  padding: 0 0.75rem;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 0.8125rem;
  line-height: 1;
  background-color: var(--ocms-stagebanner-bg, #ffc107);
  color: var(--ocms-stagebanner-color, #212529);
  /* dev stage (Development environment only) is visually distinct from the set preview */
}
.ocms-stagebanner a {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
}
.ocms-stagebanner a:hover, .ocms-stagebanner a:focus-visible {
  text-decoration: none;
}
.ocms-stagebanner--dev {
  background-color: var(--ocms-stagebanner-bg-dev, #0d6efd);
  color: var(--ocms-stagebanner-color-dev, #ffffff);
}
@media (min-width: 561px) {
  .ocms-stagebanner {
    font-size: 0.875rem;
  }
}

/* Visible editor hint for a section whose partial failed to render (ocms_ClientController_multidomain.SectionRenderFailed).
   Only emitted on staged requests (set/dev), never on pub. Tunable via --ocms-section-error-* custom properties. */
.ocms-section-error {
  box-sizing: border-box;
  margin: 0.75rem auto;
  padding: 0.75rem 1rem;
  max-width: var(--ocms-section-error-max-width, 60rem);
  border: 0.125rem dashed var(--ocms-section-error-border, #b02a37);
  background-color: var(--ocms-section-error-bg, #f8d7da);
  color: var(--ocms-section-error-color, #58151c);
  font-size: 0.875rem;
  line-height: 1.4;
}
@media (min-width: 561px) {
  .ocms-section-error {
    padding: 1rem 1.5rem;
  }
}

*, :after, :before {
  box-sizing: border-box;
  transition: visibility linear 1s, opacity linear 1s;
  -moz-transition: visibility linear 1s, opacity linear 1s;
  -webkit-transition: visibility linear 1s, opacity linear 1s;
}

body, html {
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
  image-rendering: auto;
  shape-rendering: geometricprecision;
  color-rendering: optimizeQuality;
  background-color: rgba(107, 159, 192, 0.17);
}

html {
  font-family: "Open Sans", Arial, sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: #707070;
}

main {
  position: relative;
  min-height: 100vh;
  z-index: 1;
}

a {
  color: inherit;
  font-size: inherit;
  text-decoration: none;
}
a:hover, a:focus, a:visited {
  text-decoration: none;
  color: inherit;
}

.modalbg {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(150, 150, 150, 0.7);
  z-index: 10;
}
.modalbg .modal {
  width: 600px;
  max-width: 80vw;
  max-width: calc(100vw - 40px);
  margin-left: auto;
  margin-right: auto;
  padding: 20px;
  background: #FFF;
  border-radius: 5px;
  margin-top: 10vh;
  max-height: 80vh;
  max-height: calc(90vh - 20px);
  position: relative;
}
.modalbg .modal .modalclose {
  background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMyIDMyIiBoZWlnaHQ9IjMycHgiIGlkPSLQodC70L7QuV8xIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAzMiAzMiIgd2lkdGg9IjMycHgiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxnIGlkPSJDYW5jZWwiPjxwYXRoIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE2LDBDNy4xNjMsMCwwLDcuMTYzLDAsMTZjMCw4LjgzNiw3LjE2MywxNiwxNiwxNiAgIGM4LjgzNiwwLDE2LTcuMTYzLDE2LTE2QzMyLDcuMTYzLDI0LjgzNiwwLDE2LDB6IE0xNiwzMEM4LjI2OCwzMCwyLDIzLjczMiwyLDE2QzIsOC4yNjgsOC4yNjgsMiwxNiwyczE0LDYuMjY4LDE0LDE0ICAgQzMwLDIzLjczMiwyMy43MzIsMzAsMTYsMzB6IiBmaWxsPSIjMTIxMzEzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMi43MjksMjEuMjcxbC01LjI2OC01LjI2OWw1LjIzOC01LjE5NSAgIGMwLjM5NS0wLjM5MSwwLjM5NS0xLjAyNCwwLTEuNDE0Yy0wLjM5NC0wLjM5LTEuMDM0LTAuMzktMS40MjgsMGwtNS4yMzEsNS4xODhsLTUuMzA5LTUuMzFjLTAuMzk0LTAuMzk2LTEuMDM0LTAuMzk2LTEuNDI4LDAgICBjLTAuMzk0LDAuMzk1LTAuMzk0LDEuMDM3LDAsMS40MzJsNS4zMDEsNS4zMDJsLTUuMzMxLDUuMjg3Yy0wLjM5NCwwLjM5MS0wLjM5NCwxLjAyNCwwLDEuNDE0YzAuMzk0LDAuMzkxLDEuMDM0LDAuMzkxLDEuNDI5LDAgICBsNS4zMjQtNS4yOGw1LjI3Niw1LjI3NmMwLjM5NCwwLjM5NiwxLjAzNCwwLjM5NiwxLjQyOCwwQzIzLjEyMywyMi4zMDgsMjMuMTIzLDIxLjY2NywyMi43MjksMjEuMjcxeiIgZmlsbD0iIzEyMTMxMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9nPjxnLz48Zy8+PGcvPjxnLz48Zy8+PGcvPjwvc3ZnPg==") no-repeat center center/20px #FFF;
  height: 20px;
  width: 20px;
  position: absolute;
  right: -5px;
  top: -5px;
  border-radius: 10px;
}

a.dpl {
  text-decoration: underline !important;
}

div.msframe {
  display: block;
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
}

#pw {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
}

section.light {
  background-color: rgb(238, 240, 204);
}
section.white {
  background-color: #FFF;
}
section.red {
  background-color: rgb(190, 94, 0);
}
section.orange {
  background-color: rgb(190, 142, 0);
}
section.petrol {
  background-color: rgb(39, 82, 97);
}
section.gray {
  background-color: rgb(133, 124, 107);
}

section, footer {
  overflow: hidden; /* nothing should be displayed outside of the bounds */
  position: relative;
}

header, footer, main {
  width: 100%;
}

section, header, footer {
  padding: 0;
  /* height MUST NOT be set, otherwise the content will be cut off */
  min-height: inherit;
  margin: 0;
  /* of not defined differently, the normal behavior is: fit to section */
}
section .frm, header .frm, footer .frm {
  position: relative;
  height: 100%;
  width: 100%;
}
@media (min-width: 1200px) {
  section .frm.outer, header .frm.outer, footer .frm.outer {
    width: 1200px;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
  }
}
section .frm.inner, header .frm.inner, footer .frm.inner {
  overflow: auto;
  image-rendering: optimizeQuality;
  padding-left: 48px;
  padding-right: 48px;
}
@media (min-width: 501px) and (max-width: 768px) {
  section .frm.inner, header .frm.inner, footer .frm.inner {
    padding-left: 48px;
  }
}
@media (max-width: 500px) {
  section .frm.inner, header .frm.inner, footer .frm.inner {
    padding-left: 24px;
    padding-right: 24px;
  }
}
section.hnf, header.hnf, footer.hnf {
  min-height: 5rem;
}

main .frm.outer, footer .frm.outer {
  box-shadow: 2px 0px 10px rgba(50, 50, 50, 0.85);
}

section > .frm.outer > .frm.inner { /* put here again, but for direct childs, so that other not affected */
  padding-top: 32px;
  min-height: 40vh;
}
section .headline, section h1, section h2 {
  font-family: "Open Sans", Arial, sans-serif;
  color: rgb(91, 79, 63);
  line-height: 1.3;
  font-weight: 600;
  margin-bottom: 2rem;
  text-align: left;
}
section .headline p, section h1 p, section h2 p {
  font-family: "Bitter", Georgia, Times, Times New Roman, serif;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.65;
  margin: 0;
}
section .headline p.reset, section h1 p.reset, section h2 p.reset {
  font-size: 1.1rem;
  /*letter-spacing: .1rem;*/
  line-height: 1.815rem;
  font-weight: 400;
  color: #707070;
  line-height: 1.3125rem;
}
@media (min-width: 767px) and (max-width: 991px) {
  section .headline p.reset, section h1 p.reset, section h2 p.reset {
    font-size: 1.1rem;
    line-height: 1.815rem;
  }
}
@media (max-width: 767px) {
  section .headline p.reset, section h1 p.reset, section h2 p.reset {
    font-size: 1.1rem;
    line-height: 1.815rem;
  }
}
@media (min-width: 577px) and (max-width: 992px) {
  section .headline p.reset, section h1 p.reset, section h2 p.reset {
    font-size: 1rem;
    line-height: 1.65rem;
  }
}
@media (min-width: 502px) and (max-width: 576px) {
  section .headline p.reset, section h1 p.reset, section h2 p.reset {
    font-size: 0.9rem;
    line-height: 1.65rem;
  }
}
@media (max-width: 501px) {
  section .headline p.reset, section h1 p.reset, section h2 p.reset {
    font-size: 0.9rem;
    line-height: 1.65rem;
  }
}
section .subheadline {
  font-size: 1.1rem;
  /*letter-spacing: .1rem;*/
  line-height: 1.815rem;
}
@media (min-width: 767px) and (max-width: 991px) {
  section .subheadline {
    font-size: 1.1rem;
    line-height: 1.815rem;
  }
}
@media (max-width: 767px) {
  section .subheadline {
    font-size: 1.1rem;
    line-height: 1.815rem;
  }
}
@media (min-width: 577px) and (max-width: 992px) {
  section .subheadline {
    font-size: 1rem;
    line-height: 1.65rem;
  }
}
@media (min-width: 502px) and (max-width: 576px) {
  section .subheadline {
    font-size: 0.9rem;
    line-height: 1.65rem;
  }
}
@media (max-width: 501px) {
  section .subheadline {
    font-size: 0.9rem;
    line-height: 1.65rem;
  }
}
section h1, section .headline {
  /*letter-spacing: 0.3rem;*/
  font-size: 3rem;
  font-family: "Open Sans", Arial, sans-serif;
}
@media (min-width: 1201px) and (max-width: 1400px) {
  section h1, section .headline {
    font-size: 2.7rem;
  }
}
@media (min-width: 993px) and (max-width: 1200px) {
  section h1, section .headline {
    font-size: 2.5rem;
  }
}
@media (min-width: 577px) and (max-width: 992px) {
  section h1, section .headline {
    /*letter-spacing: 0.22rem;*/
    font-size: 2.25rem;
  }
}
@media (min-width: 502px) and (max-width: 576px) {
  section h1, section .headline {
    font-size: 1.65rem;
    /*letter-spacing: 0.2rem;*/
  }
}
@media (max-width: 501px) {
  section h1, section .headline {
    font-size: 1.45rem;
    /*letter-spacing: 0.18rem;*/
  }
}
section h1.sfd, section .headline.sfd {
  /*letter-spacing: .22rem;*/
  font-size: 2.25rem;
  font-family: "Open Sans", Arial, sans-serif;
}
@media (min-width: 1201px) and (max-width: 1400px) {
  section h1.sfd, section .headline.sfd {
    font-size: 2rem;
  }
}
@media (min-width: 993px) and (max-width: 1200px) {
  section h1.sfd, section .headline.sfd {
    font-size: 1.75rem;
  }
}
@media (min-width: 577px) and (max-width: 992px) {
  section h1.sfd, section .headline.sfd {
    font-size: 1.65rem;
    /*letter-spacing: .2rem;*/
  }
}
@media (min-width: 502px) and (max-width: 576px) {
  section h1.sfd, section .headline.sfd {
    font-size: 1.45rem;
    /*letter-spacing: .18rem;*/
  }
}
@media (max-width: 501px) {
  section h1.sfd, section .headline.sfd {
    font-size: 1.25rem;
    /*letter-spacing: .1rem;*/
  }
}
section h2 {
  font-size: 1.25rem;
  /*letter-spacing: .1rem;*/
  font-weight: 600;
}
@media (min-width: 1201px) and (max-width: 1400px) {
  section h2 {
    font-size: 1.225rem;
  }
}
@media (min-width: 993px) and (max-width: 1200px) {
  section h2 {
    font-size: 1.2rem;
  }
}
@media (min-width: 767px) and (max-width: 991px) {
  section h2 {
    font-size: 1.15rem;
  }
}
@media (max-width: 767px) {
  section h2 {
    font-size: 1rem;
  }
}
section h3 {
  font-size: 1.1rem;
  /*letter-spacing: .1rem;*/
  line-height: 1.815rem;
  font-weight: 600;
}
@media (min-width: 767px) and (max-width: 991px) {
  section h3 {
    font-size: 1.1rem;
    line-height: 1.815rem;
  }
}
@media (max-width: 767px) {
  section h3 {
    font-size: 1.1rem;
    line-height: 1.815rem;
  }
}
@media (min-width: 577px) and (max-width: 992px) {
  section h3 {
    font-size: 1rem;
    line-height: 1.65rem;
  }
}
@media (min-width: 502px) and (max-width: 576px) {
  section h3 {
    font-size: 0.9rem;
    line-height: 1.65rem;
  }
}
@media (max-width: 501px) {
  section h3 {
    font-size: 0.9rem;
    line-height: 1.65rem;
  }
}
section div.content {
  font-size: 1.1rem;
  /*letter-spacing: .1rem;*/
  line-height: 1.815rem;
}
@media (min-width: 767px) and (max-width: 991px) {
  section div.content {
    font-size: 1.1rem;
    line-height: 1.815rem;
  }
}
@media (max-width: 767px) {
  section div.content {
    font-size: 1.1rem;
    line-height: 1.815rem;
  }
}
@media (min-width: 577px) and (max-width: 992px) {
  section div.content {
    font-size: 1rem;
    line-height: 1.65rem;
  }
}
@media (min-width: 502px) and (max-width: 576px) {
  section div.content {
    font-size: 0.9rem;
    line-height: 1.65rem;
  }
}
@media (max-width: 501px) {
  section div.content {
    font-size: 0.9rem;
    line-height: 1.65rem;
  }
}
section div.content div.image {
  display: inline;
}
section div.content div.image img, section div.content div.image picture, section div.content div.image picture > img {
  max-height: inherit;
  max-width: 100%;
}
section div.content p {
  font-family: "Bitter", Georgia, Times, Times New Roman, serif;
  letter-spacing: 0;
  text-transform: none;
}
section div.content p.sansserif, section div.content p.ssrf {
  font-family: "Open Sans", Arial, sans-serif;
}
section div.content p:first-of-type {
  margin-top: 0;
}
section div.content p:last-of-type {
  margin-bottom: 0;
}
section div.content p a {
  font-family: "Open Sans", Arial, sans-serif;
}
section div.content li {
  font-family: "Bitter", Georgia, Times, Times New Roman, serif;
  letter-spacing: 0;
  text-transform: none;
}
section div.content li.sansserif, section div.content li.ssrf {
  font-family: "Open Sans", Arial, sans-serif;
}
section div.content li a {
  font-family: "Open Sans", Arial, sans-serif;
}
section div.content ol {
  counter-reset: item;
  list-style: none;
  padding-left: 0;
  margin-left: 2.5rem;
  font-family: "Bitter", Georgia, Times, Times New Roman, serif;
  letter-spacing: 0;
  text-transform: none;
}
section div.content ol > li {
  display: block;
}
section div.content ol > li + li {
  margin-top: 0.7rem;
}
section div.content ol > li:before {
  content: counters(item, ".") ".";
  counter-increment: item;
  position: absolute;
  margin-left: -2.5rem;
  font-size: 85%;
}
section div.content ul {
  padding-left: 2rem;
}
section div.content ul > li {
  list-style-type: "—   ";
  list-style-position: outside;
}
section div.content ul > li::marker {
  color: rgb(190, 189, 0);
}
section .background_frame {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  min-height: 100%;
  right: 0;
  background-color: transparent;
}
section .background_frame picture, section .background_frame img {
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center top;
  height: 100%;
  width: 100%;
}

section.frontpage {
  height: 100vh;
  border-bottom: none;
}
section.frontpage.hnf {
  height: auto;
  min-height: 30vh;
}
section.frontpage.white .frm.inner .fp_headline {
  color: #707070;
}
section.frontpage .frm.inner {
  position: relative;
  overflow: hidden;
}
section.frontpage .frm.inner .fp_headline {
  position: relative;
  margin-top: 10vh;
  color: #FFF;
  /*letter-spacing: 0.39rem;*/
  font-size: 3.9rem;
  font-family: "Open Sans", Arial, sans-serif;
  font-weight: 700;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
}
@media (min-width: 1201px) and (max-width: 1400px) {
  section.frontpage .frm.inner .fp_headline {
    font-size: 3.51rem;
  }
}
@media (min-width: 993px) and (max-width: 1200px) {
  section.frontpage .frm.inner .fp_headline {
    font-size: 3.25rem;
  }
}
@media (min-width: 577px) and (max-width: 992px) {
  section.frontpage .frm.inner .fp_headline {
    /*letter-spacing: 0.286rem;*/
    font-size: 2.925rem;
  }
}
@media (min-width: 502px) and (max-width: 576px) {
  section.frontpage .frm.inner .fp_headline {
    font-size: 2.145rem;
    /*letter-spacing: 0.26rem;*/
  }
}
@media (max-width: 501px) {
  section.frontpage .frm.inner .fp_headline {
    font-size: 1.885rem;
    /*letter-spacing: 0.234rem;*/
  }
}
@media (min-width: 992px) {
  section.frontpage .frm.inner .fp_headline {
    margin-left: 4rem;
  }
}
section.frontpage .background_frame {
  top: auto;
  bottom: 0;
  padding-bottom: 5rem;
}
section.frontpage .background_frame picture, section.frontpage .background_frame img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  object-position: center center;
}
section.frontpage .background_frame:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: transparent;
  background-image: url("/media/layout/Moselhaus.png"), url("/media/layout/piesport.png"), url("/media/layout/moselshape2.svg");
  background-repeat: no-repeat;
  background-position: center calc(100% - 7rem), center calc(100% - 2rem), center top;
  background-size: 30rem, 15rem, cover;
  background-clip: border-box;
  padding-top: 36.65%;
}
@media (max-width: 768px) {
  section.frontpage .background_frame:after {
    background-position: center calc(100% - 6rem), center calc(100% - 2rem), center top;
    background-size: 25rem, 12.5rem, cover;
  }
}
@media (max-width: 576px) {
  section.frontpage .background_frame:after {
    background-position: center calc(100% - 15vw), center calc(100% - 4.5vw), center top;
    background-size: 60vw, 30vw, cover;
  }
}

header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
}
@media (max-width: 576px) {
  header {
    position: fixed;
  }
}
header > .frm.outer > .frm.inner { /* put here again, but for direct childs, so that other not affected */
  background-color: rgba(255, 255, 255, 0.9);
}
header > .frm.outer > .frm.inner > img {
  width: 199.98px;
  max-width: 50%;
  margin: 2px 0 16px 0;
  filter: drop-shadow(1px 2px 0px rgba(50, 50, 50, 0.7));
}
@media (max-width: 576px) {
  header > .frm.outer > .frm.inner > img {
    margin-bottom: 12px;
  }
}
@media (max-width: 501px) {
  header > .frm.outer > .frm.inner > img {
    margin-bottom: 10px;
  }
}
@media (max-width: 361px) {
  header > .frm.outer > .frm.inner > img {
    margin-bottom: 6px;
  }
}
header > .frm.outer .frm.inner {
  position: relative;
  overflow: hidden;
}

footer > .frm.outer > .frm.inner {
  padding-top: 3rem;
}
footer > .frm.outer > .frm.inner .fref {
  display: none;
}
@media (max-width: 768px) {
  footer > .frm.outer > .frm.inner .fref {
    display: block;
  }
}
@media (max-width: 501px) {
  footer > .frm.outer > .frm.inner .fref {
    display: block;
  }
}
footer > .frm.outer > .frm.inner.main {
  padding-top: 78%;
  background-color: #DDE9F5;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat-y;
  background-clip: border-box;
  background-image: url(/media/layout/Moselhaus.png), url(/media/layout/piesport.png), url(/media/layout/MoselShape_img2.svg), url(/media/layout/map.jpg), url(/media/layout/wasser3.jpg);
  background-position: calc(100% - 10rem) calc(100% - 10rem), calc(100% - 13.5rem) calc(100% - 6.2rem), center 588px, center top, center 1018px;
  background-size: 16rem, 9rem, 100%, 100%, 100%;
}
@media (max-width: 1200px) {
  footer > .frm.outer > .frm.inner.main {
    background-position: calc(100% - 10rem) 64vw, calc(100% - 13.5rem) calc(64vw + 5.3rem), center 49vw, center top, center 85vw;
    background-size: 16rem, 9rem, 100%, 100%, 100%;
  }
}
@media (max-width: 1060px) {
  footer > .frm.outer > .frm.inner.main {
    background-position: calc(100% - 10rem) calc(100% - 5.3rem), calc(100% - 13.5rem) calc(100% - 2.1rem), center 49vw, center top, center 85vw;
    background-size: 16rem, 9rem, 100%, 100%, 100%;
  }
}
@media (max-width: 768px) {
  footer > .frm.outer > .frm.inner.main {
    background-position: center 64vw, center calc(64vw + 5.3rem), center 49vw, center top, center 85vw;
    background-size: 16rem, 9rem, 100%, 100%, 100%;
  }
}
@media (max-width: 501px) {
  footer > .frm.outer > .frm.inner.main {
    background-position: center 64vw, center calc(64vw + 2.7rem), center 49vw, center top, center 85vw;
    background-size: 8rem, 4.5rem, 100%, 100%, 100%;
  }
}
footer > .frm.outer > .frm.inner.main::after {
  position: absolute;
  content: "Quelle: ©GeoBasis-DE / LVermGeoRP (2022), dl-de/by-2-0, http://www.lvermgeo.rlp.de";
  top: 0.5rem;
  left: 0.5rem;
  font-size: 0.5rem;
  color: #FFF;
  background: #5B5B5B;
  border-radius: 0.2rem;
  padding: 0.1rem 0.4rem;
  transform: rotateZ(-90deg) translate(-100%, 0px);
  transform-origin: top left;
}
footer .ft_logo {
  width: 9rem;
  margin: 2rem 0;
}
footer .ft_contact_frm {
  display: block;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
footer .ft_contactinfo p {
  margin: 0.3rem 0;
}
footer .ft_contactinfo .nw {
  white-space: nowrap;
}

/* ── OCMS stage banner (preview of unpublished changes) ────────────────────────────────────────────
   The banner (sites/shared/css/stagebanner.scss) is a fixed bar on top of the viewport. Everything that is
   fixed to the top edge must move down by its height; the normal flow gets the same amount as padding. */
:root {
  --ocms-stagebanner-height: 2rem;
}

body:has(.ocms-stagebanner) {
  padding-top: 2rem;
}
body:has(.ocms-stagebanner) header {
  top: 2rem; /* absolute on desktop, fixed on small screens: both start below the banner */
}