/* An opaque resting cell conceals the row image; its color transition reveals it. */
html body #content tr.pbf-special-hover {
  --pbf-special-rest-size:116% auto;
  --pbf-special-active-size:105% auto;
  background-image:var(--pbf-special-image) !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-size:var(--pbf-special-rest-size) !important;
  transition:background-size 650ms cubic-bezier(.25,.7,.35,1) !important;
}
html body #content tr.pbf-special-hover > td {
  background:#fff !important;
  transition:background-color 650ms ease, color 650ms ease !important;
}
/* A category heading has one spanning cell, so it can use two true overlay layers. */
html body #content table.tborder tr.pbf-special-hover-category {
  background-image:none !important;
}
html body #content table.tborder > thead > tr.pbf-special-hover.pbf-special-hover-category > td.thead {
  position:relative !important;
  isolation:isolate;
  overflow:hidden !important;
  background:transparent !important;
}
html body #content tr.pbf-special-hover-category > td.thead::before,
html body #content tr.pbf-special-hover-category > td.thead::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:0;
  transition:opacity 650ms ease, transform 650ms cubic-bezier(.25,.7,.35,1);
}
html body #content tr.pbf-special-hover-category > td.thead::before {
  background:var(--pbf-special-image) center / cover no-repeat;
  transform:scale(1.16);
}
html body #content tr.pbf-special-hover-category > td.thead::after {
  background:rgba(0,0,0,.66);
}
html body #content tr.pbf-special-hover-category > td.thead > * {
  position:relative;
  z-index:1;
}
html body #content tr.pbf-special-hover > td a,
html body #content tr.pbf-special-hover > td .smalltext,
html body #content tr.pbf-special-hover > td strong {
  transition:color 650ms ease !important;
}
html body #content tr.pbf-special-hover:is(:hover, :focus-within) {
  background-size:var(--pbf-special-active-size) !important;
  transition-duration:340ms !important;
  transition-timing-function:cubic-bezier(.2,1.28,.4,1) !important;
}
/* The legacy theme uses several high-specificity !important hover rules. */
html body #content table.tborder tr.pbf-special-hover.pbf-special-hover.pbf-special-hover.pbf-special-hover:is(:hover, :focus-within) > td {
  background:rgba(0,0,0,.66) !important;
  color:#fff !important;
  transition-duration:340ms !important;
}
html body #content table.tborder tr.pbf-special-hover.pbf-special-hover.pbf-special-hover.pbf-special-hover:is(:hover, :focus-within) > td a,
html body #content table.tborder tr.pbf-special-hover.pbf-special-hover.pbf-special-hover.pbf-special-hover:is(:hover, :focus-within) > td .smalltext,
html body #content table.tborder tr.pbf-special-hover.pbf-special-hover.pbf-special-hover.pbf-special-hover:is(:hover, :focus-within) > td strong {
  color:#fff !important;
  transition-duration:340ms !important;
}
html body #content table.tborder tr.pbf-special-hover-category:is(:hover, :focus-within) > td.thead::before,
html body #content table.tborder tr.pbf-special-hover-category:is(:hover, :focus-within) > td.thead::after {
  opacity:1;
  transition-duration:340ms;
}
html body #content table.tborder tr.pbf-special-hover-category:is(:hover, :focus-within) > td.thead::before {
  transform:scale(1.05);
  transition-timing-function:cubic-bezier(.2,1.28,.4,1);
}
@media (max-width:560px) {
  html body #content tr.pbf-special-hover {
    --pbf-special-rest-size:auto 116%;
    --pbf-special-active-size:auto 105%;
  }
}
@media (prefers-reduced-motion:reduce) {
  html body #content tr.pbf-special-hover,
  html body #content tr.pbf-special-hover > td,
  html body #content tr.pbf-special-hover > td a,
  html body #content tr.pbf-special-hover > td .smalltext,
  html body #content tr.pbf-special-hover > td strong { transition:none !important; }
  html body #content tr.pbf-special-hover-category > td.thead::before,
  html body #content tr.pbf-special-hover-category > td.thead::after { transition:none !important; }
}
