/* Dark Mode Styles */

/* Override bg-info class to use black background */
.bg-info {
	background-color: #000000 !important;
}

.border-info {
	border-color: #000000 !important;
}

/* Force card headers to black */
.card-header {
	background-color: #000000 !important;
	border-bottom-color: #333333 !important;
}

.alert {
	padding: 15px;
	margin-bottom: 20px;
	border: 1px solid transparent;
	border-radius: 4px;
}
.alert h4 {
	margin-top: 0;
	color: inherit;
}
.alert .alert-link {
	font-weight: bold;
}
.alert > p,
.alert > ul {
	margin-bottom: 0;
}
.alert > p + p {
	margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
	padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
	position: relative;
	top: -2px;
	right: -21px;
	color: inherit;
}
.alert-success {
	color: #FFFFFF!important;
	background: #3c763d!important;
	background-color: #3c763d!important;
	border-color: #3c763d!important;
}
.alert-success hr {
	border-top-color: #3c763d!important;
}
.alert-success .alert-link {
	color: #ffee00!important;
}
.alert-info {
	color: #FFFFFF!important;
	background: #1b4c64!important;
	background-color: #1b4c64!important;
	border-color: #1b4c64!important;
}
.alert-info hr {
	border-top-color: #1b4c64!important;
}
.alert-info .alert-link {
	color: #FFFFFF!important;
	background: #1b4c64!important;
	background-color: #1b4c64!important;
	border-color: #1b4c64!important;
}
.alert-warning {
	color: #030200!important;
	background: #ffee00!important;
	background-color: #ffee00!important;
	border-color: #ffee00!important;
}
.alert-warning hr {
	border-top-color: #ffee00!important;
}
.alert-warning .alert-link {
	color: #030200!important;
	background: #ffee00!important;
	background-color: #ffee00!important;
	border-color: #ffee00!important;
}
.alert-danger {
	color: #FFFFFF!important;
	background: #6a0707!important;
	background-color: #6a0707!important;
	border-color: #7e1e2e!important;
}
.alert-danger hr {
	border-top-color: #843534!important;
}
.alert-danger .alert-link {
	color: #FFFFFF!important;
	background: #6a0707!important;
	background-color: #6a0707!important;
	border-color: #7e1e2e!important;
}
/* Set background color to black for the body */
body {
    background-color: #121212; /* Dark black background */
    color: #e0e0e0; /* Light gray text for readability */
}

/* Override Bootstrap's default color variables for dark mode */
:root {
    --bs-primary: #0b79c3; /* Purple for primary buttons and accents */
    --bs-secondary: #223765; /* Teal for secondary buttons and accents */
    --bs-success: #299657; /* Green for success messages */
    --bs-info: #acce3b; /* Blue for info messages */
    --bs-warning: #ff9800; /* Orange for warnings */
    --bs-danger: #cf6679; /* Red for danger alerts */
    --bs-light: #2c2c2c; /* Dark gray for light backgrounds */
    --bs-dark: #121212; /* Black for dark backgrounds */
}

/* Update background and text colors for cards */
.card {
    background-color: #1e1e1e; /* Darker gray for cards */
    color: #e0e0e0; /* Light text */
}


/* Adjust link colors */
a,:visited {
    color: #fae103; /* Purple for links */
}

a:hover {
    color: #ffffff; /* Teal on hover */
}

/* Adjust form elements */
.form-control {
    background-color: #ffffff; /* Dark input background */
    color: #000000; /* Light text */
    border-color: #0b79c3; /* Dark border */
}

.form-control:focus {
    background-color: #ffffff; /* Slightly lighter on focus */
    border-color: #0b79c3; /* Purple border on focus */
    box-shadow: 0 0 0 0.2rem rgba(187, 134, 252, 0.25); /* Purple glow */
}
.form-300 {
	max-width:300px;
	
}
.form-100 {
	max-width:100px;
}
.form-50 {
	max-width:50px;
}
#search .input-group {
    max-width: 300px;
    width: 100%;
}
.displayinline {
	display:inline-block;
}

/* Adjust dropdowns */
.dropdown-menu {
    background-color: #1e1e1e; /* Dark dropdown background */
    color: #e0e0e0; /* Light text */
}

.dropdown-item {
    color: #e0e0e0; /* Light text */
}

.dropdown-item:hover {
    background-color: #333; /* Slightly lighter on hover */
}

/* Adjust alerts */
.alert {
    color: #e0e0e0; /* Light text for alerts */
}

.alert-primary {
    background-color: #1e1e1e; /* Dark background for primary alerts */
}

.alert-secondary {
    background-color: #1e1e1e; /* Dark background for secondary alerts */
}
.maindiv {
    padding-top: 100px; /* Adjust to your header height */
}
/* Dark Mode Button Styles */

/* Primary buttons (including submit) */
.btn-primary, button[type="submit"] {
    background-color: #0b79c3; 
    border-color: #0b79c3; 
    color: #fae103; 
}

.btn-primary:hover, button[type="submit"]:hover {
    background-color: #0b79c3; 
    border-color: #0b79c3;
    color: #fae103; 
}

/* Secondary buttons */
.btn-secondary {
    background-color: #0b79c3; 
    border-color: #0b79c3;
    color: #fae103;
}

.btn-secondary:hover {
    background-color: #0b79c3;
    border-color: #0b79c3;
    color: #fae103; 
}
/* Dark Mode Navigation Link Styles */

/* Default navbar links */
.navbar-nav .nav-link {
    color: #fae103; /* Light gray text for visibility in dark mode */
    transition: color 0.3s ease; /* Smooth color transition */
}
/* Visited state for navbar links */
.navbar-nav .nav-link:visited {
    color: #fae103; /* Slightly dimmer gray to indicate visited */
}

/* Hover and focus states for navbar links */
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
    color: #0b79c3; /* Purple for hover/focus */
}

/* Active state for navbar links */
.navbar-nav .nav-link.active,
.navbar-nav .nav-item.active .nav-link {
    color: #fae103; /* Teal for active link */
    font-weight: bold; /* Optional: emphasize active link */
}

/* Disabled state for navbar links */
.navbar-nav .nav-link.disabled {
    color: #000000; /* Dim gray for disabled links */
    opacity: 0.5; /* Reduced opacity for clarity */
}

/* Navbar brand (e.g., logo or site name link) */
.navbar-brand {
    color: #fae103; /* Light gray */
}

.navbar-brand:hover,
.navbar-brand:focus {
    color: #fae103; /* Purple on hover/focus */
}
.yellowtopheader {
	color: #fae103!important; /* Teal for active link */
	font-weight: bold!important; /* Optional: emphasize active link */
	font-size: 20px!important;
}
.yellowheader {
	color: #fae103!important; /* Teal for active link */
	font-weight: bold!important; /* Optional: emphasize active link */
	font-size: 14px!important;
}
/* Adjust the navbar background color */
.navbar {
	background-color: #222; /* Restored dark grey/black original tone */
	border-bottom: 1px solid #000000; /* Keep existing border */
}

/* Force hamburger menu to always show */
.navbar-toggle {
	display: block !important;
}

/* Always collapse the menu on all screen sizes */
.navbar-collapse.collapse {
	display: none !important;
}

.navbar-collapse.collapse.in {
	display: block !important;
}

/* Add scrolling to the expanded navbar on desktop */
nav.kalmyk-vertical-nav .navbar-collapse.collapse.in {
    max-height: 50vh; /* Reduced from 80vh to ensure scrolling triggers sooner on desktop */
    overflow-y: auto; /* Enable vertical scrolling when content exceeds height */
    overflow-x: hidden; /* Prevent horizontal scroll if needed */
}

/* Ensure the inner nav list scrolls if the container does */
nav.kalmyk-vertical-nav .navbar-collapse.collapse.in .nav {
    max-height: inherit; /* Inherit the max-height for proper scrolling */
    overflow-y: auto; /* Allow the list itself to scroll if necessary */
}

/* Add scrolling to the expanded navbar on desktop */
nav.kalmyk-vertical-nav .navbar-collapse.collapse.in {
    max-height: 50vh; /* Reduced from 80vh to ensure scrolling triggers sooner on desktop */
    overflow-y: auto; /* Enable vertical scrolling when content exceeds height */
    overflow-x: hidden; /* Prevent horizontal scroll if needed */
}

/* Ensure the inner nav list scrolls if the container does */
nav.kalmyk-vertical-nav .navbar-collapse.collapse.in .nav {
    max-height: inherit; /* Inherit the max-height for proper scrolling */
    overflow-y: auto; /* Allow the list itself to scroll if necessary */
}

/* Add scrolling to the expanded navbar on desktop */
nav.kalmyk-vertical-nav .navbar-collapse.collapse.in {
    max-height: 50vh; /* Reduced from 80vh to ensure scrolling triggers sooner on desktop */
    overflow-y: auto; /* Enable vertical scrolling when content exceeds height */
    overflow-x: hidden; /* Prevent horizontal scroll if needed */
}

/* Ensure the inner nav list scrolls if the container does */
nav.kalmyk-vertical-nav .navbar-collapse.collapse.in .nav {
    max-height: inherit; /* Inherit the max-height for proper scrolling */
    overflow-y: auto; /* Allow the list itself to scroll if necessary */
}

/* Namespaced vertical navbar for /k site only */
nav.kalmyk-vertical-nav .navbar-toggle { display:block !important; }
nav.kalmyk-vertical-nav .navbar-header { display:flex !important; align-items:center !important; width:100% !important; }
nav.kalmyk-vertical-nav .navbar-header .navbar-brand { margin-right:auto !important; }
nav.kalmyk-vertical-nav .navbar-header .navbar-toggle { margin-left:auto !important; }
nav.kalmyk-vertical-nav .navbar-collapse.collapse { display:none !important; }
nav.kalmyk-vertical-nav .navbar-collapse.collapse.in { 
    display:block !important; 
    position:absolute; 
    top:100%; 
    left:0; 
    right:0; 
    background:#222; 
    z-index:1000; 
    max-height: 50vh; /* Limit height to trigger scrolling */
    overflow-y: scroll; /* Always show vertical scrollbar for scrolling */
    overflow-x: hidden; /* Prevent horizontal scroll */
}
/* Full-width dropdown: override container width constraints when open */
nav.kalmyk-vertical-nav .container { width:100% !important; max-width:100% !important; padding-left:0 !important; padding-right:0 !important; }
nav.kalmyk-vertical-nav .navbar-collapse.collapse.in { width:100% !important; min-width:100% !important; }
/* Ensure background covers entire menu block including padding area */
nav.kalmyk-vertical-nav .navbar-collapse.collapse.in > ul.nav { background:#222 !important; margin:0 !important; padding:0 !important; }
nav.kalmyk-vertical-nav .navbar-collapse.collapse.in > ul.nav > li { background:#222 !important; }
nav.kalmyk-vertical-nav .navbar-collapse.in .navbar-nav { float:none !important; width:100% !important; margin:0 !important; }
nav.kalmyk-vertical-nav .navbar-collapse.in .navbar-nav > li { float:none !important; display:block !important; width:100% !important; }
nav.kalmyk-vertical-nav .navbar-collapse.in .navbar-nav > li > a { display:block !important; width:100% !important; padding:12px 18px !important; text-align:left !important; }
/* Visual styling for vertical menu items (restore mobile look) */
nav.kalmyk-vertical-nav .navbar-collapse.in .navbar-nav > li > a {
	background: #222; /* restored dark panel color */
	color: #fae103 !important; /* original link yellow */
	font-size: 18px;
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}
nav.kalmyk-vertical-nav .navbar-collapse.in .navbar-nav > li:last-child > a { border-bottom: none; }
nav.kalmyk-vertical-nav .navbar-collapse.in .navbar-nav > li > a:hover,
nav.kalmyk-vertical-nav .navbar-collapse.in .navbar-nav > li > a:focus {
	background: #333; /* slightly lighter dark for hover */
	color: #ffffff !important; /* white on hover */
}
nav.kalmyk-vertical-nav .navbar-collapse.in .navbar-nav > li.active > a,
nav.kalmyk-vertical-nav .navbar-collapse.in .navbar-nav > li.active > a:hover,
nav.kalmyk-vertical-nav .navbar-collapse.in .navbar-nav > li.active > a:focus {
	background: #222; /* keep dark background */
	color: #fae103 !important;
	font-weight: 700 !important;
	border-left: 4px solid #fae103;
	padding-left: 14px !important;
}
.font-8 {
	font-size: 8px!important;
}
.font-9 {
	font-size: 9px!important;
}
.font-10 {
	font-size: 10px!important;
}
.font-11 {
	font-size: 11px!important;
}
.font-12 {
	font-size: 12px!important;
}
.font-13 {
	font-size: 13px!important;
}
.font-size-14 {
	font-size: 14px!important;
}

h1 {
	font-size: 18x!important;
	color: #0b79c3!important;
}
h2 {
	font-size: 16x!important;
	color: #fae103!important;
}
.yellowtext {
	color: #fae103!important;
}
.sourcetext {
	font-size: 12px!important;
	color: #fae103!important;
	font-style: italic!important;
	text-align:left !important;
}
.card-header,
.card-header.bg-light,
.card-header.bg-white,
.card-header.bg-transparent {
	background-color: #000000 !important;
	color: #fae103 !important;
	border-bottom-color: #333333 !important;
}