/* GANTRY5 DEVELOPMENT MODE ENABLED.
 *
 * WARNING: This file is automatically generated by Gantry5. Any modifications to this file will be lost!
 *
 * For more information on modifying CSS, please read:
 *
 * http://docs.gantry.org/gantry5/configure/styles
 * http://docs.gantry.org/gantry5/tutorials/adding-a-custom-style-sheet
 */

@charset "UTF-8";
html {
  scroll-behavior: smooth;
}
/* Basics */
body {
  overflow-x: hidden;
}
p {
  font-size: 19px;
  line-height: 1.6;
}
h1, h2, h3, h4, h5, h6, strong {
  color: #ffffff;
}
/* Shadows */
h1 {
  text-shadow: rgba(0, 0, 0, 0.4) 1px 1px 3px;
}
header#g-header p {
  text-shadow: rgba(0, 0, 0, 0.4) 1px 1px 3px;
}
#g-header a {
  text-shadow: none;
}
#g-navigation .g-main-nav .g-toplevel > li:not(.g-menu-item-type-particle):not(.g-menu-item-type-module).active {
  text-shadow: rgba(0, 0, 0, 0.4) 1px 1px 3px;
}
#g-navigation .g-main-nav .g-toplevel > li:not(.g-menu-item-type-particle):not(.g-menu-item-type-module).active > .g-menu-item-container {
  text-shadow: none;
}
.g-main-nav .g-toplevel > li > .g-menu-item-container > .g-menu-item-content {
  text-shadow: none;
}
.g-main-nav .g-menu-item-title {
  text-shadow: none;
}
.g-main-nav .g-toplevel > #g-navigation .g-main-nav .g-toplevel > li > .g-menu-item-container {
  text-shadow: none;
}
.g-main-nav .g-toplevel > li > .g-menu-item-container > .g-menu-item-content {
  text-shadow: none;
}
.g-main-nav .g-toplevel > #g-navigation .g-main-nav .g-toplevel > li > .g-menu-item-container {
  text-shadow: none;
}
.g-main-nav .g-toplevel > li > .g-menu-item-container > .g-menu-item-content {
  text-shadow: none;
}
.g-main-nav .g-toplevel > #g-navigation .g-main-nav .g-toplevel > li > .g-menu-item-container {
  text-shadow: none;
}
.g-main-nav .g-toplevel > li > .g-menu-item-container > .g-menu-item-content {
  text-shadow: none;
}
h2 {
  text-shadow: rgba(0, 0, 0, 0.4) 1px 1px 3px;
}
p {
  text-shadow: rgba(0, 0, 0, 0.4) 1px 1px 3px;
}
strong {
  text-shadow: rgba(0, 0, 0, 0.4) 1px 1px 3px;
}
h2 {
  text-shadow: rgba(0, 0, 0, 0.4) 1px 1px 3px;
}
h3 {
  text-shadow: rgba(0, 0, 0, 0.4) 1px 1px 3px;
}
span {
  text-shadow: rgba(0, 0, 0, 0.4) 1px 1px 3px;
}
a {
  text-shadow: none;
}
.g-social a {
  text-shadow: none;
}
span.g-social-text {
  text-shadow: none;
}
/* Shadows End */
#g-page-surround {
  transition: none !important;
  overflow-x: hidden !important;
  /* Removes the sliding animation entirely */
}
div.spacer {
  height: 50px !important;
  min-height: 50px !important;
  background-color: #b8cdac !important;
  display: block !important;
  /* The "Infinite Padding" Trick */
  /* This extends the color 1000px to the left and right */
  margin-left: -1000px !important;
  margin-right: -1000px !important;
  padding-left: 1000px !important;
  padding-right: 1000px !important;
  /* Ensure it doesn't push the box wider than the screen */
  width: 100% !important;
  box-sizing: content-box !important;
}
/* Ensure parents don't cut off that 1000px padding */
#g-page-surround, .g-container, .g-grid, .g-block {
  overflow: visible !important;
}
/* 1. Hide the particles but keep them "jumpable" */
#custom-1731-particle, #custom-7444-particle {
  display: block !important;
  /* Must be block for jump marks to work */
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: none !important;
}
/* 2. Style the jump marks themselves to be invisible and precisely positioned */
#oeffnungszeiten, #anfahrt {
  display: block !important;
  height: 0 !important;
  visibility: hidden !important;
  /* OPTIONAL: Offset for fixed headers */
  /* If your menu covers the title when you jump, adjust this -100px */
  position: relative !important;
  top: -100px !important;
}
/* Keep the screen from scrolling horizontally */
html, body {
  overflow-x: hidden;
}
/* 
#g-header {background: linear-gradient(to bottom,  rgba(43,81,152,1) 0%,rgba(146,179,232,1) 35%,rgba(169,193,229,1) 50%,rgba(146,179,232,1) 65%,rgba(43,81,152,1) 100%);}
*/
header#g-header .g-content {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
header#g-header p {
  margin: 0 !important;
  padding: 12px 0;
  /* (48px header - 24px text) / 2 = 12px padding */
}
/* 1. Remove the background box and change text color to white */
.g-main-nav .g-toplevel > li {
  background-color: transparent !important;
}
.g-main-nav .g-toplevel > li > .g-menu-item-container {
  color: #ffffff !important;
  /* Force white text */
}
/* 2. Vertically center the text */
.g-main-nav .g-toplevel > li > .g-menu-item-container {
  display: flex !important;
  align-items: center;
  /* Vertical center */
  height: 150px;
  /* Match the parent height */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
/* Ensure the title span itself is white (if needed) */
.g-main-nav .g-menu-item-title {
  color: #ffffff !important;
}
/* 1. Increase font size */
.g-main-nav .g-toplevel > li > .g-menu-item-container {
  font-size: 1.25rem !important;
  /* Adjust this value to your liking */
  transition: text-decoration 0.3s ease;
  /* Smooth transition for the underline */
}
/* 2. Add underscore on hover */
.g-main-nav .g-toplevel > li > .g-menu-item-container:hover {
  text-decoration: underline !important;
  text-underline-offset: 8px;
  /* Optional: adds space between text and underscore */
  text-decoration-thickness: 2px;
  /* Optional: makes the underscore thicker */
}
/* 3. Keep underscore for the 'Active' page (Optional) */
.g-main-nav .g-toplevel > li.active > .g-menu-item-container {
  text-decoration: underline !important;
  text-underline-offset: 8px;
}
#g-main, #g-subfeature {
  padding: 1.5rem 2rem;
}
h1, h2, h3, h4, h5 {
  font-family: "Lato";
  font-weight: 800;
  font-style: italic;
}
/* Showcase Cover */
#g-showcase img {
  width: 100%;
  height: auto;
  /* Sorgt für korrektes Verhältnis auf dem Handy */
  max-height: 400px;
  /* Begrenzt die Höhe auf Desktop */
  object-fit: cover;
  max-width: none;
}
/* Subfeature padding */
#g-subfeature {
  padding-left: 75px;
  padding-right: 0;
  width: 100%;
}
#g-subfeature .g-container {
  margin-left: auto;
  margin-right: auto;
}
/* Speisekarte Tabellen */
.pmimage {
  width: 0px;
}
.pmquantity {
  width: 85px;
}
.pmpriceprefix {
  width: 30px;
}
.pmprice {
  width: 75px;
}
/* Mobile Adjust */
@media (max-width: 767px) {
  /* 1. Globale Platzoptimierung */
  /* 2. Speisekarte */
  /* 3. Layout Blöcke */
  /* 4. Logo / Showcase */
  /* 5. Schrift & Umbrüche */
  /* Off-Canvas Menü Korrektur */
  #g-main, .platform-content.container, .g-content, .sppb-row-container, .sec-oeffnungszeiten {
    padding-left: 5px !important;
    padding-right: 5px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  #phocarestaurantmenu.dailymenu {
    padding-left: 0 !important;
    margin-left: -5px !important;
  }
  #phocarestaurantmenu.dailymenu .col, #phocarestaurantmenu.dailymenu .pm-item, #phocarestaurantmenu.dailymenu .pm-container, #phocarestaurantmenu.dailymenu .phocamenuline {
    padding-left: 0 !important;
    margin-left: 0 !important;
  }
  #phocarestaurantmenu.dailymenu .pm-item {
    display: flex !important;
    justify-content: space-between !important;
    width: 100% !important;
  }
  #phocarestaurantmenu.dailymenu .pm-item-price {
    white-space: nowrap !important;
    padding-left: 10px !important;
    text-align: right !important;
  }
  .g-block.size-50 {
    width: 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
  #logo-6995-particle.g-content, #g-showcase .g-block {
    padding: 0 !important;
    margin: 0 !important;
  }
  #logo-6995-particle img {
    width: 100% !important;
    display: block !important;
    height: auto !important;
  }
  h2, .sppb-addon-title {
    font-size: 1.4rem !important;
    line-height: 1.3 !important;
  }
  .sppb-column-addons {
    hyphens: auto !important;
    word-wrap: break-word !important;
    overflow-wrap: anywhere !important;
  }
  #g-offcanvas {
    /* Sicherstellen, dass der Container nicht links aus dem Bild ragt */
    padding-left: 10px !important;
  }
  #g-offcanvas .g-menu-item-container {
    /* Den Text innerhalb der Links etwas nach rechts schieben */
    padding-left: 20px !important;
    margin-left: 0 !important;
    text-align: left !important;
  }
  #g-offcanvas .g-menu-item-title {
    /* Falls es ein spezielles Span für den Titel gibt */
    display: inline-block !important;
    margin-left: 0 !important;
  }
}
/* <--- WICHTIG: Diese Klammer schließt die @media Abfrage */
/* Das Grid, das alle Footer-Blöcke enthält, ausrichten */
.g-footer .g-grid, #g-footer .g-grid {
  display: flex !important;
  align-items: center !important;
  /* Alle Blöcke vertikal mittig ausrichten */
  flex-wrap: wrap !important;
}
/* Die Abstände innerhalb der Partikel vereinheitlichen */
.g-footer .g-content {
  margin: 0 !important;
  padding: 10px !important;
  display: flex !important;
  align-items: center !important;
}
/* Die Überschrift im Social-Block entfernen oder verkleinern, 
   da sie den Block so hoch macht und die Ausrichtung stört */
#social-8011-particle .g-title {
  margin: 0 10px 0 0 !important;
  font-size: 1rem !important;
  display: inline-block !important;
}
/* Social Icons und Text nebeneinander */
.g-social.social {
  display: inline-flex !important;
  align-items: center !important;
}
/* Mobil-Ansicht: Alles sauber untereinander */
@media (max-width: 767px) {
  .g-footer .g-grid {
    flex-direction: column !important;
    text-align: center !important;
  }
  .g-footer .g-block {
    width: 100% !important;
    flex-basis: 100% !important;
  }
}
/* 1. Create the space at the top */
#g-page-surround {
  margin-top: 60px !important;
  position: relative !important;
  /* Ensures the icon aligns to this container */
}
/* 2. Position the icon UP into that margin area */
.g-offcanvas-toggle {
  position: absolute !important;
  top: -45px !important;
  /* Pulls it up into the 60px margin area */
  left: 15px !important;
  z-index: 1000 !important;
}
/* Desktop reset */
@media (min-width: 992px) {
  #g-page-surround {
    margin-top: 0 !important;
  }
}
/* Sticky Box Speisekarte */
.sticky-speisekarte {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  writing-mode: vertical-rl !important;
  text-orientation: mixed !important;
  position: fixed !important;
  left: 0 !important;
  bottom: 5px !important;
  background-color: #6ec1e4 !important;
  padding: 5px 2px !important;
  z-index: 9999 !important;
  text-orientation: upright !important;
  letter-spacing: -2px !important;
  opacity: 0 !important;
  /* JS Anmimation */
  transition: opacity 0.5s ease-in-out !important;
  pointer-events: none !important;
  /* Neuer Rahmen & Rundung */
  border: 1px solid #ffffff !important;
  border-left: none !important;
  border-top-right-radius: 10px !important;
  border-bottom-right-radius: 10px !important;
}
/* Der sichtbare Zustand*/
.sticky-speisekarte.is-visible {
  opacity: 1 !important;
  pointer-events: auto !important;
}
.sticky-speisekarte a {
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 0.85rem;
  font-family: Lato, sans-serif;
}
/* 25% größer auf Desktop */
@media (min-width: 1024px) {
  .sticky-speisekarte {
    padding: 7px 3px !important;
  }
  .sticky-speisekarte a {
    font-size: 22px !important;
  }
}
/*# sourceMappingURL=custom_14.css.map */