.stepper-wrapper {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
  }
  .stepper-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
  
    @media (max-width: 768px) {
      font-size: 12px;
    }
  }

 .stepper-item::before {
    position: absolute;
    content: "";
    border-bottom: 2px solid #ccc;
    width: 100%;
    top: 20px;
    left: -50%;
    z-index: 2;
  }
  
  .stepper-item::after {
    position: absolute;
    content: "";
    border-bottom: 2px solid #ccc;
    width: 100%;
    top: 20px;
    left: 50%;
    z-index: 2;
  }
  
  .stepper-item .step-counter {
    position: relative;
    z-index: 5;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #ccc;
    margin-bottom: 6px;
  }
  .stepper-item.active {
    font-weight: bold;
  }
  
  .stepper-item.completed .step-counter {
    background-color:  #128bfc;
  }
/*
 .stepper-item.completed::after {
    position: absolute;
    content: "";
    border-bottom: 2px solid  #128bfc;
    width: 100%;
    top: 20px;
    left: 50%;
    z-index: 3;
  }*/

  .stepper-item.completed.ok::after {
    position: absolute;
    content: "";
    border-bottom: 2px solid  #128bfc;
    width: 100%;
    top: 20px;
    left: 50%;
    z-index: 3;
  }

 /*.stepper-item.completed::before {
    position: absolute;
    content: "";
    border-bottom: 2px solid  #128bfc;
    width: 100%;
    top: 20px;
    left: 50%;
    z-index: 3;
  }*/


  .stepper-item:first-child::before {
    content: none;
  }
  .stepper-item:last-child::after {
    content: none;
  }

  .bg-custom {
    background:  linear-gradient(120deg, #556cdc, #128bfc, #18bef1);
  }
  .bg-table-custom{
    background-color: #FFF7F7;
  }
  .table td, .jsgrid .jsgrid-table td, .table th, .jsgrid .jsgrid-table th {
    white-space: wrap !important;
  }
  .border-custom {
    border-color: #556cdc, !important;
    border-top-color: #556cdc!important;
    border-right-color: #128bfc !important;
    border-bottom-color: #18bef1!important;
    border-left-color: #556cdc !important;

  }
  
  .form-control:focus {
    border-color: #a1b5f7;
    box-shadow: 0 0 0 0.2rem rgba(40, 106, 167, 0.25);
} 
  .custom-file-label {
    white-space: nowrap; 
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right:75px;
  }


  @-webkit-keyframes spinner-border {
    to {
      -webkit-transform: rotate(360deg);
      transform: rotate(360deg);
    }
  }
  
  @keyframes spinner-border {
    to {
      -webkit-transform: rotate(360deg);
      transform: rotate(360deg);
    }
  }
  
  .spinner-border {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    vertical-align: -0.125em;
    border: 0.25em solid currentcolor;
    border-right-color: transparent;
    border-radius: 50%;
    -webkit-animation: .75s linear infinite spinner-border;
    animation: .75s linear infinite spinner-border;
  }
  
  .spinner-border-sm {
    width: 1rem;
    height: 1rem;
    border-width: 0.2em;
  }
  
  @-webkit-keyframes spinner-grow {
    0% {
      -webkit-transform: scale(0);
      transform: scale(0);
    }
    50% {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  
  @keyframes spinner-grow {
    0% {
      -webkit-transform: scale(0);
      transform: scale(0);
    }
    50% {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  
  .spinner-grow {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    vertical-align: -0.125em;
    background-color: currentcolor;
    border-radius: 50%;
    opacity: 0;
    -webkit-animation: .75s linear infinite spinner-grow;
    animation: .75s linear infinite spinner-grow;
  }
  
  .spinner-grow-sm {
    width: 1rem;
    height: 1rem;
  }
  
  @media (prefers-reduced-motion: reduce) {
    .spinner-border,
    .spinner-grow {
      -webkit-animation-duration: 1.5s;
      animation-duration: 1.5s;
    }
  }