/* The shared header loads this year-round; only the calendar enables it. */
.sitv-seasonal-snow {
  display: none;
}

:root.sitv-christmas {
  --accent: #963e46;
  --green-100: #edf2ea;
  --line: #e1d9c7;
  --christmas-gold: #d8bc7e;
}

.sitv-christmas body {
  background:
    radial-gradient(circle at top right, rgba(216,188,126,.16), transparent 32rem),
    linear-gradient(180deg, #f4efe5 0%, #faf7f0 45%, #eef3ed 100%);
}

.sitv-christmas .sitv-header {
  background-image:
    linear-gradient(rgba(23,63,53,.78),rgba(23,63,53,.32)),
    url("/gfx/backscene_winter.jpg");
  background-position: 0 0, 0 calc(15% - 200px);
  border-top: 3px solid var(--christmas-gold);
}

.sitv-christmas .sitv-home .sitv-header {
  background-position: 0 0, 0 calc(6% - 100px);
}

/* Small flakes, confined to the top and clear of the main content. */
.sitv-christmas .sitv-seasonal-snow {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: min(12rem, 28vh);
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  z-index: 20;
}

.sitv-seasonal-snow span {
  position: absolute;
  top: -6px;
  left: var(--left);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #fff;
  opacity: 0;
  animation: sitv-snowfall var(--duration, 12s) var(--delay, 0s) linear infinite;
}

.sitv-seasonal-snow span:nth-child(3n) {
  width: 3px;
  height: 3px;
}

@keyframes sitv-snowfall {
  0% { transform: translate(0, 0); opacity: 0; }
  12% { opacity: .55; }
  65% { opacity: .35; }
  100% { transform: translate(16px, min(12rem, 28vh)); opacity: 0; }
}

@media (max-width: 700px) {
  .sitv-seasonal-snow span:nth-child(even) {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sitv-christmas .sitv-seasonal-snow {
    display: none;
  }

  .sitv-seasonal-snow span {
    animation: none;
  }
}

.sitv-christmas .sitv-nav-wrap {
  border-bottom-color: rgba(216,188,126,.55);
}

.sitv-christmas .sitv-content,
.sitv-christmas .sitv-sidebox {
  border-color: #e1d9c7;
}

.sitv-christmas .sitv-mailing {
  border-top: 3px solid var(--christmas-gold);
}

.sitv-christmas .sitv-search input[type=submit]:hover,
.sitv-christmas .sitv-mailing input[type=submit]:hover {
  background: #7c3038;
}

.sitv-christmas .homepage-event-date {
  background: #f5e9e7;
}

.sitv-christmas .homepage-event-day,
.sitv-christmas .homepage-event-month {
  color: #863640;
}

.sitv-christmas .sitv-footer {
  border-top: 2px solid var(--christmas-gold);
}

@media print {
  .sitv-christmas .sitv-seasonal-snow {
    display: none;
  }

  .sitv-seasonal-snow span {
    animation: none;
  }
}
