/* R132: the exact provider appointment reschedule dialog. */
body.f24-reschedule-viewport-modal-open {
  overflow: hidden !important;
}

/* A containing main element previously made this fixed modal position itself below the page. */
body.f24-reschedule-viewport-modal-open main {
  contain: none !important;
  transform: none !important;
  filter: none !important;
  perspective: none !important;
}

[data-f24-reschedule-viewport-overlay="true"] {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: none !important;
  z-index: 2147483000 !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

[data-f24-reschedule-viewport-overlay="true"] > [role="dialog"] {
  width: min(100%, 32rem) !important;
  max-height: calc(100dvh - 2rem) !important;
  margin: auto !important;
  overscroll-behavior: contain;
}

@media (max-width: 639px) {
  [data-f24-reschedule-viewport-overlay="true"] {
    align-items: flex-end !important;
    padding: max(0.75rem, env(safe-area-inset-top)) 0 0 !important;
  }

  [data-f24-reschedule-viewport-overlay="true"] > [role="dialog"] {
    width: 100% !important;
    max-width: none !important;
    max-height: calc(100dvh - max(0.75rem, env(safe-area-inset-top))) !important;
    margin: auto 0 0 !important;
    padding-bottom: max(1.25rem, env(safe-area-inset-bottom)) !important;
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
  }
}
