.w2s-ia{
  position: relative;
  width: 100%;
  --w2s-ia-grid-cols: 3;
  --w2s-ia-vert-inactive-min: 90px;
  --w2s-ia-horz-inactive-min: 60px;
}

.w2s-ia__track{
  height: 100%;
  width: 100%;
  display: flex;
}

.w2s-ia[data-mode="horizontal"] .w2s-ia__track{
  flex-direction: row;
}

.w2s-ia[data-mode="vertical"] .w2s-ia__track{
  flex-direction: column;
}

.w2s-ia[data-mode="grid"] .w2s-ia__track{
  display: grid;
  grid-template-columns: repeat(var(--w2s-ia-grid-cols), minmax(0, 1fr));
  grid-auto-rows: 1fr;
}

.w2s-ia__item{
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  cursor: pointer;
  outline: none;
  flex: 1 1 0;
}

.w2s-ia[data-mode="horizontal"] .w2s-ia__item{
  min-width: var(--w2s-ia-horz-inactive-min);
}

.w2s-ia[data-mode="vertical"] .w2s-ia__item{
  min-height: var(--w2s-ia-vert-inactive-min);
}

.w2s-ia[data-mode="grid"] .w2s-ia__item{
  transform: scale(1);
  transition: transform 300ms ease;
  will-change: transform;
}

.w2s-ia[data-mode="grid"] .w2s-ia__item.is-active{
  z-index: 3;
}

.w2s-ia__media{
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1);
  will-change: transform, filter;
}

.w2s-ia__overlayBg{
  position: absolute;
  inset: 0;
  transition: opacity 300ms ease;
  opacity: 1;
}

.w2s-ia__overlay{
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  color: #fff;
  z-index: 2;
  pointer-events: none;
}

.w2s-ia__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  width: fit-content;
  pointer-events: auto;
}

/* Alignment presets */
.w2s-ia--top_left .w2s-ia__overlay{ justify-content:flex-start; align-items:flex-start; text-align:left; }
.w2s-ia--top_center .w2s-ia__overlay{ justify-content:flex-start; align-items:center; text-align:center; }
.w2s-ia--top_right .w2s-ia__overlay{ justify-content:flex-start; align-items:flex-end; text-align:right; }

.w2s-ia--middle_left .w2s-ia__overlay{ justify-content:center; align-items:flex-start; text-align:left; }
.w2s-ia--middle_center .w2s-ia__overlay{ justify-content:center; align-items:center; text-align:center; }
.w2s-ia--middle_right .w2s-ia__overlay{ justify-content:center; align-items:flex-end; text-align:right; }

.w2s-ia--bottom_left .w2s-ia__overlay{ justify-content:flex-end; align-items:flex-start; text-align:left; }
.w2s-ia--bottom_center .w2s-ia__overlay{ justify-content:flex-end; align-items:center; text-align:center; }
.w2s-ia--bottom_right .w2s-ia__overlay{ justify-content:flex-end; align-items:flex-end; text-align:right; }

/* Content visibility */
.w2s-ia--content-hover .w2s-ia__overlay{
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 250ms ease, transform 250ms ease;
}
.w2s-ia--content-hover .w2s-ia__item.is-active .w2s-ia__overlay{
  opacity: 1;
  transform: translateY(0);
}

.w2s-ia--content-always .w2s-ia__overlay{
  opacity: 1;
  transform: none;
}

/* Default - inactive filter is injected by JS */
.w2s-ia__item.is-inactive .w2s-ia__media{
  filter: none;
}