/* =============
   Checkbox and Radios
============= */
.custom-radio .custom-control-input:checked ~ .custom-control-label::before,
.custom-control-input:checked ~ .custom-control-label::before,
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #3bafda;
}

.checkbox label {
  display: inline-block;
  padding: 5px 0px 5px 10px;
  position: relative;
  font-weight: normal;
  font-size: 13px;
}

.checkbox label::before {
  -o-transition: 0.3s ease-in-out;
  -webkit-transition: 0.3s ease-in-out;
  background-color: #ffffff;
  border-radius: 3px;
  border: 1px solid #98a6ad;
  content: "";
  display: inline-block;
  height: 17px;
  left: 0;
  margin-left: -17px;
  position: absolute;
  transition: 0.3s ease-in-out;
  width: 17px;
  outline: none !important;
}

.checkbox label::after {
  color: #333333;
  display: inline-block;
  font-size: 11px;
  height: 16px;
  left: 0;
  margin-left: -17px;
  padding-left: 3px;
  padding-top: 6px;
  position: absolute;
  top: 0;
  width: 16px;
}

.checkbox input[type="checkbox"] {
  cursor: pointer;
  opacity: 0;
  z-index: 1;
  outline: none !important;
}

.checkbox input[type="checkbox"]:disabled + label {
  opacity: 0.65;
}

.checkbox input[type="checkbox"]:focus + label::before {
  outline-offset: -2px;
  outline: none;
}

.checkbox input[type="checkbox"]:checked + label::after {
  content: "\f00c";
  font-family: 'FontAwesome';
}

.checkbox input[type="checkbox"]:disabled + label::before {
  background-color: #eeeeee;
  cursor: not-allowed;
}

.checkbox.checkbox-circle label::before {
  border-radius: 50%;
}

.checkbox.checkbox-inline {
  margin-top: 0;
}

.checkbox.checkbox-single input {
  height: 18px;
  width: 18px;
  position: absolute;
}

.checkbox.checkbox-single label {
  height: 18px;
  width: 18px;
}

.checkbox.checkbox-single label:before {
  margin-left: 0;
}

.checkbox.checkbox-single label:after {
  margin-left: 0;
}

.checkbox-custom input[type="checkbox"]:checked + label::before {
  background-color: #3bafda;
  border-color: #3bafda;
}

.checkbox-custom input[type="checkbox"]:checked + label::after {
  color: #ffffff;
}

.checkbox-primary input[type="checkbox"]:checked + label::before {
  background-color: #3bafda;
  border-color: #3bafda;
}

.checkbox-primary input[type="checkbox"]:checked + label::after {
  color: #ffffff;
}

.checkbox-danger input[type="checkbox"]:checked + label::before {
  background-color: #ef5350;
  border-color: #ef5350;
}

.checkbox-danger input[type="checkbox"]:checked + label::after {
  color: #ffffff;
}

.checkbox-info input[type="checkbox"]:checked + label::before {
  background-color: #3ddcf7;
  border-color: #3ddcf7;
}

.checkbox-info input[type="checkbox"]:checked + label::after {
  color: #ffffff;
}

.checkbox-warning input[type="checkbox"]:checked + label::before {
  background-color: #ffaa00;
  border-color: #ffaa00;
}

.checkbox-warning input[type="checkbox"]:checked + label::after {
  color: #ffffff;
}

.checkbox-success input[type="checkbox"]:checked + label::before {
  background-color: #00b19d;
  border-color: #00b19d;
}

.checkbox-success input[type="checkbox"]:checked + label::after {
  color: #ffffff;
}

.checkbox-purple input[type="checkbox"]:checked + label::before {
  background-color: #7266ba;
  border-color: #7266ba;
}

.checkbox-purple input[type="checkbox"]:checked + label::after {
  color: #ffffff;
}

.checkbox-pink input[type="checkbox"]:checked + label::before {
  background-color: #f76397;
  border-color: #f76397;
}

.checkbox-pink input[type="checkbox"]:checked + label::after {
  color: #ffffff;
}

.checkbox-inverse input[type="checkbox"]:checked + label::before {
  background-color: #4c5667;
  border-color: #4c5667;
}

.checkbox-inverse input[type="checkbox"]:checked + label::after {
  color: #ffffff;
}

/* Radios */
.radio label {
  display: inline-block;
  padding-left: 5px;
  position: relative;
  font-weight: 500;
  font-size: 13px;
}

.radio label::before {
  -o-transition: border 0.5s ease-in-out;
  -webkit-transition: border 0.5s ease-in-out;
  background-color: #ffffff;
  border-radius: 50%;
  border: 1px solid #98a6ad;
  content: "";
  display: inline-block;
  height: 17px;
  left: 0;
  margin-left: -20px;
  position: absolute;
  transition: border 0.5s ease-in-out;
  width: 17px;
  outline: none !important;
}

.radio label::after {
  -moz-transition: -moz-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  -ms-transform: scale(0, 0);
  -o-transform: scale(0, 0);
  -o-transition: -o-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  -webkit-transform: scale(0, 0);
  -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  background-color: #333333;
  border-radius: 50%;
  content: " ";
  display: inline-block;
  height: 11px;
  left: 3px;
  margin-left: -20px;
  position: absolute;
  top: 3px;
  transform: scale(0, 0);
  transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  width: 11px;
}

.radio input[type="radio"] {
  cursor: pointer;
  opacity: 0;
  z-index: 1;
  outline: none !important;
}

.radio input[type="radio"]:disabled + label {
  opacity: 0.65;
}

.radio input[type="radio"]:focus + label::before {
  outline-offset: -2px;
  outline: thin dotted;
}

.radio input[type="radio"]:checked + label::after {
  -ms-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}

.radio input[type="radio"]:disabled + label::before {
  cursor: not-allowed;
}

.radio.radio-inline {
  margin-top: 0;
}

.radio.radio-single label {
  height: 17px;
}

.radio-custom input[type="radio"] + label::after {
  background-color: #3bafda;
}

.radio-custom input[type="radio"]:checked + label::before {
  border-color: #3bafda;
}

.radio-custom input[type="radio"]:checked + label::after {
  background-color: #3bafda;
}

.radio-primary input[type="radio"] + label::after {
  background-color: #3bafda;
}

.radio-primary input[type="radio"]:checked + label::before {
  border-color: #3bafda;
}

.radio-primary input[type="radio"]:checked + label::after {
  background-color: #3bafda;
}

.radio-danger input[type="radio"] + label::after {
  background-color: #ef5350;
}

.radio-danger input[type="radio"]:checked + label::before {
  border-color: #ef5350;
}

.radio-danger input[type="radio"]:checked + label::after {
  background-color: #ef5350;
}

.radio-info input[type="radio"] + label::after {
  background-color: #3ddcf7;
}

.radio-info input[type="radio"]:checked + label::before {
  border-color: #3ddcf7;
}

.radio-info input[type="radio"]:checked + label::after {
  background-color: #3ddcf7;
}

.radio-warning input[type="radio"] + label::after {
  background-color: #ffaa00;
}

.radio-warning input[type="radio"]:checked + label::before {
  border-color: #ffaa00;
}

.radio-warning input[type="radio"]:checked + label::after {
  background-color: #ffaa00;
}

.radio-success input[type="radio"] + label::after {
  background-color: #00b19d;
}

.radio-success input[type="radio"]:checked + label::before {
  border-color: #00b19d;
}

.radio-success input[type="radio"]:checked + label::after {
  background-color: #00b19d;
}

.radio-purple input[type="radio"] + label::after {
  background-color: #7266ba;
}

.radio-purple input[type="radio"]:checked + label::before {
  border-color: #7266ba;
}

.radio-purple input[type="radio"]:checked + label::after {
  background-color: #7266ba;
}

.radio-pink input[type="radio"] + label::after {
  background-color: #f76397;
}

.radio-pink input[type="radio"]:checked + label::before {
  border-color: #f76397;
}

.radio-pink input[type="radio"]:checked + label::after {
  background-color: #f76397;
}
