.checkbox-custom {
  padding-left: 20px;
}

.checkbox-custom label {
  position: relative;
  display: inline-block;
  padding-left: 10px;
  vertical-align: middle;
}

.checkbox-custom label:empty {
  padding-left: 0;
}

.checkbox-custom label::before {
  position: absolute;
  left: 0;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: -20px;
  content: "";
  background-color: #fff;
  border: 1px solid #9a9a9a;
  border-radius: .215rem;
  transition: all .3s ease-in-out 0s;
}

.checkbox-custom label::after{
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 20px;
  height: 20px;
  padding-top: 1px;
  margin-left: -20px;
  font-size: 12px;
  line-height: 20px;
  color: #76838f;
  text-align: center;
}


.checkbox-custom label.error::before, .checkbox-custom label.error::after  {
  display:none;
}


.checkbox-custom input[type="checkbox"], .checkbox-custom input[type="radio"] {
  z-index: 1;
  width: 20px;
  height: 20px;
  cursor: pointer;
  opacity: 0;
}

.checkbox-custom input[type="checkbox"]:checked + label::before, .checkbox-custom input[type="checkbox"]:checked + input[type="hidden"] + label::before, .checkbox-custom input[type="radio"]:checked + label::before, .checkbox-custom input[type="radio"]:checked + input[type="hidden"] + label::before {
  border-color: #e4eaec;
  border-width: 10px;
  transition: all 300ms ease-in-out 0s;
}

.checkbox-custom input[type="checkbox"]:checked + label::after, .checkbox-custom input[type="checkbox"]:checked + input[type="hidden"] + label::after, .checkbox-custom input[type="radio"]:checked + label::after, .checkbox-custom input[type="radio"]:checked + input[type="hidden"] + label::after {
  font-family: "Web Icons";
  content: "";
}

.checkbox-custom input[type="checkbox"]:disabled, .checkbox-custom input[type="radio"]:disabled {
  cursor: not-allowed;
}

.checkbox-custom input[type="checkbox"]:disabled + label, .checkbox-custom input[type="checkbox"]:disabled + input[type="hidden"] + label, .checkbox-custom input[type="radio"]:disabled + label, .checkbox-custom input[type="radio"]:disabled + input[type="hidden"] + label {
  opacity:1;
}

.checkbox-custom input[type="checkbox"]:disabled + label::before, .checkbox-custom input[type="checkbox"]:disabled + input[type="hidden"] + label::before, .checkbox-custom input[type="radio"]:disabled + label::before, .checkbox-custom input[type="radio"]:disabled + input[type="hidden"] + label::before {
  cursor: not-allowed;
  background-color: #f3f7f9;
  border-color: #e4eaec;
  border-width: 1px;
}

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

.checkbox-custom.checkbox-inline {
  display: inline-block;
  margin-top: 0;
  margin-bottom: 0;
}

.checkbox-inline + .checkbox-inline {
  margin-left: 20px;
}

.checkbox-default input[type="checkbox"]:checked + label::before, .checkbox-default input[type="checkbox"]:checked + input[type="hidden"] + label::before, .checkbox-default input[type="radio"]:checked + label::before, .checkbox-default input[type="radio"]:checked + input[type="hidden"] + label::before {
  background-color: #fff;
  border-color: #e4eaec;
  border-width: 1px;
}

.checkbox-default input[type="checkbox"]:checked + label::after, .checkbox-default input[type="checkbox"]:checked + input[type="hidden"] + label::after, .checkbox-default input[type="radio"]:checked + label::after, .checkbox-default input[type="radio"]:checked + input[type="hidden"] + label::after {
  color: #3e8ef7;
}

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

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

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

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

.checkbox-info input[type="checkbox"]:checked + label::before, .checkbox-info input[type="checkbox"]:checked + input[type="hidden"] + label::before, .checkbox-info input[type="radio"]:checked + label::before, .checkbox-info input[type="radio"]:checked + input[type="hidden"] + label::before {
  background-color: #0bb2d4;
  border-color: #0bb2d4;
}

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

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

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

.checkbox-success input[type="checkbox"]:checked + label::before, .checkbox-success input[type="checkbox"]:checked + input[type="hidden"] + label::before, .checkbox-success input[type="radio"]:checked + label::before, .checkbox-success input[type="radio"]:checked + input[type="hidden"] + label::before {
  background-color: #11c26d;
  border-color: #11c26d;
}

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

.checkbox-sm {
  padding-left: 18px;
}

.checkbox-sm label {
  padding-left: 8px;
}

.checkbox-sm label:empty {
  padding-left: 0;
}

.checkbox-sm label::before, .checkbox-sm label::after {
  width: 18px;
  height: 18px;
  margin-left: -18px;
}

.checkbox-sm label::after {
  font-size: 10px;
  line-height: 18px;
}

.checkbox-sm input[type="checkbox"], .checkbox-sm input[type="radio"] {
  width: 18px;
  height: 18px;
}

.checkbox-sm input[type="checkbox"]:checked + label::before, .checkbox-sm input[type="checkbox"]:checked + input[type="hidden"] + label::before, .checkbox-sm input[type="radio"]:checked + label::before, .checkbox-sm input[type="radio"]:checked + input[type="hidden"] + label::before {
  border-width: 9px;
}

.checkbox-lg {
  padding-left: 24px;
}

.checkbox-lg label {
  padding-left: 12px;
}

.checkbox-lg label:empty {
  padding-left: 0;
}

.checkbox-lg label::before, .checkbox-lg label::after {
  width: 24px;
  height: 24px;
  margin-left: -24px;
}

.checkbox-lg label::after {
  font-size: 14px;
  line-height: 24px;
}

.checkbox-lg input[type="checkbox"], .checkbox-lg input[type="radio"] {
  width: 24px;
  height: 24px;
}

.checkbox-lg input[type="checkbox"]:checked + label::before, .checkbox-lg input[type="checkbox"]:checked + input[type="hidden"] + label::before, .checkbox-lg input[type="radio"]:checked + label::before, .checkbox-lg input[type="radio"]:checked + input[type="hidden"] + label::before {
  border-width: 12px;
}

.radio-custom {
  padding-left: 20px;
}

.radio-custom label {
  position: relative;
  display: inline-block;
  padding-left: 10px;
  vertical-align: middle;
}

.radio-custom label:empty {
  padding-left: 0;
}

.radio-custom label::before {
  position: absolute;
  left: 0;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: -20px;
  content: "";
  background-color: #fff;
  border: 2px solid #ccc;
  border-radius: 50%;
  transition: border 300ms ease-in-out 0s, color 300ms ease-in-out 0s;
}

.radio-custom label::after {
  position: absolute;
  top: 7px;
  left: 7px;
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: -20px;
  content: " ";
  background-color: transparent;
  border: 2px solid #76838f;
  border-radius: 50%;
  transition: .1s cubic-bezier(.8, -0.33, .2, 1.33);
  -webkit-transform: scale(0, 0);
  transform: scale(0, 0);
}

.radio-custom input[type="radio"] {
  z-index: 1;
  width: 20px;
  height: 20px;
  cursor: pointer;
  opacity: 0;
}

.radio-custom input[type="radio"]:checked + label::before, .radio-custom input[type="radio"]:checked + input[type="hidden"] + label::before {
  border-color: #e4eaec;
  border-width: 10px;
}

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

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

.radio-custom input[type="radio"]:disabled + label, .radio-custom input[type="radio"]:disabled + input[type="hidden"] + label {
  opacity: .65;
}

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

.radio-custom.radio-inline {
  display: inline-block;
  margin-top: 0;
  margin-bottom: 0;
}

.radio-inline + .radio-inline {
  margin-left: 20px;
}

.radio-default input[type="radio"]:checked + label::before, .radio-default input[type="radio"]:checked + input[type="hidden"] + label::before {
  background-color: #fff;
  border-color: #e4eaec;
  border-width: 1px;
}

.radio-default input[type="radio"]:checked + label::after, .radio-default input[type="radio"]:checked + input[type="hidden"] + label::after {
  border-color: #3e8ef7;
}

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

.radio-primary input[type="radio"]:checked + label::after, .radio-primary input[type="radio"]:checked + input[type="hidden"] + label::after {
  border-color: #fff;
}

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

.radio-danger input[type="radio"]:checked + label::after, .radio-danger input[type="radio"]:checked + input[type="hidden"] + label::after {
  border-color: #fff;
}

.radio-info input[type="radio"]:checked + label::before, .radio-info input[type="radio"]:checked + input[type="hidden"] + label::before {
  border-color: #0bb2d4;
}

.radio-info input[type="radio"]:checked + label::after, .radio-info input[type="radio"]:checked + input[type="hidden"] + label::after {
  border-color: #fff;
}

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

.radio-warning input[type="radio"]:checked + label::after, .radio-warning input[type="radio"]:checked + input[type="hidden"] + label::after {
  border-color: #fff;
}

.radio-success input[type="radio"]:checked + label::before, .radio-success input[type="radio"]:checked + input[type="hidden"] + label::before {
  border-color: #11c26d;
}

.radio-success input[type="radio"]:checked + label::after, .radio-success input[type="radio"]:checked + input[type="hidden"] + label::after {
  border-color: #fff;
}

.radio-sm {
  padding-left: 18px;
}

.radio-sm label {
  padding-left: 8px;
}

.radio-sm label:empty {
  padding-left: 0;
}

.radio-sm label::before {
  width: 18px;
  height: 18px;
  margin-left: -20px;
}

.radio-sm label::after {
  top: 7px;
  left: 7px;
  width: 4px;
  height: 4px;
  margin-left: -20px;
  border-width: 2px;
}

.radio-sm input[type="radio"] {
  width: 18px;
  height: 18px;
}

.radio-sm input[type="radio"]:checked + label::before, .radio-sm input[type="radio"]:checked + input[type="hidden"] + label::before {
  border-width: 9px;
}

.radio-lg {
  padding-left: 24px;
}

.radio-lg label {
  padding-left: 12px;
}

.radio-lg label:empty {
  padding-left: 0;
}

.radio-lg label::before {
  width: 24px;
  height: 24px;
  margin-left: -20px;
}

.radio-lg label::after {
  top: 8px;
  left: 8px;
  width: 8px;
  height: 8px;
  margin-left: -20px;
  border-width: 2px;
}

.radio-lg input[type="radio"] {
  width: 24px;
  height: 24px;
}

.radio-lg input[type="radio"]:checked + label::before, .radio-lg input[type="radio"]:checked + input[type="hidden"] + label::before {
  border-width: 12px;
}