.tu-slider {
  display: inline-flex;
  align-items: center;
  width: 100%;
}
.tu-slider__track {
  position: relative;
  flex: 1;
  width: 100%;
  cursor: pointer;
}
.tu-slider__track::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  border-radius: var(--tu-border-radius-full, 100px);
  box-shadow: inset 2px 2px 5px var(--tu-color-shadow-dark, #babbc0), inset -2px -2px 5px var(--tu-color-shadow-light, #ffffff);
}
.tu-slider__bar {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.tu-slider__tick {
  position: absolute;
  top: 0;
  width: 1px;
  transform: translate(-50%, -50%);
  box-shadow: inset 1px 1px 2px var(--tu-color-shadow-dark, #babbc0), inset -1px -1px 2px var(--tu-color-shadow-light, #ffffff), 1px 1px 3px var(--tu-color-shadow-dark, #babbc0), -1px -1px 2px var(--tu-color-shadow-light, #ffffff);
  opacity: 0.7;
}
.tu-slider__tick.is-active {
  box-shadow: none;
  background: var(--tu-color-base-bg, rgba(128, 128, 128, 0.22));
  opacity: 0.3;
}

.tu-slider__dots {
  width: 8px;
  height: 8px;
}
.tu-slider__dot-wrap {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}
.tu-slider__dot {
  box-sizing: border-box;
  border-radius: 50%;
  background-color: var(--tu-color-white, #ffffff);
  opacity: 0.7;
}

.tu-slider__marks {
  position: absolute;
  width: 100%;
}
.tu-slider__mark {
  position: absolute;
  color: var(--tu-color-text, #71757f);
  line-height: 1;
  transform: translateX(-50%);
  cursor: pointer;
  font-size: var(--tu-font-size, 14px);
}

.tu-slider__button {
  position: absolute;
  border-radius: 50%;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  width: 18px;
  height: 18px;
  box-shadow: 0 1px 3px 0px var(--tu-color-shadow-dark, #babbc0);
  background-color: var(--tu-color-white, #ffffff);
  transition: transform var(--tu-transition-duration-2, 0.2s);
}
.tu-slider__button::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  width: 50%;
  height: 50%;
  box-shadow: inset 2px 2px 5px var(--tu-color-shadow-dark, #babbc0), inset -2px -2px 5px var(--tu-color-shadow-light, #ffffff);
  margin: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.tu-slider__button:hover, .tu-slider__button.hover {
  cursor: grab;
}
.tu-slider__button.dragging {
  cursor: grabbing;
}

.tu-slider__track--horizontal {
  height: 8px;
}
.tu-slider__track--horizontal::before {
  height: 8px;
}
.tu-slider__track--horizontal .tu-slider__bar {
  height: 8px;
}

.tu-slider__track--horizontal .tu-slider__tick {
  height: 8px;
}

.tu-slider__track--horizontal .tu-slider__marks {
  top: 18px;
}
.tu-slider__track--horizontal .tu-slider__marks .tu-slider__mark {
  font-size: var(--tu-font-size-medium, 14px);
}

.tu-slider__track--horizontal .tu-slider__button {
  top: -5px;
  left: -9px;
}

.tu-slider__track--vertical {
  width: 8px;
}
.tu-slider__track--vertical::before {
  width: 8px;
}
.tu-slider__track--vertical .tu-slider__bar {
  width: 8px;
}

.tu-slider__track--vertical .tu-slider__marks {
  left: 18px;
}

.tu-slider__track--vertical .tu-slider__ticks .tu-slider__tick {
  width: 8px;
}

.tu-slider__track.is-disabled::before {
  box-shadow: none;
  background: var(--tu-color-base-bg, rgba(128, 128, 128, 0.22));
  opacity: 0.7;
}
.tu-slider__track.is-disabled .tu-slider__bar {
  opacity: 0.3;
  background: var(--tu-color-primary, #5e7ce0);
}

.tu-slider__track.is-disabled .tu-slider__button:hover, .tu-slider__track.is-disabled .tu-slider__button.hover {
  cursor: not-allowed;
}

.tu-slider__input {
  display: flex;
  align-items: center;
  margin-left: 10px;
}
.tu-slider__input .tu-input-number {
  margin-left: 10px;
}

.tu-slider--horizontal .tu-slider__track::before {
  top: 50%;
  transform: translateY(-50%);
}
.tu-slider--horizontal .tu-slider__track .tu-slider__bar {
  border-top-left-radius: var(--tu-border-radius-full, 100px);
  border-bottom-left-radius: var(--tu-border-radius-full, 100px);
  background: linear-gradient(-45deg, var(--tu-color-primary-dark, #465eb8) 0%, var(--tu-color-primary, #5e7ce0) 50%, var(--tu-color-primary-light, #96adfa) 100%);
}

.tu-slider--horizontal .tu-slider__track .tu-slider__tick {
  height: 8px;
  top: 5px;
}

.tu-slider--horizontal .tu-slider__track .tu-slider__button {
  transform: translateX(-50%);
}
.tu-slider--horizontal .tu-slider__track .tu-slider__button:hover, .tu-slider--horizontal .tu-slider__track .tu-slider__button.hover, .tu-slider--horizontal .tu-slider__track .tu-slider__button.dragging {
  transform: scale(1.1) translateX(-50%);
}

.tu-slider--vertical {
  display: inline-block;
  width: auto;
  height: auto;
}
.tu-slider--vertical .tu-slider__track {
  height: 100%;
  min-height: 200px;
  margin-right: 0;
  transform: translateY(0);
}
.tu-slider--vertical .tu-slider__track::before {
  top: unset;
  left: 50%;
  height: 100%;
  transform: translateX(-50%);
}
.tu-slider--vertical .tu-slider__track .tu-slider__bar {
  top: unset;
  left: 50%;
  height: unset;
  transform: translateX(-50%);
  border-bottom-left-radius: var(--tu-border-radius-full, 100px);
  border-bottom-right-radius: var(--tu-border-radius-full, 100px);
  background: linear-gradient(180deg, var(--tu-color-primary-dark, #465eb8) 0%, var(--tu-color-primary, #5e7ce0) 50%, var(--tu-color-primary-light, #96adfa) 100%);
}

.tu-slider--vertical .tu-slider__track .tu-slider__ticks .tu-slider__tick {
  top: unset;
  left: 50%;
  height: 1px;
}

.tu-slider--vertical .tu-slider__track .tu-slider__marks {
  top: 0;
  height: 100%;
}
.tu-slider--vertical .tu-slider__track .tu-slider__marks .tu-slider__mark {
  transform: translateY(50%);
}

.tu-slider--vertical .tu-slider__track .tu-slider__dots .tu-slider__dot-wrap {
  top: unset;
  left: 50%;
  transform: translate(-50%, 50%);
}

.tu-slider--vertical .tu-slider__track .tu-slider__button {
  bottom: 0;
  transform: translateY(50%);
  left: -5px;
}
.tu-slider--vertical .tu-slider__track .tu-slider__button:hover, .tu-slider--vertical .tu-slider__track .tu-slider__button.hover, .tu-slider--vertical .tu-slider__track .tu-slider__button.dragging {
  transform: scale(1.1) translateY(50%);
}

.tu-slider--mini .tu-slider__track .tu-slider__dot {
  width: 4px;
  height: 4px;
}

.tu-slider--mini .tu-slider__track .tu-slider__button {
  width: 10px;
  height: 10px;
}

.tu-slider--mini .tu-slider__track--horizontal {
  height: 4px;
}
.tu-slider--mini .tu-slider__track--horizontal::before {
  height: 100%;
  box-shadow: inset 1px 1px 2px var(--tu-color-shadow-dark, #babbc0), inset -1px -1px 2px var(--tu-color-shadow-light, #ffffff);
}
.tu-slider--mini .tu-slider__track--horizontal .tu-slider__bar {
  height: 4px;
}

.tu-slider--mini .tu-slider__track--horizontal .tu-slider__tick {
  height: 4px;
  top: 3px;
}

.tu-slider--mini .tu-slider__track--horizontal .tu-slider__marks {
  top: 10px;
}
.tu-slider--mini .tu-slider__track--horizontal .tu-slider__marks .tu-slider__mark {
  font-size: var(--tu-font-size-mini, 10px);
}

.tu-slider--mini .tu-slider__track--horizontal .tu-slider__button {
  top: -3px;
  left: -5px;
}

.tu-slider--mini .tu-slider__track--vertical {
  width: 4px;
}
.tu-slider--mini .tu-slider__track--vertical::before {
  width: 100%;
  box-shadow: inset 1px 1px 2px var(--tu-color-shadow-dark, #babbc0), inset -1px -1px 2px var(--tu-color-shadow-light, #ffffff);
}
.tu-slider--mini .tu-slider__track--vertical .tu-slider__bar {
  width: 4px;
}

.tu-slider--mini .tu-slider__track--vertical .tu-slider__marks {
  left: 12px;
}

.tu-slider--mini .tu-slider__track--vertical .tu-slider__ticks .tu-slider__tick {
  width: 4px;
}

.tu-slider--mini .tu-slider__track--vertical .tu-slider__button {
  left: -3px;
}

.tu-slider--mini.tu-slider--vertical {
  min-width: 10px;
}

.tu-slider--small .tu-slider__track .tu-slider__dot {
  width: 6px;
  height: 6px;
}

.tu-slider--small .tu-slider__track .tu-slider__button {
  width: 14px;
  height: 14px;
}

.tu-slider--small .tu-slider__track--horizontal {
  height: 6px;
}
.tu-slider--small .tu-slider__track--horizontal::before {
  height: 100%;
}
.tu-slider--small .tu-slider__track--horizontal .tu-slider__bar {
  height: 6px;
}

.tu-slider--small .tu-slider__track--horizontal .tu-slider__tick {
  height: 6px;
  top: 4px;
}

.tu-slider--small .tu-slider__track--horizontal .tu-slider__marks {
  top: 14px;
}
.tu-slider--small .tu-slider__track--horizontal .tu-slider__marks .tu-slider__mark {
  font-size: var(--tu-font-size-small, 12px);
}

.tu-slider--small .tu-slider__track--horizontal .tu-slider__button {
  top: -4px;
  left: -7px;
}

.tu-slider--small .tu-slider__track--vertical {
  width: 6px;
}
.tu-slider--small .tu-slider__track--vertical::before {
  width: 100%;
}
.tu-slider--small .tu-slider__track--vertical .tu-slider__bar {
  width: 6px;
}

.tu-slider--small .tu-slider__track--vertical .tu-slider__marks {
  left: 16px;
}

.tu-slider--small .tu-slider__track--vertical .tu-slider__ticks .tu-slider__tick {
  width: 6px;
}

.tu-slider--small .tu-slider__track--vertical .tu-slider__button {
  left: -4px;
}

.tu-slider--small.tu-slider--vertical {
  min-width: 14px;
}

.tu-slider--medium .tu-slider__track .tu-slider__dot {
  width: 8px;
  height: 8px;
}

.tu-slider--medium .tu-slider__track .tu-slider__button {
  width: 18px;
  height: 18px;
}

.tu-slider--medium .tu-slider__track--horizontal {
  height: 8px;
}
.tu-slider--medium .tu-slider__track--horizontal::before {
  height: 100%;
}
.tu-slider--medium .tu-slider__track--horizontal .tu-slider__bar {
  height: 8px;
}

.tu-slider--medium .tu-slider__track--horizontal .tu-slider__tick {
  height: 8px;
  top: 5px;
}

.tu-slider--medium .tu-slider__track--horizontal .tu-slider__marks {
  top: 18px;
}
.tu-slider--medium .tu-slider__track--horizontal .tu-slider__marks .tu-slider__mark {
  font-size: var(--tu-font-size-medium, 14px);
}

.tu-slider--medium .tu-slider__track--horizontal .tu-slider__button {
  top: -5px;
  left: -9px;
}

.tu-slider--medium .tu-slider__track--vertical {
  width: 8px;
}
.tu-slider--medium .tu-slider__track--vertical::before {
  width: 100%;
}
.tu-slider--medium .tu-slider__track--vertical .tu-slider__bar {
  width: 8px;
}

.tu-slider--medium .tu-slider__track--vertical .tu-slider__marks {
  left: 20px;
}

.tu-slider--medium .tu-slider__track--vertical .tu-slider__ticks .tu-slider__tick {
  width: 8px;
}

.tu-slider--medium .tu-slider__track--vertical .tu-slider__button {
  left: -5px;
}

.tu-slider--medium.tu-slider--vertical {
  min-width: 18px;
}

.tu-slider--large .tu-slider__track .tu-slider__dot {
  width: 10px;
  height: 10px;
}

.tu-slider--large .tu-slider__track .tu-slider__button {
  width: 22px;
  height: 22px;
}

.tu-slider--large .tu-slider__track--horizontal {
  height: 10px;
}
.tu-slider--large .tu-slider__track--horizontal::before {
  height: 100%;
}
.tu-slider--large .tu-slider__track--horizontal .tu-slider__bar {
  height: 10px;
}

.tu-slider--large .tu-slider__track--horizontal .tu-slider__tick {
  height: 10px;
  top: 6px;
}

.tu-slider--large .tu-slider__track--horizontal .tu-slider__marks {
  top: 22px;
}
.tu-slider--large .tu-slider__track--horizontal .tu-slider__marks .tu-slider__mark {
  font-size: var(--tu-font-size-large, 14px);
}

.tu-slider--large .tu-slider__track--horizontal .tu-slider__button {
  top: -6px;
  left: -11px;
}

.tu-slider--large .tu-slider__track--vertical {
  width: 10px;
}
.tu-slider--large .tu-slider__track--vertical::before {
  width: 100%;
}
.tu-slider--large .tu-slider__track--vertical .tu-slider__bar {
  width: 10px;
}

.tu-slider--large .tu-slider__track--vertical .tu-slider__marks {
  left: 24px;
}

.tu-slider--large .tu-slider__track--vertical .tu-slider__ticks .tu-slider__tick {
  width: 10px;
}

.tu-slider--large .tu-slider__track--vertical .tu-slider__button {
  left: -6px;
}

.tu-slider--large.tu-slider--vertical {
  min-width: 22px;
}