.menu_mobile.opened {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.menu_mobile_overlay {
  cursor: pointer;
}

img[data-lazyload] {
  object-fit: cover;
}

.sc_googlemap_clicktoload {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5efec;
}

.sc_googlemap_clicktoload_inner {
  text-align: center;
  padding: 1.5em;
}

.sc_googlemap_clicktoload_pin {
  color: #03556d;
  margin-bottom: 0.3em;
}

.sc_googlemap_clicktoload_address {
  margin: 0 0 1.1em;
  color: #03556d;
  font-size: 1.05em;
  line-height: 1.4;
}

.sc_googlemap_clicktoload_btn {
  display: inline-block;
  padding: 0.9em 1.8em;
  background: #31b4aa;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 1em;
  cursor: pointer;
}

.sc_googlemap_clicktoload_btn:hover {
  background: #2a9d94;
}

/* "Glen Island is hiring" banner image is a fixed 1565px-wide JPG; on viewports
   wider than that it left-aligns and leaves a white gap to its right. Stretch it
   to fill the full-width row instead. */
.vc_custom_1762902379113 .vc_single_image-wrapper,
.vc_custom_1762902379113 img {
  width: 100%;
  height: auto;
}

/* Revolution Slider hero banner: its own JS sometimes fails to size the slide
   background image to fill the slide, leaving a white gap on the right. Force
   it to always cover its slide container regardless of the slider's JS sizing. */
rs-slide {
  width: 100% !important;
  height: 100% !important;
}

.rev-slidebg.tp-rs-img {
  width: 100% !important;
  height: 100% !important;
  left: 0 !important;
  top: 0 !important;
  object-fit: cover !important;
}
