.checkbox {
  display: flex;
}

.checkbox__label {
  display: flex;
  cursor: pointer;
  position: relative;
  vertical-align: middle;
  padding: var(--spacingSmallest) 0;
  font-size: 0.875em;
}

.checkbox__enhanced {
  flex-shrink: 0;
  display: inline-block;
  position: relative;
  background-color: var(--colorWhite);
  width: 21px;
  height: 21px;
  transform-origin: center;
  border: 1px solid var(--colorBlue);
  border-radius: 3px;
  vertical-align: -6px;
  margin-right: var(--spacingSmaller);
}
.checkbox__enhanced:before {
  content: '';
  width: 0px;
  height: 2px;
  border-radius: 2px;
  background: var(--colorBlue);
  position: absolute;
  transform: rotate(45deg);
  top: 9px;
  left: 6px;
  transform-origin: 0% 0%;
}
.checkbox__enhanced:after {
  content: '';
  width: 0;
  height: 2px;
  border-radius: 2px;
  background: var(--colorBlue);
  position: absolute;
  transform: rotate(305deg);
  top: 13px;
  left: 7px;
  transform-origin: 0% 0%;
}
.checkbox__enhanced:hover span:before {
  width: 5px;
}
.checkbox__enhanced:hover span:after {
  width: 10px;
}

.checkbox__input {
  position: absolute;
  border: solid 1px #fff;
  border-radius: 25px;
  width: 26px;
  height: 26px;
  top: -1px;
  left: -5px;
  background: none;
  -webkit-appearance: none;
}

.checkbox__input:checked + .checkbox__enhanced {
  background-color: var(--colorBlue);
}
.checkbox__input:checked + .checkbox__enhanced:after {
  width: 10px;
  background: var(--colorWhite);
}
.checkbox__input:checked + .checkbox__enhanced:before {
  width: 5px;
  background: var(--colorWhite);
}
.checkbox__input:checked + .checkbox__enhanced:hover span {
  background-color: var(--colorBlue);
  transform: scale(1.25);
}
.checkbox__input:checked + .checkbox__enhanced:hover span:after {
  width: 10px;
  background: var(--colorWhite);
}
.checkbox__input:checked + .checkbox__enhanced:hover span:before {
  width: 5px;
  background: var(--colorWhite);
}

.checkbox__label a {
  margin-left: 5px;
}

.checkbox__input[type='checkbox']:focus {
  outline: 0;
}
