/*
  Image normalization rules.
  This file exists because a few key visuals needed stricter control than generic responsive CSS could provide.
  Use it for intentional image framing rules, not for unrelated layout changes.
*/
@import url('image-fixes.css');
.tv-image-frame{
  overflow:hidden;
  line-height:0;
  font-size:0;
}

.tv-image-fit{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  vertical-align:top;
}

.page-hero-visual.tv-hero-frame,
.tv-hero-frame{
  overflow:hidden;
  padding:0;
  min-height:0;
  line-height:0;
}

.page-hero-visual.tv-hero-frame > img,
.tv-hero-frame > .tv-hero-image{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  vertical-align:top;
}

.tv-hero-image-about{
  object-position:center center !important;
}

.tv-hero-image-careers{
  object-position:center 22% !important;
}

.tv-post-card{
  overflow:hidden;
}

.tv-post-thumb{
  display:block !important;
  width:100% !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  vertical-align:top;
}


.tv-post-thumb-fhir{
  object-position:center center !important;
}

.tv-post-thumb-hl7{object-position:center 16% !important;}

.tv-post-thumb-golive{
  object-position:center 22% !important;
}



.tv-blog-card .tv-post-thumb{
  width:100%;
  height:100%;
  min-height:100%;
  object-fit:cover;
}

@media (max-width: 768px){
  .tv-post-thumb-fhir{
    object-position:center 22% !important;
  }

  .tv-post-thumb-hl7{object-position:center top !important;}

/* HL7 card uses a custom focal point to preserve faces in smaller card crops. */

  .tv-post-thumb-golive{
    object-position:center 20% !important;
  }
}


.home-hero-image{
  overflow:hidden;
}

.home-hero-picture{
  display:block;
  width:100%;
  height:100%;
}

.home-hero-picture,
.home-hero-picture > img,
.home-hero-picture > source,
.home-hero-photo{
  line-height:0;
}

.home-hero-picture > img,
.home-hero-photo{
  /* Dedicated hero treatment to keep subject framing stable across breakpoints. */
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  aspect-ratio:auto !important;
}

.home-hero-image.hero-image-base img.home-hero-photo{
  filter:saturate(1.04) contrast(1.03) brightness(.96);
}

@media (max-width: 640px){
  .home-hero-image{
    min-height:auto !important;
  }

  .home-hero-picture{
    aspect-ratio:4 / 5;
    height:auto !important;
  }

  .home-hero-picture > img,
  .home-hero-photo{
    height:100% !important;
    object-position:center center !important;
  }
}

.tv-blog-card-media{
  line-height:0;
}

.tv-blog-card-media > img,
.tv-blog-card .tv-post-thumb{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  transform:none !important;
}

.tv-post-thumb-fhir{object-position:center 38% !important;}
.tv-post-thumb-hl7{object-position:center top !important;}
.tv-post-thumb-golive{object-position:center 34% !important;}

.suggest-media{
  overflow:hidden;
}

.suggest-media img{
  /* Suggest-topic visual uses a separate responsive treatment because the desktop and narrow layouts do not share the same ideal crop. */
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 18% !important;
}

@media (max-width:1180px){
  .suggest-media img{
    height:auto !important;
    aspect-ratio: 16 / 10 !important;
    object-position:center 18% !important;
  }
}


@media (max-width: 900px){
  .home-hero-picture{
    aspect-ratio: 4 / 5;
    height: auto !important;
  }

  .home-hero-picture > img,
  .home-hero-photo{
    object-position: center center !important;
  }
}

.suggest-media picture{
  display:block;
  width:100%;
  height:100%;
}

.suggest-media picture,
.suggest-media picture > img{
  line-height:0;
}

@media (max-width: 1180px){
  .suggest-media img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    aspect-ratio:16 / 10 !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
}
