.icon {

}

.icon input {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

.icon label {
  cursor: pointer;
}

.icon figure {
  margin-bottom: 0;
}

.icon img {
  width: 100%;
  border: 1px solid #dee2e6;
}

.icon input.is-invalid + label img {
  border: 1px solid #dc3545;
}

.icon input:checked + label img {
  border: 3px solid #212529;
}

.icon figcaption {
  text-align: center;
}

.icon input.is-invalid + label figcaption {
  color: #dc3545;
}

.icon input:checked + label figcaption {
  color: #212529;
}

