/*!
 * /**
 *  * Buckeye UX - version 1.5.1
 *  * Copyright (C) 2026 The Ohio State University
 *  * /
 *
 */
.visually-hidden {
  width: 1px !important;
  height: 1px !important;
  clip-path: rect(0 0 0 0) !important;
  border: 0 !important;
  margin: -1px !important;
  padding: 0 !important;
  position: absolute !important;
  overflow: hidden !important;
}

.visually-hidden:active, .visually-hidden:focus {
  width: auto !important;
  height: auto !important;
  clip-path: auto !important;
  margin: 0 !important;
  position: static !important;
  overflow: visible !important;
}

html.bux-dark-theme span[class$="__required"] {
  color: var(--static-white);
}

html.bux-dark-theme span[class$="__error-message"] {
  color: var(--static-white);
  background-color: var(--scarlet);
  left: 6px;
}

html.bux-dark-theme span[class$="__error-message"]:before {
  color: var(--static-white);
}

.bux-text-field {
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 32px;
  display: flex;
  position: relative;
}

.bux-text-field__label {
  margin-bottom: 8px;
  font-size: 1rem;
  font-weight: 700;
  display: block;
}

.bux-text-field__required {
  color: var(--brand-primary);
}

.bux-text-field__helper-text {
  width: 100%;
  color: var(--gray-dark-80);
  order: 1;
  margin-top: 8px;
  font-size: .875rem;
  display: block;
}

.bux-text-field__fieldset {
  border: 0;
  flex-wrap: wrap;
  align-items: center;
  min-width: 0;
  margin: 0;
  padding: 0;
  display: flex;
}

.bux-text-field__legend {
  width: 100%;
  font-size: 1rem;
  font-weight: 700;
  line-height: inherit;
  margin-bottom: 8px;
  padding: 0;
}

.bux-text-field__legend + * {
  clear: both;
}

.bux-text-field__input-spacer {
  order: 2;
  width: 100%;
  margin-top: 8px;
}

.bux-text-field__input {
  background-color: var(--bg-primary);
  border: 2px solid var(--gray-light-80);
  border-bottom: 2px solid var(--gray-dark-80);
  order: 2;
  width: 100%;
  padding: 8px;
  display: block;
}

.bux-text-field__input::placeholder {
  color: var(--gray-dark-40);
  opacity: 1;
  font-size: 1rem;
}

.bux-text-field__input:focus {
  border-color: var(--gray-dark-80);
}

html.bux-dark-theme .bux-text-field__input {
  color: var(--fg-primary);
}

.bux-text-field__input:focus {
  outline: 2px solid var(--focus);
}

.bux-text-field__input--disabled {
  cursor: not-allowed;
  background-color: var(--gray-light-80);
  border-color: var(--gray-light-40);
}

.bux-text-field__input--disabled::placeholder {
  color: var(--gray-dark-40);
}

.bux-text-field__input--disabled:focus {
  border-color: var(--gray-light-40);
  outline: none;
}

.bux-text-field__input--error {
  background: var(--bg-primary);
  border-color: var(--brand-primary);
}

.bux-text-field__input--error:focus {
  border-color: var(--brand-primary);
}

.bux-text-field__input--password {
  display: inline-block;
}

.bux-text-field__error-message {
  color: var(--scarlet);
  flex-basis: 100%;
  order: 3;
  margin-top: 8px;
  padding-left: 20px;
  font-size: .875rem;
  display: block;
}

.bux-text-field__error-message:before {
  width: 16px;
  height: 16px;
  color: var(--scarlet);
  content: "";
  font-family: bux-icons;
  font-size: 16px;
  line-height: 1.3;
  position: absolute;
  left: 0;
}

html.bux-dark-theme .bux-text-field__error-message {
  color: var(--static-black);
  background: var(--scarlet);
  flex-basis: auto;
  padding: 6px 12px 6px 28px;
}

html.bux-dark-theme .bux-text-field__error-message:before {
  color: var(--static-black);
  left: 6px;
}

.bux-text-field__password-icon {
  appearance: none;
  cursor: pointer;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  background: none;
  border: none;
  width: 36px;
  height: 30px;
  margin: 18px 0 0;
  padding: 0;
  font-size: 18px;
  line-height: normal;
  position: absolute;
  bottom: 12px;
  right: 2px;
  overflow: visible;
}

.bux-text-field__password-icon:focus {
  outline: 2px solid var(--focus);
}

.bux-text-field__password-icon--view:after {
  color: var(--gray-dark-80);
  content: "";
  font-family: bux-icons;
}

.bux-text-field__password-icon--hide:after {
  color: var(--gray-dark-80);
  content: "";
  font-family: bux-icons;
}

