/** Theme variables */

// Source: https://material.io/design/color/dark-theme.html

$body-bg-dark: $gray-900;
$body-overlay-dark: darken($body-bg-dark, 2.5%);
$border-dark: darken($body-bg-dark, 2.5%);
$body-color-dark: $gray-300;
$dots-dark: darken($body-color-dark, 50%);

$link-color-dark: $blue-300;
$button-color-dark: $link-color-dark;
$focus-color-dark: lighten($link-color-dark, 2.5%);

$navbar-dark-color:                 $body-color-dark;
$navbar-dark-hover-color:           $link-color-dark;
$navbar-dark-active-color:          $link-color-dark;

/** Theme styles */

body.dark {
  background: $body-bg-dark;
  color: $body-color-dark;
}

body.dark a {
  color: $link-color-dark;
}

body.dark a.text-body {
  color: $body-color-dark !important;
}

body.dark .btn-primary {
  @include button-variant($button-color-dark, $button-color-dark);

  color: $body-bg-dark !important;
}

body.dark .btn-outline-primary {
  @include button-outline-variant($button-color-dark, $button-color-dark);

  color: $link-color-dark;
}

body.dark .btn-outline-primary:hover {
  color: $body-bg-dark;
}

body.dark .navbar {
  background: $body-bg-dark;
  opacity: 0.975;
  border-bottom: 1px solid $border-dark;
}

body.dark.home .navbar {
  border-bottom: 0;
}

body.dark .navbar-light .navbar-brand {
  color: $navbar-dark-color !important;
}

body.dark .navbar-light .navbar-nav .nav-link {
  color: $navbar-dark-color;
}

body.dark .navbar-light .navbar-nav .nav-link:hover,
body.dark .navbar-light .navbar-nav .nav-link:focus {
  color: $navbar-dark-hover-color;
}

body.dark .navbar-light .navbar-nav .nav-link.disabled {
  color: $navbar-dark-disabled-color;
}

body.dark .navbar-light .navbar-nav .show > .nav-link,
body.dark .navbar-light .navbar-nav .active > .nav-link,
body.dark .navbar-light .navbar-nav .nav-link.show,
body.dark .navbar-light .navbar-nav .nav-link.active {
  color: $navbar-dark-active-color;
}

body.dark .navbar-light .navbar-text {
  color: $navbar-dark-color;
}

body.dark .alert-primary a {
  color: $body-bg-dark;
}

body.dark .alert-warning {
  background: $body-overlay-dark;
  color: $body-color-dark;
}

body.dark .page-links a {
  color: $body-color-dark;
}

body.dark .showcase-meta a {
  color: $body-color-dark;
}

body.dark .showcase-meta a:hover,
body.dark .showcase-meta a:focus {
  color: $link-color-dark;
}

body.dark .docs-link:hover,
body.dark .docs-link.active,
body.dark .page-links a:hover {
  text-decoration: none;
  color: $link-color-dark;
}

body.dark .navbar-light .navbar-text a {
  color: $navbar-dark-active-color;
}

body.dark .docs-links h3.sidebar-link a,
body.dark .page-links h3.sidebar-link a {
  color: $body-color-dark;
}

body.dark .navbar-light .navbar-text a:hover,
body.dark .navbar-light .navbar-text a:focus {
  color: $navbar-dark-active-color;
}

body.dark .navbar .btn-link {
  color: $navbar-dark-color;
}

body.dark .content .btn-link {
  color: $link-color-dark;
}

body.dark .content .btn-link:hover {
  color: $link-color-dark;
}

body.dark .navbar .btn-link:hover {
  color: $navbar-dark-hover-color;
}

body.dark .navbar .btn-link:active {
  color: $navbar-dark-active-color;
}

body.dark .form-control.is-search {
  background: $body-overlay-dark;

  /*
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-search'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
  */
}

body.dark .navbar-form::after {
  color: $gray-600;
  border: 1px solid $gray-800;
}

body.dark .form-control {
  color: $gray-500;
}

body.dark .form-control:focus {
  box-shadow: 0 0 0 0.2rem $focus-color-dark;
}

body.dark .border-top {
  border-top: 1px solid $border-dark !important;
}

@include media-breakpoint-up(lg) {
  body.dark .docs-sidebar {
    order: 0;
    border-right: 1px solid $border-dark;
  }
}

body.dark .docs-navigation {
  border-top: 1px solid $border-dark;
}

body.dark pre code::-webkit-scrollbar-thumb {
  background: $border-dark;
}

body.dark pre:not(.hljs) {
  background: $body-overlay-dark;
  color: $body-color-dark;
}

body.dark pre code:hover {
  scrollbar-width: thin;
  scrollbar-color: $border-dark transparent;
}

body.dark pre code::-webkit-scrollbar-thumb:hover {
  background: $border-dark;
}

body.dark blockquote {
  border-left: 3px solid $border-dark;
}

body.dark .footer {
  border-top: 1px solid $border-dark;
}

body.dark .docs-links,
body.dark .docs-toc {
  scrollbar-width: thin;
  scrollbar-color: $body-bg-dark $body-bg-dark;
}

body.dark .docs-links::-webkit-scrollbar,
body.dark .docs-toc::-webkit-scrollbar {
  width: 5px;
}

body.dark .docs-links::-webkit-scrollbar-track,
body.dark .docs-toc::-webkit-scrollbar-track {
  background: $body-bg-dark;
}

body.dark .docs-links::-webkit-scrollbar-thumb,
body.dark .docs-toc::-webkit-scrollbar-thumb {
  background: $body-bg-dark;
}

body.dark .docs-links:hover,
body.dark .docs-toc:hover {
  scrollbar-width: thin;
  scrollbar-color: $border-dark $body-bg-dark;
}

body.dark .docs-links:hover::-webkit-scrollbar-thumb,
body.dark .docs-toc:hover::-webkit-scrollbar-thumb {
  background: $border-dark;
}

body.dark .docs-links::-webkit-scrollbar-thumb:hover,
body.dark .docs-toc::-webkit-scrollbar-thumb:hover {
  background: $border-dark;
}

body.dark .docs-links h3:not(:first-child) {
  border-top: 1px solid $border-dark;
}

body.dark a.docs-link {
  color: $body-color-dark;
}

body.dark .page-links li:not(:first-child) {
  border-top: 1px dashed $border-dark;
}

body.dark .card {
  background: $body-bg-dark;
  border: 1px solid $border-dark;
}

body.dark .card.bg-light {
  background: $body-overlay-dark !important;
}

body.dark .navbar .menu-icon .navicon {
  background: $navbar-dark-color;
}

body.dark .navbar .menu-icon .navicon::before,
body.dark .navbar .menu-icon .navicon::after {
  background: $navbar-dark-color;
}

body.dark .logo-light {
  display: none !important;
}

body.dark .logo-dark {
  display: inline-block !important;
}

body.dark .bg-light {
  background: darken($body-bg-dark, 1.5%) !important;
}

body.dark .bg-dots {
  background-image: radial-gradient($dots-dark 15%, transparent 15%);
}

body.dark .text-muted {
  color: darken($body-color-dark, 7.5%) !important;
}

body.dark .alert-primary {
  background: $link-color-dark;
  color: $body-bg-dark;
}

body.dark .figure-caption {
  color: $body-color-dark;
}

body.dark table {
  @extend .table-dark;
}

body.dark .copy-status::after {
  content: "Copy";
  display: block;
  color: $body-color-dark;
}

body.dark .copy-status:hover::after {
  content: "Copy";
  display: block;
  color: $link-color-dark;
}

body.dark .copy-status:focus::after,
body.dark .copy-status:active::after {
  content: "Copied";
  display: block;
  color: $link-color-dark;
}
