/* Shared appearance for the Vue site and both static sites. */
body button.site-back-to-top {
  position: fixed;
  right: max(20px, env(safe-area-inset-right));
  bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  z-index: 20;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 48px;
  height: 48px;
  min-height: 48px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--top-border, #608371);
  border-radius: 50%;
  background: var(--top-color, #234e3d);
  color: #fff;
  box-shadow: 0 4px 16px #102b2333;
  cursor: pointer;
}
body button.site-back-to-top:hover {
  background: var(--top-hover, #183d2e);
}
body button.site-back-to-top:focus-visible {
  outline: 3px solid var(--top-border, #a77943);
  outline-offset: 4px;
}
body button.site-back-to-top svg {
  display: block;
  pointer-events: none;
}
body button.site-back-to-top .site-icon {
  font-size: 20px;
  pointer-events: none;
}
body button.site-back-to-top[hidden] {
  display: none !important;
}
body button.site-back-to-top[data-site="wash"],
body button.site-back-to-top[data-site="base"] {
  width: 44px;
  height: 44px;
  min-height: 44px;
  box-shadow: none;
}
body button.site-back-to-top[data-site="wash"] {
  --top-color: #ef87aa;
  --top-hover: #dc759b;
  --top-border: #ef87aa;
  border: 0;
  color: #fff;
}
body button.site-back-to-top[data-site="base"] {
  --top-color: #ffd65a;
  --top-hover: #f3c545;
  --top-border: #24282e;
  border: 2px solid #24282e;
  color: #24282e;
}
/* Retire the previous homepage-only controls. */
body .floating-top,
body .top-link {
  display: none !important;
}
@media print {
  body button.site-back-to-top {
    display: none !important;
  }
}
