/* Custom styles for Varunayan documentation */

/* Color variables */
:root {
  --varunayan-primary: #1e3a8a;        /* Deep blue */
  --varunayan-secondary: #059669;      /* Emerald green */
  --varunayan-accent: #dc2626;         /* Red for highlights */
  --varunayan-success: #16a34a;        /* Success green */
  --varunayan-warning: #ca8a04;        /* Warning amber */
  --varunayan-light: #f8fafc;          /* Light gray background */
  --varunayan-dark: #1e293b;           /* Dark slate for text */
  --varunayan-muted: #64748b;          /* Muted text color */
  --varunayan-border: #e2e8f0;         /* Border color */
}

/* Force light theme for all elements */
html[data-theme="light"], 
html[data-theme="auto"], 
html:not([data-theme]),
html[data-theme="dark"] {
  color-scheme: light only !important;
}

/* Universal text color override - force all text to be dark */
* {
  color: #212529 !important;
}

/* Specific overrides for elements that should have colored text */
h1, h2, h3, h4, h5, h6 {
  color: var(--varunayan-dark) !important;
}

h1 {
  color: var(--varunayan-primary) !important;
}

h2 {
  color: var(--varunayan-secondary) !important;
}

a {
  color: var(--varunayan-primary) !important;
}

a:hover {
  color: var(--varunayan-secondary) !important;
}

/* Elements that should have white text on colored backgrounds */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.bd-sidebar .nav-link.current,
.bd-sidebar .nav-link.active,
.copybtn,
.toggle-button,
.bd-footer,
.bd-footer *,
.announcement,
.announcement *,
.bd-header-announcement,
.bd-header-announcement *,
.table th,
input[type="radio"]:checked + .sd-tab-label,
input[type="radio"]:checked + .sd-tab-label * {
  color: white !important;
}

/* Sidebar styling - force white background */
.bd-sidebar-primary,
.bd-sidebar {
  background-color: white !important;
  border-right: 1px solid #dee2e6 !important;
  color: #212529 !important;
}

.bd-sidebar .nav-link {
  color: var(--varunayan-dark) !important;
  padding: 0.5rem 1rem;
  border-radius: 4px;
  margin: 0.1rem 0;
  transition: all 0.3s ease;
}

.bd-sidebar .nav-link:hover {
  background-color: rgba(46, 134, 171, 0.1) !important;
  color: var(--varunayan-primary) !important;
}

.bd-sidebar .nav-link.current,
.bd-sidebar .nav-link.active {
  background-color: var(--varunayan-primary) !important;
  color: white !important;
}

/* Sidebar text and headings */
.bd-sidebar .caption,
.bd-sidebar .caption-text {
  color: var(--varunayan-dark) !important;
  font-weight: 600;
}

/* Sidebar navigation items */
.bd-sidenav .nav-item .nav-link {
  color: #495057 !important;
}

.bd-sidenav .nav-item .nav-link:hover {
  color: var(--varunayan-primary) !important;
  background-color: rgba(46, 134, 171, 0.1) !important;
}

/* Main content area */
.bd-main {
  background-color: white !important;
}

/* Article content */
.bd-article {
  max-width: none !important;
  padding: 2rem 3rem !important;
  background-color: white !important;
  color: var(--varunayan-dark) !important;
  position: relative !important;
}

.bd-article::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 4px !important;
  background-color: var(--varunayan-primary) !important;
}

/* Paragraphs */
.bd-article p {
  margin-bottom: 1.5rem !important;
  line-height: 1.7 !important;
  color: var(--varunayan-dark) !important;
}

.bd-article ul, .bd-article ol {
  margin-bottom: 1.5rem !important;
  padding-left: 1.5rem !important;
}

.bd-article li {
  margin-bottom: 0.5rem !important;
  line-height: 1.6 !important;
  color: var(--varunayan-dark) !important;
}

/* Blockquotes */
blockquote {
  border-left: 4px solid var(--varunayan-primary) !important;
  background-color: var(--varunayan-light) !important;
  margin: 1.5rem 0 !important;
  padding: 1.5rem 2rem !important;
  border-radius: 0 8px 8px 0 !important;
  font-style: italic !important;
  color: var(--varunayan-muted) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) !important;
}

/* Typography */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

/* Font families */
body, .bd-article, .bd-content {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  line-height: 1.6 !important;
  font-size: 16px !important;
}

code, pre, .highlight {
  font-family: 'JetBrains Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, monospace !important;
}

/* Header styling */
h1, h2, h3, h4, h5, h6 {
  color: var(--varunayan-dark) !important;
  margin-top: 2.5rem !important;
  margin-bottom: 1.2rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
}

h1 {
  color: var(--varunayan-primary) !important;
  font-size: 2.5rem !important;
  font-weight: 700 !important;
  border-bottom: 3px solid var(--varunayan-primary) !important;
  padding-bottom: 0.5rem !important;
  margin-bottom: 2rem !important;
}

h2 {
  color: var(--varunayan-secondary) !important;
  font-size: 1.875rem !important;
  border-bottom: 2px solid var(--varunayan-border) !important;
  padding-bottom: 0.5rem !important;
  margin-top: 3rem !important;
}

h3 {
  color: var(--varunayan-dark) !important;
  font-size: 1.5rem !important;
  margin-top: 2rem !important;
}

h4 {
  font-size: 1.25rem !important;
  color: var(--varunayan-muted) !important;
}

h5, h6 {
  font-size: 1.125rem !important;
  color: var(--varunayan-muted) !important;
}

/* Search styling */
.search-bar,
.search-button,
.search-input,
input[type="search"],
input[type="text"],
.bd-search,
.bd-search input,
.bd-search input:focus,
.bd-search-docs,
.bd-search-docs input,
.bd-search-docs input:focus {
  border-radius: 12px !important;
  border: 2px solid var(--varunayan-border) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  background-color: white !important;
  color: var(--varunayan-dark) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9rem !important;
  padding: 0.75rem 1rem !important;
}

.search-bar:focus,
.search-input:focus,
input[type="search"]:focus,
input[type="text"]:focus,
.bd-search input:focus,
.bd-search-docs input:focus {
  box-shadow: 0 0 0 3px rgba(30, 58, 138, 0.1) !important;
  border-color: var(--varunayan-primary) !important;
  background-color: white !important;
  color: var(--varunayan-dark) !important;
  outline: none !important;
}

/* Code blocks */
.highlight {
  border-radius: 12px !important;
  border: 1px solid var(--varunayan-border) !important;
  margin: 1.5rem 0 !important;
  background-color: #f8fafc !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  position: relative !important;
  overflow: hidden !important;
}

.highlight::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 4px !important;
  height: 100% !important;
  background-color: var(--varunayan-primary) !important;
}

.highlight pre {
  background-color: transparent !important;
  color: var(--varunayan-dark) !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 1.5rem 1.5rem 1.5rem 2rem !important;
  overflow-x: auto !important;
  font-family: 'JetBrains Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, monospace !important;
  font-size: 0.875rem !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  margin: 0 !important;
}

/* Copy button */
.copybtn {
  background-color: var(--varunayan-primary) !important;
  color: white !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 0.5rem 0.75rem !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 2px 4px rgba(30, 58, 138, 0.2) !important;
}

.copybtn:hover {
  background-color: var(--varunayan-secondary) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(30, 58, 138, 0.3) !important;
}


/* Admonitions */
.admonition {
  border-radius: 12px !important;
  border: 1px solid var(--varunayan-border) !important;
  margin: 2rem 0 !important;
  padding: 1.5rem !important;
  background-color: var(--varunayan-light) !important;
  color: var(--varunayan-dark) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
  position: relative !important;
  overflow: hidden !important;
}

.admonition::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 4px !important;
  height: 100% !important;
  background: var(--varunayan-primary) !important;
}

.admonition.note::before {
  background: var(--varunayan-primary) !important;
}

.admonition.warning::before {
  background: var(--varunayan-warning) !important;
}

.admonition.tip::before {
  background: var(--varunayan-success) !important;
}

.admonition.error::before,
.admonition.danger::before {
  background: var(--varunayan-accent) !important;
}

.admonition-title {
  font-weight: 600 !important;
  font-size: 1.1rem !important;
  margin-bottom: 0.75rem !important;
  color: var(--varunayan-dark) !important;
}

/* Tables */
.table {
  border-collapse: collapse;
  margin: 1rem 0;
  background-color: white !important;
}

.table th {
  background-color: var(--varunayan-primary);
  color: white;
  font-weight: 600;
  padding: 0.75rem;
  text-align: left;
}

.table td {
  padding: 0.75rem;
  border-bottom: 1px solid #dee2e6;
  color: #212529 !important;
}

.table tr:hover {
  background-color: rgba(46, 134, 171, 0.1);
}

/* Links */
a {
  color: var(--varunayan-primary);
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover {
  color: var(--varunayan-secondary);
  text-decoration: underline;
}

/* Buttons */
.btn-primary {
  background-color: var(--varunayan-primary);
  border-color: var(--varunayan-primary);
  border-radius: 25px;
  padding: 0.5rem 1.5rem;
  font-weight: 600;
  transition: all 0.3s ease;
}

.btn-primary:hover {
  background-color: var(--varunayan-secondary);
  border-color: var(--varunayan-secondary);
  transform: translateY(-1px);
}

/* Tabs */
.sd-tab-set {
  margin: 2rem 0 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid var(--varunayan-border) !important;
}

.sd-tab-label {
  background-color: var(--varunayan-light) !important;
  color: var(--varunayan-dark) !important;
  border: none !important;
  border-right: 1px solid var(--varunayan-border) !important;
  padding: 1rem 1.5rem !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  font-weight: 500 !important;
  font-size: 0.95rem !important;
  position: relative !important;
  overflow: hidden !important;
}

.sd-tab-label::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 3px !important;
  background: var(--varunayan-primary) !important;
  transform: scaleX(0) !important;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  transform-origin: left !important;
}

.sd-tab-label:hover {
  background-color: #ffffff !important;
  color: var(--varunayan-primary) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(30, 58, 138, 0.15) !important;
}

.sd-tab-label:hover::before {
  transform: scaleX(1) !important;
}

input[type="radio"]:checked + .sd-tab-label {
  background-color: var(--varunayan-primary) !important;
  color: white !important;
  font-weight: 600 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 16px rgba(30, 58, 138, 0.3) !important;
}

input[type="radio"]:checked + .sd-tab-label::before {
  transform: scaleX(1) !important;
  background: rgba(255, 255, 255, 0.3) !important;
}

.sd-tab-content {
  background-color: white !important;
  border: none !important;
  padding: 2rem !important;
  border-radius: 0 !important;
  position: relative !important;
}

.sd-tab-content::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 1px !important;
  background: var(--varunayan-border) !important;
}

/* Sidebar */
.bd-sidebar-primary,
.bd-sidebar {
  background-color: #ffffff !important;
  border-right: 1px solid var(--varunayan-border) !important;
  box-shadow: 2px 0 8px rgba(0, 0, 0, 0.05) !important;
}

/* Toggle buttons */
.toggle-button {
  background-color: var(--varunayan-primary);
  color: white;
  border: none;
  border-radius: 4px;
  padding: 0.5rem 1rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.toggle-button:hover {
  background-color: var(--varunayan-secondary);
}

/* Hide Sphinx Book Theme theme toggle button if present */
.theme-switch-button, .toggle-switch, .bd-header .theme-switch-button, .bd-header .toggle-switch {
  display: none !important;
}

/* Footer */
.bd-footer {
  background-color: var(--varunayan-dark);
  color: white;
  padding: 2rem 0;
  margin-top: 3rem;
}

.bd-footer a {
  color: var(--varunayan-accent);
}

.bd-footer a:hover {
  color: white;
}

/* Notebook cells */
.cell {
  margin: 1rem 0;
  padding: 1rem;
  background-color: #f8f9fa !important;
  border-radius: 8px;
  border-left: 4px solid var(--varunayan-primary);
  color: #212529 !important;
}

.cell-input {
  background-color: white !important;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  padding: 0.5rem;
  margin-bottom: 0.5rem;
  color: #212529 !important;
}

.cell-output {
  background-color: #f1f3f4 !important;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  padding: 0.5rem;
  color: #212529 !important;
}

/* API documentation */
.api-section {
  margin: 2rem 0;
  padding: 1rem;
  background-color: #f8f9fa !important;
  border-radius: 8px;
  border-left: 4px solid var(--varunayan-primary);
  color: #212529 !important;
}

.api-section h3 {
  color: var(--varunayan-primary);
  margin-top: 0;
}

/* Search result highlighting */
.search-result {
  background-color: rgba(46, 134, 171, 0.1);
  border-radius: 4px;
  padding: 0.2rem 0.4rem;
  margin: 0.1rem;
}

/* Announcement banner */
.announcement {
  background: linear-gradient(90deg, var(--varunayan-primary), var(--varunayan-secondary));
  color: white;
  text-align: center;
  padding: 0.5rem;
  font-weight: 600;
}

/* Override sphinx-book-theme announcement banner */
.bd-header-announcement {
  background-color: var(--varunayan-primary) !important;
  color: white !important;
  text-align: center;
  padding: 0.5rem;
  font-weight: 600;
}

/* Fix any remaining white text issues */
.bd-header-announcement a {
  color: white !important;
  text-decoration: underline;
}

.bd-header-announcement a:hover {
  color: var(--varunayan-light) !important;
}

/* Mobile layout */
@media (max-width: 1200px) {
  .bd-article {
    padding: 2rem 2rem !important;
  }
  
  h1 {
    font-size: 2.25rem !important;
  }
  
  h2 {
    font-size: 1.75rem !important;
  }
}

@media (max-width: 768px) {
  .bd-article {
    padding: 1.5rem 1rem !important;
  }
  
  .bd-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: -320px !important;
    width: 320px !important;
    height: 100% !important;
    z-index: 1000 !important;
    transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    background-color: #ffffff !important;
    box-shadow: 4px 0 16px rgba(0, 0, 0, 0.1) !important;
  }
  
  .bd-sidebar.show {
    left: 0 !important;
  }
  
  h1 {
    font-size: 2rem !important;
    margin-top: 1.5rem !important;
  }
  
  h2 {
    font-size: 1.5rem !important;
    margin-top: 2rem !important;
  }
  
  .sd-tab-label {
    padding: 0.75rem 1rem !important;
    font-size: 0.875rem !important;
  }
  
  .sd-tab-content {
    padding: 1.5rem !important;
  }
  
  .highlight pre {
    padding: 1rem !important;
    font-size: 0.8rem !important;
  }
}

@media (max-width: 480px) {
  .bd-article {
    padding: 1rem 0.75rem !important;
  }
  
  h1 {
    font-size: 1.75rem !important;
  }
  
  .sd-tab-label {
    padding: 0.5rem 0.75rem !important;
    font-size: 0.8rem !important;
  }
}

/* Force remove any dark theme overrides */
.bd-container,
.bd-page-width,
body {
  background-color: white !important;
  color: #212529 !important;
}

/* Ensure all text elements have proper contrast */
.bd-article p,
.bd-article li,
.bd-article td,
.bd-article th,
.bd-article span,
.bd-article div,
.bd-article blockquote {
  color: #212529 !important;
}

/* Fix any remaining white text in navigation */
.bd-toc .nav-link,
.bd-toc .nav-item,
.bd-sidebar .nav-link,
.bd-sidebar .nav-item {
  color: #212529 !important;
}

/* Override any theme-specific white text */
.bd-header,
.bd-header-article,
.bd-header-nav,
.bd-header-secondary,
.bd-header-start,
.bd-header-end,
.bd-header-middle {
  color: #212529 !important;
  background-color: white !important;
}

/* Fix breadcrumb text */
.bd-breadcrumbs {
  color: #212529 !important;
}

.bd-breadcrumbs .breadcrumb-item {
  color: #212529 !important;
}

.bd-breadcrumbs .breadcrumb-item a {
  color: var(--varunayan-primary) !important;
}

/* Fix any white text in buttons or controls */
.btn:not(.btn-primary):not(.btn-secondary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info):not(.btn-light):not(.btn-dark) {
  color: #212529 !important;
}

/* Fix dropdown and menu text */
.dropdown-menu,
.dropdown-item {
  color: #212529 !important;
  background-color: white !important;
}

/* Fix table text specifically */
table,
table th,
table td {
  color: #212529 !important;
  background-color: white !important;
}

/* Fix any code or pre elements */
code:not(.highlight code),
pre:not(.highlight pre) {
  color: #212529 !important;
  background-color: #f8f9fa !important;
}

/* Fix image display - remove greyish tint and improve presentation */
img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
  margin: 1rem 0 !important;
  filter: none !important;
  opacity: 1 !important;
  background-color: transparent !important;
}

/* Remove any dark overlay or filter effects on images */
.bd-article img,
.bd-content img,
article img,
section img,
div img {
  filter: none !important;
  opacity: 1 !important;
  background-color: transparent !important;
  mix-blend-mode: normal !important;
}

/* Ensure figure and image containers have proper backgrounds */
figure,
.figure {
  background-color: transparent !important;
  padding: 1rem !important;
  margin: 1.5rem 0 !important;
  border-radius: 8px !important;
  text-align: center !important;
}

figcaption,
.figure-caption {
  color: #6c757d !important;
  font-style: italic !important;
  font-size: 0.9rem !important;
  margin-top: 0.5rem !important;
  text-align: center !important;
}

/* Jupyter notebook output images */
.output img,
.cell-output img,
.jp-OutputArea img {
  background-color: transparent !important;
  filter: none !important;
  opacity: 1 !important;
  border: 1px solid #dee2e6 !important;
  border-radius: 8px !important;
  padding: 0.5rem !important;
}

/* Matplotlib and other plot images */
img[src*=".png"],
img[src*=".jpg"],
img[src*=".jpeg"],
img[src*=".svg"] {
  background-color: white !important;
  padding: 0.5rem !important;
  border: 1px solid #e9ecef !important;
  border-radius: 8px !important;
}

/* Custom logo and branding */
.navbar-brand {
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--varunayan-primary) !important;
}

/* Additional header fixes */
.bd-header-logo,
.bd-header-logo img,
.bd-header-logo svg,
.bd-header-logo a {
  background-color: white !important;
}

/* Fix any dark navbar elements */
.navbar,
.navbar-nav,
.navbar-toggler,
.navbar-collapse {
  background-color: white !important;
  border-color: #dee2e6 !important;
}

/* Fix header search components */
.bd-search-container,
.bd-search-docs,
.bd-search-docs-button,
.bd-search-docs-input,
.bd-header .bd-search,
.bd-header .bd-search-docs {
  background-color: white !important;
  color: #212529 !important;
}

/* Fix header buttons and controls */
.bd-header button,
.bd-header .btn,
.bd-header .form-control,
.bd-header input {
  background-color: white !important;
  color: #212529 !important;
  border-color: #dee2e6 !important;
}

/* Fix any remaining dark elements in header */
.bd-header *:not(.btn-primary):not(.btn-secondary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info):not(.btn-light):not(.btn-dark) {
  background-color: white !important;
  color: #212529 !important;
}

/* Comprehensive white background enforcement */
html,
body,
.bd-page-width,
.bd-container,
.bd-content,
.bd-main,
.bd-article-container,
.bd-sidebar-primary,
.bd-sidebar-secondary,
.bd-toc,
.bd-header,
main,
article,
section,
div:not(.highlight):not(.admonition):not(.btn):not(.badge):not(.alert):not(.card):not(.table):not(.dropdown-menu) {
  background-color: white !important;
}

/* Force white background for all Sphinx Book Theme elements */
.theme-switch-button,
.pst-color-primary,
.pst-color-secondary,
.pst-color-success,
.pst-color-info,
.pst-color-warning,
.pst-color-danger,
.pst-color-light,
.pst-color-dark,
.pst-color-muted {
  background-color: white !important;
  color: #212529 !important;
}

/* CSS variable overrides */
:root {
  --pst-color-primary: var(--varunayan-primary) !important;
  --pst-color-secondary: var(--varunayan-secondary) !important;
  --pst-color-success: var(--varunayan-success) !important;
  --pst-color-info: var(--varunayan-primary) !important;
  --pst-color-warning: var(--varunayan-warning) !important;
  --pst-color-danger: var(--varunayan-accent) !important;
  --pst-color-light: var(--varunayan-light) !important;
  --pst-color-dark: var(--varunayan-dark) !important;
  --pst-color-muted: var(--varunayan-muted) !important;
  --pst-color-white: #FFFFFF !important;
  --pst-color-border: var(--varunayan-border) !important;
  --pst-color-shadow: rgba(0, 0, 0, 0.1) !important;
  --pst-color-text-base: var(--varunayan-dark) !important;
  --pst-color-text-muted: var(--varunayan-muted) !important;
  --pst-color-link: var(--varunayan-primary) !important;
  --pst-color-link-hover: var(--varunayan-secondary) !important;
  --pst-color-background: #FFFFFF !important;
  --pst-color-on-background: var(--varunayan-dark) !important;
  --pst-color-surface: #FFFFFF !important;
  --pst-color-on-surface: var(--varunayan-dark) !important;
}

/* Final catchall for any remaining dark elements */
*:not(.btn-primary):not(.btn-secondary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info):not(.btn-light):not(.btn-dark):not(.bg-primary):not(.bg-secondary):not(.bg-success):not(.bg-danger):not(.bg-warning):not(.bg-info):not(.bg-light):not(.bg-dark):not(.table-dark):not(.navbar-dark):not(.card-dark):not(.alert-dark) {
  background-color: white !important;
  color: #212529 !important;
}