.form-group-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  padding-bottom: 15px;
  gap: 2rem;
  align-items: self-end;

  .full-width {
    grid-column: 1/-1;
  }

  .form-group {
    position: relative;
    &.has-error .bar:before,
    &.has-error .bar:after {
      width: 50%;
      background: #f80a0a !important;
    }

    label {
      pointer-events: auto !important;
      cursor: pointer !important;
      position: relative !important;
      top: auto !important;
      font-weight: bold !important;
      font-size: 10px !important;
      text-transform: uppercase;
      color: #3f51b5 !important;
      font-weight: bold;
      margin: 0;
    }
    label:not(.switch-label) {
      white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden;
    }
    .error_msg {
      color: #f57878;
    }
    .custom-width {
      width: 50% !important;
    }
    &.label-overflow {
      label {
        overflow: visible;
      }
    }
    .form-control {
      padding: 0;
      border: 0;
      height: 28px;
      min-height: 28px;
      font-size: 13px;
      box-shadow: none;
      border-bottom: solid 1px #ddd;
      display: inline-block;
      width: 100%;
      border-radius: 0;
      color: #000;
      font-weight: 600;

      /* active state */
      &:focus ~ .bar:before,
      &:focus > .bar:before,
      &:focus ~ .bar:after,
      &:focus > .bar:after {
        width: 50%;
      }
      
      .mx-input {
        border-bottom: 0 !important;
        font-size: 13px !important;
        height: 27px !important;
        padding: 0 !important;
        background: transparent;
      }
    }
    textarea.span2 {
      height: 70px;
      padding: 0;
    }
    textarea.form-control {
      height: auto;
      display: table;
      width: 100%;
      resize: both;
      overflow: hidden;
    }
    input[type="checkbox"] label {
      padding: 4px 25px;
    }

    .select2-selection--single {
      height: 26px;
      line-height: 26px;
      padding: 0;
      border: 0 !important;
    }
    .select2-container,
    .mx-datepicker {
      padding: 0px !important;
    }

    .parentnomi .select2-container {
      top: 0;
      border: 0;
    }

    .select2.select2-container.select2-container--default.select2-container--focus .select2-selection,
    .select2-container--default.select2-container--focus .select2-selection--multiple {
      border-color: #ddd;
    }
    .select2-container--default .select2-selection--multiple .select2-selection__choice {
      margin-top: 3px;
    }
    .form-control[disabled] {
      background-color: inherit;
      color: #b5b5b5;
      opacity: 0.8;
    }

    .switch-input {
      display: none;
      &:checked {
        & + .switch-label,
        span {
          &:before {
            background-color: #3f51b5;
          }
          &:after {
            background-color: #fff;
            transform: translateX(30px);
          }
          .toggle--on {
            display: inline-block;
          }
          .toggle--off {
            display: none;
          }
        }
      }
    }
    .switch-label {
      position: relative;
      pointer-events: unset;
      display: inline-block;
      min-width: 100px;
      min-height: 43px;
      cursor: pointer;
      font-weight: 500;
      text-align: left;
      margin: 0;
      padding: 0px 0 18px 0px;
      &:before {
        left: 1px;
        width: 45px;
        height: 17px;
        background-color: #9e9e9e;
        border-radius: 8px;
      }
      &:after {
        left: 0;
        width: 17px;
        height: 17px;
        background-color: #fafafa;
        border-radius: 50%;
        box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.084);
      }
      .toggle--on {
        display: none;
      }
      .toggle--off {
        display: inline-block;
      }
      .span1 {
        position: absolute;
        bottom: -2px;
        left: 60px;
        font-size: 15px;
        color: #333;
      }
    }
    .switch-label:before,
    .switch-label:after {
      content: "";
      position: absolute;
      outline: 0;
      bottom: 0;
      transform: translateX(0);
      transition: all 0.3s ease;
    }

    .checkbox-custom {
      margin: 2rem 0 0 0;
      position: relative;
      left: 0;
    }
    .checkbox-custom label {
      padding-left: 23px;
      padding-top: 3px;
    }
    .custom-select,
    .custom-input {
      display: inline-block;
      position: relative;
    }
    .custom-select {
      width: calc(34% - 15px);
      margin-right: 15px;
    }
    .custom-input {
      width: 65%;
    }
    .select:after {
      display: none;
    }
    .bar {
      position: relative;
      display: block;
      width: 100%;
      &:before,
      &:after {
        content: "";
        height: 2px;
        width: 0;
        bottom: 0px;
        position: absolute;
        background: #9677de;
        transition: 0.2s ease all;
        -moz-transition: 0.2s ease all;
        -webkit-transition: 0.2s ease all;
      }
      &:before {
        left: 50%;
      }
      &:after {
        right: 50%;
      }
    }
    .disable_field {
      color: #ccc !important;
    }
  }
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  transition: background-color 5000s ease-in-out 0s;
}
.bottom-border {
  border-top: 1px dashed #eee !important;
  padding: 4px 0px 0 0;
  margin: 4px 0px 0 0;
}
.customScroll::-webkit-scrollbar {
  width: 20px;
  border-width: 5px;
}

.customScroll::-webkit-scrollbar-track-piece {
  background-color: #ccc;
  border-color: #fffefe;
  border-width: 2px 9px 2px 9px;
  border-style: solid;
}

.customScroll::-webkit-scrollbar-thumb {
  border-radius: 7px;
  background-color: #ccc;
  border-color: #fffefe;
  border-style: solid;
  border-width: 1px 7px 1px 7px;
}
.scroll-y::-webkit-scrollbar-thumb {
  border-radius: 0px;
  background: #ccc !important;
}
.scroll-y::-webkit-scrollbar {
  width: 7px !important;
  height: 5px;
}

.mx-datepicker-popup {
  z-index: 10000 !important;
}
.mx-input::placeholder {
  color: #000;
}
.mx-input {
  display: inline-block !important;
  -webkit-box-sizing: border-box !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 34px !important;
  padding: 0 !important;
  padding-left: 0 !important;
  font-size: initial !important;
  line-height: 1.4 !important;
  color: #000 !important;
  // background-color: #fff !important;
  background-color: #fff;
  border: 0px solid #ccc !important;
  border-radius: 0 !important;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0) !important;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0) !important;
  border-bottom: 1px solid #757575 !important;
  &:disabled {
    color: #ccc !important;
  }
}

.group .mx-datepicker {
  width: 100%;
  top: 7px;
  transition: 0.2s ease all !important;
  -moz-transition: 0.2s ease all !important;
  -webkit-transition: 0.2s ease all !important;
}
.tooltip {
  z-index: 100000;
}
.parentnomi .select2-selection,
.select2-selection--multiple {
  top: 10px !important;
  overflow: auto !important;
  height: 0em !important;
  border-bottom: 1px solid #463939b5;
}
.parentnomi .select2-container--above,
.select2-container--focus {
  // top: 10px !important;
  overflow: overlay !important;
}
.parentnomi .select2-container {
  border: none;
  top: 4px;
  border-bottom: 1px solid #0000008c;
  box-shadow: none;
}
.vue__time-picker .dropdown {
  position: absolute !important;
  z-index: 5 !important;
  top: calc(2.2em + 2px) !important;
  left: 0px !important;
  background: #fff !important;
  -webkit-box-shadow: 0 2px 10px #777 !important;
  box-shadow: 0 0px 4px rgba(0, 0, 0, 1.15) !important;
  width: 15em !important;
  height: 14em !important;
  font-weight: 400 !important;
}
.vue__time-picker .dropdown .select-list {
  width: 15em !important;
  height: 14em !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
  -ms-flex-flow: row nowrap !important;
  flex-flow: row nowrap !important;
  -webkit-box-align: stretch !important;
  -ms-flex-align: stretch !important;
  align-items: stretch !important;
  -webkit-box-pack: justify !important;
  -ms-flex-pack: justify !important;
  justify-content: space-between !important;
}
.vue__time-picker .dropdown .hint {
  color: #a5a5a5;
  cursor: default;
  font-size: 0.9em;
}
.vue__time-picker .dropdown ul::-webkit-scrollbar {
  width: 10px;
  border-width: 2px;
}
.vue__time-picker .dropdown ul::-webkit-scrollbar-track-piece {
  background-color: #757575;
  border-color: #fffefe;
  border-width: 2px 9px 2px 9px;
  border-style: solid;
}
.vue__time-picker .dropdown ul::-webkit-scrollbar-thumb {
  border-radius: 7px;
  background-color: #51545e;
  border-color: #fffefe;
  border-style: solid;
  border-width: 1px 7px 1px 7px;
}
.vue__time-picker .dropdown ul {
  padding: 0;
  margin: 0;
  font-size: 12px;
  list-style: none;
  outline: 0;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0.00001px;
  flex: 1 1 0.00001px;
  overflow-x: hidden;
  overflow-y: auto;
}
.vue__time-picker .dropdown .hint {
  color: #a5a5a5;
  cursor: default;
  text-transform: uppercase;
  font-size: 1.2em !important;
  font-weight: 600;
}
.vue__time-picker .dropdown ul li {
  color: rgb(115, 135, 156) !important;
  font-weight: 700;
}
.vue__time-picker input.display-time {
  border: none !important;
  outline: none !important;
  border-bottom: 1px solid #e2e8f0 !important;
  width: 28em !important;
  text-transform: uppercase !important;
  height: 2.2em;
  padding: 0.3em 0.5em;
  font-size: 1em;
}
.vue__time-picker .dropdown ul li:not([disabled]).active,
.vue__time-picker .dropdown ul li:not([disabled]).active:focus,
.vue__time-picker .dropdown ul li:not([disabled]).active:hover {
  background: #b6ea7d !important;
  color: #000 !important;
}
.normal-inputCheck {
  width: 30px;
  display: block;
  margin: auto 8%;
}

.modal-container.lg .form-group-wrap {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}
.modal-md .form-group-wrap {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}
.mandatory { color: red; }
.form-group{position: relative;}
.error_msg{position: absolute; top: 100%; left:0; font-size: 10px; line-height: normal; color: red; border-radius: 5px; background: #fff; }