/*!
 * /**
 *  * 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;
}

button:not([class]), .bux-button {
  appearance: none;
  cursor: pointer;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  width: auto;
  color: var(--bg-primary);
  text-align: center;
  background: none;
  background-color: var(--scarlet);
  border: none;
  border: 2px solid var(--scarlet);
  margin: 0;
  padding: .625rem 1.25rem;
  font-family: BuckeyeSans, HelveticaNeue, Helvetica, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: normal;
  text-decoration: none;
  transition-property: background-color, border-color, color, fill, stroke;
  transition-duration: .3s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  overflow: visible;
}

button:not([class]):hover, .bux-button:hover {
  color: var(--bg-primary);
  background-color: var(--gray-dark-60);
  border-color: var(--gray-dark-60);
}

button:not([class]):focus, button:not([class]):active, .bux-button:focus, .bux-button:active {
  color: var(--bg-primary);
  outline: 2px solid var(--focus);
  outline-offset: 1px;
  background-color: var(--scarlet);
  border: 2px solid var(--scarlet);
}

.bux-button--disabled {
  appearance: none;
  cursor: pointer;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  width: auto;
  color: var(--gray-dark-20);
  text-align: center;
  background: none;
  background-color: var(--gray-light-80);
  border: none;
  border: 2px solid var(--gray-light-80);
  margin: 0;
  padding: .625rem 1.25rem;
  font-family: BuckeyeSans, HelveticaNeue, Helvetica, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: normal;
  text-decoration: none;
  transition-property: background-color, border-color, color, fill, stroke;
  transition-duration: .3s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  overflow: visible;
}

.bux-button--disabled:hover {
  color: var(--gray-dark-20);
  background-color: var(--gray-light-80);
  border-color: var(--gray-light-80);
}

.bux-button--disabled:focus, .bux-button--disabled:active {
  color: var(--gray-dark-20);
  outline: 2px solid var(--focus);
  outline-offset: 1px;
  background-color: var(--gray-light-80);
  border: 2px solid var(--gray-light-80);
}

.bux-button--disabled {
  cursor: not-allowed;
}

.bux-button--alt {
  appearance: none;
  cursor: pointer;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  width: auto;
  color: var(--scarlet);
  text-align: center;
  background: none;
  background-color: var(--bg-primary);
  border: none;
  border: 2px solid var(--scarlet);
  margin: 0;
  padding: .625rem 1.25rem;
  font-family: BuckeyeSans, HelveticaNeue, Helvetica, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: normal;
  text-decoration: none;
  transition-property: background-color, border-color, color, fill, stroke;
  transition-duration: .3s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  overflow: visible;
}

.bux-button--alt:hover {
  color: var(--bg-primary);
  background-color: var(--gray-dark-60);
  border-color: var(--gray-dark-60);
}

.bux-button--alt:focus, .bux-button--alt:active {
  color: var(--scarlet);
  outline: 2px solid var(--focus);
  outline-offset: 1px;
  background-color: var(--bg-primary);
  border: 2px solid var(--scarlet);
}

html.bux-dark-theme .bux-button--alt {
  border-width: 4px;
}

.bux-button--alt-disabled {
  appearance: none;
  cursor: pointer;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  width: auto;
  color: var(--gray-dark-20);
  text-align: center;
  background: none;
  background-color: var(--gray-light-80);
  border: none;
  border: 2px solid var(--gray-light-60);
  margin: 0;
  padding: .625rem 1.25rem;
  font-family: BuckeyeSans, HelveticaNeue, Helvetica, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: normal;
  text-decoration: none;
  transition-property: background-color, border-color, color, fill, stroke;
  transition-duration: .3s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  overflow: visible;
}

.bux-button--alt-disabled:hover {
  color: var(--gray-dark-20);
  background-color: var(--gray-light-80);
  border-color: var(--gray-light-60);
}

.bux-button--alt-disabled:focus, .bux-button--alt-disabled:active {
  color: var(--gray-dark-20);
  outline: 2px solid var(--focus);
  outline-offset: 1px;
  background-color: var(--gray-light-80);
  border: 2px solid var(--gray-light-60);
}

.bux-button--alt-disabled {
  cursor: not-allowed;
}

html.bux-dark-theme .bux-button--alt-disabled {
  border-width: 4px;
}

.bux-button--small {
  appearance: none;
  cursor: pointer;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  width: auto;
  color: var(--bg-primary);
  text-align: center;
  background: none;
  background-color: var(--scarlet);
  border: none;
  border: 2px solid var(--scarlet);
  margin: 0;
  padding: .625rem 1.25rem;
  font-family: BuckeyeSans, HelveticaNeue, Helvetica, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: normal;
  text-decoration: none;
  transition-property: background-color, border-color, color, fill, stroke;
  transition-duration: .3s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  overflow: visible;
}

.bux-button--small:hover {
  color: var(--bg-primary);
  background-color: var(--gray-dark-60);
  border-color: var(--gray-dark-60);
}

.bux-button--small:focus, .bux-button--small:active {
  color: var(--bg-primary);
  outline: 2px solid var(--focus);
  outline-offset: 1px;
  background-color: var(--scarlet);
  border: 2px solid var(--scarlet);
}

.bux-button--small {
  padding: .375rem .75rem;
  font-size: .875rem;
}

.bux-button--small-disabled {
  appearance: none;
  cursor: pointer;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  width: auto;
  color: var(--gray-dark-20);
  text-align: center;
  background: none;
  background-color: var(--gray-light-80);
  border: none;
  border: 2px solid var(--gray-light-80);
  margin: 0;
  padding: .625rem 1.25rem;
  font-family: BuckeyeSans, HelveticaNeue, Helvetica, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: normal;
  text-decoration: none;
  transition-property: background-color, border-color, color, fill, stroke;
  transition-duration: .3s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  overflow: visible;
}

.bux-button--small-disabled:hover {
  color: var(--gray-dark-20);
  background-color: var(--gray-light-80);
  border-color: var(--gray-light-80);
}

.bux-button--small-disabled:focus, .bux-button--small-disabled:active {
  color: var(--gray-dark-20);
  outline: 2px solid var(--focus);
  outline-offset: 1px;
  background-color: var(--gray-light-80);
  border: 2px solid var(--gray-light-80);
}

.bux-button--small-disabled {
  cursor: not-allowed;
  padding: .375rem .75rem;
  font-size: .875rem;
}

.bux-button--alt-small {
  appearance: none;
  cursor: pointer;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  width: auto;
  color: var(--scarlet);
  text-align: center;
  background: none;
  background-color: var(--bg-primary);
  border: none;
  border: 2px solid var(--scarlet);
  margin: 0;
  padding: .625rem 1.25rem;
  font-family: BuckeyeSans, HelveticaNeue, Helvetica, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: normal;
  text-decoration: none;
  transition-property: background-color, border-color, color, fill, stroke;
  transition-duration: .3s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  overflow: visible;
}

.bux-button--alt-small:hover {
  color: var(--bg-primary);
  background-color: var(--gray-dark-60);
  border-color: var(--gray-dark-60);
}

.bux-button--alt-small:focus, .bux-button--alt-small:active {
  color: var(--scarlet);
  outline: 2px solid var(--focus);
  outline-offset: 1px;
  background-color: var(--bg-primary);
  border: 2px solid var(--scarlet);
}

.bux-button--alt-small {
  padding: .375rem .75rem;
  font-size: .875rem;
}

html.bux-dark-theme .bux-button--alt-small {
  border-width: 4px;
}

.bux-button--alt-small-disabled {
  appearance: none;
  cursor: pointer;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  width: auto;
  color: var(--gray-dark-20);
  text-align: center;
  background: none;
  background-color: var(--gray-light-80);
  border: none;
  border: 2px solid var(--gray-light-60);
  margin: 0;
  padding: .625rem 1.25rem;
  font-family: BuckeyeSans, HelveticaNeue, Helvetica, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: normal;
  text-decoration: none;
  transition-property: background-color, border-color, color, fill, stroke;
  transition-duration: .3s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  overflow: visible;
}

.bux-button--alt-small-disabled:hover {
  color: var(--gray-dark-20);
  background-color: var(--gray-light-80);
  border-color: var(--gray-light-60);
}

.bux-button--alt-small-disabled:focus, .bux-button--alt-small-disabled:active {
  color: var(--gray-dark-20);
  outline: 2px solid var(--focus);
  outline-offset: 1px;
  background-color: var(--gray-light-80);
  border: 2px solid var(--gray-light-60);
}

.bux-button--alt-small-disabled {
  cursor: not-allowed;
  padding: .375rem .75rem;
  font-size: .875rem;
}

html.bux-dark-theme .bux-button--alt-small-disabled {
  border-width: 4px;
}

.bux-button--icon {
  appearance: none;
  cursor: pointer;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  width: auto;
  color: var(--scarlet);
  text-align: center;
  background: none;
  background-color: var(--gray-light-80);
  border: none;
  border: 2px solid var(--gray-light-80);
  margin: 0;
  padding: .625rem 1.25rem;
  font-family: BuckeyeSans, HelveticaNeue, Helvetica, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: normal;
  text-decoration: none;
  transition-property: background-color, border-color, color, fill, stroke;
  transition-duration: .3s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  overflow: visible;
}

.bux-button--icon:hover {
  color: var(--bg-primary);
  background-color: var(--gray-dark-60);
  border-color: var(--gray-dark-60);
}

.bux-button--icon:focus, .bux-button--icon:active {
  color: var(--scarlet);
  outline: 2px solid var(--focus);
  outline-offset: 1px;
  background-color: var(--gray-light-80);
  border: 2px solid var(--gray-light-80);
}

.bux-button--icon {
  text-align: left;
  align-items: center;
  display: flex;
}

.bux-button__icon {
  align-items: center;
  width: 28px;
  height: 28px;
  margin-right: 16px;
  display: flex;
}

.bux-button__icon .icon {
  padding-top: 9px;
  font-size: 28px;
}

a.bux-button {
  display: inline-block;
}

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

html.bux-dark-theme .bux-button:hover {
  color: var(--bg-primary);
}

.bux-button .bux-button--alt, .bux-button .bux-button--alt-small {
  background-color: var(--bg-primary);
  border-color: var(--fg-primary);
}

.bux-button .bux-button--alt:hover, .bux-button .bux-button--alt-small:hover {
  color: var(--bg-primary);
  background-color: var(--fg-primary);
}

