.checkbox, .radio {
    position: relative;
    cursor: pointer;
    display: initial;
}

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

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

.checkbox input + span, .radio input + span {
    background: #fff;
    content: '';
    display: inline-block;
    margin: 0 10px 0 0;
    padding: 0;
    vertical-align: middle;
    width: 16px;
    height: 16px;
    -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;
}

.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: 3px;
}

.checkbox input + span::after {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2NHB4IiBoZWlnaHQ9IjY0cHgiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNjQgNjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTMuNzA3LDMyLjI5MyAxMi4yOTMsMzMuODU0IDI0LjI5Myw0NiAyNS43MDcsNDYgNDkuNzA3LDIxLjg1NCA0OC4yOTMsMjAuMzY2IDI1LDQzLjYyMyAiLz48L2c+PC9zdmc+) no-repeat center;
    background-size: contain;
    width: 16px;
    height: 16px;
}

.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;
    /* margin: 3px 0 0 26px; */
}