/* kapakana-regular - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Kapakana';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/kapakana-v19-latin-regular.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* open-sans-regular - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/open-sans-v44-latin-regular.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* open-sans-italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/open-sans-v44-latin-italic.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* open-sans-700 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/open-sans-v44-latin-700.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* open-sans-700italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  src: url("../fonts/open-sans-v44-latin-700italic.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
html, body {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  background-color: #fff;
  color: #000;
  background-image: url(../img/page-bg.jpg);
  background-position: center center;
  background-size: auto 250px; }
  @media (min-width: 576px) {
    html, body {
      font-size: 17px;
      background-size: auto 300px; } }
  @media (min-width: 768px) {
    html, body {
      font-size: 18px;
      background-size: auto 350px; } }
  @media (min-width: 992px) {
    html, body {
      font-size: 19px;
      background-size: auto 400px; } }
  @media (min-width: 1200px) {
    html, body {
      font-size: 20px;
      background-size: auto 450px; } }
  @media (min-width: 1400px) {
    html, body {
      font-size: 21px;
      background-size: auto 500px; } }
  @media (min-width: 2000px) {
    html, body {
      background-size: auto 600px; } }

.lightpick {
  margin-top: -2px;
  font-family: inherit;
  border: 1px solid #dee2e6;
  border-radius: 0.375rem; }
  .lightpick header {
    background-image: none !important;
    padding-top: 0; }
    .lightpick header .fa-angle-left {
      pointer-events: none; }
    .lightpick header .fa-angle-right {
      pointer-events: none; }

.lightpick__previous-action, .lightpick__next-action, .lightpick__close-action {
  background-color: #f7f3e9;
  border: 2px solid #e1d4ae; }
  .lightpick__previous-action:focus, .lightpick__previous-action:hover, .lightpick__next-action:focus, .lightpick__next-action:hover, .lightpick__close-action:focus, .lightpick__close-action:hover {
    background-color: #e1d4ae; }

.lightpick__day:not(.is-disabled):hover {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle fill='%23f7f3e9' cx='16' cy='16' r='16'/%3E%3C/svg%3E"); }

.lightpick__day.is-start-date, .lightpick__day.is-end-date, .lightpick__day.is-start-date:hover, .lightpick__day.is-end-date:hover {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle fill='%23cdae63' cx='16' cy='16' r='16'/%3E%3C/svg%3E"); }

.h1, h1, .h2, h2, .h3, h3, .h4, h4, .h5, h5, .h6, h6 {
  font-family: 'Kapakana', serif;
  margin-bottom: 0.5rem;
  font-weight: 800;
  line-height: 0.9; }

h2, h2, .h3, h3, .h4, h4, .h5, h5, .h6, h6 {
  margin-top: 1.5rem; }

ul, ol {
  padding-left: 1rem; }

header {
  padding-top: 51px;
  overflow: hidden;
  background-image: url(../img/footer-bg.png);
  background-size: 100% 10%;
  padding-bottom: 2px;
  background-repeat: no-repeat;
  background-size: 100 header 90%; }
  header .header-container {
    position: relative;
    margin-right: auto;
    margin-left: auto;
    padding-bottom: 30px; }
    @media (min-width: 1400px) {
      header .header-container {
        max-width: 80%;
        min-width: 1320px; } }
    header .header-container .row {
      padding-bottom: 1px;
      background-color: #160001;
      --bs-gutter-x: 2px; }
    header .header-container .image-container {
      display: flex;
      justify-content: center;
      overflow: hidden; }
      header .header-container .image-container img {
        display: block;
        height: 370px;
        width: auto; }
        @media (min-width: 992px) {
          header .header-container .image-container img {
            height: auto;
            width: 100%; } }
  header .header-title-und-nav {
    position: absolute;
    top: 13px;
    min-height: 154px;
    width: 100%;
    padding-top: 33px;
    padding-left: 26px;
    background-image: url(../img/header-footer-bg.png);
    background-repeat: repeat-x;
    background-position: center 15px;
    background-size: auto 80px;
    text-align: left; }
    @media (min-width: 576px) {
      header .header-title-und-nav {
        padding-left: 0;
        padding-top: 36px;
        text-align: center;
        background-size: auto 90px; } }
    @media (min-width: 1400px) {
      header .header-title-und-nav {
        padding-top: 43px;
        background-size: auto 120px; } }
    @media (min-width: 2000px) {
      header .header-title-und-nav {
        padding-top: 33px;
        background-size: auto 128px; } }
    header .header-title-und-nav h1 {
      font-size: 48px;
      color: #fff;
      text-shadow: 3px 3px 4px #000; }
      @media (min-width: 576px) {
        header .header-title-und-nav h1 {
          font-size: 65px; } }
      @media (min-width: 1400px) {
        header .header-title-und-nav h1 {
          font-size: 90px; } }
      @media (min-width: 2000px) {
        header .header-title-und-nav h1 {
          font-size: 110px; } }
  header .nav-toggle {
    position: absolute;
    top: -4px;
    right: 26px;
    padding: 0;
    margin: 0;
    height: 46px;
    width: 46px;
    border: none;
    background-color: transparent; }
    @media (min-width: 576px) {
      header .nav-toggle {
        top: -3px; } }
    @media (min-width: 1400px) {
      header .nav-toggle {
        top: 8px; } }
    @media (min-width: 2000px) {
      header .nav-toggle {
        top: 21px; } }
    header .nav-toggle .bar {
      position: absolute;
      left: 3px;
      height: 4px;
      width: 40px;
      background-color: #fff;
      box-shadow: 2px 2px 3px #000;
      transition: all .15s ease-in-out; }
      header .nav-toggle .bar.bar-1 {
        top: 3px; }
      header .nav-toggle .bar.bar-2 {
        top: 21px; }
      header .nav-toggle .bar.bar-3 {
        top: 39px; }
    header .nav-toggle:focus .bar, header .nav-toggle:hover .bar {
      background-color: #cdae63; }
    header .nav-toggle.show .bar.bar-1 {
      transform: rotate(45deg);
      top: 20px;
      left: -5px;
      width: 55px; }
    header .nav-toggle.show .bar.bar-2 {
      opacity: 0; }
    header .nav-toggle.show .bar.bar-3 {
      transform: rotate(-45deg);
      top: 21px;
      left: -5px;
      width: 55px; }
  header .nav {
    display: none;
    padding-right: 18px;
    text-align: right;
    background-color: transparent; }
    header .nav .nav-link {
      display: inline-block;
      position: relative;
      padding: 7px 10px;
      white-space: nowrap;
      font-size: 1.5rem;
      font-weight: 600;
      letter-spacing: 0;
      color: #fff;
      text-shadow: 2px 2px 3px #000; }
      @media (min-width: 576px) {
        header .nav .nav-link {
          font-size: 1.3rem; } }
      header .nav .nav-link:focus, header .nav .nav-link:hover, header .nav .nav-link.active {
        color: #cdae63; }

main {
  hyphens: auto; }
  main .container {
    position: relative;
    z-index: 1;
    padding-top: 3rem;
    padding-bottom: 50px;
    padding-left: 25px;
    padding-right: 25px;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0.7+0,0.9+50,0.7+100 */
    background: linear-gradient(to right, rgba(255, 255, 255, 0.8) 0%, white 50%, rgba(255, 255, 255, 0.8) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ }
    @media (min-width: 576px) {
      main .container {
        padding-bottom: 60px;
        padding-left: 28px;
        padding-right: 28px; } }
    @media (min-width: 768px) {
      main .container {
        padding-bottom: 70px;
        padding-left: 31px;
        padding-right: 31px; } }
    @media (min-width: 992px) {
      main .container {
        padding-bottom: 80px;
        padding-left: 34px;
        padding-right: 34px; } }
    @media (min-width: 1200px) {
      main .container {
        padding-bottom: 90px;
        padding-left: 37px;
        padding-right: 37px; } }
    @media (min-width: 1400px) {
      main .container {
        padding-bottom: 100px;
        padding-left: 40px;
        padding-right: 40px; } }
    main .container.main-content {
      margin-top: -3rem; }
  main h2 {
    font-size: 35px;
    color: #44773c; }
    @media (min-width: 576px) {
      main h2 {
        font-size: 36px; } }
    @media (min-width: 768px) {
      main h2 {
        font-size: 51px; } }
    @media (min-width: 992px) {
      main h2 {
        font-size: 60px; } }
    @media (min-width: 1200px) {
      main h2 {
        font-size: 74px; } }
    @media (min-width: 1400px) {
      main h2 {
        font-size: 85px; } }
  main h3 {
    font-size: 26px;
    color: #44773c; }
    @media (min-width: 576px) {
      main h3 {
        font-size: 28px; } }
    @media (min-width: 768px) {
      main h3 {
        font-size: 38px; } }
    @media (min-width: 992px) {
      main h3 {
        font-size: 45px; } }
    @media (min-width: 1200px) {
      main h3 {
        font-size: 55px; } }
    @media (min-width: 1400px) {
      main h3 {
        font-size: 64px; } }
  main h4 {
    font-size: 22px;
    color: #44773c; }
    @media (min-width: 576px) {
      main h4 {
        font-size: 24px; } }
    @media (min-width: 768px) {
      main h4 {
        font-size: 32px; } }
    @media (min-width: 992px) {
      main h4 {
        font-size: 38px; } }
    @media (min-width: 1200px) {
      main h4 {
        font-size: 46px; } }
    @media (min-width: 1400px) {
      main h4 {
        font-size: 54px; } }
  main h5 {
    font-size: 19px;
    color: #44773c; }
    @media (min-width: 576px) {
      main h5 {
        font-size: 20px; } }
    @media (min-width: 768px) {
      main h5 {
        font-size: 27px; } }
    @media (min-width: 992px) {
      main h5 {
        font-size: 32px; } }
    @media (min-width: 1200px) {
      main h5 {
        font-size: 39px; } }
    @media (min-width: 1400px) {
      main h5 {
        font-size: 46px; } }
  main .galerie-link {
    position: relative;
    display: block;
    width: 100%;
    font-size: 2rem;
    color: #fff;
    text-shadow: 0 0 6px #000;
    transition: color .15s ease-in-out, font-size .35s ease-in-out; }
    main .galerie-link:focus, main .galerie-link:hover {
      font-size: 3rem;
      color: #2c4120;
      text-shadow: 0 0 6px #fff; }
      main .galerie-link:focus .info, main .galerie-link:hover .info {
        opacity: 1; }
    main .galerie-link img {
      object-fit: cover;
      width: 500px;
      max-width: 100%;
      aspect-ratio: 1 / 1; }
    main .galerie-link i {
      position: absolute;
      bottom: 1rem;
      right: 1rem; }
    main .galerie-link .info {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0.3+0,0.8+40,0.6+100 */
      background: linear-gradient(to bottom, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.8) 40%, rgba(255, 255, 255, 0.6) 100%);
      /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      padding: 1.5rem 4rem 1.5rem 1rem;
      font-size: 1rem;
      font-weight: 700;
      text-shadow: none;
      opacity: 0;
      transition: opacity .35s ease;
      color: #2c4120; }
  main input[type="number"] {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield; }
  main input[type=number]::-webkit-inner-spin-button,
  main input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none; }
  main .number-input {
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    display: inline-flex; }
  main .number-input,
  main .number-input * {
    box-sizing: border-box; }
  main .number-input button {
    padding: 0;
    background-color: #f7f3e9;
    color: #324c5e;
    border: none;
    width: 4rem;
    height: 56px;
    cursor: pointer;
    margin: 0;
    position: relative;
    outline: none; }
    main .number-input button:focus-visible {
      box-shadow: 0 0 0 0.25rem #f7f3e9; }
    main .number-input button:focus, main .number-input button:hover {
      background-color: #e1d4ae; }
    main .number-input button.btnNumberDown {
      border-top-left-radius: 0.375rem !important;
      border-bottom-left-radius: 0.375rem !important; }
    main .number-input button.btnNumberUp {
      border-top-right-radius: 0.375rem !important;
      border-bottom-right-radius: 0.375rem !important; }
  main .number-input button:before,
  main .number-input button:after {
    display: inline-block;
    position: absolute;
    content: '';
    width: 1rem;
    height: 2px;
    background-color: #212121;
    transform: translate(-50%, -50%); }
  main .number-input button.plus:after {
    transform: translate(-50%, -50%) rotate(90deg); }
  main .number-input input[type=number] {
    max-width: 70px;
    padding: 0;
    border: solid #dee2e6;
    border-width: 0 1px;
    height: 56px;
    text-align: center;
    border-radius: 0;
    letter-spacing: 0.8px; }
    @media (min-width: 768px) {
      main .number-input input[type=number] {
        max-width: 90px; } }
    main .number-input input[type=number]:valid, main .number-input input[type=number]:invalid {
      background-position: 96% center; }
    main .number-input input[type=number]:focus {
      position: relative;
      z-index: 1; }
  main #inputAufenthaltsdauer {
    max-width: 90px !important; }
    @media (min-width: 768px) {
      main #inputAufenthaltsdauer {
        max-width: 115px !important; } }
  main .was-validated .number-input input[type=number] {
    padding-right: 10px; }
  main label {
    color: #cdae63; }
    main label[for]:hover {
      color: #44773c; }
  main .form-floating > label {
    color: #999; }
  main .form-control, main .form-select {
    line-height: 1.3 !important; }
    main .form-control:focus, main .form-select:focus {
      box-shadow: 0 0 0 0.5rem #f7f3e9;
      border-color: #e1d4ae; }
  main .btn-primary {
    color: #000;
    background-color: #f7f3e9;
    border: 1px solid #e1d4ae; }
    main .btn-primary:focus, main .btn-primary:hover, main .btn-primary:active {
      color: #000;
      background-color: #e1d4ae;
      border: 1px solid #e1d4ae; }
    main .btn-primary:focus-visible, main .btn-primary:first-child:active {
      box-shadow: 0 0 0 0.25rem #f7f3e9;
      color: #000;
      background-color: #e1d4ae;
      border: 1px solid #e1d4ae; }
  main a {
    text-decoration: none;
    color: #cdae63; }
    main a:focus, main a:hover {
      color: #44773c; }

footer {
  position: relative;
  z-index: 2;
  margin-top: -20px;
  padding-top: 15px;
  padding-bottom: 61px;
  font-weight: 800;
  line-height: 1.3;
  background-image: url(../img/header-footer-bg.png), url(../img/footer-bg.png);
  background-repeat: repeat-x, no-repeat;
  background-position: center top, left bottom;
  background-size: auto 250px, 100% 90%;
  text-align: center;
  color: #fff;
  text-shadow: 2px 2px 3px #000; }
  @media (min-width: 375px) {
    footer {
      background-size: auto 250px, 100% 90%; } }
  @media (min-width: 446px) {
    footer {
      background-size: auto 225px, 100% 90%; } }
  @media (min-width: 460px) {
    footer {
      background-size: auto 200px, 100% 90%; } }
  @media (min-width: 576px) {
    footer {
      background-size: auto 210px, 100% 90%; } }
  @media (min-width: 768px) {
    footer {
      background-size: auto 166px, 100% 90%; } }
  @media (min-width: 1200px) {
    footer {
      background-size: auto 178px, 100% 90%; } }
  @media (min-width: 1400px) {
    footer {
      background-size: auto 183px, 100% 90%; } }
  footer .container {
    padding-top: 13px;
    padding-left: 26px;
    padding-right: 26px; }
  footer a {
    text-decoration: none;
    color: #fff; }
    footer a:focus, footer a:hover {
      color: #cdae63; }

.shadow {
  box-shadow: 0 0 15px #1e0902 !important; }

.shadow-small {
  box-shadow: 0 0 10px #b5a270 !important; }
  .shadow-small.success {
    box-shadow: 0 0 10px #198754 !important; }
  .shadow-small.danger {
    box-shadow: 0 0 10px #dc3545 !important; }

.shadow-extrasmall {
  box-shadow: 0 0 5px #c9b279 !important; }
  .shadow-extrasmall.success {
    box-shadow: 0 0 5px #198754 !important; }
  .shadow-extrasmall.danger {
    box-shadow: 0 0 5px #dc3545 !important; }

.formular-container {
  padding: 0.5rem 2rem 2rem;
  background-color: #f2e8d0;
  border-radius: 1rem; }
  .formular-container.danger {
    background-color: #f6cdc7; }
    .formular-container.danger label {
      color: #dc3545 !important; }
      .formular-container.danger label:hover {
        color: #58151c !important; }
    .formular-container.danger a {
      color: #dc3545 !important; }
      .formular-container.danger a:hover, .formular-container.danger a:focus {
        color: #58151c !important; }
  .formular-container.success {
    background-color: #c8f2dc; }
  .formular-container h2 {
    color: #4c3900; }
  .formular-container label {
    color: #b8a46a !important; }
    .formular-container label:hover {
      color: #4c3900 !important; }
  .formular-container a {
    color: #b8a46a !important; }
    .formular-container a:hover, .formular-container a:focus {
      color: #4c3900 !important; }

/* Freie Termine Box (Startseite) */
.freietermine-box {
  margin-top: 1rem;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 5rem;
  padding: 1.25rem 2rem;
}

.freietermine-text {
  white-space: normal;
  width: 100%;
  margin: 0;
}

.freietermine-text p {
  margin: 0;
}

.freietermine-text p + p {
  margin-top: 0.5rem;
}

.freietermine-admin {
  text-align: right;
}

.freietermine-edit-btn {
  width: 3rem;
  height: 1.5rem;
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  opacity: 0;
}

#freietermine-quill-editor {
  min-height: 140px;
  background-color: #fff;
}

.freietermine-editor .ql-toolbar.ql-snow {
  border-color: #e1d4ae;
  border-radius: 0.375rem 0.375rem 0 0;
  background-color: #fff;
}

.freietermine-editor .ql-container.ql-snow {
  border-color: #e1d4ae;
  border-radius: 0 0 0.375rem 0.375rem;
  font-family: inherit;
  font-size: inherit;
}

.freietermine-editor textarea {
  resize: vertical;
}

/*# sourceMappingURL=system.css.map */
