.caroulix {
  position: relative;
  display: flex;
  flex-direction: row;
  width: 100%;
  overflow: hidden;
  align-items: center;
  transition-property: none;
  touch-action: pan-y;

  .caroulix-item {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    transition-property: transform;
    transition-duration: inherit;
    transition-timing-function: ease-out;

    &.active {
      transform: translateX(0px);
    }

    img {
      width: 100%;
    }
  }

  .caroulix-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.75);
    color: #fff;
    border-radius: 50%;
    width: 3rem;
    height: 3rem;
    z-index: 50;
    cursor: pointer;
    transition: box-shadow 0.2s ease;

    @include responsive('xs') {
      width: 2rem;
      height: 2rem;
      font-size: 0.8rem;
    }

    &:hover {
      box-shadow: #{map-get($shadows, '2')};
    }

    &.caroulix-prev {
      left: 0.75rem;
    }

    &.caroulix-next {
      right: 0.75rem;
    }
  }

  .caroulix-indicators {
    display: flex;
    flex-direction: row;
    position: absolute;
    bottom: 1.5rem;
    width: 100%;
    justify-content: center;
    align-items: center;
    padding: 0;
    margin: 0;
    list-style-type: none;

    li {
      background-color: #fff;
      border-radius: 50%;
      margin: 0 0.5rem;
      height: 1rem;
      width: 1rem;
      opacity: 0.75;
      transition: opacity 0.2s ease;
      cursor: pointer;

      &:hover,
      &.active {
        opacity: 1;
      }
    }

    &.caroulix-flat {
      li {
        border-radius: unset;
        border-bottom: 0.5rem solid transparent;
        border-top: 0.5rem solid transparent;
        width: 1.75rem;
        height: 1.25rem;
        background-clip: padding-box;
      }
    }

    @include responsive('xs') {
      bottom: 0.75rem;

      li {
        height: 0.75rem;
        width: 0.75rem;
      }

      &.caroulix-flat {
        bottom: 0.5rem;
      }
    }
  }
}
