.checkbox {
    padding: .8rem 0 0;
    width: 100%;
    display: block;
    overflow: hidden;
}

.checkbox > span {
    margin: 0 0 1.0rem;
    padding: 0 2.0rem 0 0;
    float: left;
    position: relative;
    top: 0;
    left: 0;
    width: auto;
}

.checkbox > span label {
    padding: 0.1rem 0 0 2.4rem;
    width: 100%;
    min-height: 1.6rem;
    font-size: 1.2rem;
    line-height: 1.4rem;
    text-align: left;
    cursor: pointer;
    float: none;
    display: block;
    position: relative;
    left: 0;
    top: 0;
}

.checkbox input {
    display: none;
}

.checkbox input + label:before {
    margin: 0;
    content: '';
    background-size: .1rem;
    position: absolute;
    left: 0;
    top: 0;
    background: $color-snow url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAYAAAAmL5yKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTFCRTE4Q0IxNTc5MTFFNjlCOTU5QjY1QkU5MkYyMDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTFCRTE4Q0MxNTc5MTFFNjlCOTU5QjY1QkU5MkYyMDgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0MkMxNjBDNjBFMTYxMUU2OUI5NTlCNjVCRTkyRjIwOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBMUJFMThDQTE1NzkxMUU2OUI5NTlCNjVCRTkyRjIwOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuFgne4AAADHSURBVHjaYvj//z8DGdgFiL8BcSM5mlWA+N1/CPhDqmY+IL72HwE6SNHMBMSbkDRvBImRYkArkuYLQMwDEidWcziS5hdALAeTAxFsQGyAR7MhNMRB4DsQWyDLg4j1UMkSLJrFgfghku2R6GoYkEwHgTAkSZDLDiHJNWNzIYiIQFL0E4htoZIzkcRXAjEjLgNAOB9J8Wcg3ofEPwPEXLjCCFc0wcATIJbEF0PIHJAT5yJpBoWNEaEoRhdgBuIV0OgKICaNAAQYAPD/2FJuxgMsAAAAAElFTkSuQmCC") no-repeat center;
    border-radius: .3rem;
    cursor: pointer;
    display: inline-block;
    height: 1.4rem;
    width: 1.4em;
    text-align: center;
    font-size: 1.1rem;
    line-height: 1.6rem;
    color: $color-snow-dark;
    border: .1rem solid $color-smoke-extra-dark;
    transition: all .2s linear 0s;
}

.checkbox input:checked + label:before {
    background-color: $color-featured;
    content: '';
    background-size: 0.8rem;
    border-color: $color-featured;
    color: $color-snow;
    transition: all .2s linear 0s;
}

.checkbox input:disabled + label {
    color: $color-smoke-dark;

    &:before {
        background-color: $color-smoke-dark;
        border-color: $color-smoke-dark;
    }
}
