.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--color-accent);
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--color-accent);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-focus-shadow-rgb: 49,132,253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--color-accent);
  --bs-btn-active-border-color: var(--color-accent);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--color-accent);
  --bs-btn-disabled-border-color: var(--color-accent);
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--color-success);
  --bs-btn-border-color: var(--color-success);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--color-success);
  --bs-btn-hover-border-color: var(--color-success);
  --bs-btn-focus-shadow-rgb: 60,153,110;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--color-success);
  --bs-btn-active-border-color: var(--color-success);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--color-success);
  --bs-btn-disabled-border-color: var(--color-success);
}

.icon-reward {
  width: 36px;
  height: 36px;
  font-size: 1.25rem;
  background: var(--color-competition, var(--color-prize));
  color: white;
  border-radius: 100%;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.5rem;
}
.competition-header .icon-reward {
  background: transparent;
  color: var(--color-competition, var(--color-accent));
  justify-content: start;
  margin-right: -0.5rem;
}

/* Sidebar */

.sidebar-toc a {
  color: var(--color-muted);
  font-size: 0.875rem;
  line-height: 1.25rem;
  padding: 0.1em 0 0.1em 0.5em;
}

.nav-subpages > ul,
.sidebar-toc .toc  {
  border-left: 1px solid var(--color-border);
}
.nav-subpages > ul a {
  font-size: 14px;
  padding: 0.3em 0 0.3em 1em;
  color: var(--color-body);
  display: block;
  background: transparent;
  border-left: 3px solid transparent;
  margin-left: -0.1em;
  border-radius: 0;
}
.nav-subpages a:hover,
.nav-subpages a:active {
  text-decoration: underline;
  display: block;
}
.nav-subpages [aria-current],
.nav-subpages [aria-current]:hover,
.nav-subpages [aria-current]:focus {
  font-weight: 600;
  color: var(--color-accent);
  background: var(--bs-primary-bg-subtle);
  border-left: 3px solid var(--color-accent);
}
.nav-subpages .subgroup {
  margin-left: 0.5em;
}

.nav-tabs {
  display: flex;
  gap: 32px;
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 16px;
}
.nav-tabs .nav-item {
  margin-bottom: 0 !important;
}
.nav-tabs .nav-link.active {
  color: var(--color-active);
  position: relative;
  border: 0;
}
.nav-tabs .nav-link.active:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border-width: 1px 0 1px 1px;
  border-top: 0;
  border-right: 0;
  border-left: 0;
  border-bottom: 4px solid var(--color-active);
}
.nav-tabs .nav-link {
  color: var(--color-body);
  text-align: left;
  padding: 0 0 12px 0;
  margin: 0;
  border: 0;
  transition: none;
  text-decoration: none !important;
}
.nav-tabs .nav-link:hover {
  border: 0;
}
/* Nav tabs: Don't line wrap and allow horizontal scrolling. Useful for mobile. */
.nav-tabs-nowrap.nav-tabs {
  overflow-x: auto;
  overflow-y: hidden;
  flex-wrap: nowrap;
}
.nav-tabs-nowrap.nav-tabs::-webkit-scrollbar {
  display: none;
}
.nav-tabs-nowrap .nav-item {
 white-space: nowrap;
}

.table th {
  font-size: 0.875rem;
}
.table th.sorter-false {
  background-image: none;
}
.tablesorter-icon {
  color: var(--color-muted)
}
.table thead {
  border-top: 1px solid var(--color-border);
}
.table table td {
  padding: 0.75rem 0.5rem !important;
}

details > summary {
  list-style-type: none;
  cursor: pointer;
}
details > summary::-webkit-details-marker /* Required to hide `details` arrow in Safari 15 */ {
  display: none;
}
details > summary::before {
  content: "+";
  font-weight: 600;
  width: 1.25em;
  display: inline-block;
}
details[open] > summary::before {
  content: "–";
}
details.details-unstyled > summary::before,
details[open].details-unstyled > summary::before {
  display: none;
}

/* "Skip to main content" link that's hidden offscreen and becomes visible when tabbed to */
.skip-to-main-content-link {
	top: -9999px;
	position: absolute;
}
.skip-to-main-content-link:focus {
	display: flex;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
  color: white;
	background: var(--color-accent);
	z-index: 100;
	align-items: center;
	justify-content: space-around;
	text-decoration: underline;
	font-size: 16px;
  padding: 1rem;
  width: fit-content;
}