:host {
  position: relative;
  display: block;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.content-wrapper {
  display: flex;
  width: calc(100% - 80px);
  height: 100%;
  margin: 0 auto;
  overflow: hidden;
}

.content-wrapper.no-arrows,
.content-wrapper.inside-arrows {
  width: 100%;
}

.content-wrapper > slot {
  display: flex;
  width: 100%;
  height: 100%;
  transition: transform 300ms ease-in-out;
  transform: translateX(-100%);
}

::slotted(*) {
  display: grid;
  place-items: center;
  flex-grow: 1;
  flex-shrink: 0;
  width: 100%;
  height: auto;
}

.carousel-prev,
.carousel-next {
  position: absolute;
  top: calc(50% - 20px);
  width: 30px;
  height: 41px;
  cursor: pointer;
  user-select: none;
  opacity: 0.5;
}

.carousel-prev:hover,
.carousel-next:hover {
  opacity: 0.75;
  transition: opacity 100ms ease-in;
}

.carousel-prev > *,
.carousel-next > * {
  display: block;
  pointer-events: none;
}

.carousel-prev > img {
  margin-right: 0;
  margin-left: auto;
}

.carousel-next > img {
  margin-right: auto;
  margin-left: 0;
}

.carousel-prev {
  left: 0;
}

.carousel-next {
  right: 0;
}

.pagination {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  margin: 10px auto 0;
  padding: 0;
  user-select: none;
}

.pagination.inside-dots  {
  margin-top: -22px;
}

.pagination li {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 100%;
  background-color: var(--cwc-color-secondary-600, #7B858B);
  cursor: pointer;
  margin: 0 3px;
  opacity: 0.5;
  transition: opacity 100ms ease-in;
}

.pagination li:hover {
  opacity: 0.75;
}

.pagination li.active {
  opacity: 1.0;
}
