@media (min-width: 750px) {
  /* ==========================================================================
   Desktop Engagement widget visibility: don't show when over header
   ========================================================================== */
  /* Add transition to smoothly animate 'transform' property */
  .mt_engagement,
  #mt_chat--LP {
    transition: transform .6s;
  }
  /* Add transform property to wrapping .mt_engagement element */
  .mt_engagement {
    transform: translate(0, -50%);
  }
  .slide-right.mt_engagement {
    transform: translate(100%, -50%);
  }
  /* 
	 * Add transform + visibility properties to Live Person collapsed + expanded elements 
	 * transform = sets position on x-axis, either on or off screen 
	 * visibility = Live Person icon pops in dynamically; set visibility to 'hidden' initially to prevent appearance over header
	 */
  #LP_Tag_Container:not(.slide-right) #mt_chat--LP {
    transform: translateX(0);
    visibility: visible;
  }
  .slide-right:not(.keep-chat-icon-visible) #mt_chat--LP {
    visibility: hidden;
  }
  /* 
	 * Keep Live Person icon visible after it has loaded. 
	 * It will get moved on/off screen using transform + transition property. 
	 */
  .slide-right.keep-chat-icon-visible {
    visibility: visible;
  }
  /* Move to the right same width of collapsed container */
  .slide-right #mt_chat--LP.collapsed {
    transform: translateX(98px);
  }
  /* Move to the right same width of expanded container */
  .slide-right #mt_chat--LP.expanded {
    transform: translateX(330px);
  }
}

:root {
  /* html font-size at this width: 12px */
  --h1-fontsize: 4.17rem;
  /* 50px */
  --h1-lineheight: 5.25rem;
  /* 63px */
  --h2-fontsize: 5.5rem;
  /* 80px */
  --h2-lineheight: 6.66rem;
  /* 104px */
  --alignToLogoSpacing: calc(((100vw - 1009px) / 2) - 177px);
  /* 1009px = max-width of navigation and main content | 177px = width of logo */
}
.heroBanner__breadcrumbs--mobile {
  display: none;
}
.heroBanner__breadcrumbs--desktop {
  position: relative;
  z-index: 3;
  padding: 25px 0;
  margin-bottom: 55px;
}
.heroBanner__breadcrumbs--desktop *,
.heroBanner__breadcrumbs--desktop a,
.heroBanner__breadcrumbs--desktop a:link,
.heroBanner__breadcrumbs--desktop a:visited,
.heroBanner__breadcrumbs--desktop a:hover,
.heroBanner__breadcrumbs--desktop a:active,
.heroBanner__breadcrumbs--desktop a:after,
.heroBanner__breadcrumbs--desktop .currentLocation {
  color: white;
}
.heroBanner__breadcrumbs--desktop a {
  cursor: pointer;
}
.heroBanner__breadcrumbs--desktop .breadcrumb_layer {
  margin: 0 auto 0 var(--alignToLogoSpacing);
}
.heroBanner--esbu {
  width: 100vw;
  margin: 0 0 0 calc(-50vw + 50%);
}
.heroBanner--esbu:not(.isEditMode, .isPreviewMode) {
  min-height: clamp(600px, calc(90vh - 64px), calc(90vh - 64px));
  /* min height: 600px tall
		 * preferred height: 60% viewport height - main menu height
		 * max height: 90% viewport height - main menu height 
		 */
  /* No min-height if no h1/h2, or only one: h1 OR h2 */
}
.heroBanner--esbu:not(.isEditMode, .isPreviewMode) .heroBanner__text {
  height: 80%;
}
.heroBanner--esbu:not(.isEditMode, .isPreviewMode) .heroBanner__text:has(h1:empty):has(h2:empty) {
  display: none;
}
.heroBanner--esbu:not(.isEditMode, .isPreviewMode):has(h1:empty):has(h2:empty),
.heroBanner--esbu:not(.isEditMode, .isPreviewMode):has(h1:not(:empty)):has(h2:empty),
.heroBanner--esbu:not(.isEditMode, .isPreviewMode):has(h1:empty):has(h2:not(:empty)) {
  min-height: 0;
}
.heroBanner--esbu .heroBanner__content {
  max-width: 1009px;
  margin: 0 auto;
}
.heroBanner--esbu .heroBanner__media {
  top: 0;
}
.heroBanner--esbu .heroBanner__media:empty,
.heroBanner--esbu .heroBanner__media--no-desktop-media {
  background: #004494;
}
.heroBanner--esbu .heroBanner__media:empty + .heroBanner__overlay {
  display: none;
}
.heroBanner--esbu .heroBanner__overlay {
  top: 0;
  bottom: 0;
  max-width: 80%;
}
.heroBanner--esbu .heroBanner__text {
  padding: 0 0 60px 0;
  max-width: 880px;
  margin: 0 auto 0 var(--alignToLogoSpacing);
}
.heroBanner--esbu .heroBanner__text h1 {
  font-family: 'Avant Garde for MT Bk', Arial, sans-serif;
  font-weight: 400;
  font-size: clamp(1rem, 4.5vw, var(--h1-fontsize));
  line-height: clamp(1.5rem, 5vw, var(--h1-lineheight));
  margin: 0 0 60px 0;
  max-width: 800px;
}
.heroBanner--esbu .heroBanner__text h2 {
  font-family: 'Avant Garde for MT Bd', Arial, sans-serif;
  font-weight: 700;
  font-size: clamp(2rem, 7vw, var(--h2-fontsize));
  line-height: clamp(2.5rem, 8.5vw, var(--h2-lineheight));
  margin: 0;
}
.heroBanner--esbu .heroBanner__text h2:before {
  content: '';
  display: block;
  margin: -24px 0 0;
}
.seointrotext:not(:empty) {
  max-width: 880px;
  margin: 60px 0 0 0;
  font-size: 16px;
  line-height: 24px;
}
.mt_direction_right_to_left .heroBanner--esbu {
  width: 100vw;
  margin: 0 calc(-50vw + 50%) 0 0;
}
.mt_direction_right_to_left .heroBanner--esbu .heroBanner__overlay {
  background: linear-gradient(-90deg, rgba(0, 68, 148, 0.8) 0%, rgba(0, 68, 148, 0) 100%);
}
.pageheader + #content_layer:has(.p5tabs) {
  margin-top: 60px;
}
@media (max-width: 1365px) {
  .heroBanner__breadcrumbs--desktop .breadcrumb_layer {
    margin: 0 20px;
  }
  .heroBanner--esbu .heroBanner__text {
    margin: 0 20px;
    max-width: 1009px;
  }
  .seointrotext:not(:empty) {
    max-width: 1009px;
    margin: 60px 20px 0;
  }
}
@media (max-width: 1009px) {
  .heroBanner__breadcrumbs--desktop {
    padding: 25px 0;
  }
  .heroBanner--esbu .heroBanner__overlay {
    max-width: 100%;
  }
  .heroBanner--esbu .heroBanner__text {
    padding: 0 0 60px;
  }
}
@media (max-width: 750px) {
  .heroBanner__breadcrumbs--desktop {
    padding: 10px 0;
    margin-bottom: 30px;
  }
  .heroBanner__breadcrumbs--desktop .breadcrumb_layer {
    margin: 0;
    padding: 0 0 0 20px;
  }
}
@media (max-width: 600px) {
  .heroBanner__breadcrumbs--mobile {
    display: block;
  }
  .heroBanner__breadcrumbs--desktop {
    display: none;
  }
  .heroBanner--esbu:not(.isEditMode, .isPreviewMode) {
    min-height: clamp(600px, calc(-4vh), calc(-4vh));
  }
  .heroBanner--esbu .heroBanner__media .heroBanner__media__video--desktop {
    display: block;
  }
  .heroBanner--esbu .heroBanner__text {
    padding: 30px 0;
  }
  .heroBanner--esbu .heroBanner__text h1 {
    font-size: clamp(24px, 4.5vw, var(--h1-fontsize));
    line-height: clamp(130%, 5vw, var(--h1-lineheight));
    margin: 0 0 30px 0;
  }
  .heroBanner--esbu .heroBanner__text h2 {
    font-size: clamp(40px, 7vw, var(--h2-fontsize));
    line-height: clamp(120%, 8.5vw, var(--h2-lineheight));
  }
  .heroBanner--esbu .heroBanner__text h2:before {
    display: none;
  }
}
@media (max-width: 480px) {
  .heroBanner--esbu .heroBanner__media .heroBanner__media__video--desktop {
    display: none;
  }
  .heroBanner--esbu .heroBanner__media .heroBanner__media__video--mobile {
    display: block;
  }
  .heroBanner--esbu .heroBanner__media.heroBanner__media--no-mobile-media {
    background: #004494;
  }
}

