.editor ol, .editor  ul{
  list-style: revert !important;
  margin: revert !important;
  padding: revert !important;
}

input[type="date"] {
  color: transparent;
}

.focused input[type="date"],
input[type="date"].has-value {
  color: inherit;
}

.input-group {
  width: 100%;
  margin-bottom: 20px;
}

.input-group .form-line {
  display: inline-block;
  width: 100%;
  border-bottom: 1px solid #ddd;
  position: relative;
}

.input-group .form-line:after {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  bottom: -2px;
  -moz-transform: scaleX(0);
  -ms-transform: scaleX(0);
  -o-transform: scaleX(0);
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -moz-transition: 0.25s ease-in;
  -o-transition: 0.25s ease-in;
  -webkit-transition: 0.25s ease-in;
  transition: 0.25s ease-in;
  border-bottom: 2px solid #1f91f3;
}

.input-group .form-line+.input-group-addon {
  padding-right: 0;
  padding-left: 10px;
}

.input-group .help-info {
  float: right;
  font-size: 12px;
  margin-top: 5px;
  color: #999;
}

.input-group label.error {
  font-size: 12px;
  display: block;
  margin-top: 5px;
  font-weight: normal;
  color: #F44336;
}

.input-group .form-line.error:after {
  border-bottom: 2px solid #F44336;
}

.input-group .form-line.success:after {
  border-bottom: 2px solid #4CAF50;
}

.input-group .form-line.warning:after {
  border-bottom: 2px solid #FFC107;
}

.input-group .form-line.focused:after {
  -moz-transform: scaleX(1);
  -ms-transform: scaleX(1);
  -o-transform: scaleX(1);
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

.input-group .form-line.focused .form-label {
  bottom: 25px;
  left: 0;
  font-size: 12px;
}

.form-group .form-line {
  width: 100%;
  position: relative;
  margin-bottom: 8px;
  /* border-bottom: 1px solid #ddd; */
}


.form-group .form-line:after {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: 0;
  bottom: -1px;
  -moz-transform: scaleX(0);
  -ms-transform: scaleX(0);
  -o-transform: scaleX(0);
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -moz-transition: 0.25s ease-in;
  -o-transition: 0.25s ease-in;
  -webkit-transition: 0.25s ease-in;
  transition: 0.25s ease-in;
  /* border-bottom: 2px solid #1f91f3; */
}

.form-group .form-line .form-label {
  font-family: "Inter", sans-serif;
  font-weight: normal;
  color: #714D00;
  position: absolute;
  top: 10px;
  left: 0;
  cursor: text;
  -moz-transition: 0.2s;
  -o-transition: 0.2s;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.form-group .form-line.error:after {
  border-bottom: 2px solid #F44336;
}

.form-group .form-line.success:after {
  border-bottom: 2px solid #4CAF50;
}

.form-group .form-line.warning:after {
  border-bottom: 2px solid #FFC107;
}

.form-group .form-line.focused:after {
  -moz-transform: scaleX(1);
  -ms-transform: scaleX(1);
  -o-transform: scaleX(1);
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

.form-group .form-line.focused .form-label {
  top: -15px;
  left: 0;
  font-size: 12px;
}

.form-group-sm .form-label {
  font-size: 12px;
}

.form-group-sm .form-line.focused .form-label {
  bottom: 20px;
  font-size: 10px;
}

.form-group-lg .form-label {
  font-size: 18px;
}

.form-group-lg .form-line.focused .form-label {
  bottom: 35px;
  font-size: 12px;
}

select.flatpickr-monthDropdown-months {
  display: inline-block;
}

input.flatpickr-input {
  /* pasang icon kalender custom warna #714D00 */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23714D00' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 16H5V10h14v10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0 center;
  background-size: 1.25rem 1.25rem;
}

/* hilangkan icon default browser (Chrome, Safari, Edge) */
input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 0;
  display: none;
}

/* Firefox hack: hilangkan icon default */
input[type="date"]::-moz-focus-inner {
  border: 0;
}

.preloader {
  margin: 0 auto;
  z-index: 111;
}

.loader {
  display: block;
  position: relative;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #714D00;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
}

.loader:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #C88D22;
  -webkit-animation: spin 3s linear infinite;
  animation: spin 3s linear infinite;
}

.loader:after {
  content: "";
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #EBC470;
  -webkit-animation: spin 1.5s linear infinite;
  animation: spin 1.5s linear infinite;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.file-upload {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap; /* biar kalau teks panjang, turun ke bawah */
  gap: 8px;
}

#file-info {
  max-width: calc(100% - 40px); /* biar tidak nabrak icon upload di kanan */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#file-name {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}

#remove-file {
  flex-shrink: 0;
}