/* GS Image Lab. Every selector is scoped to the widget. */
.gsil {
  display: block;
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.gsil .gsil-frame {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  line-height: 0;
  box-sizing: border-box;
}
.gsil .gsil-effects {
  display: block;
  position: relative;
  isolation: isolate;
  filter: grayscale(var(--gsil-mono, 0));
  opacity: var(--gsil-opacity, 1);
}
.gsil .gsil-image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: var(--gsil-height, auto);
  margin: 0;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  object-position: center center;
  filter: var(--gsil-filter, none);
  vertical-align: middle;
}
.gsil .gsil-link {
  display: block;
  line-height: 0;
}
.gsil .gsil-link:focus-visible { outline: 3px solid #5fff8c; outline-offset: -4px; }
.gsil .gsil-layer {
  position: absolute;
  inset: 0;
  display: block;
  pointer-events: none;
  user-select: none;
  opacity: 0;
}
.gsil .gsil-svg-defs {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}
/* Clip only the overlays: the image keeps its original alpha and antialiasing. */
.gsil.gsil-is-svg .gsil-layer {
  -webkit-mask-image: var(--gsil-svg-mask, none);
  mask-image: var(--gsil-svg-mask, none);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: var(--gsil-mask-size, cover);
  mask-size: var(--gsil-mask-size, cover);
  -webkit-mask-position: var(--gsil-mask-position, center center);
  mask-position: var(--gsil-mask-position, center center);
  mask-mode: alpha;
}
/* If an SVG mask cannot load, keep the SVG visible without rectangular overlays. */
.gsil.gsil-is-svg:not(.gsil-svg-mask-ready) .gsil-layer { visibility: hidden; }
.gsil .gsil-temperature {
  background: var(--gsil-temperature-color, #ffc078);
  opacity: var(--gsil-temperature, 0);
  mix-blend-mode: soft-light;
}
.gsil .gsil-tint {
  background: var(--gsil-tint-color, #e38fe3);
  opacity: var(--gsil-tint, 0);
  mix-blend-mode: soft-light;
}
.gsil .gsil-fade {
  background: #b8afa3;
  opacity: var(--gsil-fade, 0);
  mix-blend-mode: screen;
}
.gsil .gsil-grain {
  background-image: var(--gsil-noise, none);
  background-repeat: repeat;
  background-size: var(--gsil-grain-size, 409.6px) var(--gsil-grain-size, 409.6px);
  opacity: var(--gsil-grain-amount, 0);
  mix-blend-mode: var(--gsil-grain-blend, soft-light);
}
.gsil .gsil-vignette {
  background: radial-gradient(ellipse at center, transparent var(--gsil-vignette-size, 55%), #000 110%);
  opacity: var(--gsil-vignette, 0);
  mix-blend-mode: multiply;
}
.gsil .gsil-compare {
  position: absolute;
  z-index: 2;
  bottom: 12px;
  right: 12px;
  border: 1px solid rgb(255 255 255 / 35%);
  border-radius: 5px;
  background: rgb(0 0 0 / 74%);
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
  padding: 11px 13px;
  min-width: 80px;
  min-height: 38px;
  box-shadow: none;
  cursor: pointer;
}
.gsil .gsil-compare[hidden] { display: none !important; }
.gsil .gsil-compare:hover { background: #000; color: #fff; border-color: #fff; }
.gsil .gsil-compare:focus-visible { outline: 3px solid #5fff8c; outline-offset: -4px; }
.gsil.gsil-is-original .gsil-image, .gsil.gsil-disabled .gsil-image,
.gsil.gsil-is-original .gsil-effects, .gsil.gsil-disabled .gsil-effects { filter: none; }
.gsil.gsil-is-original .gsil-layer, .gsil.gsil-disabled .gsil-layer { opacity: 0; }
@media (forced-colors: active) {
  .gsil .gsil-compare { border: 1px solid ButtonText; }
}
