body.no-scroll {
  overflow: hidden;
}

#menu1 {
  position: fixed;
  width: 100%;
}
#menu1.box-shadow-small {
  box-shadow: 0 0.3rem 1rem rgba(0, 0, 0, 0.1);
}
@media (min-width: 1200px) {
  /*.instafeed:not(.instafeed--gapless) li {*/
  /*  padding-bottom: 3rem;*/
  /*}*/
  .text-center.instafeed-section {
    padding-bottom: 3rem;
  }
}
.border-hover {
  border: none;
  padding: 1rem;
  transition: all 0.2s;
}
.border-hover:hover {
  background: rgba(200, 200, 200, 0.2);
}
.notification-banner {
  padding: 1rem;
  text-align: center;
  position: relative;
  box-shadow: 0 2rem 2rem rgba(0, 0, 0, 0.45);
  z-index: 1000000;
  background-color: #fff;
}
.notification-banner .link {
  font-size: 1.3rem;
}
.notification-banner .btn {
  position: absolute;
  right: 8px;
  top: 7px;
  padding: 0.5rem 1.5rem;
  border: none;
}
@media (max-width: 768px) {
  .notification-banner {
    padding-right: 2rem;
  }
  .notification-banner .btn {
    right: 0px;
  }
}
.main-slider-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main-slider-wrapper__slider {
  height: 100%;
}
.main-slider-wrapper .slides {
  height: 100%;
}
.main-slider-wrapper .flickity-slider {
  height: 100% !important;
}
.main-slider-wrapper .flickity-viewport {
  height: 100% !important;
}
.main-slider-wrapper .slide {
  height: 100%;
}
.main-slider-wrapper
  .slider[data-paging="true"]:not(section)
  .flickity-page-dots {
  bottom: 50px;
}
.modal-content.contact-us-form {
  background-color: white;
  padding: 5rem;
  border-radius: 0.3rem;
}

.main-slider-wrapper .flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.main-slider-wrapper .flickity-enabled.is-draggable .flickity-viewport {
  cursor: default;
}

.main-slider-wrapper
  .flickity-enabled.is-draggable
  .flickity-viewport.is-pointer-down {
  cursor: default;
}

.social-list.list-inline {
  text-align: center;
}

.modal-container.modal-active {
  z-index: 999999;
}

@media (max-width: 768px) {
  .notification-banner {
    padding-right: 2rem;
  }
  .notification-banner .btn {
    right: 0px;
  }
  .instagramis .switchable__text {
    text-align: center;
  }
  .container.contact-info-wrapper {
    text-align: center;
    padding-bottom: 0.5rem;
  }
}

/* THEME CSS*/

@media all and (max-width: 767px) {
  .nav-container {
    position: fixed;
    border-bottom: 1px solid #ececec;
    background-color: white;
    opacity: 1;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
  }

  .main-container {
    padding-top: 4.7rem;
  }

  .map {
    border-radius: 0;
  }

  footer .social-list {
    margin: 1.85714286em 0;
  }
  .footer-4 form {
    margin: 1.85714286em 0;
  }
  .footer-4 .logo {
    margin: 0;
  }
  .footer-6 .footer__lower .social-list {
    margin-top: 1.85714286em;
  }
  .footer-7 .social-list {
    margin-top: 1.85714286em;
  }
  .footer-1 .social-list {
    margin-top: 1.85714286em;
  }
  .footer-1 .logo {
    display: block;
    margin-top: 1.85714286em;
    margin-bottom: 0.92857143em;
    margin-left: auto;
    margin-right: auto;
  }
}

@media all and (min-width: 768px) {
  .background-image-holder .map-container,
  .imageblock__content .map-container {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
  }
  .map-container + div[class*="col-"] {
    margin-top: 3.71428571em;
  }
}

/**! 34. Bars **/
.bar {
  padding: 1.85714286em 0;
  /*position: fixed;*/
  /*border: 1px solid white;*/
  /*border-bottom: 1px solid #ececec;*/
  /*background-color: white;*/
  /*z-index: 10000;*/
  /*left: 0;*/
  /*top: 0;*/
  /*width: 100%;*/
}
.bar.bottom {
  padding: 0.92857143em 0;
  position: fixed;
  border: 1px solid white;
  border-bottom: 1px solid #ececec;
  border-top: 1px solid #ececec;
  background-color: white;
  z-index: 100;
  left: 0px;
  top: auto;
  bottom: 0px;
  height: 62px;
  width: 100%;
}

.bar.bottom .contact-us-footer {
  display: flex;
  align-items: center;
  justify-content: center;
}

.bar .logo {
  margin: 0;
  position: relative;
  top: 4px;
}
.bar .menu-horizontal {
  position: relative;
  top: 6px;
}

.fas.fa-utensils.utensils {
  font-size: 1.1rem;
  position: relative;
  left: 0.7rem;
  color: #fff;
}

.fas.fa-phone.phone {
  font-size: 1.1rem;
  position: relative;
  left: 0.7rem;
  color: #fff;
}

.fas.fa-directions.directions {
  font-size: 1.3rem;
  position: relative;
  left: 0.3rem;
  color: #fff;
}

/*@media (min-width: 768px) {*/
/*  .background-image-holder .map-container, .imageblock__content .map-container {*/
/*    position: absolute;*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    top: 0;*/
/*    left: 0;*/
/*  }*/
/*}*/

.font--bigger {
  font-size: 1.6em !important;
}

.margin--bottom {
  margin-bottom: 7.42857143em;
}

.padding--left {
  padding-left: 0.5em;
}

/* Contact Split Section Layout */
.contact-split-section {
  /* background-color: #111111; */
  padding: 0;
}

.g-0 {
  justify-content: flex-end !important;
}

/* Force both sides to match perfectly at a reasonable height on desktop */
/* @media (min-width: 992px) {
    .contact-split-section, 
    .sidebar-side, 
    .map-side {
        height: 550px !important; 
    }
} */

/* Card Styling */
.modern-stacked-card {
  border: none;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.card-label {
  color: #c26343; /* Accent color for section labels */
  font-size: 0.75rem;
  letter-spacing: 2px;
}

/* Typography styles matching your mockup */
.serif-text {
  font-family: "Playfair Display", "Georgia", serif;
  color: #1a1a1a;
}

.modern-stacked-card h3.card-heading {
  font-size: 1.45rem;
  line-height: 1.4;
  font-weight: 500;
}

.time-text {
  font-size: 1.1rem;
}

/* Link Actions */
.text-link {
  color: #1a1a1a;
  font-size: 0.9rem;
  transition: color 0.2s ease;
}
.text-link .arrow {
  display: inline-block;
  transition: transform 0.2s ease;
}
.text-link:hover {
  color: #c26343;
}
.text-link:hover .arrow {
  transform: translateX(4px);
}

/* Responsive adjustments for smaller screens */
@media (max-width: 991px) {
  .sidebar-side {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
    padding-left: 30px !important;
  }
  .map-side {
    height: 400px;
  }
}

/* Pop-up Overlay (Blurry dark background behind the modal) */
.promo-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(5px);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;
}

/* The Modal Box (Acts as the boundary for the absolute 'X' button) */
.promo-modal-card {
  position: relative; /* CRITICAL: Absolutely positioned items inside will align to this card */
  width: 90%;
  max-width: 550px;
  border-radius: 16px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5);
  box-sizing: border-box;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  overflow: hidden; /* Ensures background image stays inside the rounded corners */

  /* Background Image styling + dark gradient overlay */
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.75)),
    url("/img/promo2.jpg");
  background-size: cover;
  background-position: center;
}

/* Padding & Content Layout */
.promo-modal-content {
  padding: 45px 35px;
  text-align: center;
  color: #ffffff;
}

/* Top accent tag */
.promo-tagline {
  display: inline-block;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #ffb703;
  font-weight: 700;
  margin-bottom: 12px;
}

/* Headline styling */
.promo-modal-content h2 {
  color: #f0f0f0;
  font-size: 1.5rem;
  line-height: 1.4;
  margin: 0 0 16px 0;
  font-weight: 700;
}

/* Body Text */
.promo-modal-content p {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 28px;
  color: #f0f0f0;
}

/* Call to Action Button */
.promo-cta-btn {
  display: inline-block;
  background-color: #b80000;
  color: #1a1a1a;
  text-decoration: none;
  font-weight: bold;
  padding: 12px 30px;
  border-radius: 30px;
  transition:
    background-color 0.2s ease,
    transform 0.1s ease;
  /* box-shadow: 0 4px 15px rgba(255, 183, 3, 0.3); */
}

.promo-cta-btn:hover {
  text-decoration: none;
  background-color: #bf1a1a;
  transform: translateY(-2px);
}

/* 
   FIXED: Close Button 
   Positioned relative to the .promo-modal-card top-right corner
*/
.promo-close-btn {
  position: absolute;
  top: -25px; /* 15px down from the top edge of the popup card */
  right: 20px; /* 20px in from the right edge of the popup card */
  background: none;
  border: none;
  color: #ffffff;
  font-size: 32px; /* Clean visual size */
  font-weight: 300;
  cursor: pointer;
  line-height: 1;
  opacity: 0.75;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
  z-index: 10; /* Force it to render on top of the text and background */
  padding: 5px;
}

.promo-close-btn:hover {
  opacity: 1;
  transform: scale(1.1);
}

/* Mobile Friendly tweaks */
@media (max-width: 480px) {
  .promo-modal-content {
    padding: 35px 20px;
  }
  .promo-modal-content h2 {
    font-size: 1.25rem;
  }
  .promo-modal-content p {
    font-size: 0.9rem;
  }
  .promo-close-btn {
    top: -65px;
    right: 15px;
    font-size: 28px;
  }
}

.promo-modal-content span {
  color: #b80000;
}

.woklogo {
  max-width: 65%;
  margin-bottom: 20px !important;
}

.other-location {
  padding-top: 4.95238095em !important;
}


.text-red {
  color: #A31E00;
}