/* Splash loader — GIF in <head> so it shows before includes.js */
#loader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 100vw;
  height: 100%;
  height: 100dvh;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  z-index: 2147483646;
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--warm, #FFFBF8);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
#loader.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
#loader .loader-media-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
}
#loader .loader-media-wrap img,
#loader #loaderGif {
  display: block;
  width: min(320px, 78vw);
  height: auto;
  max-height: 55vh;
  object-fit: contain;
  margin: 0;
  border: 0;
}

html.is-loading,
body.is-loading {
  overflow: hidden !important;
  height: 100%;
}

html.is-loading #nav,
html.is-loading #mobileMenu,
body.is-loading #nav,
body.is-loading #mobileMenu {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html.is-loading body > section,
html.is-loading body > footer,
html.is-loading body > .carousel-section,
html.is-loading body > .ticker-wrap,
html.is-loading body > .sticky-cta,
html.is-loading body > [data-include],
body.is-loading > section,
body.is-loading > footer,
body.is-loading > .carousel-section,
body.is-loading > .ticker-wrap,
body.is-loading > .sticky-cta,
body.is-loading > [data-include] {
  visibility: hidden !important;
  pointer-events: none !important;
}
