/* * * From https://github.com/flatlogic/awesome-bootstrap-checkbox * */ .checkbox label { display: inline-block; position: relative; padding-left: 5px; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .checkbox label::after { display: inline-block; position: absolute; width: 16px; height: 16px; left: 0; top: 0; margin-left: -20px; padding-left: 3px; padding-top: 1px; font-size: 11px; color: $gray; } .checkbox input[type="checkbox"] { display: none; } .checkbox input[type="checkbox"]:checked + label::after { font-size: 18px; padding-top: 0px; font-family: 'Font Awesome 5 Free'; font-weight: 900; color: $brand-success; content: "\f14a"; } .checkbox input[type="checkbox"]:not(:checked) + label::after { font-size: 18px; padding-top: 0px; font-family: 'Font Awesome 5 Free 400'; font-weight: 900; content: "\f0c8"; } .checkbox input[type="checkbox"]:disabled + label { opacity: 0.65; } .checkbox input[type="checkbox"]:disabled + label::after { color: $gray-lighter !important; /* overrides primary etc.. */ cursor: not-allowed; } .checkbox.checkbox-circle label::before { border-radius: 50%; } .checkbox-primary input[type="checkbox"]:checked + label::after { color: $brand-primary; } .checkbox-danger input[type="checkbox"]:checked + label::after { color: $brand-danger;} .checkbox-info input[type="checkbox"]:checked + label::after { color: $brand-info; } .checkbox-warning input[type="checkbox"]:checked + label::after { color: $brand-warning; } .checkbox-success input[type="checkbox"]:checked + label::after { color: $brand-success;} /* before is the outer cicle */ /* after is the inner circle.. */ .radio label { display: inline-block; position: relative; padding-left: 5px; } .radio label::before { content: ""; display: inline-block; position: absolute; width: 17px; height: 17px; left: 0; margin-left: -20px; border: 1px solid $gray-light; border-radius: 50%; background-color: $body-bg; -webkit-transition: border 0.15s ease-in-out; -o-transition: border 0.15s ease-in-out; transition: border 0.15s ease-in-out; } .radio label::after { display: inline-block; position: absolute; content: " "; width: 11px; height: 11px; left: 3px; top: 3px; margin-left: -20px; border-radius: 50%; background-color: $body-bg; -webkit-transform: scale(0, 0); -ms-transform: scale(0, 0); -o-transform: scale(0, 0); transform: scale(0, 0); -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33); -moz-transition: -moz-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33); -o-transition: -o-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33); transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33); } .radio input[type="radio"] { display: none; } .radio input[type="radio"]:checked + label::after { -webkit-transform: scale(1, 1); -ms-transform: scale(1, 1); -o-transform: scale(1, 1); transform: scale(1, 1); background-color: $gray; } .radio input[type="radio"]:disabled + label { opacity: 0.65; } .radio input[type="radio"]:disabled + label::before { cursor: not-allowed; } .radio-primary input[type="radio"] + label::after { background-color: $body-bg; } .radio-primary input[type="radio"]:checked + label::before { border-color: $brand-primary; } .radio-primary input[type="radio"]:checked + label::after { background-color: $brand-primary; } .radio-danger input[type="radio"] + label::after { background-color: $brand-danger; } .radio-danger input[type="radio"]:checked + label::before { border-color: $brand-danger; } .radio-danger input[type="radio"]:checked + label::after { background-color: $brand-danger; } .radio-info input[type="radio"] + label::after { background-color: $body-bg; } .radio-info input[type="radio"]:checked + label::before { border-color: $brand-info; } .radio-info input[type="radio"]:checked + label::after { background-color: $brand-info; } .radio-warning input[type="radio"] + label::after { background-color: $body-bg; } .radio-warning input[type="radio"]:checked + label::before { border-color: $brand-warning; } .radio-warning input[type="radio"]:checked + label::after { background-color: $brand-warning; } .radio-success input[type="radio"] + label::after { background-color: $body-bg; } .radio-success input[type="radio"]:checked + label::before { border-color: $brand-success; } .radio-success input[type="radio"]:checked + label::after { background-color: $brand-success; } .checkbox.checkbox-inline, .radio.radio-inline { margin-top: 0; }