  .new-menu-wrapper {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: start;
  }

  .new-menu-wrapper-item {
      width: 48%;
      display: flex;
      flex-direction: column;
      margin-bottom: 60px;
      background-color: #1c563c;
      padding: 40px;
  }

  .menu_full_width {
      width: 100% !important;
  }

  .menu_full_width span {
      margin-bottom: 20px;
  }

  .menu_thirds {
      width: 31% !important;
  }

  .new-menu-wrapper-item b {
      font-size: 38px;
      line-height: 38px;
      margin-bottom: 10px;
      color: #fff;
  }

  .new-menu-wrapper-item p {
      font-size: 24px;
      color: #eadda6;
      margin-bottom: 5px;
  }

  .new-menu-wrapper-item span {
      font-size: 20px;
      color: #222;
      font-weight: 800;
      /*     margin-top: -20px; */
      margin-bottom: 20px;
  }

  .new-menu-wrapper-item span:last-of-type {
      margin-bottom: 0;
  }

  .new-menu-btn {
      font-size: 20px;
      margin: 30px 0;
  }

  /* ===== FAQ accordion ===== */
  .rp_faq {
      margin-top: 18px;
  }

  .rp_faq_item {
      border: 1px solid rgba(0, 0, 0, .08);
      border-radius: 12px;
      overflow: hidden;
      background: #fff;
      margin-bottom: 10px;
  }

  .rp_faq_q {
      width: 100%;
      text-align: left;
      cursor: pointer;
      border: 0;
      background: transparent;
      padding: 14px 14px;
      font-weight: 900;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
  }

  .rp_faq_q .chev {
      display: inline-block;
      width: 10px;
      height: 10px;
      border-right: 3px solid rgba(0, 0, 0, .55);
      border-bottom: 3px solid rgba(0, 0, 0, .55);
      transform: rotate(45deg);
      transition: transform .2s ease;
  }

  .rp_faq_item.is-open .rp_faq_q .chev {
      transform: rotate(-135deg);
  }

  .rp_faq_a {
      display: none;
      padding: 0 14px 14px 14px;
      color: rgba(0, 0, 0, .78);
      line-height: 1.5;
  }

  .rp_faq_item.is-open .rp_faq_a {
      display: block;
  }


  .cd-top {
      display: inline-block;
      height: 40px;
      width: 40px;
      position: fixed;
      bottom: 40px;
      right: 10px;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
      /* image replacement properties */
      overflow: hidden;
      text-indent: 100%;
      white-space: nowrap;
      background: rgba(198, 44, 38, 0.8) url(../images/cd-top-arrow.svg) no-repeat center 50%;
      visibility: hidden;
      opacity: 0;
      -webkit-transition: opacity .3s 0s, visibility 0s .3s;
      -moz-transition: opacity .3s 0s, visibility 0s .3s;
      transition: opacity .3s 0s, visibility 0s .3s;
  }

  .cd-top.cd-is-visible,
  .cd-top.cd-fade-out,
  .no-touch .cd-top:hover {
      -webkit-transition: opacity .3s 0s, visibility 0s 0s;
      -moz-transition: opacity .3s 0s, visibility 0s 0s;
      transition: opacity .3s 0s, visibility 0s 0s;
  }

  .cd-top.cd-is-visible {
      /* the button becomes visible */
      visibility: visible;
      opacity: 1;
  }

  .cd-top.cd-fade-out {
      /* if the user keeps scrolling down, the button is out of focus and becomes less visible */
      opacity: .5;
  }

  .cd-top:hover {
      background-color: #ab1b15;
      opacity: 1;
  }

  @media screen and (max-width: 768px) {

      .menu_thirds {
          width: 100% !important;
      }

      .new-menu-wrapper-item {
          width: 100%;
          padding: 30px;
          margin-bottom: 30px;
      }


  }


  @media screen and (max-width: 480px) {

      .new-menu-wrapper-item {
          width: 100%;
      }

      .menu_full_width {
          width: 100% !important;
      }


      .new-menu-wrapper-item b {
          font-size: 28px;
      }

      .new-menu-wrapper-item span {
          font-size: 18px;
      }

      .new-menu-wrapper-item p {
          font-size: 18px;
      }

  }


  @media only screen and (min-width: 768px) {
      .cd-top {
          right: 20px;
          bottom: 20px;
      }
  }

  @media only screen and (min-width: 1024px) {
      .cd-top {
          height: 60px;
          width: 60px;
          right: 30px;
          bottom: 30px;
      }
  }

  .coupons {
      display: flex;
      flex-wrap: wrap;
      justify-content: start;
      align-items: start;
  }

  .coupons .coupon {
      width: 31%;
      background-color: white;
      border: dashed 3px black;
      padding: 20px;
      margin-bottom: 2%;
      margin-right: 2%;
  }

  .coupon span {
      font-size: 28px;
      color: black;
      font-weight: bold;
      line-height: 36px;
      padding-bottom: 12px;
      display: block;
  }

  .coupon p.code {
      background: #37714d;
      padding: 12px 40px;
      color: white;
      margin: auto;
      display: inline-block;
      font-weight: bold;
      text-transform: uppercase;
  }

  .leftcol {
      max-height: 100%;
  }

  .leftcol h5 a {
      display: block;
      font-size: 32px;
      line-height: 36px;
      padding-bottom: 12px;
  }

  .time_row {
      margin-bottom: 20px;
  }

  .button_row {
      display: flex;
      flex-direction: column;
      align-items: baseline;
  }

  .button_row a {
      display: block;
      margin: 0 0 10px;
  }

  .rightcol iframe {
      height: 100%;
      border-radius: 15px;
  }

  @media (max-width: 1024px) {
      .coupons .coupon {
          width: 48%;
      }
  }

  @media (max-width: 768px) {
      .rightcol iframe {
          height: 70vw;
      }

      .button_row {
          align-items: center;
      }

      .coupons .coupon {
          width: 100%;
          margin-right: 0;
      }

      .coupons {
          margin-bottom: 80px;
      }
  }

  /* gallery styles */

  .new-gallery {
      padding-top: 0;
  }

  .store-gallery {
      overflow-x: auto;
      overflow-y: hidden;
      display: flex;
      gap: 8px;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
      border-radius: 8px;
      cursor: grab;
  }

  .store-gallery::-webkit-scrollbar {
      display: none;
  }

  .store-gallery.dragging {
      cursor: grabbing;
      scroll-snap-type: none;
      user-select: none;
  }

  .store-gallery img {
      height: 300px;
      width: auto;
      flex-shrink: 0;
      object-fit: cover;
      scroll-snap-align: start;
      border-radius: 6px;
      user-select: none;
      pointer-events: none;
  }

  .store-gallery-indicator {
      text-align: center;
      padding: 10px 0;
      font-size: 13px;
      color: #888;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
  }

  .store-gallery-indicator svg {
      width: 16px;
      height: 16px;
  }