.fancy-checkboxes input[type="checkbox"] {
    display: none;
}

.fancy-checkboxes label:nth-child(2){
    cursor: pointer;
    height: 0px;
    position: relative;
    width: 40px;
}
.fancy-checkboxes label:nth-child(2)::before {
    background: rgb(0, 0, 0);
    box-shadow: inset 0px 0px 10px rgba(0, 0, 0, 0.5);
    border-radius: 8px;
    content: '';
    height: 16px;
    margin-top: -8px;
    position:absolute;
    opacity: 0.3;
    transition: all 0.4s ease-in-out;
    width: 40px;
}
.fancy-checkboxes label:nth-child(2)::after {
    background: rgb(255, 255, 255);
    border-radius: 16px;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
    content: '';
    height: 24px;
    left: -4px;
    margin-top: -8px;
    position: absolute;
    top: -4px;
    transition: all 0.3s ease-in-out;
    width: 24px;
}
input[type="checkbox"]:checked + label::before {
    background: inherit;
    opacity: .5;
}
input[type="checkbox"]:checked + label::after {
    background: inherit;
    left: 20px;
}
.fancy-checkboxes label:nth-child(1){
    cursor: pointer;
    height: 0px;
    position: relative;
    width: 40px;
}
.fancy-checkboxes label:nth-child(1)::after {
    background: rgb(255, 255, 255);
    border-radius: 16px;
    content: '';
    height: 24px;
    left: -4px;
    margin-top: -8px;
    position: absolute;
    top: 6px;
    transition: all 0.3s ease-in-out;
    width: 47px;
    opacity:0;
}