input[type=radio],
input[type=checkbox] {
    display: inline-block;
    margin-right: 3px;
}
input[type=radio] + label,
input[type=checkbox] + label {
    position: relative;
    display: inline-block;
    margin:6px 0;
    font-size: 100% !important;/*---*/
    line-height: 20px;
    letter-spacing:-0.1em;
    cursor: pointer;
}

@media (min-width: 1px) {
    input[type=radio],
    input[type=checkbox] {
        display: none;
        margin: 0;
    }
    input[type=radio] + label,
    input[type=checkbox] + label {
        padding: 0 0 0 22px;
    }
    input[type=radio] + label::before,
    input[type=checkbox] + label::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
         
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
        width: 20px;
        height: 20px;
        margin-top: -10px;
         
        background: #FFF;
    }
    input[type=radio] + label::before {
        border: 2px solid #333;
        border-radius: 30px;
    }
    input[type=checkbox] + label::before {
        border: 2px solid #333;
    }
    input[type=radio]:checked + label::after,
    input[type=checkbox]:checked + label::after {
        content: "";
        position: absolute;
        top: 50%;
         
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
    }
    input[type=radio]:checked + label::after {
        left: 4px;
        width:12px;
        height:12px;
        margin-top: -6px;
        background: #E71063;
        border-radius: 8px;
    }
    input[type=checkbox]:checked + label::after {
        left: 2px;
        width: 24px;
        height: 14px;
        margin-top: -10px;
         
        border-left: 6px solid #E71063;
        border-bottom: 6px solid #E71063;
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
}