.elementor-36595 .elementor-element.elementor-element-1d4f64f{--display:flex;}.eael-ext-scroll-to-top-wrap .eael-ext-scroll-to-top-button{bottom:15px;right:15px;width:50px;height:50px;z-index:9999;opacity:0.7;background-color:#000000;border-radius:5px;}.eael-ext-scroll-to-top-wrap .eael-ext-scroll-to-top-button i{font-size:16px;color:#ffffff;}.eael-ext-scroll-to-top-wrap .eael-ext-scroll-to-top-button svg{width:16px;height:16px;fill:#ffffff;}/* Start custom CSS for shortcode, class: .elementor-element-a7775fb *//* =========================================================
   ALCIVIA Elevator Hours – Sticky Header + Sticky 1st Column
   TablePress ID: 1
   Behavior:
   - Horizontal scroll: whole table (Mon–Fri headers + hours) scrolls together
   - Vertical scroll: header row sticks to top of viewport
   - Horizontal scroll: first column (Location) sticks to the left
   ========================================================= */

/* 0) IMPORTANT: Sticky often breaks if any parent has overflow hidden/auto OR transforms.
      These overrides help in common Elementor/TablePress setups. */
.elementor-widget-tabs .elementor-tabs-content-wrapper,
.elementor-widget-tabs .elementor-tab-content {
  overflow: visible !important;
}

/* 1) Make sure the *wrapper* is the horizontal scroller.
      If your wrapper class is different, update .hours-table-wrap accordingly. */
.hours-table-wrap {
  overflow-x: auto;
  overflow-y: visible;             /* page scrolls vertically */
  -webkit-overflow-scrolling: touch;
  width: 100%;
  position: relative;
}

/* 2) Table base */
.tablepress.tablepress-id-1 {
  border-collapse: separate;
  border-spacing: 0;
  min-width: 900px;                /* keep columns from squishing */
  background: #ffffff;
}

/* 3) Default cell backgrounds (critical for sticky overlap) */
.tablepress.tablepress-id-1 th,
.tablepress.tablepress-id-1 td {
  background: #ffffff;             /* ensures sticky cells cover content underneath */
}

/* 4) Sticky HEADER ROW (Mon–Fri headers scroll sideways with table, but stay at top when page scrolls) */
.tablepress.tablepress-id-1 thead th {
  position: sticky;
  top: 0;
  z-index: 10;                     /* above body cells */
  background: #70754e;
  color: #ffffff;
  border-bottom: 2px solid #4a5416;
}

/* 5) Sticky FIRST COLUMN (Location) */
.tablepress.tablepress-id-1 tbody td:first-child,
.tablepress.tablepress-id-1 thead th:first-child {
  position: sticky;
  left: 0;
  z-index: 20;                     /* above other cells */
  background: #f7f8f2;
  text-align: left;
  white-space: nowrap;
  border-right: 2px solid rgba(112,117,78,0.25);
}

/* 6) Top-left corner cell should be highest (overlap of sticky top + sticky left) */
.tablepress.tablepress-id-1 thead th:first-child {
  z-index: 30;
  background: #4a5416;
  color: #ffffff;
}

/* 7) Optional: zebra striping (keep first column slightly different) */
.tablepress.tablepress-id-1 tbody tr:nth-child(even) td {
  background: #fbfbf8;
}
.tablepress.tablepress-id-1 tbody tr:nth-child(even) td:first-child {
  background: #eef0e6;
}

/* 8) Location column brand styling */
.tablepress.tablepress-id-1 tbody td:first-child {
  font-weight: 700;
  color: #4a5416;
}

/* 9) REMOVE/override any transform on the table (transforms can break sticky) */
.tablepress.tablepress-id-1 {
  transform: none !important;
}

/* =========================================================
   Elevator Hours (TablePress ID 1)
   - Horizontal scroll: table scrolls sideways as one unit (Mon–Sun + hours)
   - Vertical scroll: header row stays sticky
   - Horizontal scroll: first column stays sticky
   - Hardened for real mobile browsers (incl. iOS Safari)
   ========================================================= */

/* 1) Horizontal scroll wrapper (page handles vertical scroll) */
.hours-table-wrap{
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  position: relative;
}

/* 2) Table base */
.tablepress.tablepress-id-1{
  border-collapse: separate;
  border-spacing: 0;
  min-width: 900px;
  background: #fff;
  /* IMPORTANT for sticky reliability: no transforms */
  transform: none !important;
}

/* 3) Cell defaults (solid backgrounds prevent overlap “ghosting”) */
.tablepress.tablepress-id-1 th,
.tablepress.tablepress-id-1 td{
  background: #fff;
}

/* 4) Sticky header row (make iOS happy with -webkit-sticky) */
.tablepress.tablepress-id-1 thead th{
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 10;
  background: #70754e;
  color: #fff;
  border-bottom: 2px solid #4a5416;
  white-space: nowrap;
}

/* 5) Sticky first column */
.tablepress.tablepress-id-1 thead th:first-child,
.tablepress.tablepress-id-1 tbody td:first-child{
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: 20;                 /* above normal cells */
  background: #f7f8f2;
  border-right: 2px solid rgba(112,117,78,0.25);
  text-align: left;
  white-space: nowrap;
}

/* 6) Top-left corner cell highest (overlap of sticky top + sticky left) */
.tablepress.tablepress-id-1 thead th:first-child{
  z-index: 30;
  background: #4a5416;
  color: #fff;
}

/* 7) Your location brand styling */
.tablepress.tablepress-id-1 tbody td:first-child{
  font-weight: 700;
  color: #4a5416;
}

/* 8) Optional zebra striping */
.tablepress.tablepress-id-1 tbody tr:nth-child(even) td{
  background: #fbfbf8;
}
.tablepress.tablepress-id-1 tbody tr:nth-child(even) td:first-child{
  background: #eef0e6;
}

@media (max-width: 767px){
  .elementor-section,
  .elementor-column,
  .elementor-widget-wrap{
    overflow: visible !important;
  }
}

/* =========================================================
   Elevator Hours – Mobile Sticky Fix (Elementor Shortcode)
   Symptom: Sticky header works in desktop mobile preview,
            but disappears on real phone.
   Cause: Parent overflow/transform blocks sticky on mobile.
   ========================================================= */

/* 1) Remove overflow clipping + transforms on common Elementor wrappers (mobile only) */
@media (max-width: 1024px) {
  /* Common Elementor wrapper chain around widgets */
  .elementor-section,
  .elementor-container,
  .elementor-column,
  .elementor-widget-wrap,
  .elementor-widget,
  .elementor-widget-container,
  .elementor-widget-shortcode {
    overflow: visible !important;   /* sticky can fail if an ancestor clips overflow */
    transform: none !important;     /* transforms can break sticky containing context */
  }
}

/* 2) Horizontal scroll lives ONLY here */
.hours-table-wrap{
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  position: relative;
}

/* 3) Table base */
.tablepress.tablepress-id-1{
  border-collapse: separate;
  border-spacing: 0;
  min-width: 900px;
  background: #ffffff;
  transform: none !important; /* ensure table itself isn't transformed */
}

/* 4) Sticky header row (days stay at top while page scrolls) */
.tablepress.tablepress-id-1 thead th{
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 10;
  background: #70754e;        /* must be opaque or text will show through */
  color: #ffffff;
  white-space: nowrap;
  border-bottom: 2px solid #4a5416;
}

/* 5) Sticky first column (Location) */
.tablepress.tablepress-id-1 thead th:first-child,
.tablepress.tablepress-id-1 tbody td:first-child{
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: 20;
  background: #f7f8f2;
  border-right: 2px solid rgba(112,117,78,0.25);
  white-space: nowrap;
  text-align: left;
}

/* 6) Top-left corner cell above everything */
.tablepress.tablepress-id-1 thead th:first-child{
  z-index: 30;
  background: #4a5416;
  color: #ffffff;
}

/* 7) Location styling */
.tablepress.tablepress-id-1 tbody td:first-child{
  font-weight: 700;
  color: #4a5416;
}

/* 8) Optional zebra striping */
.tablepress.tablepress-id-1 tbody tr:nth-child(even) td{
  background: #fbfbf8;
}
.tablepress.tablepress-id-1 tbody tr:nth-child(even) td:first-child{
  background: #eef0e6;
}

/* =========================================================
   Elevator Hours Sticky Fix (iOS Safari)
   Scope: only the Elementor Shortcode widget with class:
          .elevator-hours-sticky
   ========================================================= */

/* iOS Safari-only gate (commonly used to target WebKit touch browsers) */
@supports (-webkit-touch-callout: none) {

  /* 1) Neutralize common "sticky killers" ONLY inside this widget */
  .elevator-hours-sticky,
  .elevator-hours-sticky * {
    /* Ancestor overflow/scroll/hidden can prevent sticky from working */
    overflow: visible !important;     /* sticky often fails when an ancestor clips overflow */ /* [1](https://www.browserstack.com/guide/why-css-position-sticky-is-not-working)[3](https://stackoverflow.com/questions/68035370/unable-to-get-table-header-to-be-in-a-fixed-sticky-position) */
    /* Transforms/filters/perspective/contain create stacking/containing contexts that break sticky */
    transform: none !important;       /* transforms can break sticky */ /* [2](https://polypane.app/blog/getting-stuck-all-the-ways-position-sticky-can-fail/)[1](https://www.browserstack.com/guide/why-css-position-sticky-is-not-working) */
    filter: none !important;
    perspective: none !important;
    contain: none !important;
    will-change: auto !important;
  }

  /* 2) The ONLY element that should scroll sideways is the wrapper */
  .elevator-hours-sticky .hours-table-wrap{
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    position: relative;
  }

  /* 3) Table setup */
  .elevator-hours-sticky .tablepress.tablepress-id-1{
    border-collapse: separate;
    border-spacing: 0;
    min-width: 900px;
    background: #fff;
    transform: none !important;
  }

  /* 4) Sticky header row: days (Mon–Sun) stay at top while page scrolls */
  .elevator-hours-sticky .tablepress.tablepress-id-1 thead th{
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 10;
    background: #70754e;        /* opaque background prevents bleed-through */ /* [3](https://stackoverflow.com/questions/68035370/unable-to-get-table-header-to-be-in-a-fixed-sticky-position)[2](https://polypane.app/blog/getting-stuck-all-the-ways-position-sticky-can-fail/) */
    color: #fff;
    white-space: nowrap;
    border-bottom: 2px solid #4a5416;
  }

  /* 5) Sticky first column: Location stays visible during horizontal scroll */
  .elevator-hours-sticky .tablepress.tablepress-id-1 thead th:first-child,
  .elevator-hours-sticky .tablepress.tablepress-id-1 tbody td:first-child{
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    z-index: 20;
    background: #f7f8f2;
    border-right: 2px solid rgba(112,117,78,0.25);
    text-align: left;
    white-space: nowrap;
  }

  /* 6) Top-left corner cell above everything */
  .elevator-hours-sticky .tablepress.tablepress-id-1 thead th:first-child{
    z-index: 30;
    background: #4a5416;
    color: #fff;
  }

  /* 7) Location brand styling */
  .elevator-hours-sticky .tablepress.tablepress-id-1 tbody td:first-child{
    font-weight: 700;
    color: #4a5416;
  }
}
``/* End custom CSS */