:root {
  --blur:3px;
  --unblur:0;
  --scale:1.5;
  --unscale:1;
  --grayscale:100%;
  --ungrayscale:0%;
  --transition:0.3s ease-in-out
}
.hs-image__grid__list {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  list-style-type:none;
  padding-left:0
}
.hs-image__grid__list__item {
  flex-basis:calc(30% - 10px);
  margin:0;
  overflow:hidden;
  position:relative
}
button.hs-image__grid__list__item__button {
  all:unset;
  box-sizing:border-box;
  cursor:pointer;
  display:inline-block;
  width:100%
}
button.hs-image__grid__list__item__button:focus {
  outline:3px solid #0bf;
  outline-offset:3px
}
button.hs-image__grid__list__item__button:focus:not(:focus-visible) {
  outline:none
}
.hs-image__grid__list__item__image {
  height:100%;
  -o-object-fit:cover;
  object-fit:cover;
  position:relative;
  vertical-align:middle;
  width:100%
}
.hs-image__grid__item__overlay {
  align-items:center;
  background-color:hsla(0,0%,100%,0);
  box-sizing:border-box;
  display:flex;
  height:100%;
  justify-content:center;
  left:0;
  opacity:0;
  overflow:hidden;
  padding:1rem;
  position:absolute;
  top:0;
  transition:background-color .5s,opacity .5s;
  width:100%
}
.hs-image__grid__item__overlay:hover {
  background-color:hsla(0,0%,100%,.6);
  opacity:1
}
.hs-image__grid__item__overlay__content {
  max-height:100%;
  opacity:1;
  text-align:center;
  width:100%
}
.hs-image__grid__item__overlay__content * {
  margin:initial;
  padding:initial
}
.hs-image__grid__item__overlay__content--fit {
  display:inline-block;
  white-space:nowrap;
  width:100%
}
.hs-image__grid__item__overlay__content .hs-image__grid__item__overlay__content--fit * {
  font-size:inherit!important
}
.hs-image__grid__item__image--zoom_out {
  transform:scale(var(--scale));
  transition:var(--transition)
}
.hs-image__grid__list__item:hover .hs-image__grid__item__image--zoom_out {
  transform:scale(var(--unscale))
}
.hs-image__grid__item__image--blur {
  filter:blur(var(--unblur));
  transition:var(--transition)
}
.hs-image__grid__list__item:hover .hs-image__grid__item__image--blur {
  filter:blur(var(--blur))
}
.hs-image__grid__item__image--grayscale {
  filter:grayscale(var(--ungrayscale));
  transition:var(--transition)
}
.hs-image__grid__list__item:hover .hs-image__grid__item__image--grayscale {
  filter:grayscale(var(--grayscale))
}
.hs-image__grid__lightbox {
  align-items:center;
  display:flex;
  justify-items:center
}
.hs-image__grid__lightbox__image {
  max-height:90vh;
  max-width:90vw
}
.hs-image__grid__lightbox__button {
  height:48px;
  width:48px
}
.hs-image__grid__lightbox__button,
.hs-image__grid__lightbox__button__icon {
  align-items:center;
  display:flex;
  justify-items:center
}
.hs-image__grid__lightbox__button--close {
  all:unset;
  background:none;
  color:#fff;
  cursor:pointer;
  font-size:1.5rem;
  height:48px;
  position:absolute;
  right:-40px;
  text-align:center;
  top:-40px;
  width:48px
}
button.hs-image__grid__lightbox__button--close:focus {
  outline:3px solid #0bf;
  outline-offset:3px
}
button.hs-image__grid__lightbox__button--close:focus:not(:focus-visible) {
  outline:none
}
button.hs-image__grid__lightbox__button {
  align-items:center;
  background:#ccc;
  border:0;
  border-radius:50%;
  cursor:pointer;
  display:flex;
  height:2em;
  justify-content:center;
  padding:0;
  position:absolute;
  top:50%;
  width:2em;
  z-index:1;
  -ms-flex-align:center;
  -ms-flex-pack:center;
  opacity:.7;
  transform:translateY(-50%)
}
button.hs-image__grid__lightbox__button svg {
  height:1.2em;
  width:1.2em;
  fill:#000
}
button.hs-image__grid__lightbox__button:hover:not(:disabled) {
  opacity:.9
}
button.hs-image__grid__lightbox__button:disabled {
  opacity:.3
}
button.hs-image__grid__lightbox__button:focus {
  outline:3px solid #0bf;
  outline-offset:3px
}
button.hs-image__grid__lightbox__button:focus:not(:focus-visible) {
  outline:none
}
button.hs-image__grid__lightbox__button--prev {
  left:1em
}
button.hs-image__grid__lightbox__button--next {
  right:1em
}
button.hs-image__grid__lightbox__button--hide {
  display:none
}
