.wrapper {
  width: 768px;
  margin: 1rem auto;
  padding: 1rem;
  box-sizing: border-box;
  box-shadow: 2px 2px 2px 2px hsla(0, 0%, 0%, 0.2);
  font-size: 36px;
  font-family: sans-serif;
  color: #335;
}

label {
  margin-bottom: 1rem;
  display: block;
}

input {
  margin-right: 1rem;
}

/* ============== Customize =================== */

.input {
  opacity: 0;
  z-index: -1;
}

.label {
  position: relative;
  padding: 0 0 0 60px;
}

.label::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 2rem;
  height: 2rem;
  background: #a00;
  border-radius: 50%;
}

.input:checked + .label::before {
  background: #0a0;
}
