*, *::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;
}

.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;
}

@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;
}

@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;
}

.poipage .poi-wrapper {
  width: auto;
  position: relative;
}

.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;
}

@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;
}

@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;
  }
}
/* Login Page 09-01-22/US */
.login {
    margin: 0;
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto 1fr 40px;
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1rem;
    background: url(/media/h5nf143h/bkhs-login-bg.jpg) no-repeat center;
    background-size: cover;
    overflow: auto !important;
}
.login .container {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}
.login header {
    height: auto;
    padding: .5rem;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .3);
    display: flex;
    background: white;
}
.login .bkhs-logo {
    max-height: 50px;
    height: 50px;
    width: auto;
}
.login main {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}
.login-card {
    margin: 0 auto;
    padding: 4rem;
    background: white;
    width: max-content;
    box-shadow: 0 0 24px 0 rgba(0,0,0,.3);
}
@media (max-width: 768px) {
    .login header {
        border-bottom: 2px solid rgba(0,0,0,.3);
    }
    .login .bkhs-logo {
        width: 200px;
    }
    .login header .container {
        margin: 0;
    }
    .login-card {
        padding: 1.5rem;
        width: 100%;
        box-shadow: none;
    }
}
@media (max-width: 480px) {
    .login main {
    	background-image: none;
    	height: 100%;
    	display: block;
    }
    .login .container, .login-card {
    	height: 100%;
    	box-shadow: none;
    }
}
.login h1 {
    margin-top: 0;
}
.login p {
    max-width: 79ch;
    line-height: 1.4;
}
.login a {
    color: #0a8e62;
    text-decoration: none;
}
.login a:hover,
.login a:focus {
    text-decoration: underline;
}
.login form {
    margin: 3rem 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 300px;
}
.login input[type="password"] {
    font-size: 1rem;
    padding: .5rem 1rem;
}
.login input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: .7rem;
    height: auto;
    margin: 1rem 0;
    border:none;
    border-radius: 0 12px 0 0;
    font-size: 100%;
    background: #000;
    color: white;
}
.login input[type="submit"]:hover,
.login input[type="submit"]:focus {
    background: #0a8e62;
}
.login .error {
    color: red;
}
.login .footer {
    background: #0a8e62;
    display: block;
    height: 44px;
}

/* Cookiebar */
.cookiebar {
  width: calc(100vw - 50px);
  height: auto;
  position: fixed;
  bottom: 70px;
  left: 0;
  z-index: 100000;
  background: #000;
  color: white;
  padding: .25em .5em;
}

.cookiebar .wrap {
  margin-bottom: 1em;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
}

.cookiebar .wrap p {
  padding: .5em .5em 1em;
  margin: 0;
}

.cookiebar .cookie-close {
  padding: 0 0 1em .7em;
}

.home .cookiebar {
  width: 100%;
}
/*# sourceMappingURL=site.css.map */