/* 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 */
html {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
}
body {
    background-color: #121212; /* Dark grey shows in the 2px side gutters */
    color: #e0e0e0; /* Light gray text for readability */
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
}

/* 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 */
}

.panel-default,
.panel-warning,
.panel-success,
.panel-info,
.panel-danger,
.panel-default > .panel-heading,
.panel-warning > .panel-heading,
.panel-success > .panel-heading,
.panel-info > .panel-heading,
.panel-danger > .panel-heading {
	color: #000000 !important;
}

/* White post cards on dark grey page shell */
.main-post-item.panel,
.main-post-item.feed-post-card,
.panel.main-post-item,
.panel.feed-post-card,
#posts-container .main-post-item,
#posts-container .feed-post-card,
#posts-container .panel,
.feed-surface .feed-post-card,
.feed-surface .panel.feed-post-card,
#dashboard-feed .feed-post-card,
#dashboard-feed .panel.feed-post-card,
#recipes-feed .feed-post-card,
.phrase-search-result.panel,
.panel.panel-default.main-post-item,
.panel.panel-default.feed-post-card {
	background-color: #ffffff !important;
	background: #ffffff !important;
	color: #111111 !important;
}

/* 2px top + 2px bottom → 4px gap between stacked posts (grey shell shows through) */
.main-post-item.panel,
.main-post-item.feed-post-card,
.panel.main-post-item,
.panel.feed-post-card,
#posts-container .main-post-item,
#posts-container .feed-post-card,
#posts-container .panel,
.feed-surface .feed-post-card,
.feed-surface .panel.feed-post-card,
#dashboard-feed .feed-post-card,
#dashboard-feed .panel.feed-post-card,
#recipes-feed .feed-post-card,
.phrase-search-result.panel {
	margin-top: 2px !important;
	margin-bottom: 2px !important;
}

/* Keep card body text readable on white post cards */
.main-post-item .panel-body,
.feed-post-card .panel-body,
#posts-container .panel .panel-body,
.feed-surface .feed-post-card .panel-body {
	background-color: transparent !important;
	color: #111111 !important;
}

/* Anchor targets from post detail "Back to Main" — clear fixed navbar */
.main-post-item[id^="post-"] {
	scroll-margin-top: 70px;
}

/* Titles on white cards: blue headings; yellow on link hover, no underline */
.main-post-item .feed-post-title,
.main-post-item h1.feed-post-title,
.main-post-item h2.feed-post-title,
.main-post-item .panel-body h1,
.main-post-item .panel-body h2,
.main-post-item .panel-body a .feed-post-title,
.main-post-item .panel-body a h1,
.main-post-item .panel-body a h2 {
	color: #0b79c3 !important;
	-webkit-text-fill-color: #0b79c3 !important;
	text-decoration: none !important;
}
.main-post-item .panel-body a:hover .feed-post-title,
.main-post-item .panel-body a:focus .feed-post-title,
.main-post-item .panel-body a:hover h1,
.main-post-item .panel-body a:focus h1,
.main-post-item .panel-body a:hover h2,
.main-post-item .panel-body a:focus h2,
.main-post-item .panel-body a:hover h3,
.main-post-item .panel-body a:focus h3 {
	color: #fae103 !important;
	-webkit-text-fill-color: #fae103 !important;
	text-decoration: none !important;
}
.main-post-item .panel-body a:active .feed-post-title,
.main-post-item .panel-body a:active:hover .feed-post-title,
.main-post-item .panel-body a:active h1,
.main-post-item .panel-body a:active:hover h1,
.main-post-item .panel-body a:active h2,
.main-post-item .panel-body a:active:hover h2,
.main-post-item .panel-body a:active h3,
.main-post-item .panel-body a:active:hover h3 {
	color: #0b79c3 !important;
	-webkit-text-fill-color: #0b79c3 !important;
	text-decoration: none !important;
}

.panel-heading .text-muted,
.panel-heading small,
.panel-heading small.text-muted {
	color: #333333 !important;
}

.panel-body,
.panel-body label,
.panel-body strong,
.panel-body div,
.panel-body span,
.panel-body p,
.panel-body li {
	color: #000000 !important;
}

.panel-body .text-muted,
.panel-body small.text-muted,
.panel-body small {
	color: #333333 !important;
}

/* Keep text readable on dark info backgrounds inside panels. */
.panel-body .alert-info,
.panel-body .alert-info *,
.panel-body .bg-info,
.panel-body .bg-info * {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.panel-body div.alert-info,
.panel-body div.bg-info {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

/* Keep text readable on dark info backgrounds everywhere. */
.alert-info,
.alert-info *,
.bg-info,
.bg-info * {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.panel-body .private-board-empty-state,
.panel-body .private-board-empty-state * {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	background: #1b4c64 !important;
	background-color: #1b4c64 !important;
	border-color: #1b4c64 !important;
}

/* White post cards: site blue links; yellow on hover; blue again on click/active */
.panel-body a:not(.btn),
.panel-body a:not(.btn):visited {
	color: #0b79c3 !important;
	-webkit-text-fill-color: #0b79c3 !important;
	text-decoration: none !important;
}

/* h2 headings (and links wrapping/containing them) stay blue inside panels */
.panel-body h2,
.panel-body a h2,
.panel-body a:not(.btn) h2,
.panel-body a:not(.btn):visited h2,
.panel-body h2 a:not(.btn),
.panel-body h2 a:not(.btn):visited {
	color: #0b79c3 !important;
	-webkit-text-fill-color: #0b79c3 !important;
	text-decoration: none !important;
}
.panel-body a:hover h2,
.panel-body a:focus h2,
.panel-body h2 a:hover,
.panel-body h2 a:focus {
	color: #fae103 !important;
	-webkit-text-fill-color: #fae103 !important;
	text-decoration: none !important;
}

.panel-body a:not(.btn):hover,
.panel-body a:not(.btn):focus {
	color: #fae103 !important;
	-webkit-text-fill-color: #fae103 !important;
	text-decoration: none !important;
}

/* :active after :hover so mousedown returns to blue even while still hovered */
.panel-body a:not(.btn):active,
.panel-body a:not(.btn):active:hover,
.panel-body a:not(.btn):active h2,
.panel-body h2 a:not(.btn):active {
	color: #0b79c3 !important;
	-webkit-text-fill-color: #0b79c3 !important;
	text-decoration: none !important;
}

.public-town-messages-page .label,
.public-town-messages-page .label.label-primary {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

#dashboard-feed .feed-post-card .panel-body,
#dashboard-feed .feed-post-card .panel-body strong,
#dashboard-feed .feed-post-card .panel-body span,
#dashboard-feed .feed-post-card .panel-body div,
#dashboard-feed .feed-post-card .panel-body p,
.feed-surface .feed-post-card .panel-body,
.feed-surface .feed-post-card .panel-body strong,
.feed-surface .feed-post-card .panel-body span,
.feed-surface .feed-post-card .panel-body div,
.feed-surface .feed-post-card .panel-body p {
	color: #111111 !important;
}

#dashboard-feed .feed-post-meta,
#dashboard-feed .feed-post-meta.text-muted,
.feed-surface .feed-post-meta,
.feed-surface .feed-post-meta.text-muted {
	color: #444444 !important;
}

#dashboard-feed .feed-post-content,
.feed-surface .feed-post-content {
	color: #000000 !important;
	-webkit-text-fill-color: #000000 !important;
}

#dashboard-feed .feed-post-title,
#dashboard-feed .feed-post-card .panel-body .feed-post-title,
#dashboard-feed .feed-post-card .panel-body .feed-post-content,
#dashboard-feed .feed-post-card .panel-body .feed-post-content *,
.feed-surface .feed-post-title,
.feed-surface .feed-post-card .panel-body .feed-post-title,
.feed-surface .feed-post-card .panel-body .feed-post-content,
.feed-surface .feed-post-card .panel-body .feed-post-content * {
	color: #000000 !important;
	-webkit-text-fill-color: #000000 !important;
	opacity: 1 !important;
}

#dashboard-feed .feed-post-card .panel-body .btn,
#dashboard-feed .feed-post-card .panel-body .btn *,
.feed-surface .feed-post-card .panel-body .btn,
.feed-surface .feed-post-card .panel-body .btn * {
	-webkit-text-fill-color: inherit !important;
	opacity: 1 !important;
}

/* Beat .feed-post-content * black text so links stay site blue */
#dashboard-feed .feed-post-content a,
#dashboard-feed .feed-post-content a:visited,
#dashboard-feed .feed-post-card .panel-body .feed-post-content a,
#dashboard-feed .feed-post-card .panel-body .feed-post-content a:visited,
#dashboard-feed .feed-post-card .panel-body a:not(.btn),
#dashboard-feed .feed-post-card .panel-body a:not(.btn):visited,
.feed-surface .feed-post-content a,
.feed-surface .feed-post-content a:visited,
.feed-surface .feed-post-card .panel-body .feed-post-content a,
.feed-surface .feed-post-card .panel-body .feed-post-content a:visited,
.feed-surface .feed-post-card .panel-body a:not(.btn),
.feed-surface .feed-post-card .panel-body a:not(.btn):visited {
	color: #0b79c3 !important;
	-webkit-text-fill-color: #0b79c3 !important;
	text-decoration: none !important;
}

#dashboard-feed .feed-post-content a:hover,
#dashboard-feed .feed-post-card .panel-body .feed-post-content a:hover,
#dashboard-feed .feed-post-card .panel-body a:hover,
#dashboard-feed .feed-post-content a:focus,
#dashboard-feed .feed-post-card .panel-body .feed-post-content a:focus,
#dashboard-feed .feed-post-card .panel-body a:focus,
.feed-surface .feed-post-content a:hover,
.feed-surface .feed-post-card .panel-body .feed-post-content a:hover,
.feed-surface .feed-post-card .panel-body a:hover,
.feed-surface .feed-post-content a:focus,
.feed-surface .feed-post-card .panel-body .feed-post-content a:focus,
.feed-surface .feed-post-card .panel-body a:focus {
	color: #fae103 !important;
	-webkit-text-fill-color: #fae103 !important;
	text-decoration: none !important;
}

/* :active after :hover so click returns to blue even while still hovered */
#dashboard-feed .feed-post-content a:active,
#dashboard-feed .feed-post-content a:active:hover,
#dashboard-feed .feed-post-card .panel-body .feed-post-content a:active,
#dashboard-feed .feed-post-card .panel-body .feed-post-content a:active:hover,
#dashboard-feed .feed-post-card .panel-body a:not(.btn):active,
#dashboard-feed .feed-post-card .panel-body a:not(.btn):active:hover,
.feed-surface .feed-post-content a:active,
.feed-surface .feed-post-content a:active:hover,
.feed-surface .feed-post-card .panel-body .feed-post-content a:active,
.feed-surface .feed-post-card .panel-body .feed-post-content a:active:hover,
.feed-surface .feed-post-card .panel-body a:not(.btn):active,
.feed-surface .feed-post-card .panel-body a:not(.btn):active:hover {
	color: #0b79c3 !important;
	-webkit-text-fill-color: #0b79c3 !important;
	text-decoration: none !important;
}

#dashboard-feed .feed-post-card .panel-body .feed-empty-state,
#dashboard-feed .feed-post-card .panel-body .feed-empty-state *,
#dashboard-feed .feed-post-card .panel-body .feed-empty-state strong,
#dashboard-feed .feed-post-card .panel-body .feed-empty-state span,
#dashboard-feed .feed-post-card .panel-body .feed-empty-state div,
#dashboard-feed .feed-post-card .panel-body .feed-empty-state p,
.feed-surface .feed-post-card .panel-body .feed-empty-state,
.feed-surface .feed-post-card .panel-body .feed-empty-state *,
.feed-surface .feed-post-card .panel-body .feed-empty-state strong,
.feed-surface .feed-post-card .panel-body .feed-empty-state span,
.feed-surface .feed-post-card .panel-body .feed-empty-state div,
.feed-surface .feed-post-card .panel-body .feed-empty-state p {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	text-align: center;
}


/* Adjust link colors */
a,
a:visited {
    color: #fae103;
    text-decoration: none !important;
}

a:hover,
a:focus {
    color: #fae103;
    text-decoration: none !important;
}

/* 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;
}
/* Phrase search: stay inside the white content border on all screen sizes */
#search.phrase-search-form,
.phrase-search-form {
	width: 100%;
	max-width: 100%;
	margin: 0 0 12px 0;
	box-sizing: border-box;
}
#search .phrase-search-bar.input-group,
#search .input-group,
.phrase-search-bar.input-group {
	display: table;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
#search .phrase-search-bar .form-control,
#search .input-group .form-control {
	display: table-cell;
	width: 100%;
	max-width: 100%;
	float: none;
	box-sizing: border-box;
}
#search .phrase-search-bar .input-group-btn,
#search .input-group .input-group-btn {
	display: table-cell;
	width: 1%;
	vertical-align: middle;
	white-space: nowrap;
}
#search .phrase-search-bar .input-group-btn > .btn,
#search .input-group .input-group-btn > .btn {
	margin: 0;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}
/* Alphabet A–Z bar: wrap instead of overflowing the border */
.alphabet-nav,
span.alphabet-nav {
	display: inline-block;
	max-width: 100%;
	box-sizing: border-box;
}
.phrases-page .center,
.phrases-page .alphabet-nav {
	max-width: 100%;
	overflow-wrap: anywhere;
	word-wrap: break-word;
}
.phrases-page .alphabet-nav .btn,
.phrases-page .alphabet-nav a.btn,
.phrases-page .alphabet-nav button.btn {
	margin: 2px 2px 2px 0;
	display: inline-block;
}
.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 */
}
/* Clear fixed navbar only; 2px grey around white comes from page-shell-outer */
.maindiv {
	padding-top: 50px; /* fixed navbar height — may be taller on mobile when search wraps */
	padding-bottom: 0;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/*
 * Full-bleed white shell on ALL viewports (mobile + desktop).
 * No Bootstrap container/row/col — those add 15px gutters and fixed widths.
 * White = 100% of viewport minus 2px grey on each side.
 */
.page-shell-outer,
.page-shell-main,
.page-shell-outer-row,
.page-shell-outer-col,
.page-shell-card,
.page-shell-body,
.page-shell-row,
.page-shell-content,
.page-shell-inner-row,
.page-shell-inner-row > .left-menu-container,
.page-shell-inner-row > .main-content-container {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

.page-shell-outer {
	padding: 2px !important;
	margin: 0 !important;
	position: relative;
	left: 0;
	right: 0;
}

.page-shell-main,
.page-shell-outer-row,
.page-shell-outer-col,
.page-shell-row,
.page-shell-content,
.page-shell-inner-row {
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
}

/* Kill Bootstrap .row negative margins if class is re-added later */
.page-shell-outer .row {
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}
.page-shell-outer [class*="col-"] {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.page-shell-card.card,
.page-shell-card {
	margin: 0 !important;
	border-radius: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	/* Dark grey page chrome; individual post cards stay white */
	background-color: #2c2c2c !important;
	color: #e0e0e0 !important;
}

.page-shell-body.card-body,
.page-shell-body {
	padding: 12px !important;
	background-color: #2c2c2c !important;
	color: #e0e0e0 !important;
}

/* Desktop: side-by-side left menu + content when menu is present */
@media (min-width: 768px) {
	.page-shell-inner-row.page-shell-has-menu {
		display: table !important;
		width: 100% !important;
		table-layout: fixed !important;
	}
	.page-shell-inner-row.page-shell-has-menu > .left-menu-container,
	.page-shell-inner-row.page-shell-has-menu > .main-content-container {
		display: table-cell !important;
		vertical-align: top !important;
		float: none !important;
	}
	.page-shell-inner-row.page-shell-has-menu > .left-menu-container {
		width: 180px !important;
		max-width: 180px !important;
		padding-right: 12px !important;
	}
	.page-shell-inner-row.page-shell-has-menu > .main-content-container {
		width: auto !important;
		max-width: none !important;
	}
	.page-shell-body.card-body,
	.page-shell-body {
		padding: 20px !important;
		background-color: #2c2c2c !important;
	}
}

/* Mobile / small windows: stack menu above content, keep full-width shell */
@media (max-width: 767px) {
	.maindiv {
		/* Extra top space when navbar search wraps under the logo */
		padding-top: 100px;
	}
	.page-shell-outer {
		padding: 2px !important;
		width: 100% !important;
		max-width: 100vw !important;
	}
	.page-shell-card,
	.page-shell-body,
	.page-shell-content,
	.page-shell-inner-row,
	.main-content-container,
	.left-menu-container {
		width: 100% !important;
		max-width: 100% !important;
	}
	.page-shell-card,
	.page-shell-body {
		background-color: #2c2c2c !important;
	}
	.page-shell-inner-row.page-shell-has-menu > .left-menu-container {
		margin-bottom: 12px !important;
		padding-right: 0 !important;
	}
	.page-shell-body.card-body,
	.page-shell-body {
		padding: 10px !important;
	}
}
/* Dark Mode Button Styles */

/* Primary buttons (including submit) */
.btn-primary, .btn-default, button[type="submit"] {
    background-color: #0b79c3 !important; 
    background-image: none !important;
    border-color: #0b79c3 !important; 
    color: #fae103 !important;
    text-shadow: none !important;
}

.btn-primary:hover, .btn-default:hover, button[type="submit"]:hover,
.btn-primary:focus, .btn-default:focus, button[type="submit"]:focus,
.btn-primary:active, .btn-default:active, button[type="submit"]:active,
.btn-primary.active, .btn-default.active {
    background-color: #0960a0 !important; 
    background-image: none !important;
    border-color: #0960a0 !important;
    color: #fae103 !important;
    text-shadow: none !important;
}

/* 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: #0b79c3!important;
	-webkit-text-fill-color: #0b79c3!important;
}
/* Keep h2 blue when it is a link or wrapped by a link */
h2 a,
h2 a:visited,
a h2,
a:visited h2 {
	color: #0b79c3!important;
	-webkit-text-fill-color: #0b79c3!important;
	text-decoration: none !important;
}
a:hover h2,
a:focus h2,
h2 a:hover,
h2 a:focus {
	color: #fae103!important;
	-webkit-text-fill-color: #fae103!important;
	text-decoration: none !important;
}
.recipe-detail-title {
	color: #0b79c3 !important;
	-webkit-text-fill-color: #0b79c3 !important;
	text-shadow: 0 0 6px rgba(11, 121, 195, 0.55) !important;
}

.panel-body h2.recipe-detail-title,
.panel.panel-default .panel-body h2.recipe-detail-title {
	color: #0b79c3 !important;
	-webkit-text-fill-color: #0b79c3 !important;
	text-shadow: 0 0 6px rgba(11, 121, 195, 0.55) !important;
}

.recipe-content .embed-responsive,
.recipe-media-links .embed-responsive,
.recipe-title-media .embed-responsive {
	max-width: 100%;
	margin: 14px 0;
}

.yellowtext {
	color: #fae103!important;
}
.whitetext {
	color: #ffffff!important;
}

.phrase-search-results {
	margin-top: 14px;
}

/* Phrase cards use the same white panel treatment as posts */
.phrase-search-result.panel {
	margin-bottom: 16px;
	background-color: #ffffff;
}

.phrase-search-result h2,
.phrase-search-result h3,
.phrase-search-result .panel-body h2,
.phrase-search-result .panel-body h3 {
	margin-top: 0;
	color: #0b79c3 !important;
	-webkit-text-fill-color: #0b79c3 !important;
}

.phrase-search-result p:last-child {
	margin-bottom: 0;
}

/* Category phrase headings (h3) on white cards */
.main-post-item .panel-body h3.feed-post-title,
.main-post-item .panel-body a h3.feed-post-title {
	color: #0b79c3 !important;
	-webkit-text-fill-color: #0b79c3 !important;
	text-decoration: none !important;
}

.phrases-page {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	overflow-x: hidden;
}
.phrases-page hr {
	display: none !important;
	border: 0 !important;
	height: 0 !important;
	margin: 0 !important;
}

@media (max-width: 480px) {
	#search .phrase-search-bar.input-group,
	#search .input-group,
	.phrase-search-bar.input-group {
		display: block;
		width: 100%;
	}
	#search .phrase-search-bar .form-control,
	#search .input-group .form-control {
		display: block;
		width: 100%;
		border-radius: 4px;
		margin-bottom: 8px;
	}
	#search .phrase-search-bar .input-group-btn,
	#search .input-group .input-group-btn {
		display: block;
		width: 100%;
	}
	#search .phrase-search-bar .input-group-btn > .btn,
	#search .input-group .input-group-btn > .btn {
		width: 100%;
		border-radius: 4px;
	}
}

.phrases-page .phrase-display,
.phrases-page .phrase-display p,
.phrases-page .phrase-display h2,
.phrases-page .phrase-display h3,
.phrases-page .phrase-search-result,
.phrases-page .phrase-search-result p,
.phrases-page .phrase-search-result h2,
.phrases-page .phrase-search-result h3 {
	border-top: 0 !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
}
.blacktext {
	color: #000000!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;
}
.text-dark {
	color: #000000 !important;
}
.pad-2 {
	padding: 2px !important;
}
.pad-top-2 {
	padding-top: 2px !important;
}
.pad-4 {
	padding: 4px !important;
}
.pad-top-4 {
	padding-top: 4px !important;
}
.pad-top-5 {
	padding-top: 5px !important;
}

.footer-social-wrap {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
	width: 100%;
}

.footer-social-links {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex: 0 0 auto;
}

.footer-copyright {
	flex: 1 1 auto;
	text-align: center;
	line-height: 1.2;
}

@media (max-width: 767px) {
	.footer-social-wrap {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
	}

	.footer-social-links {
		justify-content: center;
	}

	.footer-copyright {
		padding-top: 5px !important;
		line-height: normal;
	}
}

.album-image-modal .modal-content,
.album-image-modal .modal-header,
.album-image-modal .modal-body {
	background-color: #ffffff !important;
}

.album-image-modal .modal-title,
.album-image-modal #fullImageCaption,
.album-image-modal #fullImagePostedBy,
.album-image-modal #fullImagePostedBy.text-muted {
	color: #000000 !important;
	-webkit-text-fill-color: #000000 !important;
}

/* ── Dashboard profile card ── */
.dm-card-scene { perspective: 600px; -webkit-perspective: 600px; width: 160px; }
.dm-card {
	width: 160px; height: 160px;
	position: relative;
	transform-style: preserve-3d;
	-webkit-transform-style: preserve-3d;
	transition: transform .45s;
	cursor: pointer;
}
.dm-card.is-flipped { transform: rotateY(180deg); -webkit-transform: rotateY(180deg); }
.dm-card-face {
	position: absolute; width: 100%; height: 100%;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	border: 1px solid #ddd; border-radius: 6px;
	overflow: hidden;
	display: flex; align-items: center; justify-content: center;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,.15);
}
.dm-card-back {
	transform: rotateY(180deg);
	-webkit-transform: rotateY(180deg);
	padding: 10px;
	box-sizing: border-box;
	text-align: center;
	font-size: 12px;
	flex-direction: column;
	gap: 6px;
	justify-content: center;
	background: #ffffff;
	color: #000000;
}
.dm-card-photo {
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	display: flex; align-items: center; justify-content: center;
	background-size: cover; background-position: center; background-repeat: no-repeat;
}
.dm-card-label {
	font-size: 11px; margin-top: 4px;
	max-width: 160px; overflow: hidden;
	text-overflow: ellipsis; white-space: nowrap;
	text-align: center;
}
.dm-card-hint { font-size: 10px; color: #999; margin-top: 2px; text-align: center; }

/* Shared card-back text styles used by dashboard preview and Hide & Seek cards. */
.hs-card-back-text {
	font-size: 11px;
	color: #000000 !important;
	-webkit-text-fill-color: #000000 !important;
	word-break: break-word;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
	width: 100%;
	max-height: none;
	overflow: visible;
	padding-right: 2px;
}

.dm-card-back .hs-card-back-text,
.dm-card-back .hs-card-back-text * {
	color: #000000 !important;
	-webkit-text-fill-color: #000000 !important;
}

.hs-card-back-empty {
	color: #000000 !important;
	-webkit-text-fill-color: #000000 !important;
}

/* ── DM unread badge (left menu Messages button) ── */
.dm-unread-badge {
	display: none;
	position: absolute;
	top: 2px;
	right: 4px;
	background: #d9534f;
	color: #fff;
	border-radius: 10px;
	font-size: 10px;
	padding: 1px 5px;
	line-height: 1.4;
}

/* User profile page */
.userprofile-back-btn {
	margin-bottom: 12px;
}

.userprofile-card-wrap {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}

.userprofile-card-click {
	cursor: pointer;
}

.userprofile-initials {
	font-size: 22px;
	font-weight: 700;
	color: #fff;
}

.userprofile-name-strong {
	font-size: 13px;
	color: #000000;
	text-align: center;
}

.userprofile-bio {
	font-size: 12px;
	color: #000000;
	word-break: break-word;
	text-align: center;
	max-height: none;
	overflow: visible;
}

.userprofile-bio-empty {
	color: #000000 !important;
	-webkit-text-fill-color: #000000 !important;
}

.userprofile-message-btn-wrap {
	margin-top: 6px;
	text-align: center;
}

.userprofile-dm-panel {
	margin-bottom: 20px;
}

.userprofile-dm-heading {
	cursor: pointer;
}

.userprofile-dm-toggle {
	float: right;
}

.userprofile-dm-body {
	display: block;
}

.userprofile-dm-panel-body {
	padding: 10px 14px;
}

.userprofile-dm-alert {
	margin-bottom: 10px;
}

.userprofile-dm-thread {
	max-height: 300px;
	overflow-y: auto;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	padding: 8px;
	margin-bottom: 10px;
	background: #fafafa;
}

.userprofile-dm-loading,
.userprofile-dm-thread-status {
	margin: 0;
}

.userprofile-dm-compose {
	display: flex;
	gap: 6px;
}

.userprofile-dm-input {
	resize: vertical;
}

.userprofile-dm-help {
	margin-top: 8px;
	margin-bottom: 0;
	font-size: 12px;
}

.userprofile-dm-error {
	margin-top: 6px;
	display: none;
	font-size: 12px;
}

.userprofile-login-note {
	margin-bottom: 0;
}

.userprofile-posts-title {
	margin-bottom: 12px;
}

.userprofile-feed-card {
	margin-bottom: 10px;
}

.userprofile-feed-body {
	padding: 10px 14px;
}

.userprofile-feed-meta {
	margin-bottom: 4px;
}

.userprofile-featured-badge {
	background: #5cb85c;
	color: #fff;
	font-size: 0.72em;
	padding: 1px 5px;
	border-radius: 3px;
}

.userprofile-post-title {
	display: block;
	margin-bottom: 4px;
	color: #212529;
}

.userprofile-post-content {
	white-space: pre-wrap;
	word-break: break-word;
	margin-bottom: 8px;
	color: #212529;
}

.userprofile-external-link {
	color: #0b79c3 !important;
	-webkit-text-fill-color: #0b79c3 !important;
	text-decoration: none !important;
}
.userprofile-external-link:hover,
.userprofile-external-link:focus {
	color: #fae103 !important;
	-webkit-text-fill-color: #fae103 !important;
	text-decoration: none !important;
}

/* Let profile card back grow for longer bios. */
.userprofile-card-wrap .dm-card {
	min-height: 160px;
	height: 160px;
}

.userprofile-card-wrap .dm-card.is-flipped {
	transform: none;
	-webkit-transform: none;
	height: auto;
}

.userprofile-card-wrap .dm-card.is-flipped .dm-card-face {
	position: relative;
	min-height: 160px;
	height: auto;
}

.userprofile-card-wrap .dm-card.is-flipped .dm-card-face:not(.dm-card-back) {
	display: none;
}

.userprofile-card-wrap .dm-card.is-flipped .dm-card-back {
	transform: none;
	-webkit-transform: none;
	backface-visibility: visible;
	-webkit-backface-visibility: visible;
}

.userprofile-card-wrap .dm-card-back,
.userprofile-card-wrap .dm-card-back * {
	background-color: #ffffff !important;
	color: #000000 !important;
	-webkit-text-fill-color: #000000 !important;
}

/* Profile DM panel: keep encrypted notice text white on dark info background. */
#dm-panel #dm-body .panel-body .alert.alert-info,
#dm-panel #dm-body .panel-body .alert.alert-info * {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

/* Video page: support portrait phone videos without stretching. */
.video-temp-page .video-player-wrap {
	width: 100%;
	max-height: 72vh;
	background: #000000;
	border-radius: 8px;
	overflow: hidden;
	text-align: center;
}

.video-temp-page .video-player {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	width: auto;
	height: 72vh;
	max-height: 72vh;
	background: #000000;
	object-fit: contain;
}

.video-temp-page .video-controls-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}

/* Reusable wrapper for portrait videos embedded in post content. */
.post-video-frame {
	max-width: 420px;
	margin: 12px auto;
	background: #000000;
	border-radius: 8px;
	overflow: hidden;
}

@media (max-width: 768px) {
	.video-temp-page .video-player-wrap {
		max-height: 68vh;
	}

	.video-temp-page .video-player {
		height: 68vh;
		max-height: 68vh;
	}
}

/* Album detail title highlight card (blue bar → yellow title text). */
.album-title-card {
	background: #0b79c3;
	border: 1px solid #0b79c3;
	border-radius: 4px;
	padding: 12px 14px;
	margin-bottom: 12px;
}

.album-title-card-heading {
	margin: 0;
	color: #fae103 !important;
	-webkit-text-fill-color: #fae103 !important;
	font-weight: 700;
}

.album-title-card-subtext {
	margin: 6px 0 0 0;
	color: #fae103 !important;
	-webkit-text-fill-color: #fae103 !important;
	opacity: 0.95;
}

.album-list-title-card {
	background: #0b79c3;
	border: 1px solid #0b79c3;
	border-radius: 4px;
	padding: 10px 12px;
	margin-bottom: 10px;
}

.album-list-title-heading {
	margin: 0;
	font-size: 22px;
	font-weight: 700;
}

.album-list-title-heading,
.album-list-title-heading a,
.album-list-title-heading a:visited,
.album-list-title-heading a:hover,
.album-list-title-heading a:focus {
	color: #fae103 !important;
	-webkit-text-fill-color: #fae103 !important;
	text-decoration: none !important;
}

/* ============================================
   Races page ( ?page=races )
   Scoped styles for the races table and forms.
   Moved from inline <style> in races.cfm to keep CSS centralized.
   ============================================ */

/* Form controls inside races page need dark text for the light form backgrounds */
.races-form .form-control,
.races-form .form-select,
.races-table .form-control,
.races-table .form-select {
	color: #111 !important;
}
.races-form .form-control::placeholder,
.races-table .form-control::placeholder {
	color: #555 !important;
	opacity: 1;
}
.races-form .form-select option,
.races-table .form-select option {
	color: #111;
}

/* =====================================================
   Races table (.races-table) – strong override for .table-striped
   Forces:
     - Even rows (white background lines): white bg + BLACK text (fixes light grey text)
     - Odd rows (striped): dark bg + white text
   Matches Bootstrap selector structure + extra specificity + !important to beat theme.
===================================================== */

.races-table.table-striped > tbody > tr {
	background-color: #ffffff !important;
}

/* Even rows – the ones with white background. Force black text on everything inside. */
.races-table.table-striped > tbody > tr:nth-of-type(even),
.races-table.table-striped > tbody > tr:nth-of-type(even) * {
	background-color: #ffffff !important;
	color: #000000 !important;
}

/* Odd/striped rows – dark background with white text */
.races-table.table-striped > tbody > tr:nth-of-type(odd) {
	background-color: #2c2c2c !important;
}
.races-table.table-striped > tbody > tr:nth-of-type(odd) td,
.races-table.table-striped > tbody > tr:nth-of-type(odd) td a,
.races-table.table-striped > tbody > tr:nth-of-type(odd) td span {
	color: #ffffff !important;
}

/* Base reset for this table (black text on body cells) */
.races-table tbody td,
.races-table tbody td a,
.races-table tbody td span {
	color: #000000 !important;
}

/* Header (th) rows: force dark background + WHITE text.
   Very specific to beat Bootstrap .table-striped thead th + site dark theme (which sets light text or dark bg with black).
   Targets the exact table classes used.
*/
.races-table.table.table-striped > thead > tr > th,
.races-table.table.table-striped > thead th,
.races-table.table-striped > thead th,
.races-table.table-striped thead th,
.races-table th {
	background-color: #2c2c2c !important;
	color: #ffffff !important;
	border-color: #444 !important;
}

/* =====================================================
   Global link style (beats Bootstrap a:hover underline)
   - No underlines
   - Yellow (#fae103) on hover
   ===================================================== */
a,
a:link,
a:visited,
a:active {
	text-decoration: none !important;
}

a:hover,
a:focus {
	color: #fae103 !important;
	-webkit-text-fill-color: #fae103 !important;
	text-decoration: none !important;
}

/* White cards / panels: default link color readable on light bg */
.panel-body a:not(.btn),
.panel-body a:not(.btn):visited,
.main-post-item a:not(.btn),
.main-post-item a:not(.btn):visited,
.feed-post-card a:not(.btn),
.feed-post-card a:not(.btn):visited,
.feed-post-content a,
.feed-post-content a:visited {
	text-decoration: none !important;
}

.panel-body a:not(.btn):hover,
.panel-body a:not(.btn):focus,
.main-post-item a:not(.btn):hover,
.main-post-item a:not(.btn):focus,
.feed-post-card a:not(.btn):hover,
.feed-post-card a:not(.btn):focus,
.feed-post-content a:hover,
.feed-post-content a:focus {
	color: #fae103 !important;
	-webkit-text-fill-color: #fae103 !important;
	text-decoration: none !important;
}

/* Linked headings: blue by default, yellow on hover, no underline */
h1 a,
h1 a:visited,
h2 a,
h2 a:visited,
h3 a,
h3 a:visited,
a h1,
a:visited h1,
a h2,
a:visited h2,
a h3,
a:visited h3,
.panel-body a h1,
.panel-body a h2,
.panel-body a h3,
.panel-body a .feed-post-title,
.main-post-item a h1,
.main-post-item a h2,
.main-post-item a h3,
.main-post-item a .feed-post-title {
	color: #0b79c3 !important;
	-webkit-text-fill-color: #0b79c3 !important;
	text-decoration: none !important;
}

a:hover h1,
a:focus h1,
a:hover h2,
a:focus h2,
a:hover h3,
a:focus h3,
a:hover .feed-post-title,
a:focus .feed-post-title,
h1 a:hover,
h1 a:focus,
h2 a:hover,
h2 a:focus,
h3 a:hover,
h3 a:focus,
.panel-body a:hover h1,
.panel-body a:focus h1,
.panel-body a:hover h2,
.panel-body a:focus h2,
.panel-body a:hover h3,
.panel-body a:focus h3,
.panel-body a:hover .feed-post-title,
.panel-body a:focus .feed-post-title,
.main-post-item a:hover h1,
.main-post-item a:focus h1,
.main-post-item a:hover h2,
.main-post-item a:focus h2,
.main-post-item a:hover h3,
.main-post-item a:focus h3,
.main-post-item a:hover .feed-post-title,
.main-post-item a:focus .feed-post-title {
	color: #fae103 !important;
	-webkit-text-fill-color: #fae103 !important;
	text-decoration: none !important;
}

/* =====================================================
   .externallink — blue default, yellow hover, no underline
   ===================================================== */
a.externallink,
a.externallink:link,
a.externallink:visited,
a.externallink:active,
.panel-body a.externallink,
.panel-body a.externallink:visited,
.panel-body a.externallink:not(.btn),
.panel-body a.externallink:not(.btn):visited,
.main-post-item a.externallink,
.main-post-item a.externallink:visited,
.feed-post-card a.externallink,
.feed-post-card a.externallink:visited,
.feed-post-content a.externallink,
.feed-post-content a.externallink:visited,
#dashboard-feed .feed-post-content a.externallink,
#dashboard-feed .feed-post-content a.externallink:visited,
.feed-surface .feed-post-content a.externallink,
.feed-surface .feed-post-content a.externallink:visited,
a.externallink.userprofile-external-link,
a.externallink.userprofile-external-link:visited {
	color: #0b79c3 !important;
	-webkit-text-fill-color: #0b79c3 !important;
	text-decoration: none !important;
}

a.externallink:hover,
a.externallink:focus,
.panel-body a.externallink:hover,
.panel-body a.externallink:focus,
.panel-body a.externallink:not(.btn):hover,
.panel-body a.externallink:not(.btn):focus,
.main-post-item a.externallink:hover,
.main-post-item a.externallink:focus,
.feed-post-card a.externallink:hover,
.feed-post-card a.externallink:focus,
.feed-post-content a.externallink:hover,
.feed-post-content a.externallink:focus,
#dashboard-feed .feed-post-content a.externallink:hover,
#dashboard-feed .feed-post-card .panel-body a.externallink:hover,
.feed-surface .feed-post-content a.externallink:hover,
.feed-surface .feed-post-card .panel-body a.externallink:hover,
a.externallink.userprofile-external-link:hover,
a.externallink.userprofile-external-link:focus {
	color: #fae103 !important;
	-webkit-text-fill-color: #fae103 !important;
	text-decoration: none !important;
}

/* Album blue title bars: force site yellow (beats global blue h2/h3 link rules) */
.album-title-card .album-title-card-heading,
.album-title-card .album-title-card-subtext,
.album-list-title-card .album-list-title-heading,
.album-list-title-card .album-list-title-heading a,
.album-list-title-card a .album-list-title-heading,
.panel-body .album-list-title-card .album-list-title-heading,
.panel-body .album-list-title-card .album-list-title-heading a,
.panel-body .album-list-title-card a .album-list-title-heading,
.main-post-item .album-list-title-card .album-list-title-heading,
.main-post-item .album-list-title-card .album-list-title-heading a,
.main-post-item .album-list-title-card a .album-list-title-heading,
.main-post-item a .album-list-title-heading,
.panel-body a .album-list-title-heading {
	color: #fae103 !important;
	-webkit-text-fill-color: #fae103 !important;
	text-decoration: none !important;
}
.album-list-title-card .album-list-title-heading a:hover,
.album-list-title-card .album-list-title-heading a:focus,
.album-list-title-card a:hover .album-list-title-heading,
.album-list-title-card a:focus .album-list-title-heading,
.panel-body .album-list-title-card a:hover .album-list-title-heading,
.panel-body .album-list-title-card a:focus .album-list-title-heading,
.main-post-item .album-list-title-card a:hover .album-list-title-heading,
.main-post-item .album-list-title-card a:focus .album-list-title-heading {
	color: #fae103 !important;
	-webkit-text-fill-color: #fae103 !important;
	text-decoration: none !important;
	opacity: 0.95;
}