html.lenis,
html.lenis body {
  height: auto;
  overflow-x: hidden !important;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

/* Page locked while a modal / mobile menu is open (see smooth-scroll.js). */
html.rb-scroll-locked,
html.rb-scroll-locked body {
  overflow: hidden !important;
}

.modal,
.offcanvas-body {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

/* Long forms scroll inside the popup instead of being cut off. */
.modal-dialog-scrollable .modal-body {
  overscroll-behavior: contain;
}

@media (max-height: 640px) {
  .modal-dialog {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }

  .modal-dialog-scrollable {
    height: calc(100% - 1.5rem);
  }

  #contactModal .modal-header {
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
  }

  #contactModal .modal-body .mb-3 {
    margin-bottom: 0.6rem !important;
  }
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}