#form-permisos-modulos input[type=checkbox] {
  visibility: hidden;
}

.checkbox-JASoft {
  display: inline-block;
  position: relative;
  width: 70px;
  height: 30px;
  background: #555;
  border-radius: 15px;
  box-shadow: inset 0px 1px 1px rgba(0,0,0,0.6), 0px 1px 0px rgba(255,255,255,0.3);   
}

.checkbox-JASoft label {

    /* aspecto */
    display: block;
    width: 34px;
    height: 20px;
    border-radius: 17px;
    box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.35);
    background: #fcfff4;
    background: linear-gradient(to top, #fcfff4 0%, #dfe5d7 40%, #b3bead 100%);
    cursor: pointer;
    
    /* Posicionamiento */
    position: absolute;
    top: 5px;
    left: 5px;
    z-index: 1;
    
  /* Comportamiento */
    transition: all .4s ease;
    
    /* ocultar el posible texto que tenga */
    overflow: hidden;
    text-indent: 35px;  
    transition: text-indent 0s;
}

/* estado activado */
.checkbox-JASoft input[type=checkbox]:checked + label {
  left: auto;
  right: 5px;
}

.checkbox-JASoft:after {
  content: 'NO';
  font: 12px/30px Arial, sans-serif;
  color: #AAA;
  position: absolute;
  right: 10px;
  z-index: 0;
  font-weight: bold;
  text-shadow: 1px 1px 0px rgba(255,255,255,.20);
}

.checkbox-JASoft:before {
  content: 'SI';
  font: 12px/30px Arial, sans-serif;
  color: lime;
  position: absolute;
  left: 10px;
  z-index: 0;
  font-weight: bold;
}


.custom-checkbox {
  min-height: 1rem;
  padding-left: 0;
  margin-right: 0;
  cursor: pointer; 
}
  .custom-checkbox .custom-control-indicator {
    content: "";
    display: inline-block;
    position: relative;
    width: 30px;
    height: 10px;
    background-color: #818181;
    border-radius: 15px;
    margin-right: 10px;
    -webkit-transition: background .3s ease;
    transition: background .3s ease;
    vertical-align: middle;
    margin: 0 16px;
    box-shadow: none; 
  }
    .custom-checkbox .custom-control-indicator:after {
      content: "";
      position: absolute;
      display: inline-block;
      width: 18px;
      height: 18px;
      background-color: #f1f1f1;
      border-radius: 21px;
      box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4);
      left: -2px;
      top: -4px;
      -webkit-transition: left .3s ease, background .3s ease, box-shadow .1s ease;
      transition: left .3s ease, background .3s ease, box-shadow .1s ease; 
    }
  .custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {
    background-color: #84c7c1;
    background-image: none;
    box-shadow: none !important; 
  }
    .custom-checkbox .custom-control-input:checked ~ .custom-control-indicator:after {
      background-color: #84c7c1;
      left: 15px; 
    }
  .custom-checkbox .custom-control-input:focus ~ .custom-control-indicator {
    box-shadow: none !important; 
  }