/* Lifesong v5.3: isolated layout for the original Kids Campus Pro / Nivo Slider.
   Proportional height, edge-to-edge presentation, and original Nivo transitions.
   This file deliberately does not force a 600px height or object-fit crop. */
#ls53-original-hero.ls53-original-hero {
  width:100%; max-width:none; margin:0; padding:0;
  background:#fff; overflow:visible;
}
#ls53-original-hero .ls53-slider-shell {
  position:relative; width:100%; height:auto; margin:0; padding:0;
  background:#fff;
}
#ls53-original-hero #ls53-original-nivo {
  position:relative; display:block; width:100%; max-width:none;
  height:auto; margin:0; padding:0; overflow:hidden; background:#fff;
}
#ls53-original-hero #ls53-original-nivo > img:not(.nivo-main-image) {
  position:absolute; left:0; top:0; display:none; width:100%; max-width:none; height:auto;
}
#ls53-original-hero #ls53-original-nivo:not(.ls53-ready):not(.ls53-initializing) > img:first-child {
  position:relative; display:block; width:100%; height:auto;
}
#ls53-original-hero #ls53-original-nivo .nivo-main-image {
  display:block!important; position:relative!important;
  width:100%!important; height:auto!important; max-width:none!important;
}
#ls53-original-hero #ls53-original-nivo a.nivo-imageLink {
  position:absolute; top:0;left:0; width:100%; height:100%;
  border:0; padding:0; margin:0; z-index:6; display:none; background:transparent;
}
#ls53-original-hero .nivo-html-caption { display:none; }
#ls53-original-hero .nivo-slice {
  display:block; position:absolute; z-index:5; height:100%; top:0;
}
#ls53-original-hero .nivo-box {
  display:block;position:absolute;z-index:5;overflow:hidden;
}
#ls53-original-hero .nivo-box img {display:block;max-width:none}
#ls53-original-hero .nivo-controlNav {
  position:absolute; bottom:7%; left:0;right:0; width:100%; z-index:9;
  display:flex;justify-content:center;align-items:center;gap:9px;padding:0;margin:0;
}
#ls53-original-hero .nivo-controlNav a {
  cursor:pointer; display:inline-block; width:38px;height:8px;
  margin:0; padding:0; background:#fff; border:0; border-radius:20px;
  text-indent:-9999px;overflow:hidden;box-shadow:0 1px 6px #0004;
}
#ls53-original-hero .nivo-controlNav a.active,
#ls53-original-hero .nivo-controlNav a:hover,
#ls53-original-hero .nivo-controlNav a:focus-visible { background:#f5bf19; }
#ls53-original-hero .nivo-controlNav a:focus-visible,
#ls53-original-hero .nivo-directionNav a:focus-visible {outline:3px solid #24272c;outline-offset:3px}
#ls53-original-hero .nivo-directionNav a {
  position:absolute;top:50%;transform:translateY(-50%);z-index:10;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;width:46px;height:46px;background:#24272cbd;
  border-radius:50%;font-size:0;color:white;text-decoration:none;
  box-shadow:0 2px 8px #0003;
}
#ls53-original-hero .nivo-directionNav a:before{font-family:Arial,sans-serif;font-size:34px;line-height:1}
#ls53-original-hero .nivo-directionNav a.nivo-prevNav {left:18px}
#ls53-original-hero .nivo-directionNav a.nivo-nextNav {right:18px}
#ls53-original-hero .nivo-directionNav .nivo-prevNav:before {content:'\2039'}
#ls53-original-hero .nivo-directionNav .nivo-nextNav:before {content:'\203A'}
#ls53-original-hero .nivo-caption {
  position:absolute;right:6.5%;top:62%;transform:translateY(-62%);
  z-index:8;width:min(35%,550px);margin:0;padding:0;
  background:transparent;color:#fff;text-shadow:0 2px 6px #0008;
}
#ls53-original-hero .nivo-caption h2 {
  font-size:clamp(32px,4.5vw,72px);font-weight:500;line-height:1.12;
  color:white;margin:0 0 10px;letter-spacing:-.02em;
}
#ls53-original-hero .nivo-caption p{font-size:clamp(15px,1.4vw,22px);line-height:1.45;margin:0 0 20px;color:white}
#ls53-original-hero .ls53-slide-button {
  display:inline-flex;align-items:center;justify-content:center;
  padding:13px 24px;border-radius:100px;text-decoration:none;
  background:#fff;color:#24272c;font-weight:700;text-shadow:none;
}
#ls53-original-hero .ls53-slide-button:hover {background:#f5bf19;color:#24272c}
@media(max-width:800px){
  #ls53-original-hero .nivo-controlNav{bottom:12px;gap:7px}
  #ls53-original-hero .nivo-controlNav a{width:24px;height:6px}
  #ls53-original-hero .nivo-directionNav a {width:34px;height:34px}
  #ls53-original-hero .nivo-directionNav a:before{font-size:26px}
  #ls53-original-hero .nivo-directionNav a.nivo-prevNav{left:8px}
  #ls53-original-hero .nivo-directionNav a.nivo-nextNav{right:8px}
  #ls53-original-hero .nivo-caption{right:3%;top:50%;transform:translateY(-50%);width:45%}
  #ls53-original-hero .nivo-caption h2{font-size:clamp(17px,4vw,29px)}
  #ls53-original-hero .nivo-caption p{font-size:12px;line-height:1.25;margin-bottom:8px}
  #ls53-original-hero .ls53-slide-button{font-size:12px;padding:7px 11px}
}
@media(max-width:450px){
  #ls53-original-hero .nivo-caption h2{font-size:15px}
  #ls53-original-hero .nivo-caption p{display:none}
  #ls53-original-hero .ls53-slide-button{padding:5px 8px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){
 #ls53-original-hero *{transition:none!important}
}

/* v5.6: The secondary slider logo overlay was intentionally removed. */

/* v5.4: the original slider used Patrick Hand for its caption typography. */
body.ls5-heading-amatic #ls53-original-hero .nivo-caption h2,
body.ls5-heading-patrick #ls53-original-hero .nivo-caption h2 {
  font-family: "Patrick Hand", "Trebuchet MS", Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 400;
}
body.ls5-heading-amatic #ls53-original-hero .nivo-caption p,
body.ls5-heading-patrick #ls53-original-hero .nivo-caption p {
  font-family: "Patrick Hand", "Trebuchet MS", Arial, sans-serif;
}

/* v5.8.3 - Cap desktop slideshow height without fighting Nivo image sizing.
   A 16:9 image at 1067px wide renders at ~600px high.  No cropping,
   forced image heights, or changes to slider JS / transitions. */
@media (min-width: 801px) {
  #ls53-original-hero.ls53-original-hero {
    width: 100%;
    background: #fff;
  }
  #ls53-original-hero .ls53-slider-shell {
    width: 100%;
    max-width: var(--ls53-desktop-max-width, 1067px);
    margin-inline: auto;
  }
}

/* v5.8.4 — Soft desktop edge-fill using the SAME active slide image.
   Nivo still controls the sharp center photograph at its natural 16:9 ratio.
   The ambient layer is decorative and intentionally absent on mobile. */
#ls53-original-hero.ls53-original-hero {
  position: relative;
  isolation: isolate;
}
#ls53-original-hero .ls53-ambient-stage {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background: #ffffff;
}
#ls53-original-hero .ls53-ambient-layer {
  position: absolute;
  inset: -48px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  filter: blur(38px);
  opacity: 0;
  transform: scale(1.03);
  transition: opacity .65s ease-in-out;
  will-change: opacity;
}
#ls53-original-hero .ls53-ambient-layer.ls53-ambient-active {
  opacity: .64;
}
#ls53-original-hero .ls53-ambient-stage::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
    rgba(255,255,255,.50),
    rgba(255,255,255,.20) 27%,
    rgba(255,255,255,.20) 73%,
    rgba(255,255,255,.50));
}
#ls53-original-hero .ls53-slider-shell {
  position: relative;
  z-index: 1;
}
/* Only feather the seam on displays wide enough to have side margins. */
@media (min-width: 1200px) {
  #ls53-original-hero #ls53-original-nivo {
    -webkit-mask-image: linear-gradient(90deg,transparent,black 28px,black calc(100% - 28px),transparent);
    mask-image: linear-gradient(90deg,transparent,black 28px,black calc(100% - 28px),transparent);
  }
}
@media (max-width: 800px) {
  #ls53-original-hero .ls53-ambient-stage { display: none; }
  #ls53-original-hero #ls53-original-nivo {
    -webkit-mask-image: none;
    mask-image: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  #ls53-original-hero .ls53-ambient-layer { transition: none; }
}
