:root {
  --carousel-width: 75vw;
}
.scroll {
  display: flex;
  align-items: center;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  height: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
ul.scroll {
  margin: 0;
  padding: 0;
  list-style: none;
}
.scroll::-webkit-scrollbar {
  display: none;
}
.scroll-item-outer {
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  flex-grow: 1;
  flex-basis: 75vw;
  width: 75vw;
  max-width: 100%;
}
.scroll-item-outer:last-child .thumbnail {
  border-right: 0;
}
@supports (scroll-snap-align: start) {
  .scroll {
    scroll-snap-type: x mandatory;
  }
  .scroll-item-outer {
    scroll-snap-align: center;
  }
}
@supports not (scroll-snap-align: start) {
  .scroll {
    scroll-snap-type: mandatory;
    scroll-snap-destination: 0% center;
    scroll-snap-points-x: repeat(100%);
  }
  .scroll-item-outer {
    scroll-snap-coordinate: 0 0;
  }
}
.indicators {
  display: flex;
  width: 100%;
  justify-content: center;
}
ul.indicators {
  position: relative;
  top: -60px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.indicator {
  padding: 10px;
}
.indicator-button {
  cursor: pointer;
  background: none;
  border: none;
  color: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 0;
  text-shadow: 1px 1px 3px #000;
}
.indicator-button:after {
  content: '○';
  font-size: 1.4em;
  padding: 12px 15px 17px;
}
.indicator-button:active {
  color: #fff;
  padding: 0;
}
.indicator-button[aria-pressed="true"]:after {
  content: '●';
}
