section.custom-radio {
  display: flex;
  flex-flow: row wrap;
}
section.custom-radio h3 {
  text-align: center;
  color: #e53935;
}
section.custom-radio > div {
  flex: 1;
  padding: 0.5rem;
}
section.custom-radio div.box:hover,
section.custom-radio div.box label:hover,
section.custom-radio div.box input[type="radio"]:hover,
section.custom-radio div.box input[type="checkbox"]:hover {
  cursor: pointer;
}
section.custom-radio input[type="radio"],
section.custom-radio input[type="checkbox"] {
  display: none;
}
section.custom-radio input[type="radio"]:not(:disabled) ~ label,
section.custom-radio input[type="checkbox"]:not(:disabled) ~ label {
  cursor: pointer;
}
section.custom-radio input[type="radio"]:disabled ~ label,
section.custom-radio input[type="checkbox"]:disabled ~ label {
  color: hsla(150, 5%, 75%, 1);
  border-color: hsla(150, 5%, 75%, 1);
  box-shadow: none;
  cursor: not-allowed;
}
section.custom-radio label {
  margin: auto;
  font-weight: 900;
  height: 100%;
  display: block;
  background: white;
  border: 2px solid #333;
  border-radius: 20px;
  padding: 1rem;
  text-align: center !important;
  box-shadow: 0px 3px 10px -2px hsla(150, 5%, 65%, 0.5);
  position: relative;
  padding-left: 15px !important;
  color: #495057;
}
section.custom-radio input[type="radio"]:checked + label,
section.custom-radio input[type="checkbox"]:checked + label {
  background: #e53935;
  color: hsla(215, 0%, 100%, 1);
  box-shadow: 0px 0px 20px #e53935;
  border: 2px solid #d30908;
}
section.custom-radio input[type="radio"]:checked + label::after,
section.custom-radio input[type="checkbox"]:checked + label::after {
  color: hsla(215, 5%, 25%, 1);
  font-family: "Font Awesome 5 Free";
  border: 2px solid #d30908;
  content: "\f00c";
  font-size: 20px;
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
  height: 40px;
  width: 40px;
  line-height: 40px;
  text-align: center;
  border-radius: 50%;
  background: white;
  box-shadow: 0px 2px 5px -2px hsla(0, 0%, 0%, 0.25);
}