/*
 * Mobile / tablet fixes layered on top of the theme (style.css).
 * The theme sets body { overflow-x: hidden }, so anything wider than the screen
 * gets silently clipped instead of scrolling. Rules are scoped to small screens
 * unless the overflow also happens on desktop (see the full-width container rule).
 */

img {
  max-width: 100%;
}

/* Theme's own full-width containers have no side padding to absorb row margins
   (e.g. the "Request Your Appointment" strip was 8px wider than the screen) - all screen sizes */
.container-full > .row,
.container-80 > .row {
  margin-left: 0;
  margin-right: 0;
}

@media only screen and (max-width: 1199px) {
  /* Theme spacing utilities (e.g. .ptb--40 = padding: 40px 0 !important) strip the
     container's side padding while its rows keep negative margins */
  .container,
  .container-fluid,
  .container[class*="ptb--"],
  .container[class*="plr--"] {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

@media only screen and (max-width: 991px) {
  /* .g-5 rows pull out 24px each side, more than the container pads */
  .g-5,
  .gx-5 {
    --bs-gutter-x: 1.5rem;
  }

  /* Theme pulls the about image 30px past its column */
  .about-image-left-wrapper {
    margin-right: 0;
  }
}
