.checkbox, .radio {
    display: flex;
    position: relative;
    cursor: pointer;
    align-items: center;
    gap: 20px;
}

.checkbox::-moz-selection, .radio::-moz-selection {
    background: transparent;
}

.checkbox::selection, .radio::selection {
    background: transparent;
}

.checkbox input + span, .radio input + span {
    background: rgba(216, 216, 216, 0.3);
    content: '';
    display: inline-block;
    padding: 0;
    vertical-align: middle;
    width: 60px;
    height: 60px;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
}

.checkbox input + span::after, .radio input + span::after {
    content: '';
    display: block;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition: -webkit-transform .2s;
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s;
}

/* @media screen and (min-width: 768px) {
    .checkbox:hover input + span, .radio:hover input + span {
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
    }
}

.checkbox input:active + span, .radio input:active + span {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.checkbox input:focus + span, .radio input:focus + span {
    box-shadow: 0 0 0 3px lightblue;
} */

.checkbox input:checked + span::after, .radio input:checked + span::after {
    -webkit-transform: scale(1);
    transform: scale(1);
}

.checkbox input, .radio input {
    position: absolute;
    cursor: pointer;
    opacity: 0;
}

.checkbox input + span {
    border-radius: 2px;
}

.checkbox input + span::after {
    background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzJweCIgaGVpZ2h0PSIyNXB4IiB2aWV3Qm94PSIwIDAgMzIgMjUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+RmlsbCAxPC90aXRsZT4KICAgIDxnIGlkPSJMYXlvdXQt4oCTLVJaIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iV2FsZG1hbm5fS29udGFrdF9YTCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE1NC4wMDAwMDAsIC0yMDQ2LjAwMDAwMCkiIGZpbGw9IiMxQTE4MTYiPgogICAgICAgICAgICA8cG9seWdvbiBpZD0iRmlsbC0xIiBwb2ludHM9IjE4MC40ODggMjA0NiAxNjUuNjc5IDIwNjEuMDU5IDE1OC4yODkgMjA1My42MzYgMTU0IDIwNTguMjQ1IDE2NS44NzYgMjA3MC42MjUgMTg1LjE3MyAyMDUwLjY2NyI+PC9wb2x5Z29uPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+') no-repeat center;
    background-size: contain;
    width: 30px;
    height: 30px;
    margin: 15px;
}

.radio input + span {
    border-radius: 100%;
}

.radio input + span::after {
    border-radius: 100%;
    margin: 5px;
    width: 10px;
    height: 10px;
}

.radio input:checked + span::after {
    background: #4b8140;
}

.checkbox input + span,
.radio input + span {
    display: block;
    float: left;
}

.checkable__text {
    display: block;
}