@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Catamaran:wght@100..700&family=Hubballi&family=Playfair+Display:ital,wght@0,400..700;1,400..700&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Catamaran:wght@100..700&family=Hubballi&family=Playfair+Display:ital,wght@0,400..700;1,400..700&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap");
header {
  background-image: url("../../../../Images/header.jpg");
  /* Pfad zu deinem Hintergrundbild */
  background-size: cover;
  background-position: 20% 50%;
  height: 25.3125rem;
  height: 25.3125rem;
  z-index: 999;
  position: relative;
}
@media (min-width: 20rem) {
  header {
    height: calc(25.3125rem + 9.0625 * (100vw - 20rem) / (27.5));
  }
}
@media (min-width: 47.5rem) {
  header {
    height: 34.375rem;
  }
}
.overview header {
  background-image: url("../../../../Images/overview.jpg");
  background-position: 50% 50%;
}
.menu header {
  background-image: url("../../../../Images/menu.jpg");
  background-position: 50% 50%;
}
.error header {
  background-image: url("../../../../Images/error_page.jpg");
  background-position: 50% 100%;
}
header > .container {
  height: 100%;
}
@media (min-width: 47.5rem) {
  header {
    background-position: top center;
  }
}
@media (min-width: 61.875rem) {
  header {
    height: 90vh;
    min-height: 33.75rem;
  }
}
@media (min-width: 75rem) {
  header {
    min-height: 45rem;
    height: 100vh;
  }
  .menu header, .overview header {
    height: 40.625rem;
  }
}
header .header-wrapper {
  position: relative;
  height: 100%;
}
header .header-wrapper .header-top {
  padding-top: 1.25rem;
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
@media (min-width: 20rem) {
  header .header-wrapper .header-top {
    padding-top: calc(1.25rem + 0.625 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  header .header-wrapper .header-top {
    padding-top: 1.875rem;
  }
}
header .header-wrapper .header-top::after {
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: -100px;
  background: linear-gradient(180deg, #fff 0%, transparent 100%);
  position: absolute;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  opacity: 0.8;
  z-index: -1;
}
header .header-content {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  align-items: flex-end;
  flex-direction: column;
}

.header-content.subpage .subline {
  text-align: right;
}

/* Google Font importieren */
/* body-Styling */
body {
  font-family: "Catamaran", sans-serif;
  font-weight: 400;
  color: #121412;
  letter-spacing: calc((0.875rem + 0.25 * (100vw - 20rem) / (73.75)) / 1000 * 0);
  font-size: 0.875rem;
}
@media (min-width: 20rem) {
  body {
    font-size: calc(0.875rem + 0.25 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  body {
    font-size: 1.125rem;
  }
}

/* h1-Styling */
h1 {
  font-family: "Playfair Display", sans-serif;
  font-weight: 400;
  letter-spacing: calc((2.5rem + 1.875 * (100vw - 20rem) / (73.75)) / 1000 * 0);
  font-size: 2.5rem;
  text-transform: uppercase;
  margin-bottom: 0.625rem;
  text-align: right;
}
@media (min-width: 20rem) {
  h1 {
    font-size: calc(2.5rem + 1.875 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  h1 {
    font-size: 4.375rem;
  }
}
@media (min-width: 20rem) {
  h1 {
    margin-bottom: calc(0.625rem + 0.625 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  h1 {
    margin-bottom: 1.25rem;
  }
}

/* h2-Styling */
h2 {
  font-family: "Playfair Display", sans-serif;
  font-weight: 400;
  letter-spacing: calc((1.5625rem + 0.9375 * (100vw - 20rem) / (73.75)) / 1000 * 0);
  font-size: 1.5625rem;
  text-transform: uppercase;
  margin-bottom: 0.625rem;
  word-break: break-word;
  hyphens: auto;
}
@media (min-width: 20rem) {
  h2 {
    font-size: calc(1.5625rem + 0.9375 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  h2 {
    font-size: 2.5rem;
  }
}
@media (min-width: 20rem) {
  h2 {
    margin-bottom: calc(0.625rem + 0.625 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  h2 {
    margin-bottom: 1.25rem;
  }
}

/* h3-Styling */
h3,
.style_h3 {
  font-family: "Catamaran", sans-serif;
  font-weight: 700;
  letter-spacing: calc((1.25rem + 0.9375 * (100vw - 20rem) / (73.75)) / 1000 * 0);
  font-size: 1.25rem;
  text-transform: uppercase;
  line-height: 1.2;
}
@media (min-width: 20rem) {
  h3,
  .style_h3 {
    font-size: calc(1.25rem + 0.9375 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  h3,
  .style_h3 {
    font-size: 2.1875rem;
  }
}

/* h4-Styling */
h4,
.style_h4 {
  font-family: "Catamaran", sans-serif;
  font-weight: 700;
  letter-spacing: calc((1rem + 0.375 * (100vw - 20rem) / (73.75)) / 1000 * 0);
  font-size: 1rem;
  text-transform: uppercase;
}
@media (min-width: 20rem) {
  h4,
  .style_h4 {
    font-size: calc(1rem + 0.375 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  h4,
  .style_h4 {
    font-size: 1.375rem;
  }
}

.subline {
  font-family: "Hubballi", sans-serif;
  font-weight: 400;
  letter-spacing: calc((1.25rem + 0.9375 * (100vw - 20rem) / (73.75)) / 1000 * 0);
  font-size: 1.25rem;
  margin: 0;
  text-transform: uppercase;
}
@media (min-width: 20rem) {
  .subline {
    font-size: calc(1.25rem + 0.9375 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .subline {
    font-size: 2.1875rem;
  }
}

/* Link-Styling */
a,
.link {
  font-family: "Catamaran", sans-serif;
  font-weight: 700;
  letter-spacing: calc((0.875rem + 0.25 * (100vw - 20rem) / (73.75)) / 1000 * 0);
  font-size: 0.875rem;
  text-decoration: none;
  color: #121412;
  cursor: pointer;
}
@media (min-width: 20rem) {
  a,
  .link {
    font-size: calc(0.875rem + 0.25 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  a,
  .link {
    font-size: 1.125rem;
  }
}

.container {
  margin: 0 auto;
  max-width: 112.5rem;
  min-width: 20rem;
  padding: 0 0.9375rem;
}
@media (min-width: 20rem) {
  .container {
    padding: 0 calc(0.9375rem + 2.1875 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .container {
    padding: 0 3.125rem;
  }
}

.logo {
  width: 3.75rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 20rem) {
  .logo {
    width: calc(3.75rem + 1.875 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .logo {
    width: 5.625rem;
  }
}

.dropdown {
  display: none;
}
@media (min-width: 61.875rem) {
  .dropdown {
    display: block;
  }
}
.dropdown .nav-list {
  list-style: none;
  display: flex;
}
.dropdown .nav-list li {
  margin-left: 1.5em;
  position: relative;
}
@media (min-width: 61.875rem) {
  .dropdown .nav-list li {
    margin-left: calc(1.5em + 1.5 * (100vw - 61.875rem) / (31.875));
  }
}
@media (min-width: 93.75rem) {
  .dropdown .nav-list li {
    margin-left: 3em;
  }
}
.dropdown .nav-list li:hover a::after {
  left: 0;
  right: 0;
  transition: all 300ms ease;
}
.dropdown .nav-list li:last-child {
  margin-right: 0;
}
.dropdown .nav-list li a::after {
  position: absolute;
  z-index: 1;
  content: "";
  left: 50%;
  right: 50%;
  bottom: 0;
  height: 5px;
  background-color: #E7AB33;
  transition: all 300ms ease;
}

/* Offcanvas-Menü offen */
.offcanvas-menu .toggle-wrapper {
  width: 2.5rem;
  height: 2.5rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99999;
}

.offcanvas-menu.open {
  right: 0;
}

.offcanvas-menu .nav-list-offcanvas {
  position: fixed;
  top: 0;
  left: 0;
  margin-top: 0;
  bottom: -6.25rem;
  padding: 2.5rem;
  padding-top: 1.25rem;
  width: 14.375rem;
  padding-left: 1.5em;
  transform: translateX(-110%);
  transform-origin: left;
  transition: all 300ms ease;
  z-index: 50;
}
.offcanvas-menu .nav-list-offcanvas li {
  margin-bottom: 1.5em;
}
.offcanvas-menu .nav-list-offcanvas li a {
  position: relative;
  z-index: 0;
}
.offcanvas-menu .nav-list-offcanvas li a::after {
  bottom: 0;
  content: "";
  left: 50%;
  position: absolute;
  right: 50%;
  z-index: -1;
  background-color: #E7AB33;
  height: 0.1875rem;
  transition: all 300ms ease;
}
.offcanvas-menu .nav-list-offcanvas li a:hover::after, .offcanvas-menu .nav-list-offcanvas li a.active::after {
  left: 0;
  right: 0;
  transition: all 300ms ease;
}

.offcanvas-menu .nav-list-offcanvas.show {
  transform: translateX(0);
  transition: all 300ms ease;
}

@media (min-width: 61.875rem) {
  .offcanvas-menu .nav-list-offcanvas {
    display: none;
  }
}
.offcanvas-menu .nav-list-offcanvas::after {
  content: "";
  top: 0;
  background-color: #ffffff;
  position: absolute;
  right: 0;
  left: -18.75rem;
  bottom: 0;
  z-index: 0;
}

.offcanvas-menu .nav-list-offcanvas::before {
  content: "";
  top: 0;
  background-color: #2D440C;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -10;
  width: 100vw;
  opacity: 0%;
  transform: translateX(55%);
  pointer-events: none;
  user-select: none;
}

.offcanvas-menu .nav-list-offcanvas.show::before {
  opacity: 60%;
  transform: translateX(0);
}

.offcanvas-menu .nav-list-offcanvas li {
  list-style: none;
  z-index: 2;
  position: relative;
}

/* Menü schließen Button */
.close-menu {
  font-size: 2.5rem;
  background: none;
  border: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  display: none;
}

.close-menu.show {
  display: block;
}

/* Hamburger Icon */
.menu-toggle {
  background: none;
  border: none;
  cursor: pointer;
  display: block;
  height: 1.25rem;
  width: 2.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.3125rem;
}
@media (min-width: 61.875rem) {
  .menu-toggle {
    display: none;
  }
}
.menu-toggle .icon {
  display: none;
  height: 1.25rem;
  width: 2.5rem;
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center;
}
.menu-toggle .icon .line {
  background: #121412;
  display: block;
  height: 0.1875rem;
  position: absolute;
  width: 100%;
}
.menu-toggle .icon .line_1 {
  opacity: 1;
  top: 0;
  transition: top 300ms, transform 300ms;
  visibility: visible;
}
.menu-toggle .icon .line_2 {
  opacity: 1;
  top: calc(50% - 0.1875rem / 2);
  transition: opacity 300ms;
  visibility: visible;
}
.menu-toggle .icon .line_3 {
  bottom: 0;
  transition: bottom 300ms, transform 300ms;
}
.menu-toggle.show .icon .line.line_1 {
  top: calc(50% - 0.1875rem / 2);
  transform: rotate(45deg);
}
.menu-toggle.show .icon .line.line_2 {
  opacity: 0;
  visibility: hidden;
}
.menu-toggle.show .icon .line.line_3 {
  bottom: calc(50% - 0.1875rem / 2);
  transform: rotate(-45deg);
}

.intro_text {
  text-align: center;
  max-width: 56.25rem;
  margin-bottom: 2.5rem;
}

.info-section {
  margin-top: 3.75rem;
  z-index: 1;
  position: relative;
}
@media (min-width: 20rem) {
  .info-section {
    margin-top: calc(3.75rem + 3.75 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .info-section {
    margin-top: 7.5rem;
  }
}
.info-section .intro_text {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.info-section .intro_text .button_wrapper {
  display: flex;
  gap: 0.625rem 1.875rem;
  flex-wrap: wrap;
  justify-content: center;
}
.info-section.center {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.team-section {
  padding-top: 3.75rem;
  position: relative;
  z-index: 0;
}
@media (min-width: 20rem) {
  .team-section {
    padding-top: calc(3.75rem + 3.75 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .team-section {
    padding-top: 7.5rem;
  }
}
.team-section::before {
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  background-image: url("../../../../Images/gray.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 30.875rem;
}

.response-section {
  color: #ffffff;
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
  text-align: left;
  position: relative;
  z-index: 0;
}
@media (min-width: 20rem) {
  .response-section {
    padding-top: calc(3.75rem + 3.75 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .response-section {
    padding-top: 7.5rem;
  }
}
@media (min-width: 20rem) {
  .response-section {
    padding-bottom: calc(3.75rem + 3.75 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .response-section {
    padding-bottom: 7.5rem;
  }
}
@media (min-width: 75rem) {
  .response-section .response-wrapper {
    max-width: 90%;
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 0px 9rem;
  }
}
.response-section .contact-info {
  display: flex;
  gap: 0;
  align-items: flex-start;
  flex-direction: column;
}
@media (min-width: 120rem) {
  .response-section .contact-info {
    flex-direction: row;
    align-items: center;
    gap: 1.25rem;
  }
}
.response-section .contact-info .contact-buttons {
  display: flex;
  justify-content: center;
}
.response-section h2 {
  margin-top: 0;
  margin-bottom: 0;
}
.response-section::after {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
  background-color: #2D440C;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}
.response-section::before {
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  transform: translateY(-95%);
  background-image: url("../../../../Images/green_1-2.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 15rem;
}
.response-section .button {
  margin-right: 1.25rem;
}

.counter-section {
  min-height: 25rem;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}
@media (min-width: 20rem) {
  .counter-section {
    min-height: calc(25rem + 12.5 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .counter-section {
    min-height: 37.5rem;
  }
}

.hotel-section {
  margin-top: 9.375rem;
  margin-bottom: 3.75rem;
  z-index: 2;
  position: relative;
}
@media (min-width: 20rem) {
  .hotel-section {
    margin-top: calc(9.375rem + 1.875 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .hotel-section {
    margin-top: 11.25rem;
  }
}
@media (min-width: 20rem) {
  .hotel-section {
    margin-bottom: calc(3.75rem + -0.625 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .hotel-section {
    margin-bottom: 3.125rem;
  }
}
@media (min-width: 75rem) {
  .hotel-section {
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 93.75rem) {
  .hotel-section {
    max-width: 70%;
  }
}
@media (min-width: 75rem) {
  .hotel-section .hotel-intro-text {
    max-width: 60%;
  }
}
@media (min-width: 47.5rem) {
  .hotel-section .hotel-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr;
    gap: 1.25rem 1.25rem;
  }
  .hotel-section .hotel-content .first {
    grid-area: 1/1/2/2;
  }
  .hotel-section .hotel-content .second {
    grid-area: 2/1/3/2;
  }
  .hotel-section .hotel-content .third {
    grid-area: 3/1/4/2;
  }
  .hotel-section .hotel-content .fourth {
    grid-area: 4/1/5/2;
  }
  .hotel-section .hotel-content .info-image {
    grid-area: 1/2/5/3;
  }
}
@media (min-width: 75rem) {
  .hotel-section .hotel-content {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 0.5fr;
  }
  .hotel-section .hotel-content .first {
    grid-area: 1/1/2/2;
  }
  .hotel-section .hotel-content .second {
    grid-area: 2/1/3/2;
  }
  .hotel-section .hotel-content .third {
    grid-area: 1/2/2/3;
  }
  .hotel-section .hotel-content .fourth {
    grid-area: 2/2/3/3;
  }
  .hotel-section .hotel-content .info-image {
    grid-area: 1/3/4/4;
  }
}
.hotel-section .info-image img {
  object-fit: cover;
  background-size: cover;
  height: 100%;
  width: 100%;
}

.timeline {
  color: #ffffff;
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
  text-align: left;
  position: relative;
  z-index: 0;
  display: flex;
  align-items: center;
  flex-direction: column;
}
@media (min-width: 20rem) {
  .timeline {
    padding-top: calc(3.75rem + 3.75 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .timeline {
    padding-top: 7.5rem;
  }
}
@media (min-width: 20rem) {
  .timeline {
    padding-bottom: calc(3.75rem + 3.75 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .timeline {
    padding-bottom: 7.5rem;
  }
}
.timeline h2 {
  margin-top: 0;
  margin-bottom: 0;
  text-align: center;
}
.timeline::after {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
  background-color: #2D440C;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}
.timeline::before {
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  transform: translateY(-95%);
  background-image: url("../../../../Images/green2-2.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 15rem;
}

.history-section {
  margin-top: 3.75rem;
  padding-bottom: 1.25rem;
  position: relative;
  z-index: 0;
}
@media (min-width: 20rem) {
  .history-section {
    margin-top: calc(3.75rem + 3.75 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .history-section {
    margin-top: 7.5rem;
  }
}
@media (min-width: 20rem) {
  .history-section {
    padding-bottom: calc(1.25rem + 6.25 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .history-section {
    padding-bottom: 7.5rem;
  }
}
@media (min-width: 75rem) {
  .history-section .text-wrapper {
    max-width: 55%;
  }
}
.history-section .history-content {
  margin-top: 3.75rem;
  display: grid;
  grid-template-rows: auto auto;
  gap: 1.25rem 1.25rem;
  margin-right: -16.25rem;
}
@media (min-width: 20rem) {
  .history-section .history-content {
    margin-top: calc(3.75rem + 1.875 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .history-section .history-content {
    margin-top: 5.625rem;
  }
}
@media (min-width: 61.875rem) {
  .history-section .history-content {
    grid-template-columns: 1fr 2fr;
    grid-template-rows: 1fr;
  }
}
.history-section .history-content .swiper {
  width: 100%;
  height: 28.125rem;
  padding-top: 3.75rem;
}
@media (min-width: 47.5rem) {
  .history-section .history-content .swiper {
    height: 37.5rem;
  }
}
.history-section .history-content .swiper .swiper-slide {
  overflow: hidden;
}
.history-section .history-content .swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 300ms ease;
}
.history-section .history-content .swiper .swiper-slide img:hover {
  transform: scale(1.1);
  transition: all 300ms ease;
}
.history-section .history-content .swiper .swiper-slide img:hover ~ .description {
  opacity: 1;
  transition: all 300ms ease;
}
.history-section .history-content .description {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  z-index: 2;
  color: #ffffff;
  opacity: 0;
  padding: 1.25rem;
  transition: all 300ms ease;
  pointer-events: none;
}
.history-section .history-content .description::after {
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
  top: -200%;
  background: #2D440C;
  opacity: 90%;
  background: linear-gradient(0deg, #2D440C 0%, transparent 100%);
  pointer-events: none;
}
.history-section::after {
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  background-image: url("../../../../Images/green_3-3.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 26.75rem;
}

.info-cards {
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media (min-width: 47.5rem) {
  .info-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    grid-gap: 1.25rem;
  }
}
@media (min-width: 61.875rem) {
  .info-cards {
    grid-template-columns: 2fr 1fr;
  }
}
@media (min-width: 75rem) {
  .info-cards {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr auto;
  }
}
@media (min-width: 61.875rem) {
  .menu .info-cards {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr auto;
  }
}
.info-cards .info-card {
  background-color: #F0F0F0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1.875rem;
  margin-bottom: 1.25rem;
}
@media (min-width: 20rem) {
  .info-cards .info-card {
    padding: calc(1.875rem + 3.125 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .info-cards .info-card {
    padding: 5rem;
  }
}
@media (min-width: 47.5rem) {
  .info-cards .info-card {
    grid-area: 1/1/2/2;
    margin-bottom: 0;
  }
  .info-cards .info-card + .info-card {
    grid-area: 2/1/3/2;
  }
}
@media (min-width: 75rem) {
  .info-cards .info-card {
    grid-area: 1/1/2/2;
    height: 28.125rem;
  }
  .info-cards .info-card + .info-card {
    grid-column: 2/3;
    grid-row: 1/2;
  }
}
@media (min-width: 47.5rem) {
  .menu .info-cards .info-card:nth-child(1) {
    grid-area: 1/1/2/2;
  }
  .menu .info-cards .info-card:nth-child(2) {
    grid-area: 1/2/2/3;
  }
  .menu .info-cards .info-card:nth-child(3) {
    grid-area: 2/1/2/3;
  }
}
@media (min-width: 61.875rem) {
  .menu .info-cards .info-card {
    height: auto;
    justify-content: flex-start;
  }
  .menu .info-cards .info-card:nth-child(1) {
    grid-area: 1/1/2/2;
  }
  .menu .info-cards .info-card:nth-child(2) {
    grid-area: 1/2/2/3;
  }
  .menu .info-cards .info-card:nth-child(3) {
    grid-area: 1/3/1/3;
  }
}
.info-cards .info-card a,
.info-cards .info-card .link {
  display: flex;
  align-items: center;
  transition: all 300ms ease;
}
.info-cards .info-card a:hover,
.info-cards .info-card .link:hover {
  transition: all 300ms ease;
}
.info-cards .info-card a:hover .icon,
.info-cards .info-card .link:hover .icon {
  fill: #E7AB33;
  transition: all 300ms ease;
}
.info-cards .info-card a p,
.info-cards .info-card .link p {
  margin: 0;
}
.info-cards .info-card a .icon,
.info-cards .info-card .link .icon {
  fill: #121412;
  margin-left: 0.625rem;
  transition: all 300ms ease;
  display: flex;
}
.info-cards .info-card .menu_content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.info-cards .info-card .menu_content p.text {
  text-align: center;
}
.info-cards .info-card .menu_content .icon {
  fill: #E7AB33;
  display: flex;
  width: 1.5rem;
  height: 0.25rem;
}
.info-cards .info-card .info-icon {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  margin-bottom: 2.5rem;
}
@media (min-width: 20rem) {
  .info-cards .info-card .info-icon {
    width: calc(2.5rem + 1.375 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .info-cards .info-card .info-icon {
    width: 3.875rem;
  }
}
@media (min-width: 20rem) {
  .info-cards .info-card .info-icon {
    height: calc(2.5rem + 1.375 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .info-cards .info-card .info-icon {
    height: 3.875rem;
  }
}
.info-cards .info-card .title {
  margin-top: 0.625rem;
  text-align: center;
}
.info-cards .info-card .subline {
  margin-bottom: 0;
}
@media (min-width: 47.5rem) {
  .info-cards .info-image {
    grid-area: 1/2/3/3;
  }
}
@media (min-width: 75rem) {
  .info-cards .info-image {
    grid-column: 3/4;
    grid-row: 1/3;
  }
}
.info-cards .info-image img {
  width: 100%;
}

.hotel-wrapper {
  background-color: #F0F0F0;
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  padding: 1.25rem;
  align-items: center;
  margin-bottom: 1.25rem;
  justify-content: center;
  transition: all 300ms ease;
}
@media (min-width: 20rem) {
  .hotel-wrapper {
    padding: calc(1.25rem + 1.25 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .hotel-wrapper {
    padding: 2.5rem;
  }
}
@media (min-width: 47.5rem) {
  .hotel-wrapper {
    margin-bottom: 0;
  }
}
.hotel-wrapper h3 {
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
  text-align: center;
}
.hotel-wrapper .icon {
  fill: #E7AB33;
  display: flex;
}
.hotel-wrapper::after {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
  background-color: #F0F0F0;
}
.hotel-wrapper:hover {
  transform: scale(0.9);
  transition: all 300ms ease;
}

.atcb-checkmark {
  display: none;
}

.button {
  background-color: #2D440C;
  border: 0.125rem solid #ffffff;
  color: #ffffff;
  padding: 0.625rem 0.9375rem;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.3125rem;
  transition: all 300ms ease;
  max-height: 3.125rem;
}
.button .icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  fill: #ffffff;
  transition: all 300ms ease;
  margin-right: 0.625rem;
}
.button p {
  margin: 0;
}
.button:hover, .button:focus {
  background-color: #ffffff;
  color: #2D440C;
  transition: all 300ms ease;
}
.button:hover .icon, .button:focus .icon {
  fill: #2D440C;
  transition: all 300ms ease;
}
.button.filled {
  border: none;
  gap: 0.625rem;
}
.button.filled .icon {
  width: 1.875rem;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  flex-grow: 1;
}
.button.filled:hover, .button.filled:focus-visible, .button.filled:active {
  background-color: #E7AB33;
}
.button.outline_green {
  border-color: #2D440C;
  background-color: transparent;
}
.button.outline_green p {
  color: #2D440C;
}
.button.outline_green .icon {
  fill: #2D440C;
  width: 1.875rem;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  flex-grow: 1;
}
.button.outline_green:hover, .button.outline_green:focus-visible, .button.outline_green:active {
  border-color: #E7AB33;
}

.bg_image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 100%;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.bg_image::after {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  background-color: #42440C;
  opacity: 50%;
}

.counter-container {
  z-index: 100;
  position: relative;
  display: flex;
  gap: 1.25rem;
  color: #ffffff;
  align-items: flex-end;
  justify-content: flex-end;
  height: 100%;
}
@media (min-width: 47.5rem) {
  .counter-container {
    gap: 3.75rem;
  }
}
.counter-container .counter-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.counter-container .counter-box p {
  text-transform: uppercase;
  letter-spacing: calc((1.25rem + 0.9375 * (100vw - 20rem) / (73.75)) / 1000 * 0);
  font-size: 1.25rem;
  font-family: "Hubballi", sans-serif;
  margin-bottom: 0;
}
@media (min-width: 20rem) {
  .counter-container .counter-box p {
    font-size: calc(1.25rem + 0.9375 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .counter-container .counter-box p {
    font-size: 2.1875rem;
  }
}
.counter-container .counter-box .counter {
  letter-spacing: calc((3.125rem + 3.125 * (100vw - 20rem) / (73.75)) / 1000 * 0);
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 1.25rem;
}
@media (min-width: 20rem) {
  .counter-container .counter-box .counter {
    font-size: calc(3.125rem + 3.125 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .counter-container .counter-box .counter {
    font-size: 6.25rem;
  }
}

.timeline_elements {
  display: flex;
  width: 100%;
  margin-top: 3.75rem;
  gap: 3.125rem;
  justify-content: center;
  flex-direction: column;
}
@media (min-width: 20rem) {
  .timeline_elements {
    margin-top: calc(3.75rem + 3.75 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .timeline_elements {
    margin-top: 7.5rem;
  }
}
@media (min-width: 47.5rem) {
  .timeline_elements {
    align-items: center;
    min-width: 18.75rem;
    flex-wrap: wrap;
    flex-direction: row;
  }
}
@media (min-width: 93.75rem) {
  .timeline_elements {
    min-width: inherit;
  }
}
@media (min-width: 120rem) {
  .timeline_elements {
    justify-content: space-between;
    gap: 0;
  }
}
.timeline_elements .element {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 47.5rem) {
  .timeline_elements .element {
    min-width: 18.75rem;
  }
}
@media (min-width: 120rem) {
  .timeline_elements .element {
    min-width: inherit;
  }
}
.timeline_elements .element h3 {
  margin-top: 0.625rem;
}
.timeline_elements .element .icon {
  display: block;
  fill: #ffffff;
  width: 2.5rem;
  height: 2.5rem;
  margin-bottom: 2.5rem;
}
@media (min-width: 20rem) {
  .timeline_elements .element .icon {
    width: calc(2.5rem + 1.375 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .timeline_elements .element .icon {
    width: 3.875rem;
  }
}
@media (min-width: 20rem) {
  .timeline_elements .element .icon {
    height: calc(2.5rem + 1.375 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .timeline_elements .element .icon {
    height: 3.875rem;
  }
}

.presents {
  position: relative;
  min-height: 25rem;
  color: #ffffff;
  display: flex;
}
@media (min-width: 20rem) {
  .presents {
    min-height: calc(25rem + 12.5 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .presents {
    min-height: 37.5rem;
  }
}
.presents .bg_image {
  z-index: -1;
  transform: scaleX(-1);
}
.presents .bg_image::before {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
  background: linear-gradient(90deg, rgb(18, 20, 18) 0%, rgba(45, 68, 12, 0) 100%);
  opacity: 50%;
}
.presents .container_wrapper {
  width: 100%;
}
.presents .wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-end;
}
.presents .wrapper-container {
  margin-bottom: 2.5rem;
}
@media (min-width: 35rem) {
  .presents .wrapper-container {
    text-align: end;
  }
}
@media (min-width: 47.5rem) {
  .presents .wrapper-container {
    max-width: 40vw;
    margin-left: auto;
  }
}

.team-container {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 1.25rem 1.25rem;
}
@media (min-width: 75rem) {
  .team-container {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
  }
}
@media (min-width: 93.75rem) {
  .team-container {
    margin: 0 6.25rem;
  }
}
.team-container .text-wrapper {
  text-align: center;
}
.team-container .team {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 75rem) {
  .team-container .team {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto;
    align-items: flex-start;
  }
}
.team-container .team-images {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  justify-content: center;
}
@media (min-width: 47.5rem) {
  .team-container .team-images {
    flex-direction: row;
  }
}
@media (min-width: 75rem) {
  .team-container .team-images {
    flex-direction: row;
  }
}
.team-container .team-images .image-container {
  width: 17.9375rem;
  height: 17.9375rem;
  position: relative;
  overflow: hidden;
}
@media (min-width: 75rem) {
  .team-container .team-images .image-container {
    width: 15.625rem;
    height: 15.625rem;
  }
}
@media (min-width: 120rem) {
  .team-container .team-images .image-container {
    width: 17.9375rem;
    height: 17.9375rem;
  }
}
.team-container .team-images .image-container img {
  width: 17.9375rem;
  height: 17.9375rem;
  object-fit: cover;
  -webkit-filter: grayscale(100%);
  /* Safari 6.0 - 9.0 */
  filter: grayscale(100%);
  transition: all 300ms ease;
  object-position: 60% 10%;
}
@media (min-width: 75rem) {
  .team-container .team-images .image-container img {
    width: 15.625rem;
    height: 15.625rem;
  }
}
@media (min-width: 120rem) {
  .team-container .team-images .image-container img {
    width: 17.9375rem;
    height: 17.9375rem;
  }
}
.team-container .team-images .image-container .arrow-link {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 4;
}
.team-container .team-images .image-container .arrow-link::after {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  background-color: #F0F0F0;
  opacity: 80%;
  z-index: -1;
}
.team-container .team-images .image-container .arrow-link .icon {
  display: flex;
  width: 1.875rem;
  height: 0.9375rem;
  fill: #E7AB33;
}
.team-container .team-images .image-container .contact_details {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 5;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  transform: translateX(-100%);
  transition: all 300ms ease;
}
.team-container .team-images .image-container .contact_details p {
  color: #ffffff;
  z-index: 5;
  position: relative;
  margin: 0;
}
.team-container .team-images .image-container .contact_details .call_link {
  z-index: 5;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-top: 0.625rem;
}
.team-container .team-images .image-container .contact_details .call_link .icon {
  z-index: 5;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  fill: #ffffff;
  margin-right: 0.625rem;
}
.team-container .team-images .image-container .contact_details .call_link p {
  text-decoration: none;
  transition: all 300ms ease;
}
.team-container .team-images .image-container .contact_details .call_link:hover p, .team-container .team-images .image-container .contact_details .call_link:focus p {
  text-decoration: underline;
  transition: all 300ms ease;
}
.team-container .team-images .image-container .contact_details::after {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 0;
  background-color: #2D440C;
  opacity: 80%;
}
.team-container .team-images .image-container:hover .contact_details, .team-container .team-images .image-container:focus .contact_details {
  transform: translateX(0);
  transition: all 300ms ease;
}
.team-container .team-images .image-container:hover img, .team-container .team-images .image-container:focus img {
  transform: scale(1.2);
  transition: all 300ms ease;
}

.text_icon {
  display: flex;
  align-items: center;
}
.text_icon .icon {
  margin-right: 1.25rem;
  height: 4.75rem;
  width: 4.75rem;
}
@media (min-width: 20rem) {
  .text_icon .icon {
    margin-right: calc(1.25rem + 0.625 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .text_icon .icon {
    margin-right: 1.875rem;
  }
}
.text_icon .icon.desktop {
  display: none;
}
@media (min-width: 61.875rem) {
  .text_icon .icon.desktop {
    display: block;
  }
}
@media (min-width: 61.875rem) {
  .text_icon .icon.mobile {
    display: none;
  }
}
.text_icon .text .style_h3 {
  margin: 0;
  margin-top: 0.3125rem;
}
.text_icon.verliebt {
  margin-bottom: 1.25rem;
}
@media (min-width: 20rem) {
  .text_icon.verliebt {
    margin-bottom: calc(1.25rem + 3.75 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .text_icon.verliebt {
    margin-bottom: 5rem;
  }
}
.text_icon.verheiratet {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
@media (min-width: 20rem) {
  .text_icon.verheiratet {
    margin-top: calc(1.25rem + 1.875 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .text_icon.verheiratet {
    margin-top: 3.125rem;
  }
}
@media (min-width: 20rem) {
  .text_icon.verheiratet {
    margin-bottom: calc(1.25rem + 1.875 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .text_icon.verheiratet {
    margin-bottom: 3.125rem;
  }
}
@media (min-width: 61.875rem) {
  .text_icon.verheiratet {
    margin-top: 0;
  }
}
.text_icon.verheiratet p {
  color: #121412;
}
@media (min-width: 61.875rem) {
  .text_icon.verheiratet p {
    color: #ffffff;
  }
}

.values {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: 0;
}
@media (min-width: 61.875rem) {
  .values {
    padding-top: 3.75rem;
  }
}

.add-to-calendar::part(atcb-button) {
  background: none;
  color: #121412;
  border: none;
  box-shadow: none;
  position: relative;
  padding-right: 0;
  font-family: "Catamaran", sans-serif;
  font-weight: 700;
  margin: 0;
  padding: 0;
}

.add-to-calendar::part(atcb-active) {
  color: #2D440C;
}

.add-to-calendar::part(atcb-button-text) {
  color: #121412;
}

.add-to-calendar::part(atcb-modal-box) {
  display: none !important;
}

.add-to-calendar::part(atcb-reference) {
  display: none !important;
}

.calendar_button_wrapper {
  display: flex;
  align-items: center;
}
.calendar_button_wrapper .icon {
  display: flex;
  margin-left: 0.625rem;
}
.calendar_button_wrapper:hover .icon {
  fill: #E7AB33;
}

.atcb-link {
  text-decoration: none;
  /* Entfernt die Unterstreichung */
  color: inherit;
  /* Verwendet die Farbe des übergeordneten Elements */
}

/* Ändert das Styling des Dropdown-Menüs */
.add-to-calendar::part(atcb-list) {
  background: #ffffff !important;
  /* Hellgrauer Hintergrund */
  border: none !important;
  /* Rahmenfarbe */
  border-radius: 0 !important;
  /* Runde Ecken */
  margin-top: 1.25rem !important;
  margin-bottom: 1.25rem !important;
  z-index: 5 !important;
}

.calendar_link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.calendar_link .content {
  display: flex;
  align-items: center;
}
.calendar_link::after {
  content: "";
  position: fixed;
  /* Fixiert das Pseudo-Element relativ zum Viewport */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  background-color: rgba(18, 20, 18, 0.3);
  backdrop-filter: blur(2px);
  user-select: none;
  pointer-events: none;
  opacity: 0;
  transition: all 300ms ease;
}
.calendar_link:has(> .show)::after {
  opacity: 1;
  /* Sichtbar machen, wenn die Liste die Klasse show hat */
  transition: opacity 300ms ease;
}

.calendar_list {
  padding-left: 0;
  position: relative;
  z-index: 0;
  padding: 0.75em 0;
  margin: 0;
  position: absolute;
  transform: scaleY(0);
  transform-origin: center;
  transition: all 300ms ease;
  z-index: 5;
}
.calendar_list.show {
  transform: scaleY(1);
  transition: all 300ms ease;
}
.calendar_list.show::after {
  opacity: 1;
  transition: all 300ms ease;
}
.calendar_list::before {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
  background-color: #ffffff;
}
.calendar_list li {
  list-style: none;
  text-align: center;
  padding: 0.75em 1.5em;
  display: flex;
  justify-content: center;
  transition: all 300ms ease;
}
.calendar_list li:hover {
  background-color: #F0F0F0;
  transition: all 300ms ease;
}

body {
  margin: 0;
  margin-left: auto;
  margin-right: auto;
  max-width: 2560px;
}

.page_wrapper {
  overflow-x: hidden;
}

main {
  display: block;
}

* {
  -webkit-tap-highlight-color: rgba(231, 171, 51, 0.1);
  box-sizing: border-box;
}
@media (min-width: 61.875rem) {
  * {
    hyphens: none;
  }
}

html {
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

::selection {
  background-color: #E7AB33;
  /* Hintergrundfarbe */
  color: #ffffff;
  /* Textfarbe */
}

.error header {
  height: 100vh;
}
.error header .header-content {
  left: 0;
  align-items: center;
  margin-bottom: 6.25rem;
  color: #ffffff;
}
@media (min-width: 20rem) {
  .error header .header-content {
    margin-bottom: calc(6.25rem + 0.625 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .error header .header-content {
    margin-bottom: 6.875rem;
  }
}
.error header .header-content h1,
.error header .header-content .subline {
  text-align: center;
}
.error header .header-content .info-icon img {
  width: 12.5rem;
}
@media (min-width: 20rem) {
  .error header .header-content .info-icon img {
    width: calc(12.5rem + 21.875 * (100vw - 20rem) / (73.75));
  }
}
@media (min-width: 93.75rem) {
  .error header .header-content .info-icon img {
    width: 34.375rem;
  }
}

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