/* ========================================
   Open Sans Font Family - Bundled
   ======================================== */

@font-face {
	font-family: 'Open Sans';
	src: url('/fonts/open-sans/OpenSans-Regular.woff2') format('woff2'),
		 url('/fonts/open-sans/OpenSans-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Open Sans';
	src: url('/fonts/open-sans/OpenSans-Italic.woff2') format('woff2'),
		 url('/fonts/open-sans/OpenSans-Italic.ttf') format('truetype');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Open Sans';
	src: url('/fonts/open-sans/OpenSans-SemiBold.woff2') format('woff2'),
		 url('/fonts/open-sans/OpenSans-SemiBold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Open Sans';
	src: url('/fonts/open-sans/OpenSans-Bold.woff2') format('woff2'),
		 url('/fonts/open-sans/OpenSans-Bold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* ========================================
   Global Typography & Layout
   ======================================== */

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	height: 100%;
}

body {
	font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	color: #666666;
	line-height: 1.6;
	min-height: 100%;
	padding: 20px;
	padding-top: 84px;
	padding-bottom: 60px; /* space for fixed footer */
}

h1, h2, h3 {
	color: #a81010;
	font-weight: 600;
	margin-bottom: 0.75rem;
	line-height: 1.2;
}

h1 {
	font-size: 2rem;
	margin-top: 1.5rem;
}

h2 {
	font-size: 1.5rem;
	margin-top: 1.25rem;
}

h3 {
	font-size: 1.25rem;
	margin-top: 1rem;
}

p, ul, ol {
	margin-bottom: 1rem;
}

a {
	color: #a81010;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

ul, ol {
	padding-left: 2rem;
}

li {
	margin-bottom: 0.5rem;
}

.container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/* ========================================
	Fixed Header / Footer Compatibility
   ======================================== */

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 20px;
	background-color: #f8f8f8;
	border-bottom: 1px solid #e0e0e0;
	font-size: 0.875rem;
	z-index: 1000;
}

.site-header__brand {
	display: flex;
	align-items: center;
	gap: 12px;
}

.site-header__logo {
	height: 36px;
	width: auto;
	display: block;
}

.site-header__title {
	color: #666666;
	font-size: 1.1rem;
	font-weight: 600;
}

body > div[style*="position:fixed"] {
	font-size: 0.875rem;
	padding: 10px 20px;
	background-color: #f8f8f8;
	border-top: 1px solid #e0e0e0;
}

body > div[style*="position:fixed"] a {
	color: #666666;
	font-weight: 600;
}

body > div[style*="position:fixed"] a:hover {
	color: #a81010;
}

/* ========================================
   Legacy Bootstrap/MudBlazor overrides
   ======================================== */

.btn-primary {
	text-transform: uppercase;
	--bs-btn-bg: var(--mud-palette-primary) !important;
	--bs-btn-hover-bg: var(--mud-palette-primary-darken) !important;
}

.nav-pills {
	--bs-nav-pills-link-active-bg: var(--mud-palette-primary) !important;
}

.nav {
	--bs-nav-link-color: var(--mud-palette-primary) !important;
	--bs-nav-link-hover-color: var(--mud-palette-primary-darken) !important;
}

