/* Site layout fixes — logo visibility and uniform photo sizing */

/* Helix hides .sp-default-logo on Retina without a .sp-retina-logo twin */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
  only screen and (-moz-min-device-pixel-ratio: 1.5),
  only screen and (-o-min-device-pixel-ratio: 1.5),
  only screen and (min-device-pixel-ratio: 1.5) {
  #sp-header .sp-default-logo {
    display: inline-block !important;
  }
}

#sp-header #sp-logo .logo img {
  display: block;
  max-height: 58px;
  width: auto;
}

#sp-header #sp-logo .logo a {
  display: table-cell;
  vertical-align: middle;
  height: 70px;
}

/* Shared: crop photos inside a fixed frame instead of stretching layout */
.isa-photo-frame {
  display: block;
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

.isa-photo-frame > a {
  display: block;
  width: 100%;
  height: 100%;
}

.isa-photo-frame img.sppb-img-responsive {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  object-position: center center;
  display: block;
}

/* Service grid cards (Our Services, industries overview, etc.) */
.sppb-addon-single-image-container {
  aspect-ratio: 635 / 505;
}

.sppb-addon-single-image-container,
.sppb-addon-single-image-container > a {
  display: block;
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

.sppb-addon-single-image-container > a {
  height: 100%;
}

.sppb-addon-single-image-container img.sppb-img-responsive {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  object-position: center center;
  display: block;
}

/* Landscape image + text blocks */
.sppb-addon-image-layout-image:not(.image-fit) {
  aspect-ratio: 635 / 505;
  overflow: hidden;
  line-height: 0;
}

.sppb-addon-image-layout-image:not(.image-fit) img.sppb-img-responsive {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center center;
  display: block;
}

/* Square image + text blocks (news, industry tabs) */
.sppb-addon-image-layout-image.image-fit {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  line-height: 0;
}

.sppb-addon-image-layout-image.image-fit img.sppb-img-responsive {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center center;
  display: block;
}

/* Standalone image addons on inner pages */
.sppb-addon-image img.sppb-img-responsive {
  width: 100% !important;
  height: auto !important;
  max-width: 100%;
  aspect-ratio: 635 / 505;
  object-fit: cover;
  object-position: center center;
  display: block;
}
