.form-label {
  display: block;
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: .0625em;
  line-height: 1.1;
  margin-bottom: .5rem;
  text-transform: uppercase
}

.col-form-label {
  color: var(--cui-form-label-color);
  font-size: inherit;
  line-height: 1.5;
  margin-bottom: 0;
  padding-bottom: calc(.375rem + 1px);
  padding-top: calc(.375rem + 1px)
}

.col-form-label-lg {
  font-size: 1.25rem;
  padding-bottom: calc(.5rem + 1px);
  padding-top: calc(.5rem + 1px)
}

.col-form-label-sm {
  font-size: .875rem;
  padding-bottom: calc(.25rem + 1px);
  padding-top: calc(.25rem + 1px)
}

.form-control {
  --tw-border-opacity: 1;
  --tw-bg-opacity: 1;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: rgb(255 255 255/var(--tw-bg-opacity));
  border-color: rgb(220 220 220/var(--tw-border-opacity));
  border-radius: .75rem;
  border-width: .094rem;
  display: block;
  font-size: 1rem;
  height: 3.5rem;
  line-height: 1.2;
  padding: 0 1.125rem;
  width: 100%
}

.form-control[type=file] {
  overflow: hidden
}

.form-control[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer
}

.form-control:focus {
  background-color: #fff;
  background-color: var(--cui-input-focus-bg, #fff);
  border-color: #ae83c6;
  border-color: var(--cui-input-focus-border-color, #ae83c6);
  box-shadow: 0 0 0 .25rem #5c068c40;
  color: #2c384af2;
  color: var(--cui-input-focus-color, rgba(44, 56, 74, .95));
  outline: 0
}

.form-control::-webkit-date-and-time-value {
  height: 1.5em
}

.form-control::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(34 34 34/var(--tw-text-opacity));
  opacity: 1
}

.form-control::placeholder {
  --tw-text-opacity: 1;
  color: rgb(34 34 34/var(--tw-text-opacity));
  opacity: 1
}

.form-control.is-invalid {
  --tw-border-opacity: 1;
  border-color: rgb(197 7 32/var(--tw-border-opacity))
}

.form-control:disabled {
  background-color: #d8dbe0;
  border-color: #b1b7c1;
  opacity: 1
}

.form-control::file-selector-button {
  -webkit-margin-end: .75rem;
  background-color: #d8dbe0;
  background-color: var(--cui-form-file-button-bg, #d8dbe0);
  border: 0 solid;
  border-color: inherit;
  border-inline-end-width: 1px;
  border-radius: 0;
  color: #2c384af2;
  color: var(--cui-form-file-button-color, rgba(44, 56, 74, .95));
  margin: -.375rem -.75rem;
  margin-inline-end: .75rem;
  padding: .375rem .75rem;
  pointer-events: none;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
  .form-control::file-selector-button {
    transition: none
  }
}

.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: #cdd0d5;
  background-color: var(--cui-form-file-button-hover-bg, #cdd0d5)
}

.form-control-plaintext {
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
  color: #2c384af2;
  color: var(--cui-input-plaintext-color, rgba(44, 56, 74, .95));
  display: block;
  line-height: 1.5;
  margin-bottom: 0;
  padding: .375rem 0;
  width: 100%
}

.form-control-plaintext:focus {
  outline: 0
}

.form-control-plaintext.form-control-lg,
.form-control-plaintext.form-control-sm {
  padding-left: 0;
  padding-right: 0
}

.form-control-sm {
  border-radius: .25rem;
  font-size: .875rem;
  min-height: calc(1.5em + .5rem + 2px);
  padding: .25rem .5rem
}

.form-control-sm::file-selector-button {
  -webkit-margin-end: .5rem;
  margin: -.25rem -.5rem;
  margin-inline-end: .5rem;
  padding: .25rem .5rem
}

.form-control-lg {
  border-radius: .5rem;
  font-size: 1.25rem;
  min-height: calc(1.5em + 1rem + 2px);
  padding: .5rem 1rem
}

.form-control-lg::file-selector-button {
  -webkit-margin-end: 1rem;
  margin: -.5rem -1rem;
  margin-inline-end: 1rem;
  padding: .5rem 1rem
}

textarea.form-control {
  min-height: calc(1.5em + .75rem + 2px);
  padding: 1rem
}

textarea.form-control-sm {
  min-height: calc(1.5em + .5rem + 2px)
}

textarea.form-control-lg {
  min-height: calc(1.5em + 1rem + 2px)
}

.form-control-color {
  height: calc(1.5em + .75rem + 2px);
  padding: .375rem;
  width: 3rem
}

.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer
}

.form-control-color::-moz-color-swatch {
  border: 0 !important;
  border-radius: .375rem
}

.form-control-color::-webkit-color-swatch {
  border-radius: .375rem
}

.form-control-color.form-control-sm {
  height: calc(1.5em + .5rem + 2px)
}

.form-control-color.form-control-lg {
  height: calc(1.5em + 1rem + 2px)
}

.form-check {
  display: block;
  margin-bottom: .125rem;
  min-height: 1.5rem;
  padding-left: 1.5em
}

.form-check .form-check-input {
  float: left;
  margin-left: -1.5em
}

.form-check-reverse {
  padding-left: 0;
  padding-right: 1.5em;
  text-align: right
}

.form-check-reverse .form-check-input {
  float: right;
  margin-left: 0;
  margin-right: -1.5em
}

.form-check-input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #fff;
  background-color: var(--cui-form-check-input-bg, #fff);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  border: 1px solid rgba(0, 0, 21, .25);
  height: 1em;
  margin-top: .25em;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  vertical-align: top;
  width: 1em
}

.form-check-input[type=checkbox] {
  border-radius: .25em
}

.form-check-input[type=radio] {
  border-radius: 50%
}

.form-check-input:active {
  filter: brightness(90%)
}

.form-check-input:focus {
  border-color: #ae83c6;
  box-shadow: 0 0 0 .25rem #5c068c40;
  outline: 0
}

.form-check-input:checked {
  background-color: #5c068c;
  background-color: var(--cui-form-check-input-checked-bg-color, #5c068c);
  border-color: #5c068c;
  border-color: var(--cui-form-check-input-checked-border-color, #5c068c)
}

.form-check-input:checked[type=checkbox] {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='rgba(255, 255, 255, 0.87)' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3E%3C/svg%3E");
  background-image: var(--cui-form-check-input-checked-bg-image, url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='rgba(255, 255, 255, 0.87)' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3E%3C/svg%3E"))
}

.form-check-input:checked[type=radio] {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='rgba(255, 255, 255, 0.87)'/%3E%3C/svg%3E");
  background-image: var(--cui-form-check-radio-checked-bg-image, url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='rgba(255, 255, 255, 0.87)'/%3E%3C/svg%3E"))
}

.form-check-input[type=checkbox]:indeterminate {
  background-color: #5c068c;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='rgba(255, 255, 255, 0.87)' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3E%3C/svg%3E");
  background-image: var(--cui-form-check-input-indeterminate-bg-image, url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='rgba(255, 255, 255, 0.87)' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3E%3C/svg%3E"));
  border-color: #5c068c
}

.form-check-input:disabled {
  filter: none;
  opacity: .5;
  pointer-events: none
}

.form-check-input:disabled~.form-check-label,
.form-check-input[disabled]~.form-check-label {
  cursor: default;
  opacity: .5
}

.form-label.form-check-label {
  font-size: 1rem;
  font-weight: 300;
  letter-spacing: 0;
  margin-top: .375rem;
  text-transform: none
}

.valid-feedback {
  color: #2eb85c;
  display: none;
  font-size: .875em;
  margin-top: .25rem;
  width: 100%
}

.valid-tooltip {
  background-color: #2eb85ce6;
  border-radius: .375rem;
  color: #000015;
  display: none;
  font-size: .875rem;
  margin-top: .1rem;
  max-width: 100%;
  padding: .25rem .5rem;
  position: absolute;
  top: 100%;
  z-index: 5
}

.is-valid~.valid-feedback,
.is-valid~.valid-tooltip,
.was-validated :valid~.valid-feedback,
.was-validated :valid~.valid-tooltip {
  display: block
}

.form-control.is-valid,
.was-validated .form-control:valid {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%232eb85c' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");
  background-position: right calc(.375em + .1875rem) center;
  background-repeat: no-repeat;
  background-size: calc(.75em + .375rem) calc(.75em + .375rem);
  border-color: #2eb85c;
  padding-right: calc(1.5em + .75rem)
}

.form-control.is-valid:focus,
.was-validated .form-control:valid:focus {
  border-color: #2eb85c;
  box-shadow: 0 0 0 .25rem #2eb85c40
}

.was-validated textarea.form-control:valid,
textarea.form-control.is-valid {
  background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem);
  padding-right: calc(1.5em + .75rem)
}

.form-select.is-valid,
.was-validated .form-select:valid {
  border-color: #2eb85c
}

.form-select.is-valid:not([multiple]):not([size]),
.form-select.is-valid:not([multiple])[size="1"],
.was-validated .form-select:valid:not([multiple]):not([size]),
.was-validated .form-select:valid:not([multiple])[size="1"] {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23636f83' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"), url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%232eb85c' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");
  background-position: right .75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(.75em + .375rem) calc(.75em + .375rem);
  padding-right: 4.125rem
}

.form-select.is-valid:focus,
.was-validated .form-select:valid:focus {
  border-color: #2eb85c;
  box-shadow: 0 0 0 .25rem #2eb85c40
}

.form-control-color.is-valid,
.was-validated .form-control-color:valid {
  width: calc(3.75rem + 1.5em)
}

.form-check-input.is-valid,
.was-validated .form-check-input:valid {
  border-color: #2eb85c
}

.form-check-input.is-valid:checked,
.was-validated .form-check-input:valid:checked {
  background-color: #2eb85c
}

.form-check-input.is-valid:focus,
.was-validated .form-check-input:valid:focus {
  box-shadow: 0 0 0 .25rem #2eb85c40
}

.form-check-input.is-valid~.form-check-label,
.was-validated .form-check-input:valid~.form-check-label {
  color: #2eb85c
}

.form-check-inline .form-check-input~.valid-feedback {
  margin-left: .5em
}

.input-group>.form-control:not(:focus).is-valid,
.input-group>.form-floating:not(:focus-within).is-valid,
.input-group>.form-select:not(:focus).is-valid,
.was-validated .input-group>.form-control:not(:focus):valid,
.was-validated .input-group>.form-floating:not(:focus-within):valid,
.was-validated .input-group>.form-select:not(:focus):valid {
  z-index: 3
}

.invalid-feedback {
  color: #e55353;
  display: none;
  font-size: .875em;
  margin-top: .25rem;
  width: 100%
}

.invalid-tooltip {
  background-color: #e55353e6;
  border-radius: .375rem;
  color: #000015;
  display: none;
  font-size: .875rem;
  margin-top: .1rem;
  max-width: 100%;
  padding: .25rem .5rem;
  position: absolute;
  top: 100%;
  z-index: 5
}

.is-invalid~.invalid-feedback,
.is-invalid~.invalid-tooltip,
.was-validated :invalid~.invalid-feedback,
.was-validated :invalid~.invalid-tooltip {
  display: block
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e55353'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23e55353' stroke='none'/%3E%3C/svg%3E");
  background-position: right calc(.375em + .1875rem) center;
  background-repeat: no-repeat;
  background-size: calc(.75em + .375rem) calc(.75em + .375rem);
  border-color: #e55353;
  padding-right: calc(1.5em + .75rem)
}

.form-control.is-invalid:focus,
.was-validated .form-control:invalid:focus {
  border-color: #e55353;
  box-shadow: 0 0 0 .25rem #e5535340
}

.was-validated textarea.form-control:invalid,
textarea.form-control.is-invalid {
  background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem);
  padding-right: calc(1.5em + .75rem)
}

.form-select.is-invalid,
.was-validated .form-select:invalid {
  border-color: #e55353
}

.form-select.is-invalid:not([multiple]):not([size]),
.form-select.is-invalid:not([multiple])[size="1"],
.was-validated .form-select:invalid:not([multiple]):not([size]),
.was-validated .form-select:invalid:not([multiple])[size="1"] {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23636f83' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"), url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e55353'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23e55353' stroke='none'/%3E%3C/svg%3E");
  background-position: right .75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(.75em + .375rem) calc(.75em + .375rem);
  padding-right: 4.125rem
}

.form-select.is-invalid:focus,
.was-validated .form-select:invalid:focus {
  border-color: #e55353;
  box-shadow: 0 0 0 .25rem #e5535340
}

.form-control-color.is-invalid,
.was-validated .form-control-color:invalid {
  width: calc(3.75rem + 1.5em)
}

.form-check-input.is-invalid,
.was-validated .form-check-input:invalid {
  border-color: #e55353
}

.form-check-input.is-invalid:checked,
.was-validated .form-check-input:invalid:checked {
  background-color: #e55353
}

.form-check-input.is-invalid:focus,
.was-validated .form-check-input:invalid:focus {
  box-shadow: 0 0 0 .25rem #e5535340
}

.form-check-input.is-invalid~.form-check-label,
.was-validated .form-check-input:invalid~.form-check-label {
  color: #e55353
}

.form-check-inline .form-check-input~.invalid-feedback {
  margin-left: .5em
}

.input-group>.form-control:not(:focus).is-invalid,
.input-group>.form-floating:not(:focus-within).is-invalid,
.input-group>.form-select:not(:focus).is-invalid,
.was-validated .input-group>.form-control:not(:focus):invalid,
.was-validated .input-group>.form-floating:not(:focus-within):invalid,
.was-validated .input-group>.form-select:not(:focus):invalid {
  z-index: 4
}

.ui-form {
  position: relative
}

.ui-form fieldset legend {
  font-size: 1.375rem;
  font-weight: 500;
  margin-bottom: 1rem
}

.ui-form a {
  --tw-text-opacity: 1;
  color: rgb(92 6 140/var(--tw-text-opacity));
  text-decoration-line: underline
}

.ui-form a:focus,
.ui-form a:hover {
  text-decoration-line: none
}

.ui-form__message {
  --tw-bg-opacity: 1;
  align-items: center;
  background-color: rgb(244 244 244/var(--tw-bg-opacity));
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  z-index: 10
}
