﻿input[type=number] {
	-moz-appearance: textfield;
	-webkit-appearance: textfield;
}

::-webkit-outer-spin-button,
::-webkit-inner-spin-button {
	-webkit-appearance: none;
	display: none;
	margin: 0;
}

.col-form-label {
	text-align: right;
	display: flex;
	justify-content: end;
	align-items: start;
}

.col-form-label::after {
	content: var(--label-suffix, ":");
}

.form-check-input:not([disabled]) {
	box-shadow: 0 0 0 0.15rem rgb(from var(--bs-primary-border-subtle) r g b / 0.5);
}

:is(.col-form-label, legend) .form-check {
	display: inline-flex;
	align-items: center;
	gap: .25em;
}

:is(.col-form-label, legend) .form-check-input {
	margin: 0;
}

@media (hover: none), (pointer: coarse) {
	.row:has(.col-form-label .form-check-input) {
		align-items: center;
	}

	.form-check-input {
		font-size: 2em;
	}

	:is(.col-form-label, legend) .form-check {
		gap: .5em;
	}
}

.form-control:-moz-placeholder {
	text-transform: none;
}

.form-control::-moz-placeholder {
	text-transform: none;
}

.form-control:-ms-input-placeholder {
	text-transform: none;
}

.form-control::-webkit-input-placeholder {
	text-transform: none;
}

.form-check-label::before,
.form-check-label::after {
	top: .25em;
	left: -1.3em;
	width: 1em;
	height: 1em;
}

.unselectable {
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.text-hide {
	font: 0/0 a;
	color: transparent;
	text-shadow: none;
	background-color: transparent;
	border: 0;
	opacity: 0;
	pointer-events: none;
}

.form-control[readonly] {
	cursor: not-allowed;
}

.validation-summary-valid,
.field-validation-valid {
	display: none;
}

.field-validation-error {
	color: #a00;
}

.validation-summary-errors {
	padding: 15px;
	margin-bottom: 20px;
	border: 1px solid var(--bs-danger-border-subtle);
	border-radius: 4px;
	color: var(--bs-danger-text-emphasis);
	background-color: var(--bs-danger-bg-subtle);
}

.validation-summary-errors > p,
.validation-summary-errors > ul {
	margin-bottom: 0;
}

.validation-summary-errors > p + p {
	margin-top: 5px;
}

.validation-summary-errors hr {
	border-top-color: var(--bs-danger-border-subtle);
}

.validation-summary-errors a {
	color: var(--bs-danger-text-emphasis);
	font-weight: bold;
}


@media (min-width: 768px) {
	.validation-summary-errors {
		padding-left: 65px;
		min-height: 82px;
		position: relative;
	}

	.validation-summary-errors::before {
		position: absolute;
		top: 5px;
		left: 15px;
		font-family: bootstrap-icons !important;
		font-size: 3em;
		text-rendering: auto;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		content: "\F33A";
	}

	.validation-summary-errors > ul {
		padding-left: 0;
		margin-left: 2.14285714em;
		list-style-type: none;
	}

	.validation-summary-errors > ul > li {
		position: relative;
	}

	.validation-summary-errors > ul > li::before {
		position: absolute;
		left: -2.14285714em;
		width: 2.14285714em;
		top: 0;
		text-align: center;
		font-family: bootstrap-icons !important;
		font-size: 1em;
		text-rendering: auto;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		content: "\F151";
	}
}


.modal-xl {
	width: 95%;
	max-width: none;
}

.expand-link[aria-expanded="true"] > .bi::before {
	content: "\F236";
}

.expand-link[aria-expanded="false"] > .bi::before {
	content: "\F22A";
}

.tab-content {
	border: 1px solid var(--bs-border-color);
	border-top-width: 0;
	padding: 10px;
}

.nav-tabs {
	margin-bottom: 0;
}

table.table-fixed {
	table-layout: fixed;
}

table.table tr.group td {
	font-weight: bold;
	background-color: var(--bs-tertiary-bg);
	color: var(--bs-tertiary-color);
}

table :is(.table-primary, .table-secondary, .table-success, .table-danger, .table-warning, .table-warning, .table-info, .table-light) .text-muted {
	color: rgba(var(--bs-dark-rgb), 50%) !important;
}

table.table tbody th, table.table tbody td {
	overflow: hidden;
	text-overflow: ellipsis;
}

table.table :is(.bi-pull-left, .bi-pull-right, .fa-pull-left, .fa-pull-right) {
	margin-top: .3em;
}

table.table th.button-cell,
table.table td.button-cell {
	height: auto;
	overflow: visible;
}

h1 .small, h1 small,
h2 .small, h2 small,
h3 .small, h3 small,
h4 .small, h4 small,
h5 .small, h5 small,
h6 .small, h6 small {
	font-size: 65%;
	font-weight: 400;
	line-height: 1;
	color: var(--bs-secondary-color);
}

legend {
	border-bottom: 1px solid var(--bs-border-color);
}

pre {
	padding: 1em;
	color: var(--bs-secondary-color);
	background-color: var(--bs-light-bg-subtle);
	border: 1px solid var(--bs-border-color);
	border-radius: 4px;
}

.navbar {
	/*background: #0d6efd /* var(--bs-dark-bg-subtle);*/
	background: transparent !important;
	border: 1px solid var(--bs-border-color);
	box-shadow: none;
}

.footer {
	/*	background: #0d6efd /* var(--bs-dark-bg-subtle);*/
	/* color: var(--bs-secondary); */
	background: transparent !important;
	border: none;
	box-shadow: none;
}

.footer a {
	color: inherit;
}

.btn-light-auto {
	--bs-btn-color: #000;
	--bs-btn-bg: #f8f9fa;
	--bs-btn-border-color: #f8f9fa;
	--bs-btn-hover-color: #000;
	--bs-btn-hover-bg: #d3d4d5;
	--bs-btn-hover-border-color: #c6c7c8;
	--bs-btn-focus-shadow-rgb: 211, 212, 213;
	--bs-btn-active-color: #000;
	--bs-btn-active-bg: #c6c7c8;
	--bs-btn-active-border-color: #babbbc;
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color: #000;
	--bs-btn-disabled-bg: #f8f9fa;
	--bs-btn-disabled-border-color: #f8f9fa;
}

[data-bs-theme="dark"] .btn-light-auto {
	--bs-btn-color: #fff;
	--bs-btn-bg: #33393F;
	--bs-btn-border-color: #33393F;
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: #424649;
	--bs-btn-hover-border-color: #373b3e;
	--bs-btn-focus-shadow-rgb: 66, 70, 73;
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: #4d5154;
	--bs-btn-active-border-color: #373b3e;
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: #212529;
	--bs-btn-disabled-border-color: #212529;
}


.table-primary-subtle {
	--bs-table-color: var(--bs-primary-text-emphasis);
	--bs-table-bg: var(--bs-primary-bg-subtle);
	--bs-table-border-color: var(--bs-primary-border-subtle);
	--bs-table-striped-bg: hsl(from var(--bs-table-bg) h s calc(l - 3));
	--bs-table-striped-color: var(--bs-table-color);
	--bs-table-active-bg: hsl(from var(--bs-table-bg) h s calc(l - 5));
	--bs-table-active-color: var(--bs-table-color);
	--bs-table-hover-bg: hsl(from var(--bs-table-bg) h s calc(l - 7));
	--bs-table-hover-color: var(--bs-table-color);
	color: var(--bs-table-color);
	border-color: var(--bs-table-border-color);
}

.table-secondary-subtle {
	--bs-table-color: var(--bs-secondary-text-emphasis);
	--bs-table-bg: var(--bs-secondary-bg-subtle);
	--bs-table-border-color: var(--bs-secondary-border-subtle);
	--bs-table-striped-bg: hsl(from var(--bs-table-bg) h s calc(l - 3));
	--bs-table-striped-color: var(--bs-table-color);
	--bs-table-active-bg: hsl(from var(--bs-table-bg) h s calc(l - 5));
	--bs-table-active-color: var(--bs-table-color);
	--bs-table-hover-bg: hsl(from var(--bs-table-bg) h s calc(l - 7));
	--bs-table-hover-color: var(--bs-table-color);
	color: var(--bs-table-color);
	border-color: var(--bs-table-border-color);
}

.table-success-subtle {
	--bs-table-color: var(--bs-success-text-emphasis);
	--bs-table-bg: var(--bs-success-bg-subtle);
	--bs-table-border-color: var(--bs-success-border-subtle);
	--bs-table-striped-bg: hsl(from var(--bs-table-bg) h s calc(l - 3));
	--bs-table-striped-color: var(--bs-table-color);
	--bs-table-active-bg: hsl(from var(--bs-table-bg) h s calc(l - 5));
	--bs-table-active-color: var(--bs-table-color);
	--bs-table-hover-bg: hsl(from var(--bs-table-bg) h s calc(l - 7));
	--bs-table-hover-color: var(--bs-table-color);
	color: var(--bs-table-color);
	border-color: var(--bs-table-border-color);
}

.table-info-subtle {
	--bs-table-color: var(--bs-info-text-emphasis);
	--bs-table-bg: var(--bs-info-bg-subtle);
	--bs-table-border-color: var(--bs-info-border-subtle);
	--bs-table-striped-bg: hsl(from var(--bs-table-bg) h s calc(l - 3));
	--bs-table-striped-color: var(--bs-table-color);
	--bs-table-active-bg: hsl(from var(--bs-table-bg) h s calc(l - 5));
	--bs-table-active-color: var(--bs-table-color);
	--bs-table-hover-bg: hsl(from var(--bs-table-bg) h s calc(l - 7));
	--bs-table-hover-color: var(--bs-table-color);
	color: var(--bs-table-color);
	border-color: var(--bs-table-border-color);
}

.table-warning-subtle {
	--bs-table-color: var(--bs-warning-text-emphasis);
	--bs-table-bg: var(--bs-warning-bg-subtle);
	--bs-table-border-color: var(--bs-warning-border-subtle);
	--bs-table-striped-bg: hsl(from var(--bs-table-bg) h s calc(l - 3));
	--bs-table-striped-color: var(--bs-table-color);
	--bs-table-active-bg: hsl(from var(--bs-table-bg) h s calc(l - 5));
	--bs-table-active-color: var(--bs-table-color);
	--bs-table-hover-bg: hsl(from var(--bs-table-bg) h s calc(l - 7));
	--bs-table-hover-color: var(--bs-table-color);
	color: var(--bs-table-color);
	border-color: var(--bs-table-border-color);
}

.table-danger-subtle {
	--bs-table-color: var(--bs-danger-text-emphasis);
	--bs-table-bg: var(--bs-danger-bg-subtle);
	--bs-table-border-color: var(--bs-danger-border-subtle);
	--bs-table-striped-bg: hsl(from var(--bs-table-bg) h s calc(l - 3));
	--bs-table-striped-color: var(--bs-table-color);
	--bs-table-active-bg: hsl(from var(--bs-table-bg) h s calc(l - 5));
	--bs-table-active-color: var(--bs-table-color);
	--bs-table-hover-bg: hsl(from var(--bs-table-bg) h s calc(l - 7));
	--bs-table-hover-color: var(--bs-table-color);
	color: var(--bs-table-color);
	border-color: var(--bs-table-border-color);
}

.table-light-subtle {
	--bs-table-color: var(--bs-light-text-emphasis);
	--bs-table-bg: var(--bs-light-bg-subtle);
	--bs-table-border-color: var(--bs-light-border-subtle);
	--bs-table-striped-bg: hsl(from var(--bs-table-bg) h s calc(l - 3));
	--bs-table-striped-color: var(--bs-table-color);
	--bs-table-active-bg: hsl(from var(--bs-table-bg) h s calc(l - 5));
	--bs-table-active-color: var(--bs-table-color);
	--bs-table-hover-bg: hsl(from var(--bs-table-bg) h s calc(l - 7));
	--bs-table-hover-color: var(--bs-table-color);
	color: var(--bs-table-color);
	border-color: var(--bs-table-border-color);
}

.table-dark-subtle {
	--bs-table-color: var(--bs-dark-text-emphasis);
	--bs-table-bg: var(--bs-dark-bg-subtle);
	--bs-table-border-color: var(--bs-dark-border-subtle);
	--bs-table-striped-bg: hsl(from var(--bs-table-bg) h s calc(l - 3));
	--bs-table-striped-color: var(--bs-table-color);
	--bs-table-active-bg: hsl(from var(--bs-table-bg) h s calc(l - 5));
	--bs-table-active-color: var(--bs-table-color);
	--bs-table-hover-bg: hsl(from var(--bs-table-bg) h s calc(l - 7));
	--bs-table-hover-color: var(--bs-table-color);
	color: var(--bs-table-color);
	border-color: var(--bs-table-border-color);
}

.form-group {
	margin-bottom: 1rem !important;
}


/* News: */
.news-row {
	margin-bottom: 15px;
}

.news-row h1 {
	margin: 0 0 20px 0;
	border-bottom: 1px solid silver;
}

.news-row > div {
	padding: 15px 0;
}

.news-row > .sidebar a {
	color: inherit;
}

.news-row > .sidebar .active > a,
.news-row > .sidebar .active > p > a {
	color: #a94442;
}

.news-year {
	font-size: 120%;
	font-weight: bold;
	color: #444;
}

.news-article-list > li:not(:first-child) {
	margin-top: 15px;
	padding-top: 15px;
	border-top: 1px solid silver;
}

.news-article-list a > svg {
	display: none;
}

.news-article-list b {
	font-size: 120%;
	text-transform: uppercase;
}

.news-article-image {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	height: 200px;
}

@media (min-width: 500px) {
	.news-article-list a {
		display: flex;
		align-items: flex-start;
		flex-wrap: wrap;
	}

	.news-article-list a > svg {
		width: 96px;
		margin-right: 15px;
		display: block;
	}

	.news-article-list a > div {
		flex: 1 1 0;
	}

	.news-article-list .news-list-date {
		display: none;
	}
}

@media (min-width: 768px) {
	.news-row {
		display: flex;
	}

	.news-row > .sidebar {
		flex-basis: 20%;
		order: -1;
		min-width: 250px;
		border-right: 1px dotted silver;
	}

	.news-row > div:not(.sidebar) {
		flex-grow: 1;
	}

	.news-row > div {
		padding: 0 15px;
		vertical-align: top;
		display: table-cell;
	}

	.news-article-date-icon {
		width: 96px;
		margin-left: 15px;
	}
}

.wordcloud {
	display: none;
}

@media (min-width: 768px) {
	.wordcloud {
		display: block;
		list-style: none;
		padding: 15px 0;
		margin: 15px 0;
		text-align: center;
		border-top: 1px solid silver;
	}

	.wordcloud li {
		display: inline-block;
	}

	.wordcloud li:not(:first-child) {
		margin-left: 5px;
	}

	.wordcloud li.active {
		color: #a94442;
	}

	.wordcloud .word-size-1 {
		font-size: 80%;
	}

	.wordcloud .word-size-2 {
		font-size: 100%;
	}

	.wordcloud .word-size-3 {
		font-size: 120%;
	}

	.wordcloud .word-size-4 {
		font-size: 140%;
	}

	.wordcloud .word-size-5 {
		font-size: 160%;
	}
}

.navbar .bi {
	width: 1em;
	height: 1em;
	vertical-align: -.125em;
	fill: currentcolor;
}
/* Page background images (two layers) */
body {
	/* fallback background color */
	background-color: #ffffff;
	/* create a stacking context so pseudo-elements appear behind content */
	position: relative;
	z-index: 0;
	/* make layout a column so footer can stick to bottom when content is short */
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

/* ensure main content expands to push footer to the bottom */
main.site-content {
	flex: 1 0 auto;
}

/* First background image (top-left) */
body::before {
	content: "";
	position: fixed;
	inset: 0;
	background-image: url('/images/Top Left Corner.png');
	background-size: 40% auto;
	background-position: left top;
	background-repeat: no-repeat;
	background-attachment: fixed;
	opacity: 0.5; /* adjust for fade */
	pointer-events: none;
	z-index: -2;
	transition: opacity 0.3s ease;
}

/* Second background image (top-right) */
body::after {
	content: "";
	position: fixed;
	inset: 0;
	background-image: url('/images/Top Right.png');
	background-size: 40% auto;
	background-position: right top;
	background-repeat: no-repeat;
	background-attachment: fixed;
	opacity: 0.5;
	pointer-events: none;
	z-index: -1;
	transition: opacity 0.3s ease;
}

/* Logo sizing for navbar */
.navbar-brand-img {
	height: 40px;
	width: auto;
	display: inline-block;
}

@media (max-width: 576px) {
	.navbar-brand-img {
		height: 32px;
	}
}

/* Navbar text color (default / hover) */
.navbar,
.navbar .navbar-brand,
.navbar .navbar-nav .nav-link,
.navbar .nav-link,
.navbar a {
	color: var(--navbar-text-color, #0d6efd) !important;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar a:hover {
	color: var(--navbar-text-hover, #052c65) !important;
}

/* Dark theme override */
[data-bs-theme="dark"] .navbar,
[data-bs-theme="dark"] .navbar .navbar-brand,
[data-bs-theme="dark"] .navbar .nav-link,
[data-bs-theme="dark"] .navbar a {
	color: var(--navbar-text-color-dark, #fff) !important;
}

/* Copyright statement color — change the hex to your desired color */
.copyright {
	color: #0d6efd !important; /* example: #ffffff for white */
}


figure {
	border: thin silver solid;
	display: flex;
	flex-flow: column;
	padding: 5px;
	margin: 5px;
	max-width: 320px;
}

figure > a, figure > img, figure > video {
	margin: auto;
}

figure img, figure video {
	max-width: 100%;
	max-height: 300px;
}

figure > figcaption {
	background-color: #222;
	color: white;
	font: italic smaller sans-serif;
	padding: 3px;
	margin-block-start: 3px;
	text-align: center;
}
