/* CUSTOM CSS */
.input-box {
  border: 1px solid #333!important;
  height: 25px!important;
  width: 25px!important;
  border-radius: 5px!important;
}
.input-box-normal {
  border: 1px solid #333!important;
  height: 25px!important;
  width: 25px!important;
  border-radius: 5px!important;
}

.card-header { padding: 0!important;}
.card-header .card-title { padding: 10px 15px!important; }
.card-header .card-tools { padding: 5px 10px!important; }
.card-header .input-box { margin-right: 10px!important; }

.select2-container--default .select2-search--dropdown .select2-search__field {
    background: #fff!important;
    color: #333!important;
}

.form-floating2 label {
    margin-top: -25px!important;
    z-index: 2!important;
    pointer-events: none!important;
    transition: all .1s ease-in-out!important;

}
.form-floating2 .select2 {
  width: 100%!important;
  margin-top: -15px!important;
  border: 1px solid #fff!important;
  background-color: transparent!important;
}

.form-floating2 {
    border: 1px solid #dee2e6!important;
    border-radius: .25rem!important;
    padding: .25rem .5rem!important;
    label {
        color: rgba(var(--bs-body-color-rgb), 0.55)!important;
    }
    .select2 {
        border: 1px solid #fff!important;
        
    }
}

.form-floating > .form-control:focus::placeholder,
.form-floating > .form-control-plaintext:focus::placeholder {
    color: var(--bs-secondary-color);
    opacity: 0.5;
  }

.stepper {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}
.stepper-item {
  text-align: center;
  flex: 1;
  position: relative;
}
.stepper-item:not(:first-child)::after, .stepper-item:first-child::after {
  content: '';
  position: absolute;
  top: 15px;
  right: 0;
  width: 100%;
  height: 2px;
  background-color: #dee2e6;
  z-index: -1;
}
.stepper-item .step-counter {
  width: 30px;
  height: 30px;
  line-height: 30px;
  border-radius: 50%;
  background-color: #dee2e6;
  color: #333;
  margin: 0 auto 10px auto;
}
.stepper-item.active .step-counter {
    background-color: darkgreen;
    color: #fff;
}
#webform-container label {
    font-weight: 700!important;
}
.famfooter img {
  float: left;
  margin-right: 10px;
}
.famfooter span {
  text-align: left!important;
  font-size: 12px!important;

}
.spin-loader {
  border: 16px solid #f3f3f3; /* Light grey */
  border-top: 16px solid #3498db; /* Blue */
  border-radius: 50%;
  width: 120px;
  height: 120px;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.card label {
    font-weight: 600!important;
}

tfoot input {
        width: 100%;
        padding: 3px;
        box-sizing: border-box;
        background: #fff;
        color: #333;
        border: 1px solid #333;
        border-radius: 25px;
        padding: 5px 10px;
}
tfoot input::placeholder {
    color: darkgray;
}