input[type="checkbox"] {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
  }
  
  .checkbox-item {
      margin: 0 15px;
      width: auto;
      float: left;
      position: relative;
      flex-direction: column;
  }
  
  .checkbox-item input[type="checkbox"] + label {
      padding: 0 0 0 50px;
      font-family: 'Source Sans Pro', Arial, sans-serif;
      font-weight: normal;
      position: relative;
      cursor: pointer;
      z-index: 2;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
  }
  
  .checkbox-item input[type="checkbox"] + label::after {
      content: "";
      height: 36px;
      width: 36px;
      background: white;
      border: 2px solid #ccc;
      position: absolute;
      top: -3px;
      left: 0;
      z-index: 1;
  }
  
  .checkbox-item input[type="checkbox"] + label::before {
      content: "";
      height: 36px;
      width: 36px;
      background: none;
      position: absolute;
      top: -3px;
      left: 0;
      z-index: 2;
  }
  .checkbox-item input[type="checkbox"] + label ~ div{
    padding-left: 50px;
  }  
  .checkbox-item input[type="checkbox"]:focus + label::after {
      border-color: #00a4e4;
  }
  
  .checkbox-item.checkbox-on input[type="checkbox"] + label::before {
      background: transparent url(../images/icon-checkmark-green-single.svg) no-repeat center center;
      background-size: 50%;
  }
  
  .checkbox-item.checkbox-ind input[type="checkbox"] + label::before {
    background: transparent url(../images/icon-checkmark-green-ind.svg) no-repeat center center;
    background-size: 50%;
}

.checkbox-item.disabled input[type="checkbox"] + label {
      cursor: initial;
  }
  
  .checkbox-item.disabled input[type="checkbox"] + label::after {
      background: #eee;
  }
  
  .checkbox-item.disabled input[type="checkbox"]:focus + label::after {
      border-color: #A9A9A9;
  }
  
  .checkbox-item.disabled.checkbox-on input[type="checkbox"] + label::before {
      background: transparent url(../images/icon-checkmark-gray-single.svg) no-repeat center center;
      background-size: 50%;
  }
  
  .checkbox-item.with-description p {
      margin: 0 0 30px 50px;
      font-family: 'Source Sans Pro', Arial, sans-serif;
      font-weight: normal;
      font-style: italic;
  }
  
  .checkbox-item.with-description p.red {
      margin: 0 0 0 50px;
      color: #E03C31;
      font-family: 'Source Sans Pro', Arial, sans-serif;
      font-size: 16px;
      font-weight: normal;
      font-style: italic;
  }
  
  .checkbox-item.has-error input[type="checkbox"] + label::after {
      border: 2px solid #E03C31;
  }
  