range-slider {
    --element-height: 24px;
    --track-height: 3px;
    --thumb-size: 12px;
  
    position: relative;
    display: flex;
    align-items: center;
    height: var(--element-height);
    width: 100%;
    min-width: 130px;
    margin: 2px 0 2px 5px;
    overflow: visible;
    cursor: pointer;
  
    /* Without this prop capture pointer events will not work on touch devices */
    touch-action: none;
  }
  
  range-slider:focus {
    outline: 0;
  }
  
  range-slider[disabled] {
    filter: grayscale(1);
    opacity: 0.8;
  }
  
  /* Track */
  range-slider::before {
    content: "";
    display: block;
    width: 100%;
    height: var(--track-height);
    border-radius: calc(var(--track-height) / 2);
    background: #afc2e5;
  }
  
  range-slider:focus .thumb {
    box-shadow: 0 0 0 0.3em rgba(33, 87, 234, 0.2);
  }
  
  range-slider.touch-active .thumb-wrapper .thumb {
    box-shadow: none;
    transform: scale(1.5);
  }
  .thumb {
    background: #6c6c6c;
    border-radius: 50%;
    width: var(--thumb-size);
    height: var(--thumb-size);
    position: absolute;
    bottom: calc(var(--element-height) / 2 - var(--thumb-size) / 2);
    margin-left: calc(var(--thumb-size) / 2 * -1);
    transition: transform 200ms ease;
    will-change: transform;
    pointer-events: none;
  }
  .thumb1 {
    left: var(--value-percent1, 0%);
  }
  .thumb2 {
    left: var(--value-percent2, 0%);
  }
  .thumb-wrapper {
    position: absolute;
    left: calc(var(--thumb-size) / 2);
    right: calc(var(--thumb-size) / 2);
    bottom: 0;
    height: 0;
    overflow: visible;
  }
    
  .range-slider-selected {
    position: absolute;
    margin: -1.5px;
    left: var(--value-percent1, 0%);
    width: calc(var(--value-percent2) - var(--value-percent1));
    height: var(--track-height);
    border-radius: calc(var(--track-height) / 2);
    background: #335;
  }
  