<div class="hidden-toggles">
        
        <input name="coloration-level" type="radio" id="coloration-low" class="hidden-toggles__input">
        <label for="coloration-low" class="hidden-toggles__label">Low</label>
        
        <input name="coloration-level" type="radio" id="coloration-medium" class="hidden-toggles__input" checked>
        <label for="coloration-medium" class="hidden-toggles__label">Medium</label> 
        
        <input name="coloration-level" type="radio" id="coloration-high" class="hidden-toggles__input">
        <label for="coloration-high" class="hidden-toggles__label">High</label>
        
        <input name="coloration-level" type="radio" id="coloration-striking" class="hidden-toggles__input">
        <label for="coloration-striking" class="hidden-toggles__label">Striking</label>
        
      </div>
:root {
  --accent: #007ECC;
  --accent-2: #EC2F4B;
  --text: #003f66;
  --text-hover: var(--accent);
  --text-active: #FFFFFF;
  --border-width: 0.125em;
}

html, body {
  height: 100%;
}

* {
  box-sizing: border-box;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hidden-toggles {
  position: relative;
  border-radius: 999em;
  overflow: hidden;

  height: 2.75em;
  width: 20em;

  display: flex;
  flex-direction: row-reverse;

  > * {
    flex: 0 0 33.33%;
  }

  &:after {
    content: "";

    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    border: var(--border-width) solid var(--accent);
    border-radius: 999em;
    pointer-events: none;
  }
}

.hidden-toggles__input {
  display: none;

  &:checked + .hidden-toggles__label {
    background-color: var(--accent);
    color: var(--text-active);

    &:before {
      opacity: 1;
    }
    
    &:last-of-type {
      background: linear-gradient(90deg, var(--accent) 0%, var(--accent-2) 100%);
    }
  }
  
  &:nth-of-type(1) + label { order: 4 }
  &:nth-of-type(2) + label { order: 3 }
  &:nth-of-type(3) + label { order: 2 }
  &:nth-of-type(4) + label { order: 1 }
  
  &:nth-of-type(1):checked,
  &:nth-of-type(2):checked {
    ~ label:last-of-type {
      margin-right: -33.33%;
    }
  }
}

.hidden-toggles__label {
  display: flex;
  align-items: center;
  justify-content: space-around;

  position: relative;
  cursor: pointer;
  transition: all 0.2s ease-out;
  color: var(--text);

  &:hover {
    color: var(--text-hover);
  }

  &:nth-of-type(2) {
    border-left: var(--border-width) solid var(--accent);
    border-right: var(--border-width) solid var(--accent);
  }
  
  &:last-of-type {
    border-left: var(--border-width) solid var(--accent);
  }
}
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.