.tpl-grid-overlay {
  position: relative;
  display: block;
  overflow: hidden;
}

.tpl-grid-overlay__image-wrapper {
  position: relative;
  display: block;
}

.tpl-grid-overlay__image-wrapper img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.4s ease;
}

.tpl-grid-overlay--parallax .tpl-grid-overlay__image-wrapper {
  overflow: hidden;
}

.tpl-grid-overlay--parallax .tpl-grid-overlay__image-wrapper img {
  position: relative;
  will-change: transform;
}

.tpl-grid-overlay__lines {
  pointer-events: none;
}

.tpl-grid-overlay__line {
  position: absolute;
  background-color: var(--tpl-grid-line-color, rgba(255, 255, 255, 0.8));
  opacity: var(--tpl-grid-line-opacity, 0.7);
}

.tpl-grid-overlay__line--vertical {
  top: 0;
  bottom: 0;
  width: var(--tpl-grid-line-weight, 2px);
  transform: translateX(-50%);
}

.tpl-grid-overlay__line--vertical.tpl-grid-overlay__line--vertical-segment {
  bottom: auto;
  height: auto;
  transform: translateX(-50%);
}

.tpl-grid-overlay__line--horizontal {
  left: 0;
  right: 0;
  height: var(--tpl-grid-line-weight, 2px);
  transform: translateY(-50%);
}
