/* Disable Divi scroll animations — elements visible immediately */
.et-waypoint:not(.et_pb_counters),
.et-pb-before-scroll-animation,
.et_animated {
  opacity: 1 !important;
  animation: none !important;
  transform: none !important;
}

/* Hide MediaElement.js "Video Player" label inside background video sections.
   mejs-offscreen is supposed to be clipped, but Divi scroll animations
   create a new containing block that breaks the clip positioning. */
.et_pb_section_video_bg .mejs-offscreen {
  display: none !important;
}

/* Make background videos cover the whole section. Divi originally sized the
   video via MediaElement.js (removed to stop an infinite media-loading loop),
   leaving the bare <video> at its natural 1920x1080 — so on viewports wider
   than the video the right side showed the section's flat background.
   object-fit:cover restores the full-bleed "cover" behavior with no JS. */
.et_pb_section_video_bg video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Override Smush lazy-load opacity — images are already local, no JS to swap classes */
img.lazyload, img.lazyloading {
  opacity: 1 !important;
}

/* Restore #page-container top padding for fixed-nav pages.
   privacy-policy-inline.css (and similar pages without et-cache files) includes
   the full compiled Divi CSS which contains #page-container{padding-top:0!important}.
   This overrides the standard 80px push needed to clear the fixed header.
   Higher specificity + !important wins; Divi JS then further updates it to the
   actual header height (129px) via inline style. */
.et_fixed_nav.et_show_nav #page-container {
  padding-top: 80px !important;
}

/* Position the logo container absolutely within the header.
   Pages whose inline CSS doesn't include the full compiled Divi CSS are missing this
   rule, causing the logo to render at full natural size (1536×768). */
.et_header_style_left .logo_container {
  position: absolute;
  height: 100%;
  width: 100%;
}

/* Base header nav padding and logo size (all viewport widths).
   Desktop values are overridden by the @media block below. */
.et_header_style_left #et-top-navigation {
  padding-top: 33px;
}
.et_header_style_left #et-top-navigation nav > ul > li > a {
  padding-bottom: 33px;
}
#logo {
  max-height: 54%;
  display: inline-block;
  vertical-align: middle;
}

/* Fix header logo size at desktop.
   The live site inlines its Divi CSS in this order: compiled page CSS first (33px nav,
   54% logo), then customizer global CSS last (65px nav, 90% logo inside @media 981px),
   so the customizer values win at desktop.
   Our Astro build loads customizer global first and page inline CSS last, inverting the
   order. These rules restore the correct desktop values by loading after all other CSS. */
@media only screen and (min-width: 981px) {
  .et_header_style_left #et-top-navigation {
    padding-top: 65px;
  }
  .et_header_style_left #et-top-navigation nav > ul > li > a {
    padding-bottom: 65px;
  }
  #logo {
    max-height: 90%;
  }
}

/* ── Static location map (replaces Google Maps embeds) ────────────────────── */
.praxis-map {
  display: block;
  line-height: 0;
}
.praxis-map img {
  display: block;
  width: 100%;
  height: auto;
}
