.switch {
    display: flex;
    align-items: center;
}
.switch > div {
    width: 52px;
    height: 31px;
}
.switch > div > input[type="checkbox"]:empty {
    margin-left: -8000em;
}
.switch > div > input[type="checkbox"]:empty ~ label {
    float: left;
    cursor: pointer;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}
.switch > div > input[type="checkbox"]:empty ~ label:before,
.switch > div > input[type="checkbox"]:empty ~ label:after {
    top: 3px;
    left: 3px;
    bottom: 0;
    display: block;
    position: absolute;
    transition: all 0.1s ease-in-out;
    border-radius: 50px;
    background-color: var(--color-grey-100);

    width: 46px;
    height: 25px;
    content: " ";
}
.switch > div > input[type="checkbox"]:empty ~ label:before {
    box-shadow: 0 0 0 3px var(--color-grey-100);
}
.switch > div > input[type="checkbox"]:empty ~ label:after {
    top: 3px;
    width: 25px;
    height: 25px;
    margin-left: 0;
    background-color: var(--color-white);
    border-radius: var(--rounded-circular);
    box-shadow: var(--shadow-md);
}
.switch > div > input[type="checkbox"]:checked ~ label:before {
    background-color: var(--color-green);
    box-shadow: 0 0 0 3px var(--color-green);
}
.switch > div > input[type="checkbox"]:checked ~ label:after {
    margin-left: 21px;
}
