.sps-root {
  margin: 0;
  padding: 0;
  height: 100%;
  overflow: hidden;
}

.sps-parent {
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
}

.sps {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
}

.sps>.sps-section {
  margin: 0;
  position: relative;
  display: inline-block;
  width: 100%;
  min-height: 100%;
}

.sps.horizontal {
  flex-direction: row;
}

.sps.horizontal>.sps-section {
  min-width: 100%;
  height: 100%;
}

ul.sps-dots {
  position: absolute;
  margin: 0;
  padding: 0;
  right: 12px;
  top: 50%;
  z-index: 3;
  list-style: none;
  float: right;
  transform: translateY(-50%);
}

ul.sps-dots li {
  text-align: center;
  margin-top: 12px;
  margin-bottom: 12px;
  padding: 0;
  position: relative;
  display: block;
  width: 24px;
  height: 24px;
  cursor: pointer;
}

ul.sps-dots span {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
  display: none;
  font-size: 16px;
}

ul.sps-dots li:hover span {
  display: inline-block;
}

ul.sps-dots.titles li span {
  display: inline-block;
}

ul.sps-dots.titles li:hover span, ul.sps-dots.titles li.active span {
  font-size: 18px;
  right: 22px;
}

@media ( max-width: 767px) {
    ul.sps-dots li span {
        font-size: 12px;
    }

    ul.sps-dots.titles li:hover span, ul.sps-dots.titles li.active span {
      font-size: 14px; 
    }
}


ul.sps-dots li:before {
  position: relative;
  left: 10px;
  top: 10px;
  display: block;
  content: ' ';
  width: 4px;
  height: 4px;
  background: #000;
  border-radius: 100%;
  transition: all 100ms ease;
}

ul.sps-dots li:hover:before {
  left: 7px;
  top: 7px;
  width: 10px;
  height: 10px;
}

ul.sps-dots li.active:before {
  left: 6px;
  top: 6px;
  width: 12px;
  height: 12px;
}

ul.sps-dots.horizontal {
  top: auto;
  bottom: 12px;
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  width: 100%;
  text-align: center;
}

ul.sps-dots.horizontal li {
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 12px;
  margin-right: 12px;
  display: inline-block;
}

ul.sps-dots.horizontal li span {
  top: auto;
  right: auto;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
}

ul.sps-dots.horizontal.titles li:hover span, ul.sps-dots.horizontal.titles li.active span {
  right: auto;
  bottom: 26px;
}

span.sps-arrow {
  position: absolute;
  display: block;
  width: 12px;
  height: 12px;
  z-index: 3;
}

span.sps-arrow:before {
  position: relative;
  display: block;
  width: 1px;
  height: 1px;
  content: ' ';
  border: 1px solid #000;
  border-width: 0 3px 3px 0;
  padding: 3px;
  cursor: pointer;
}

span.sps-arrow.inactive {
  display: none;
}

span.sps-arrow.right {
  right: 15px;
  top: 50%;
}

span.sps-arrow.right:before {
  transform: rotate(-45deg) translateY(50%);
  -webkit-transform: rotate(-45deg);
}

span.sps-arrow.left {
  left: 15px;
  top: 50%;
}

span.sps-arrow.left:before {
  transform: rotate(-45deg) translateY(50%);
  -webkit-transform: rotate(135deg);
}

span.sps-arrow.up {
  top: 15px;
  left: 50%;
}

span.sps-arrow.up:before {
  transform: rotate(-45deg) translateX(50%);
  -webkit-transform: rotate(-135deg);
}


span.sps-arrow.down {
  bottom: 15px;
  left: 50%;
}

span.sps-arrow.down:before {
  transform: rotate(-45deg) translateX(50%);
  -webkit-transform: rotate(45deg);
}

@media (-webkit-min-device-pixel-ratio: 2) {
  span.sps-arrow, ul.sps-dots li {
    transform: scale(1.3);
  } 
}


@media (-webkit-min-device-pixel-ratio: 3) {
  span.sps-arrow, ul.sps-dots li {
    transform: scale(1.5);
  } 
}
