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

/***** Base Styles *****/
html {
  height: -webkit-fill-available;
}

body {
  color: black;
  font: 100% Helvetica, Arial, sans-serif;
  line-height: 1.4;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  min-height: -webkit-fill-available;
  /*ios vh hack*/
}

@media screen and (min-width: 910px) {
  body {
    height: 100vh;
    max-height: 100vh;
    overflow: hidden;
  }
}

body .home {
  min-height: 100vh;
  max-height: unset;
  height: 100%;
  overflow-y: auto;
  position: relative;
}

h1, h2, h3 {
  line-height: 1.1;
  margin-top: 0;
}

h1, .h1 {
  font-size: 2em;
}

@media (max-width: 430px) {
  h1, .h1 {
    font-size: 1.4em;
  }
}

h2, .h2 {
  font-size: 1.5em;
}

@media (max-width: 430px) {
  h2, .h2 {
    font-size: 1.2em;
  }
}

h3, .h3 {
  font-size: 1.1em;
}

@media (max-width: 430px) {
  h3 h3, h3 .h3, .h3 h3, .h3 .h3 {
    font-size: 1.1em;
  }
}

a {
  color: #0a8e62;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/***** Utilitie Classes *****/
.close, .close-st {
  /* Close Button */
  background: black url(/css/images/icon-close.svg) no-repeat center;
  background-size: cover;
  cursor: pointer;
  position: absolute;
  right: 1rem;
  top: 1rem;
  z-index: 100000;
  width: 30px;
  height: 30px;
  font-size: 0px;
}

@media screen and (max-width: 500px) {
  .close, .close-st {
    top: 2.5rem;
    right: 1.5rem;
  }
}

@media screen and (min-width: 910px) {
  .close, .close-st {
    top: 1.5rem;
    right: 1.5rem;
  }
}

.close:focus,
.close-st:focus {
  outline: 2px solid #0a8e62;
  outline-offset: 2px;
}

.close:hover,
.close-st:hover {
  background-color: #0a8e62;
}

.close-button {
  width: auto;
  font-size: 100%;
  background-color: black;
  background-image: url(/img/btn-zurueck.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%;
  color: white;
  text-decoration: none;
  position: static;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: .35em 1em;
  height: auto;
  margin: .5rem;
  border-radius: 0 12px 0 0;
}

.translate .close-button {
  background-image: url(/img/btn-back.svg);
}

.disabled {
  opacity: .5;
  pointer-events: none;
}

.ghost {
  opacity: 0;
}

/* Languages */
.en {
  display: none;
}

.translate .en {
  display: block;
}

.translate .de {
  display: none;
}

.header, .footer {
  display: none;
}

/* Big Header and Footer on Home */
.home .header {
  background: white;
  -webkit-box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.3);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100001;
  width: 100vw;
  height: 71px;
  display: block;
  overflow: hidden;
}

@media screen and (max-width: 320px) {
  .home .header {
    height: 60px;
  }
}

@media screen and (min-width: 910px) {
  .home .header {
    width: 100vw;
    height: 71px;
    display: block;
    overflow: hidden;
  }
}

.home .header .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: .5em;
  margin-left: auto;
  margin-right: auto;
  height: 100%;
}

@media screen and (max-width: 320px) {
  .home .header .container {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .home .header .container .site-nav ul {
    padding-left: 0;
  }
}

@media screen and (min-width: 910px) {
  .home .header .container {
    max-width: 1200px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: .5em 1em;
  }
}

.home .header .bkhs-logo {
  min-width: 120px;
  width: 100%;
  height: auto;
  display: block;
  margin: .25em 0;
}

@media screen and (max-width: 320px) {
  .home .header .bkhs-logo {
    width: 100px;
    min-width: 100px;
  }
}

@media screen and (max-width: 499px) {
  .home .header .bkhs-logo {
    width: 150px;
    min-width: 100px;
  }
}

@media screen and (min-width: 500px) {
  .home .header .bkhs-logo {
    max-width: unset;
    width: 160px;
  }
}

.home footer {
  background: #0a8e62;
  color: white;
  width: 100vw;
  height: 60px;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100001;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: .5em;
}

@media screen and (max-width: 400px) {
  .home footer {
    font-size: 85%;
  }
}

@media screen and (min-width: 910px) {
  .home footer {
    position: fixed;
    bottom: 0;
    z-index: 100001;
    max-height: 9vh;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.home footer ul {
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  padding: 0;
}

.home footer ul li {
  padding: 0 .5em 0 1.2em;
  text-align: right;
  display: inline-block;
}

.home footer a {
  color: white;
  text-decoration: none;
  font-weight: bold;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.home footer a img {
  height: 1em;
  margin-left: .25em;
}

.home footer a:hover {
  text-decoration: underline;
}

.home footer a:focus {
  text-decoration: none;
  outline-color: white;
}

.home footer .footer-item {
  font-weight: bold;
}

.site-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  margin: 0;
  position: relative;
}

.site-nav ul li {
  display: block;
  margin: 0 .25em;
  width: 40px;
  height: 40px;
  outline: 2px solid;
  position: relative;
}

.site-nav ul li:last-child {
  margin-right: 0;
}

@media screen and (max-width: 400px) {
  .site-nav ul li {
    width: 30px;
    height: 30px;
  }
}

@media screen and (min-width: 910px) {
  .site-nav ul li {
    margin: 0 .5em;
    width: 40px;
    height: 40px;
  }
}

.site-nav ul li.lang-1 {
  margin-right: 0;
}

.site-nav ul li.lang-2 {
  margin-left: 0;
}

.site-nav ul li a {
  color: black;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  width: 100%;
  text-decoration: none;
}

.site-nav ul li a.active, .site-nav ul li a:hover {
  background-color: black;
  color: white;
}

.site-nav ul li a.lactive, .site-nav ul li a.lactive:hover {
  background-color: black;
  color: white;
}

.site-nav ul li a .de, .site-nav ul li a .en {
  opacity: 0;
  font-size: 0;
}

.site-nav ul li .info {
  background-image: url(/img/nav-info-no-active.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 150%;
}

.site-nav ul li .info.active, .site-nav ul li .info:hover {
  background-image: url(/img/nav-info.svg);
}

.site-nav ul li .sign-lang {
  background: url(images/icon-hands-pos.svg) no-repeat center;
  background-size: 40px;
}

.site-nav ul li .sign-lang.active, .site-nav ul li .sign-lang:hover {
  background: url(images/icon-hands-neg.svg);
  background-size: 40px;
}

@media screen and (max-width: 400px) {
  .site-nav ul li .sign-lang.active, .site-nav ul li .sign-lang:hover {
    background-size: 30px;
  }
}

@media screen and (max-width: 400px) {
  .site-nav ul li .sign-lang {
    background-size: 30px;
  }
}

.site-nav ul li .easy-lang {
  background: url(images/icon-EasyLang-b.svg) no-repeat center;
  background-size: contain;
}

.site-nav ul li .easy-lang.active, .site-nav ul li .easy-lang:hover {
  background: black url(images/icon-EasyLang-w.svg);
  background-size: contain;
}

.site-nav ul .bf-sign-lang,
.site-nav ul .bf-easy-lang {
  display: none;
}

.site-nav li.lang-1 a {
  background-image: url(/img/nav-DE-no-active.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.site-nav li.lang-1 a.lactive {
  background-image: url(/img/nav-DE.svg);
}

.site-nav li.lang-1 a:hover {
  background-image: url(/img/nav-DE.svg);
}

.site-nav li.lang-2 a {
  background-image: url(/img/nav-EN-no-active.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.site-nav li.lang-2 a.lactive {
  background-image: url(/img/nav-EN.svg);
}

.site-nav li.lang-2 a:hover {
  background-image: url(/img/nav-EN.svg);
}

/* Change active language */
/* Overlay on Home */
.intro-wrapper {
  background-color: rgba(0, 0, 0, 0.6);
  display: none;
  position: absolute;
  z-index: 100000;
  width: 100vw;
  height: 100%;
  min-height: 100vh;
}

@media screen and (min-width: 910px) {
  .intro-wrapper {
    top: 0;
    height: 100vh;
    min-height: unset;
  }
}

.home .intro-wrapper {
  display: block;
}

/***** PopUp Pages *****/
#loader {
  width: 100vw;
  height: 100vh;
  position: absolute;
}

.loader {
  display: inline-block;
  width: 50px;
  height: 50px;
  position: relative;
  border: 4px solid white;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-animation: loader 2s infinite ease;
          animation: loader 2s infinite ease;
}

.loader .loader-inner {
  vertical-align: top;
  display: inline-block;
  width: 100%;
  background-color: white;
  -webkit-animation: loader-inner 2s infinite ease-in;
          animation: loader-inner 2s infinite ease-in;
}

@-webkit-keyframes loader {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  25% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  50% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  75% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes loader {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  25% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  50% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  75% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@-webkit-keyframes loader-inner {
  0% {
    height: 0%;
  }
  25% {
    height: 0%;
  }
  50% {
    height: 100%;
  }
  75% {
    height: 100%;
  }
  100% {
    height: 0%;
  }
}

@keyframes loader-inner {
  0% {
    height: 0%;
  }
  25% {
    height: 0%;
  }
  50% {
    height: 100%;
  }
  75% {
    height: 100%;
  }
  100% {
    height: 0%;
  }
}

.dialog {
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 99999;
  width: 100vw;
  height: 100%;
  display: none;
}

@media screen and (min-width: 910px) {
  .dialog {
    background-color: rgba(0, 0, 0, 0.6);
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 99999;
    height: 100vh;
  }
  .dialog .dialog-inner {
    display: -ms-grid;
    display: grid;
    place-items: center;
    height: 100vh;
    -ms-grid-rows: 71px 1fr 39px;
    -ms-grid-columns: 10vw 80vw 10vw;
        grid-template: 71px 1fr 39px / 10vw 80vw 10vw;
  }
}

.page, .intro-page {
  background: white;
  position: relative;
  margin: 0 auto;
  padding-top: 2em;
  height: 100%;
  width: 100%;
}

@media screen and (min-width: 910px) {
  .page, .intro-page {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    height: 90vh;
    width: 80vw;
    max-width: 1200px;
    -webkit-box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.3);
    overflow-y: hidden;
  }
}

.home .intro-page {
  margin-top: 70px;
  padding-top: 0;
  overflow-x: hidden;
  min-height: 100vh;
}

@media screen and (max-width: 320px) {
  .home .intro-page {
    margin-top: 60px;
  }
}

@media screen and (min-width: 910px) {
  .home .intro-page {
    margin-top: 0;
    padding-top: 0;
    height: 70vh;
    max-height: 798px;
    min-height: unset;
  }
}

.home .intro-page .intro-img {
  max-height: 40vh;
  display: block;
}

@media screen and (min-width: 910px) {
  .home .intro-page .intro-img {
    max-height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}

.home .intro-page .page-inner {
  background: -webkit-gradient(linear, left top, right top, color-stop(30%, white), color-stop(30%, #0a8e62)) top;
  background: linear-gradient(to right, white 30%, #0a8e62 30%) top;
  background-repeat: no-repeat;
  background-size: 100% 4px;
  position: relative;
}

@media screen and (min-width: 910px) {
  .home .intro-page .page-inner {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: none;
  }
}

.home .intro-page .page-inner::after {
  background: url(/css/images/copyDPA.png) no-repeat center;
  background-size: contain;
  content: "";
  width: 58px;
  height: 15px;
  position: absolute;
  top: -25px;
  left: 10px;
  z-index: 1;
}

@media screen and (min-width: 910px) {
  .home .intro-page .page-inner::after {
    top: auto;
    bottom: 10px;
  }
}

@media screen and (min-width: 910px) {
  .home .intro-page .page-inner .content {
    background: rgba(255, 255, 255, 0.8);
    width: 50%;
    height: 100%;
    margin: 0 0 0 auto;
    padding-right: 2.5em;
    padding-top: 5em;
    overflow-y: auto;
  }
}

.home .intro-page .page-inner .content .content-inner {
  padding: 2em;
}

.home .intro-page .page-inner .content .content-inner .close-button {
  background-image: url(/img/btn-losgehts.svg);
  background-position: center 58%;
  width: 160px;
  height: 40px;
}

@media screen and (min-width: 910px) {
  .home .intro-page .page-inner .content .content-inner {
    padding: 0 3em;
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto 1fr auto;
        grid-template-rows: auto 1fr auto;
    max-height: 70vh;
  }
}

.translate .intro-page .page-inner .content .content-inner .close-button {
  background-image: url(/img/btn-lets-go.svg);
}

.page .content {
  margin: 0 3rem 4rem;
  padding-top: 4rem;
  height: auto;
}

@media screen and (max-width: 500px) {
  .page .content {
    margin: 3.5rem 1.5rem 0;
  }
}

@media screen and (min-width: 910px) {
  .page .content {
    margin: 4rem 3rem;
    padding: 0;
    overflow-x: hidden;
  }
}

.dialog .page {
  width: 100vw;
  height: 100%;
  /*****  Dialog page heading *****/
}

.dialog .page .close {
  top: 2rem;
}

.dialog .page .close-button {
  margin-left: .25em;
  margin-bottom: 2rem;
  width: 160px;
  height: 40px;
}

@media screen and (min-width: 910px) {
  .dialog .page {
    height: 100vh;
    max-width: 911px;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: .25em;
  }
}

.dialog .page .content {
  margin: 2rem 3rem 4rem;
}

@media screen and (max-width: 500px) {
  .dialog .page .content {
    margin: 3.5rem 1.5rem 0;
  }
}

.dialog .page .cat-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.dialog .page .cat-container span {
  padding-left: .15em;
}

.dialog .page .heading {
  padding-top: 1em;
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 1fr 1fr;
  -ms-grid-columns: auto 1fr;
      grid-template: 1fr 1fr / auto 1fr;
  margin-bottom: 1rem;
}

.dialog .page .heading h2 {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
  margin-bottom: 0;
}

.dialog .page .heading p {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 2;
  grid-row: 2;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  padding: 0;
}

.dialog .page .heading .poi-id {
  -ms-grid-column: 1;
  grid-column: 1;
  grid-row: 1/-1;
  background: url(/img/marker.svg) no-repeat center;
  background-size: contain;
  display: inline-block;
  height: 50px;
  width: 50px;
  position: relative;
}
.dialog .page .heading .poi-id.poi-idStandard {
  background: url(/img/marker.svg) no-repeat center;
  background-size: contain;
}
.dialog .page .heading .poi-id.poi-id.poi-idRot {
  background: url(/img/BKHS-Pin-Rot.svg) no-repeat center;
  background-size: contain;
}
.dialog .page .heading .poi-id.poi-id.poi-idBlau {
  background: url(/img/BKHS-Pin-Blau.svg) no-repeat center;
  background-size: contain;
}
.dialog .page .heading .poi-id.poi-id.poi-idGelb {
  background: url(/img/BKHS-Pin-Gelb.svg) no-repeat center;
  background-size: contain;
}


@media screen and (min-width: 500px) {
  .dialog .page .heading .poi-id {
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
  }
}

.dialog .page .heading .poi-id em {
  font-size: 0;
  opacity: 0;
}

.dialog .page .heading .poi-id .number {
  display: block;
  width: auto;
  border-radius: 50%;
  position: absolute;
  top: 20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 90%;
  font-weight: bold;
  color: white;
  line-height: 1;
  text-align: center;
}

@media screen and (min-width: 910px) {
  .dialog .page {
    overflow: hidden;
    overflow-y: auto;
    padding-top: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    right: auto;
    bottom: auto;
    height: 90vh;
    max-width: 911px;
  }
}

.content-inner {
  width: 100%;
  height: auto;
}

.content-inner .close-button {
  margin-left: 0;
  margin-bottom: 2rem;
  width: 160px;
  height: 40px;
}

@media screen and (min-width: 910px) {
  .content-inner {
    width: 100%;
    margin-left: auto;
    padding-left: 5%;
  }
}

.content-inner::after {
  content: "";
  display: block;
  height: 4rem;
}

.content-inner .cc-text .close-button {
  width: 160px;
  height: 40px;
}

@media screen and (min-width: 910px) {
  .content-inner,
  .cc-text {
    /* Padding for scrollbar */
    padding-right: 2em;
    padding-bottom: 2em;
  }
}

/***** Dialog Static Gebaerden- u. Leichte Sprache *****/
.dialogSt {
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 99999;
  width: 100vw;
  height: calc(100% - 70px);
  display: none;
}

.dialogSt .ls-page, .dialogSt .sl-page, .dialogSt .impressum-page {
  background: white;
  height: 100%;
  width: 100vw;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (min-width: 910px) {
  .dialogSt .ls-page, .dialogSt .sl-page, .dialogSt .impressum-page {
    height: 70vh;
    width: 80vw;
    max-width: 911px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.3);
    overflow: hidden;
  }
}

.dialogSt .ls-page .page-inner, .dialogSt .sl-page .page-inner, .dialogSt .impressum-page .page-inner {
  background: white;
}

.dialogSt .ls-page .page-inner .content, .dialogSt .sl-page .page-inner .content, .dialogSt .impressum-page .page-inner .content {
  margin-top: 0;
}

@media screen and (min-width: 910px) {
  .dialogSt .ls-page .page-inner .content, .dialogSt .sl-page .page-inner .content, .dialogSt .impressum-page .page-inner .content {
    overflow: hidden;
  }
}

.dialogSt .ls-page .content-inner, .dialogSt .sl-page .content-inner, .dialogSt .impressum-page .content-inner {
  overflow-x: hidden;
  padding: 3em 1em 3em;
}

@media screen and (min-width: 910px) {
  .dialogSt .ls-page .content-inner, .dialogSt .sl-page .content-inner, .dialogSt .impressum-page .content-inner {
    width: 100%;
    -webkit-transform: unset;
            transform: unset;
    overflow-y: auto;
    padding-top: 0;
    padding-left: 0;
    padding: 0;
    margin-left: 0;
  }
}

.dialogSt .ls-page .content-inner .intro-text, .dialogSt .sl-page .content-inner .intro-text, .dialogSt .impressum-page .content-inner .intro-text {
  max-width: 79ch;
  margin: 0 auto;
}

/* Dialog Static on Home */
.home .dialogSt {
  background: white;
  position: absolute;
  z-index: 100000;
  top: 71px;
  left: 0;
  width: 100vw;
  display: none;
  padding-bottom: 70px;
}

@media screen and (min-width: 910px) {
  .home .dialogSt {
    background: transparent;
    top: 0;
  }
}

.home .dialogSt .ls-page, .home .dialogSt .sl-page, .home .dialogSt .impressum-page {
  display: none;
  background: white;
  height: auto;
}

@media screen and (min-width: 910px) {
  .home .dialogSt .ls-page, .home .dialogSt .sl-page, .home .dialogSt .impressum-page {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 80vw;
    height: 70vh;
    margin: 45px auto 0;
    overflow: hidden;
    overflow-Y: auto;
    padding-bottom: 0;
  }
}

.home .dialogSt .ls-page .close-st, .home .dialogSt .sl-page .close-st, .home .dialogSt .impressum-page .close-st {
  top: 2rem;
}

.home .dialogSt .ls-page .page-inner, .home .dialogSt .sl-page .page-inner, .home .dialogSt .impressum-page .page-inner {
  height: 100%;
  padding: 0;
  margin-top: 70px;
  position: relative;
}

@media screen and (min-width: 910px) {
  .home .dialogSt .ls-page .page-inner, .home .dialogSt .sl-page .page-inner, .home .dialogSt .impressum-page .page-inner {
    height: auto;
    overflow: hidden;
    margin-top: 0;
  }
}

.home .dialogSt .ls-page .content, .home .dialogSt .sl-page .content, .home .dialogSt .impressum-page .content {
  height: 100%;
}

@media screen and (min-width: 910px) {
  .home .dialogSt .ls-page .content, .home .dialogSt .sl-page .content, .home .dialogSt .impressum-page .content {
    margin: 0 3rem 4rem;
  }
}

.home .dialogSt .ls-page .content-inner, .home .dialogSt .sl-page .content-inner, .home .dialogSt .impressum-page .content-inner {
  padding-top: 3em;
  width: 95%;
  height: 100%;
  overflow-y: unset;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 910px) {
  .home .dialogSt .ls-page .content-inner, .home .dialogSt .sl-page .content-inner, .home .dialogSt .impressum-page .content-inner {
    -webkit-transform: unset;
            transform: unset;
    overflow-y: auto;
  }
}

.home .dialogSt .ls-page .content-inner .intro-text, .home .dialogSt .sl-page .content-inner .intro-text, .home .dialogSt .impressum-page .content-inner .intro-text {
  max-width: 79ch;
}

/***** Scrollbars Styles *****/
* {
  /* Works on Firefox */
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0);
}

/* Works on Chrome, Edge, and Safari */
*::-webkit-scrollbar {
  width: 8px;
}

*::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0);
}

*::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.6);
  border-radius: 20px;
}

/*****  Media styles image, caroussel, video, audio *****/
.media {
  width: 100%;
  margin-bottom: 1rem;
  text-align: center;
}

@media screen and (min-width: 910px) {
  .media {
    margin-right: 2rem;
  }
}

.media img {
  max-width: 100%;
  width: auto;
  display: inline-block;
  -o-object-fit: cover;
     object-fit: cover;
}

.media .copyrights {
  padding-top: 0.5rem;
}

.media .copyrights span {
  display: block;
  font-size: .7em;
}

.media video {
  max-width: 100%;
  max-height: 100%;
}

.media audio {
  width: 100%;
}

/*****  Media caroussel styles (Swiper) *****/
.swiper-slide {
  background: rgba(0, 0, 0, 0);
  position: relative;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.media .swiper-slide .copyrights {
  background: #ffffff;
  width: 100%;
  height: auto;
  padding: 0 .5em 1.65em;
}

.media .swiper-slide .copyrights span {
  justify-self: flex-start;
  text-align: center;
}

.page .content p {
  line-height: 1.3;
  padding: 0 0 1em;
  margin: 0;
}

@media screen and (min-width: 910px) {
  .page .content p {
    padding: 0 .5em 1em;
  }
}

.page .content p:first-of-type {
  margin-top: 0;
  padding-top: 0;
}

/***** Map Styles *****/
.map-wrapper {
  position: relative;
}

.map-wrapper .mapTitle {
  display: none;
  position: absolute;
  z-index: 400;
  top: 2rem;
  padding: .25em .5em;
  font-size: 1.2em;
  background: rgba(10, 142, 98, 0.7);
  text-shadow: 1px 1px black;
  color: white;
  -webkit-box-shadow: 4px 4px 15px 0 rgba(0, 0, 0, 0.5);
          box-shadow: 4px 4px 15px 0 rgba(0, 0, 0, 0.5);
}

.map {
  width: calc(100vw - 48px);
  height: 100vh;
  position: absolute;
  top: 0px;
  left: 0px;
  outline: none;
}

.home .map {
  width: 100vw;
}

.map-controls {
  position: absolute;
  top: 0;
  right: 0px;
  z-index: 401;
  background: white;
  height: 100vh;
  width: 50px;
  -webkit-box-shadow: -6px 0 10px 0 rgba(0, 0, 0, 0.1);
          box-shadow: -6px 0 10px 0 rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.map-controls:focus {
  outline: none;
}

@media (max-height: 440px) and (orientation: landscape) {
  .map-controls {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 55px;
  }
}

@media screen and (min-width: 910px) {
  .map-controls {
    padding: 1em 0 3rem;
    background: white;
  }
}

.home .map-controls {
  display: none;
}

.map-controls .brand {
  width: 35px;
  margin: 1em auto;
}

.map-controls .brand a {
  display: block;
  height: 35px;
}

.map-menu-nav {
  background: white;
  width: 300px;
  height: auto;
  position: absolute;
  top: 60px;
  right: 10px;
  right: -320px;
  z-index: 402;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
  display: none;
}

.map-menu-nav .map-menu-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: auto;
}

.map-menu-nav .map-menu-inner .site-nav {
  margin-top: 3rem;
}

.map-menu-nav .map-menu-inner .site-nav ul {
  padding-left: 0;
}

.map-menu-nav .map-menu-inner .site-nav ul li:first-child {
  margin-left: 1rem;
}

.map-menu-nav .map-menu-inner .link-list {
  padding-left: 0;
  margin-top: 4rem;
  margin-bottom: 0.5rem;
  width: 100%;
}

.map-menu-nav .map-menu-inner .link-list li {
  line-height: 3;
  padding: 0 1em;
  display: inline-block;
}

.map-menu-nav .map-menu-inner .link-list li a {
  text-decoration: none;
  color: #000000;
  border-bottom: 1px solid white;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.map-menu-nav .map-menu-inner .link-list li a:hover {
  border-bottom: 1px solid black;
}

.map-menu-nav .map-menu-inner .link-list li a::before {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  background: url(images/icon-ext-link.svg) no-repeat right bottom;
  background-size: .75em;
  margin-right: .2em;
}

.map-menu-nav.is-open {
  right: 10px;
  -webkit-animation: move1 .5s ease-in forwards;
          animation: move1 .5s ease-in forwards;
  display: block;
}

.btn.map-menu-nav-close {
  background: #000000 url(/css/images/icon-close.svg) no-repeat center;
  width: 30px;
  height: 30px;
  cursor: pointer;
  position: absolute;
  top: .5em;
  right: 1em;
}

.map-controls-nav {
  margin: auto;
  padding: 1em 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  border-top: 1px solid rgba(0, 0, 0, 0.25);
}

@media screen and (min-width: 910px) {
  .map-controls-nav {
    padding: 0;
    border-top: none;
  }
  .map-controls-nav::before {
    content: "";
    display: block;
    border-bottom: 1px solid rgba(0, 0, 0, 0.3);
    margin-bottom: .5rem;
    padding-top: .5rem;
  }
}

.map-controls-nav li {
  list-style-type: none;
  margin: 0;
  padding: .25em 0 0;
}

@media screen and (min-width: 910px) {
  .map-controls-nav li {
    padding: 0;
  }
}

.map-controls button {
  background-color: transparent;
  padding: 0;
  border: none;
  width: 30px;
  height: 30px;
  overflow: hidden;
  cursor: pointer;
}

.map-controls button.map-menu {
  width: 30px;
  margin: 0 auto 2em;
}

@media screen and (min-width: 910px) {
  .map-controls button.map-menu {
    margin: 1rem 0 0;
  }
}

.map-controls button.map-menu:hover .icon-menu {
  stroke: #0a8e62;
}

.map-controls .route-icon .open-map {
  height: 31.5px;
}

.map-controls .route-icon .open-routes {
  height: auto;
  border-bottom: 1px solid rgba(0, 0, 0, 0.25);
  margin-bottom: .5rem;
  padding-bottom: .5rem;
}

.map-controls .route-icon .btn .open-routes {
  margin-bottom: 1em;
}

.map-controls button:focus {
  outline: 2px solid #0a8e62;
  outline-offset: 2px;
}

.map-controls button:hover .map-icon-location path,
.map-controls button:hover .map-icon-zoomOut path,
.map-controls button:hover .map-icon-zoomIn path,
.map-controls .btn.open-routes:hover .map-icon-walking path,
.map-controls .btn.open-routes.active .map-icon-walking path {
  fill: #0a8e62;
}

.map-controls button span,
.map-controls .route-icon a span,
.btn.map-menu-nav-close span {
  opacity: 0;
  font-size: 0;
}

.map-icon-zoomIn,
.map-icon-zoomOut,
.map-icon-location {
  width: 20px;
}

.route-map {
  width: 30px;
  margin: auto 0 0;
  padding-top: 1em;
}

@media screen and (min-width: 910px) {
  .route-map {
    position: relative;
    padding-top: 0;
    border-top: none;
  }
}

.map-icon-walking {
  width: auto;
  height: 30px;
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.route-icon a:focus .map-icon-walking {
  outline: 2px solid #0a8e62;
  outline-offset: 2px;
}

.map-icon-map {
  width: 20px;
}

.route-icon a:hover .map-icon-walking path,
.map-icon-list #Icon_awesome-list-ul:hover,
.map-icon-map #Icon_awesome-map:hover {
  fill: #0a8e62;
}

.open-list svg {
  width: 20px;
}

.open-list.active svg,
.open-map.active #Icon_awesome-map {
  fill: #0a8e62;
}

/* Route navigation */
.routes {
  background: white;
  padding: 1em;
  position: fixed;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -320px;
  z-index: 1000;
  min-width: 300px;
  -webkit-box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.3);
  display: none;
}

.routes.open-menu {
  display: block;
  max-height: calc(100vh - 10em);
  overflow: hidden;
  right: 0px;
  -webkit-animation: move1 .8s ease-out forwards;
          animation: move1 .8s ease-out forwards;
}

.routes.open-menu .routes-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.routes.close-menu,
.map-menu-nav.is-closed {
  display: block;
  -webkit-animation: move2 .8s ease-in forwards;
          animation: move2 .8s ease-in forwards;
}

@media (max-height: 440px) and (orientation: landscape) {
  .map-controls svg {
    height: 20px;
  }
  .map-controls .brand {
    width: 20px;
    margin: 1em auto 0;
  }
  .map-controls button.map-menu {
    margin: 0 auto 0;
    width: 20px;
  }
}

@-webkit-keyframes move1 {
  0% {
    right: -320px;
  }
  100% {
    right: 0px;
  }
}

@keyframes move1 {
  0% {
    right: -320px;
  }
  100% {
    right: 0px;
  }
}

@-webkit-keyframes move2 {
  0% {
    right: 0px;
  }
  100% {
    right: -320px;
  }
}

@keyframes move2 {
  0% {
    right: 0px;
  }
  100% {
    right: -320px;
  }
}

.routes-inner {
  max-height: calc(100vh - 10em);
  overflow-y: auto;
  margin-top: 3rem;
  margin-bottom: 3rem;
}

@media screen and (min-width: 910px) {
  .routes-inner {
    padding-bottom: 0;
  }
}

.routes.open-menu > a.btn {
  background: #000000 url(/css/images/icon-close.svg) no-repeat center;
  width: 30px;
  height: 30px;
  cursor: pointer;
  position: absolute;
  top: 10px;
  right: 10px;
}

.routes.open-menu > a.btn:hover {
  background: #0a8e62 url(/css/images/icon-close.svg) no-repeat center;
}

.routes.open-menu a .route-name,
.routes.open-menu a .route-distance {
  display: block;
  font-size: 1em;
  width: auto;
  height: auto;
}

.route-items {
  list-style: none;
  padding-left: 0;
  margin: .5em .5em 0 0;
}

.route-items li {
  padding: 0 0 .35em 0;
  margin-bottom: .5em;
}

.route-items li a {
  color: black;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-decoration: none;
  line-height: 1.25;
  margin-left: .5em;
  padding-left: 1em;
}

.route-items li a:hover {
  color: #0a8e62;
}

.route-items li a.active {
  background-image: url(/css/images/icon-route-close.png);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 11px;
  color: #0a8e62;
  font-weight: bold;
}

.route-type-heading {
  font-size: 1.15em;
  padding-left: 20px;
  width: calc(100% - 1.8em);
}

.route-type-heading span {
  display: none;
}

.route-type-0::after {
  content: "";
  display: block;
  height: 2px;
  margin: 1em auto;
  width: 70%;
  background: rgba(0, 0, 0, 0.15);
}

.route-type-0 .route-type-heading {
  background: transparent url(/css/images/icon-schmidt-walks.svg) no-repeat left center;
  background-size: 12px auto;
}

.route-type-1 .route-type-heading {
  background: transparent url(/css/images/icon-themen.svg) no-repeat left center;
  background-size: auto 16px;
}

/* Copyrights */
.map-copyrights {
  font-size: .7em;
  height: auto;
  position: absolute;
  left: 1em;
  bottom: 0;
  z-index: 400;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  -webkit-transform-origin: left;
          transform-origin: left;
}

@media screen and (min-width: 910px) {
  .map-copyrights {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100vw;
    bottom: .8rem;
    left: auto;
    -webkit-transform: none;
            transform: none;
  }
}

.map-copyrights-inner {
  background-color: rgba(255, 255, 255, 0.6);
  padding: .2em;
}

.map-copyrights-inner a {
  color: black;
  text-decoration: none;
  display: inline-block;
}

.map-copyrights-inner a:focus {
  outline: 2px solid #0a8e62;
  outline-offset: 2px;
}

.map-copyrights-inner a:hover {
  color: #0a8e62;
  text-decoration: underline;
}

/* Leaflet styles */
.leaflet-tile-pane {
  -webkit-filter: grayscale(90%) invert(0) brightness(0.85) contrast(1.5);
          filter: grayscale(90%) invert(0) brightness(0.85) contrast(1.5);
}

.number-icon {
  width: 24px !important;
  height: 24px !important;
  margin-left: -12px !important;
  margin-top: -12px !important;
  border-radius: 18px;
  border: 2px solid #3F51B5;
  text-align: center;
  color: #3F51B5;
  background-color: #fff;
  font-size: 16px;
}

.overview .number-icon {
  width: 48px !important;
  height: 48px !important;
  margin-left: -24px !important;
  margin-top: -24px !important;
  border-radius: 36px;
  font-size: 32px;
}

.zoom-in .number-icon {
  width: 36px !important;
  height: 36px !important;
  margin-left: -18px !important;
  margin-top: -18px !important;
  border-radius: 24px;
  font-size: 25px;
}

.number-icon.red {
  background-color: red;
  color: white;
}

.number-icon.yellow {
  background-color: yellow;
}

.number-icon.green {
  background-color: lightgreen;
}

.leaflet-container a {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.leaflet-tooltip.my-label .tooltip h3,
.leaflet-tooltip.my-label .tooltip p {
  margin: 0 !important;
}

.leaflet-tooltip.my-label .tooltip h3 {
  margin-bottom: .25em !important;
}

svg.rotate {
  -webkit-animation: 2s linear infinite rotate-animation;
          animation: 2s linear infinite rotate-animation;
  max-width: 100px;
}

@-webkit-keyframes rotate-animation {
  0% {
    -webkit-transform: rotateZ(0deg);
            transform: rotateZ(0deg);
  }
  100% {
    -webkit-transform: rotateZ(360deg);
            transform: rotateZ(360deg);
  }
}

@keyframes rotate-animation {
  0% {
    -webkit-transform: rotateZ(0deg);
            transform: rotateZ(0deg);
  }
  100% {
    -webkit-transform: rotateZ(360deg);
            transform: rotateZ(360deg);
  }
}

svg.rotate circle {
  -webkit-animation: 1.4s ease-in-out infinite both circle-animation;
          animation: 1.4s ease-in-out infinite both circle-animation;
  display: block;
  fill: transparent;
  stroke: #2f3d4c;
  stroke-linecap: round;
  stroke-dasharray: 283;
  stroke-dashoffset: 280;
  stroke-width: 10px;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

@-webkit-keyframes circle-animation {
  0%, 25% {
    stroke-dashoffset: 280;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  50%, 75% {
    stroke-dashoffset: 75;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  100% {
    stroke-dashoffset: 280;
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes circle-animation {
  0%, 25% {
    stroke-dashoffset: 280;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  50%, 75% {
    stroke-dashoffset: 75;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  100% {
    stroke-dashoffset: 280;
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

.leaflet-control-locate a .gpspos {
  fill: #444;
}

.leaflet-control-locate.active a .gpspos {
  fill: #2074b6;
}

.leaflet-control-locate.active.following a .gpspos {
  fill: #fc8428;
}

/***** List view  ****/
.list {
  height: 100vh;
  width: calc(100vw - 55px);
  background-size: cover;
  overflow-y: auto;
  display: none;
}

@media screen and (min-width: 910px) {
  .list {
    background: url(images/Kattrepel_10_BKHS-BG-mit-copyright.jpg) no-repeat left top;
    background-size: contain;
    height: 100vh;
    min-height: unset;
    overflow: hidden;
  }
}

.list .list-close {
  background: black url(/css/images/icon-close.svg) no-repeat center;
  background-size: cover;
  cursor: pointer;
  position: absolute;
  width: 30px;
  height: 30px;
  font-size: 0px;
  top: 1rem;
  right: 4rem;
  z-index: 99998;
}

.list .list-close:hover {
  background-color: #0a8e62;
}

@media screen and (min-width: 910px) {
  .list .list-close {
    top: 2rem;
    right: 6rem;
  }
}

.list .list-bg-copyrights {
  display: none;
}

.list .list-inner {
  background: #FFFFFF;
  padding: 2em 1em;
  overflow-x: hidden;
  height: 100vh;
  overflow-y: auto;
}

@media screen and (min-width: 910px) {
  .list .list-inner {
    margin-left: 20vw;
    -webkit-box-shadow: -6px -10px 10px 0 rgba(0, 0, 0, 0.1);
            box-shadow: -6px -10px 10px 0 rgba(0, 0, 0, 0.1);
    height: 100vh;
    overflow-y: auto;
    padding: 3em;
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto 1fr auto;
    -ms-grid-columns: 1fr;
        grid-template: auto 1fr auto / 1fr;
  }
}

.list .list-inner li {
  margin-bottom: .5em;
}

.list .list-inner h1, .list .list-inner h2, .list .list-inner p, .list .list-inner li {
  margin-top: 0;
}

@media screen and (max-width: 375px) {
  .list .list-inner h1, .list .list-inner h2, .list .list-inner p, .list .list-inner li {
    max-width: calc(100% - 50px);
  }
}

@media screen and (min-width: 910px) {
  .list .list-inner h1, .list .list-inner h2, .list .list-inner p, .list .list-inner li {
    max-width: 79ch;
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content;
  }
}

.list .list-inner h1 {
  margin-bottom: 2rem;
  display: inline-block;
}

.list .list-inner h2 {
  line-height: 1.2;
  margin-bottom: .25em;
}

.list .list-inner h2, .list .list-inner p {
  margin-left: .35em;
}

.list .list-inner .list-items {
  margin: 0;
  padding: 0;
  list-style: none;
}

.list .list-inner .list-items a {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto 1fr;
  -ms-grid-columns: auto 1fr;
      grid-template: auto 1fr / auto 1fr;
  text-decoration: none;
  color: black;
  -webkit-transition: -webkit-transform .2s ease;
  transition: -webkit-transform .2s ease;
  transition: transform .2s ease;
  transition: transform .2s ease, -webkit-transform .2s ease;
  -webkit-transform-origin: left;
          transform-origin: left;
}

.list .list-inner .list-items a:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.list .list-inner .list-items a p {
  margin-bottom: 0;
}

.list .list-inner .list-items a .pin {
  background: url(images/HS-PIN.svg) no-repeat top center;
  background-size: 35px 48px;
  width: 35px;
  font-size: 14px;
  font-weight: bold;
  color: white;
  text-align: center;
  padding-top: 17px;
  -ms-grid-column: 1;
  grid-column: 1;
  grid-row: 1/-1;
}
.list .list-inner .list-items a .pin.pinStandard {
  background: url(images/HS-PIN.svg) no-repeat top center;
  background-size: 35px 48px;
}
.list .list-inner .list-items a .pin.pinRot {
  background: url(/img/BKHS-Pin-Rot.svg) no-repeat top center;
  background-size: 35px 48px;
}
.list .list-inner .list-items a .pin.pinGelb {
  background: url(/img/BKHS-Pin-Gelb.svg) no-repeat top center;
  background-size: 35px 48px;
}
.list .list-inner .list-items a .pin.pinBlau {
  background: url(/img/BKHS-Pin-Blau.svg) no-repeat top center;
  background-size: 35px 48px;
}

@media screen and (min-widt: 910px) {
  .list .list-inner .list-items a .pin {
    background-size: 45px 58px;
    width: 45px;
    font-size: 14px;
    padding-top: 21px;
  }
}

#listHeader {
  display: inline-block;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
}

.home .list,
body:not(.home) footer {
  display: none !important;
}

:focus {
  outline-offset: 2px;
}

/* Single Poi Pages View */
.poipage {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: url(/css/images/BKHS-MapBG.jpg) no-repeat top right;
  background-size: cover;
  height: 100%;
  min-height: 100vh;
  max-height: unset;
  overflow-y: auto;
  position: relative;
}

.poipage::after {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  position: absolute;
  background: rgba(0, 0, 0, 0.6);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  min-height: 100vh;
  z-index: -1;
}

.poipage .close.close-button {
  margin-left: 0;
  /*HA 31.08.22 browsers showing close button too small*/
  width: 160px;
  height: 40px;
}

.poipage .poi-wrapper {
  width: auto;
  position: relative;
  /*HA 31.08.22 chrome shows top not all*/
  height: 100vh;
  overflow: auto;
  margin-bottom: -1px;
  overflow-x:hidden;
}

.poipage .content {
  background: white;
  background-size: 60px;
  -webkit-box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.4);
          box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.4);
  width: 100vw;
  max-width: 1200px;
  height: auto;
  padding: 2rem;
}
/*HA 31.08.22*/
.poipage .cat-container{
    display:inline-flex;
}

@media (min-width: 700px) {
  .poipage .content {
    width: 80vw;
  }
}

.poipage .content .cc-text {
  overflow-y: unset;
  height: auto;
}

.poipage .content .cc-text:focus {
  outline: 2px;
}

.poipage .content .heading {
  padding-top: 1em;
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto auto;
  -ms-grid-columns: auto 1fr;
      grid-template: auto auto / auto 1fr;
  margin-bottom: 0.5rem;
}

.poipage .content .heading h2 {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
  margin-bottom: 0;
}

.poipage .content .heading p {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 2;
  grid-row: 2;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  padding: 0;
  margin: 0;
}

.poipage .content .heading .poi-id {
  -ms-grid-column: 1;
  grid-column: 1;
  grid-row: 1/-1;
  background: url(/img/marker.svg) no-repeat center;
  background-size: contain;
  display: inline-block;
  height: 50px;
  width: 50px;
  position: relative;
}

/*
poi-idStandard
poi-idRot
poi-idBlau
poi-idGelb
*/
.poipage .content .heading .poi-id.poi-idStandard {
  background: url(/img/marker.svg) no-repeat center;
  background-size: contain;
}
.poipage .content .heading .poi-id.poi-idRot {
  background: url(/img/BKHS-Pin-Rot.svg) no-repeat center;
  background-size: contain;
}
.poipage .content .heading .poi-id.poi-idBlau {
  background: url(/img/BKHS-Pin-Blau.svg) no-repeat center;
  background-size: contain;
}
.poipage .content .heading .poi-id.poi-idGelb {
  background: url(/img/BKHS-Pin-Gelb.svg) no-repeat center;
  background-size: contain;
}

@media screen and (min-width: 500px) {
  .poipage .content .heading .poi-id {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
  }
}

.poipage .content .heading .poi-id em {
  font-size: 0;
  opacity: 0;
}

.poipage .content .heading .poi-id .number {
  display: block;
  width: auto;
  border-radius: 50%;
  position: absolute;
  top: 20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 90%;
  font-weight: bold;
  color: white;
  line-height: 1;
  text-align: center;
}

@media (print), (prefers-reduced-motion: reduce) {
  * {
    -webkit-animation-duration: 1ms !important;
            animation-duration: 1ms !important;
    -webkit-transition-duration: 1ms !important;
            transition-duration: 1ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
  }
}
/*# sourceMappingURL=site.css.map */

/* 02-12-21 Cookie Consent - US */

.consent-stage {
    background: rgba(0,0,0, 0.3);
    width: 100%;
    height: calc(100% - 71px);
    margin-top: 71px;
    min-height: 100vh;
    position: fixed;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.consent-modal {
    background-color: rgba(255,255,255, 0.9);
    color: #333;
    width: 100vw;
    padding: 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.consent-modal a {
    color: #006530;
    font-weight: bold;
}

.consent-modal .cookie-datenschutz::after {
    content: "";
    background: url(/css/images/icon-ext-link.svg) no-repeat center right;
    background-size: 15px;
    width: 18px;
    height: 18px;
    display: inline-block;
}

.consent-modal a:focus,
.consent-modal a:hover {
    color: #333;
}

.consent-modal ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    justify-content: center;
}

.consent-modal .title {
    font-size: 18px;
    font-weight: bold;
    text-transform: uppercase;
    width: 100%;
}

.consent-modal .title, .consent-modal .content-wrap {
    max-width: 800px;
    line-height: 1.4;
}

.cookie-title {
    padding: 0 50px 10px 0;
    font-weight: bold;
    color: #006530;
    font-size: 14px;
    line-height: 1.3em;
    position: relative;
}

.cookies-list input[type=checkbox]{
	height: 0;
	width: 0;
	visibility: hidden;
}

.cookies-list li {
    display: flex;
    align-items: center;
    padding: 30px 0;
    color: #006530;
    font-weight: bold;
}

.cookies-list li:first-child {
    margin-right: 40px;
}

.cookies-list label {
	cursor: pointer;
	width: 60px;
	height: 30px;
	background: grey;
    border-radius: 100px;
	position: relative;
    margin-right: 10px;
}

.cookies-list label span {
	content: '';
	position: absolute;
	top: 5px;
	left: 5px;
	width: 20px;
	height: 20px;
	background: #fff;
	border-radius: 90px;
}

.cookies-list input:checked + label {
	background: #006530;
}

.cookies-list input:checked + label span {
	left: 35px;
}

.cookies-list input:disabled + label {
    cursor: none;
    pointer-events: none;
}

.btn-cookie {
    display: inline-block;
    background-color: #006530;
    padding: 8px 15px;
    line-height: 1.2;
    text-decoration: none;
    color: #FFF !important;
}

.btn-cookie.btn-round {
    border-radius: 0 12px 0 0;
}

.btn-cookie:focus {
    outline: 2px solid #0a8e62;
    outline-offset: 2px;
}

.btn-cookie:hover {
    background-color: #000;
    text-decoration: none;
}

@media screen and (max-width: 600px) {
    .consent-modal ul {
        flex-direction: column;
    }
    .cookies-list {
        flex-direction: column;
        max-width: max-content;
        margin-left: auto;
        margin-right: auto;
        margin: 0 auto 0 auto;
    }
    .cookies-list li {
        display: inline-flex;
        padding: 20px 0 0;
    }
    .btn-cookie.btn-round {
        border-radius: 0;
    }
    .footer-bar {
        margin-top: 30px;
    }
}

@media screen and (max-width: 460px) {
    .btn-cookie {
        display: block;
        width: calc(100vw - 80px);
        text-align: center;
    }

    .btn-cookie:last-child {
        margin-top: 10px;
    }
}

@media screen and (max-width: 364px) {
    .cookies-list li:first-child {
        margin-right: 0;
    }
    .consent-modal {
        padding: 50px 30px;
    }
}
/* Aenderungen Intro neue Route 07-02-22/us */
/* route teaser ist standardiziert 23.10.20 HA*/
.xtra-thema {
    background-color: #cccccc50;
    margin-bottom: 2rem;
    padding-right: .5rem;
	padding:1rem;
}
.xtra-thema-inner {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr;
    column-gap: .5rem;
}
.xtra-thema-inner img {
    grid-column: 1/2;
    grid-row: 1/-1;
    align-self: flex-start;
    height: 55px;
}
.xtra-thema-inner span strong {
    grid-column: 2/3;
    grid-row: 1/2;
}
.xtra-thema-inner strong {
    padding-top: 0.5rem;
}
.xtra-thema-inner span {
    padding-bottom: 0.5rem;
}
.xtra-thema-inner span,
.xtra-thema-inner span a {
    grid-column: 2/3;
    grid-row: 2/3;
}
.xtra-thema-inner span a {
    font-weight: bold;
    color: #2D7446;
}
.xtra-thema-inner span a.rt-Rot {
    color: #B0151E;
}
.xtra-thema-inner span a.rt-Blau {
    color: #1981c5;
}
.xtra-thema-inner span a.rt-Gelb {
    color: #bba51c;
}

.xtra-thema-inner p {
    margin:5px auto;
}

/* 02.11.23: yt: overwrites and new */
:root {
    --swiper-pagination-bottom:20px;
    --base-contrast-color:rgba(10,142,98,1)
}

a.tutorial-link {
    display: block;
    margin-top: 20px;
    text-align: center;
}

a.tutorial-link svg {
    width:auto; height:25px;
}

a.tutorial-link:hover svg {
    fill:var(--base-contrast-color);
}

.home .intro-page .page-inner .content .content-inner .close-button,
.translate .intro-page .page-inner .content .content-inner .close-button {
	background-image:none;
}

.swiper {
    overflow: visible;
}

.tutorial {
    display:block;
    position: fixed;
	width:100vw; height: 100vh;
    top: 0; left: 0;
    background-color: transparent;
    z-index: 402;
}

.tutorial-wrapper {
	position: fixed;
	top:50%; right:200px;
	margin-top:-180px;
	width:685px; height:360px;
	background-color:white;
	
	-webkit-box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.3);
	box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.3);
	
	z-index: 1000;
}


.tutorial-swiper-container {
	position:relative;
	width:100%; height:100%;
	overflow:visible;
}

.tutorial .swiper-slide {
    padding-bottom: 70px;
    align-items:flex-start;
	background-color:#fff;
}

.tutorial .swiper-slide.swiper-slide-active::after {
	opacity:1;
}

.tutorial .swiper-slide::after {
    width:150px;
    top:auto; right:-150px; 
	opacity:0;
	position:fixed;
	background-repeat:no-repeat;
}

.tutorial .slide-1::after {
	content:"";
	bottom:59%;
	height:12vh;
	background-image:url("images/arrow2.png");
	background-size:100% 100%;
    background-position: left bottom;
}

.tutorial .slide-2::after {
	content:"";
	bottom:52.5%;
	height:12vh;
	background-image:url("images/arrow3.png");
	background-size:100% 100%;
    background-position: left bottom;
}

.tutorial .slide-3::after {
	content:"";
	bottom:6%;
	height:12vh;
	background-image:url("images/arrow4.png");
	background-size:100% 100%;
    background-position: left bottom;
}

.tutorial .slide-4::after {
	content:"";
	bottom:56%;
	height:38vh;
	background-image:url("images/arrow1.png");
	background-size:100% 100%;
    background-position: left bottom;
}

.tutorial .slide-content {
    height: 100%;
    padding:25px 60px 40px;
    text-align: left;
    overflow:hidden;
}

.tutorial .slide-content .inner-scroll-area {
    height: 100%;
    overflow-y: auto;
}

.tutorial .slide-content h3 {
    margin:20px 0;
    font-size:1.15em;
}

.tutorial .slide-content p {
    margin-bottom:0;
}

.tutorial .slide-content p + p {
    margin-top: 10px;
}

.tutorial .slide-content .pagination {
    position: absolute;
    bottom:50px; left:0;
    width: 100%;
    margin-top:0;
    text-align: center;
}

.tutorial .slide-content .icon {
    display: inline-block;
	width: 30px; height: 30px;
	overflow:hidden;
}

.tutorial .slide-content .icon + .icon {
    margin-left:15px;
}

.tutorial .slide-content .icon .map-icon-list {
	width: 20px;
}

.tutorial .slide-content .icon .icon-info {
	height: 30px;
}


.swiper-button-next,
.swiper-button-prev {
    display: block !important; /* is invisible due swiper-lib for screens < 768px */
	top: auto;
    bottom:45px;
	/*margin-top: -17px;*/
    transform: none;
    background-size: 9px;
}

.swiper-button-next::after, 
.swiper-button-prev::after {
	content:"";
}

.swiper-button-next {
    right:50px;
	background-image: url("images/icon-next-black.svg");
}

.swiper-button-next:hover {
	background-image: url("images/icon-next-green.svg");
}

.swiper-button-prev {
    left:50px;
	background-image: url("images/icon-prev-black.svg");
}

.swiper-button-prev:hover {
	background-image: url("images/icon-prev-green.svg");
}

.swiper-pagination-bullet {
	background: rgba(255,255,255,1);
}

.swiper-pagination-bullet-active {
	background: transparent;
	border: 2px solid rgba(255,255,255,1);
}


@media screen and (max-width: 500px) {
    .tutorial .slide-content {
        padding:25px 30px 40px;
    }

    .tutorial .close-st {
        top:1.5rem;
    }
}

@media screen and (max-height: 430px) {
    .tutorial-wrapper {
        position: fixed;
        top:5%; right:80px; bottom:5%; left:5%;
        margin-top:0;
        width:auto; height:auto;
        background-color:white;
        
        -webkit-box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.3);
        box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.3);
        
        z-index: 1000;
    }

    .tutorial .swiper-slide:after {
        width: 30px !important; height: 88px !important;
        right:-30px; bottom:auto;

        background-image:url("images/arrow-mobile.png");
        background-size:auto;
        background-position:center;
    }

    .tutorial .slide-1::after {
        top:25vh; 
    }
    
    .tutorial .slide-2::after {
        top:35vh; 
    }
    
    .tutorial .slide-3::after {
        top:67vh; 
    }
    
    .tutorial .slide-4::after {
        top:0vh; 
    }
}


@media screen and (min-height: 431px) and (max-height: 926px) and (max-width:1024px)  {
    .tutorial-wrapper {
        position: fixed;
        top:25%; right:80px; bottom:10%; left:5%;
        margin-top:0;
        width:auto; height:auto;
        background-color:white;
        
        -webkit-box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.3);
        box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.3);
        
        z-index: 1000;
    }

    .tutorial .swiper-slide:after {
        width: 30px !important; height: 88px !important;
        right:-30px; bottom:auto;

        background-image:url("images/arrow-mobile.png");
        background-size:auto;
        background-position:center;
    }

    .tutorial .slide-1::after {
        top:6vh; 
    }
    
    .tutorial .slide-2::after {
        top:14vh; 
    }
    
    .tutorial .slide-3::after {
        top:45vh; 
    }

    .tutorial .slide-4::after {
        content:"";
        bottom:100%; 
        width: 170px !important; height:22vH !important;
        background-image:url("images/arrow1-mobile.png");
        background-size:100% 100%;
        background-position: left bottom;
    }
}

@media screen and (min-height: 1156px) {
    .tutorial {
        right:400px;
        margin-top:-400px;
        height:800px;
    }

    .tutorial .swiper-slide::after {
        width:350px;
        right:-350px; 
    }

    .tutorial .slide-1::after {
        bottom:77%;
        height:6vh;
    }

    .tutorial .slide-2::after {
        bottom:75.5%;
        height:6vh;
    }

    .tutorial .slide-3::after {
        bottom:3%;
        height:6vh;
    }

    .tutorial .slide-4::after {
        height:44vh;
    }
}