.input-group{
    display: grid;
    grid-column-gap: 20px;
    grid-template-columns: 20% 30% 50%;
    grid-template-rows: 30px;
    margin: 15px 0px;
}
.input-group label{
  font-weight: 600;
  line-height: 30px;
}

.input-group input{
    background: transparent;
    border: 1px solid transparent;
    box-shadow: inset 0 1px 2px transparent;
    border-bottom: 1px solid #dddddd;
}

.input-group input[type=checkbox]{
    margin-top: 0px;
    position: relative;
    -webkit-appearance: none;
    outline: none;
    width: 50px;
    height: 30px;
    background-color: #fff;
    border: 1px solid #D9DADC;
    border-radius: 50px;
    box-shadow: inset -20px 0 0 0 #fff;
    
}

.input-group input[type=checkbox]:checked:before{
    position: relative;
    appearance: none; 
    outline: none;
    content: none; 
    width: 50px; height: 30px;
    background-color: #ffffff; border: 1px solid #D9DADC;
    border-radius: 50px; box-shadow: inset -20px 0 0 0 #ffffff;
    transition-duration: 200ms;
}

.input-group input[type=checkbox]:after {
    content: "";
    position: absolute;
    top: 1px;
    left: 1px;
    background: transparent;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    box-shadow: 2px 4px 6px rgba(0,0,0,0.2);
  }

  .input-group  input[type=checkbox]:checked {
    box-shadow: inset 20px 0 0 0 #18924b;
    border-color: #18924b;
  }
  
  .input-group  input[type=checkbox]:checked:after {
    left: 20px;
    box-shadow: -2px 4px 3px rgba(0,0,0,0.05);
  }