:root {
  --sprout-blue-dark: #1e448f;
  --sprout-blue: #2e6cec;
  --sprout-blue-hover: #2457be;
  --sprout-green: #589903;
  --sprout-green-hover: #467b02;
  --sprout-green-soft: #eef6e5;
  --sprout-green-border: #d8e8c2;
  --sprout-text: #1f2937;
  --sprout-muted: #6b7280;
  --sprout-border: #dee2e6;
  --sprout-surface-soft: #f8fafc;
}

/* Global links */
a {
  color: var(--sprout-blue);
}

a:hover,
a:focus {
  color: var(--sprout-blue-hover);
}

/* Header */
header {
  background-color: #ffffff;
  border-bottom-color: var(--sprout-border);
  color: var(--sprout-text);
}

header .hnd-toggle .icon-bar {
  background-color: #4b5563;
}

header .hnd-toggle.active,
header .hnd-toggle:active,
header .hnd-toggle.focus,
header .hnd-toggle:focus,
header .hnd-toggle:active:focus,
header .hnd-toggle:hover {
  background-color: #f8fafc;
  border-color: #cfd8e3;
}

header .hnd-toggle.active .icon-bar,
header .hnd-toggle:active .icon-bar,
header .hnd-toggle.focus .icon-bar,
header .hnd-toggle:focus .icon-bar,
header .hnd-toggle:active:focus .icon-bar,
header .hnd-toggle:hover .icon-bar {
  background-color: var(--sprout-blue-dark);
}

/* Sidebar shell */
nav {
  background-color: #ffffff;
}

/* Sidebar tabs */
nav .tab-tabs {
  border-bottom-color: var(--sprout-border);
}

nav .tab-tabs .hnd-toggle {
  background-color: transparent;
  border-color: var(--sprout-border);
  color: var(--sprout-muted);
}

nav .tab-tabs .hnd-toggle.active,
nav .tab-tabs .hnd-toggle:active,
nav .tab-tabs .hnd-toggle.focus,
nav .tab-tabs .hnd-toggle:focus,
nav .tab-tabs .hnd-toggle:active:focus,
nav .tab-tabs .hnd-toggle:hover {
  background-color: var(--sprout-surface-soft);
  border-color: #cfd8e3;
  color: var(--sprout-blue-dark);
}

nav .tab-tabs > li > a {
  color: var(--sprout-muted);
}

nav .tab-tabs > li > a:hover,
nav .tab-tabs > li > a:focus {
  background-color: var(--sprout-surface-soft);
  color: var(--sprout-blue-dark);
}

nav .tab-tabs > li.active > a,
nav .tab-tabs > li.active > a:hover,
nav .tab-tabs > li.active > a:focus {
  background-color: var(--sprout-surface-soft);
  color: var(--sprout-blue-dark);
}

/* Active tab underline */
nav .tab-tabs > li.active.tab::after {
  background: var(--sprout-green);
}

/* Search info */
nav #search-info {
  border-left-color: var(--sprout-blue-dark);
  color: var(--sprout-muted);
}

/* Search controls */
#search-form .form-control,
#search-form input[type="text"],
#search-form input[type="search"] {
  border-color: var(--sprout-border);
}

#search-form .form-control:focus,
#search-form input[type="text"]:focus,
#search-form input[type="search"]:focus {
  border-color: var(--sprout-blue);
  box-shadow: 0 0 0 .2rem rgba(46, 108, 236, .15);
}

#search-form .btn,
#search-form button {
  border-color: var(--sprout-border);
  color: var(--sprout-text);
}

#search-form .btn:hover,
#search-form .btn:focus,
#search-form button:hover,
#search-form button:focus {
  color: var(--sprout-blue-dark);
  background-color: var(--sprout-surface-soft);
  border-color: #cfd8e3;
}

/* Breadcrumb/navigation row */
div#main > article .navigation {
  border-bottom-color: #edf1f5;
}

div#main > article .navigation .breadcrumb > li::after {
  color: #c7ced8;
}

div#main > article .navigation .breadcrumb > li a:hover {
  color: var(--sprout-blue-dark);
}

/* Navigation arrows / utility buttons */
div#main > article .navigation .nav-arrows a,
div#main > article .navigation .nav-arrows button {
  color: var(--sprout-text);
}

div#main > article .navigation .nav-arrows a:hover,
div#main > article .navigation .nav-arrows a:focus,
div#main > article .navigation .nav-arrows button:hover,
div#main > article .navigation .nav-arrows button:focus {
  color: var(--sprout-blue-dark);
  border-color: #cfd8e3;
}

/* Inline TOC dropdown */
#inline-toc,
.dropdown-menu {
  border-color: var(--sprout-border);
}

#inline-toc a,
#inline-toc .dropdown-item,
.dropdown-menu a,
.dropdown-menu .dropdown-item {
  color: var(--sprout-text);
}

#inline-toc a:hover,
#inline-toc .dropdown-item:hover,
.dropdown-menu a:hover,
.dropdown-menu .dropdown-item:hover {
  color: var(--sprout-blue-dark);
  background-color: #f3f7fb;
}

/* jsTree text */
.jstree .jstree-anchor {
  color: var(--sprout-text);
}

/* Hovered tree item */
.jstree .jstree-node .jstree-hovered,
.jstree .jstree-anchor:hover {
  background-color: #f3f7fb !important;
  border-color: #d8e3f5 !important;
  color: var(--sprout-blue-dark);
}

/* Selected tree item */
.jstree .jstree-node .jstree-clicked {
  background-color: var(--sprout-green-soft) !important;
  border-color: var(--sprout-green-border) !important;
  color: #234b11;
}

/* Tree icons */
.jstree .jstree-node .jstree-clicked .jstree-themeicon,
.jstree .jstree-node .jstree-clicked .jstree-anchor {
  color: #234b11;
}

.jstree .jstree-hovered .jstree-themeicon.bi,
.jstree .jstree-anchor:hover .jstree-themeicon.bi {
  color: var(--sprout-blue-dark);
}

.jstree .jstree-clicked .jstree-themeicon.bi {
  color: #3f6f02;
}

/* Expand/collapse chevrons */
.jstree .jstree-node.jstree-closed > .jstree-icon.jstree-ocl:before,
.jstree .jstree-node.jstree-open > .jstree-icon.jstree-ocl:before {
  color: var(--sprout-muted);
}

.jstree .jstree-node.jstree-closed > .jstree-icon.jstree-ocl:hover:before,
.jstree .jstree-node.jstree-open > .jstree-icon.jstree-ocl:hover:before {
  color: var(--sprout-blue-dark);
}

/* Related links/modal list */
.modal-body .relative-list li a:hover {
  color: var(--sprout-blue-dark);
  background-color: #f3f7fb;
}

/* Focus states */
a:focus,
button:focus,
.btn:focus,
.form-control:focus {
  outline: none;
}

/* Text selection */
::selection {
  background: rgba(46, 108, 236, .18);
}