ul {
    list-style-type: none;
}

input[type="checkbox"][id^="cb"] {
    display: none;
}

.label-check-img {
    border: 1px solid #fff;
    padding: 10px;
    display: block;
    position: relative;
    margin: 10px;
    cursor: pointer;
}

.label-check-img:before {
    background-color: white;
    color: white;
    content: " ";
    display: block;
    border-radius: 50%;
    border: 1px solid grey;
    position: absolute;
    top: -5px;
    left: -5px;
    width: 25px;
    height: 25px;
    text-align: center;
    line-height: 28px;
    transition-duration: 0.4s;
    transform: scale(0);
}

.label-check-img img {
    transition-duration: 0.2s;
    transform-origin: 50% 50%;
}

:checked + .label-check-img {
    border-color: #ddd;
}

:checked + .label-check-img:before {
    content: "✓";
    background-color: grey;
    transform: scale(1);
}

:checked + .label-check-img img {
    transform: scale(0.9);
    box-shadow: 0 0 5px #333;
    z-index: -1;
}