/* ==========================================================================
   UMD Camps – global theme styles
   Colors are CSS variables printed from the Customizer (see inc/customizer.php).
   ========================================================================== */

:root {
	--umd-primary: #d52728;
	--umd-primary-dark: color-mix(in srgb, var(--umd-primary) 82%, #000);
	--umd-accent: #ffcb00;
	--umd-dark: #000000;
	--umd-header-bg: #000000;
	--umd-header-link: #ffffff;
	--umd-header-hover: #ffcb00;
	--umd-footer-bg: #000000;
	--umd-footer-text: #ffffff;
	--umd-logo-height: 56px;
	--umd-light: #f5f6f6;
	--umd-border: #e6e8e8;
	--umd-font: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	--bs-body-font-family: var(--umd-font);
	--bs-body-color: #212529;
	--bs-link-color-rgb: 213, 39, 40;
	--bs-link-hover-color-rgb: 160, 25, 26;
}

body {
	font-family: var(--umd-font);
	background: #fff;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.site-main {
	flex: 1 0 auto;
}

.site-main:focus {
	outline: none;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
}

a {
	color: var(--umd-primary);
}

a:hover {
	color: var(--umd-primary-dark);
}

.skip-link {
	position: absolute;
	top: .5rem;
	left: .5rem;
	z-index: 2000;
	padding: .5rem 1rem;
	background: var(--umd-accent);
	color: #000;
	font-weight: 700;
}

/* Buttons --------------------------------------------------------------- */

.btn-umd-primary {
	--bs-btn-color: #fff;
	--bs-btn-bg: var(--umd-primary);
	--bs-btn-border-color: var(--umd-primary);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--umd-primary-dark);
	--bs-btn-hover-border-color: var(--umd-primary-dark);
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--umd-primary-dark);
	--bs-btn-active-border-color: var(--umd-primary-dark);
	--bs-btn-focus-shadow-rgb: 213, 39, 40;
	--bs-btn-border-radius: 2px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .02em;
}

.btn-umd-accent {
	--bs-btn-color: #000;
	--bs-btn-bg: var(--umd-accent);
	--bs-btn-border-color: var(--umd-accent);
	--bs-btn-hover-color: #000;
	--bs-btn-hover-bg: #e1b406;
	--bs-btn-hover-border-color: #e1b406;
	--bs-btn-border-radius: 2px;
	font-weight: 700;
	text-transform: uppercase;
}

/* Header ---------------------------------------------------------------- */

.site-header {
	background: var(--umd-header-bg);
	border-bottom: 3px solid var(--umd-accent);
	z-index: 1030;
}

.site-header .navbar {
	padding-top: .6rem;
	padding-bottom: .6rem;
}

.site-header .site-logo {
	height: var(--umd-logo-height);
	width: auto;
	max-width: 220px;
	object-fit: contain;
}

.site-branding {
	gap: 1rem;
	min-width: 0;
	max-width: calc(100% - 4.5rem); /* always leave room for the menu toggler */
}

@media (min-width: 992px) {
	.site-branding {
		max-width: none;
	}
}

.site-branding .site-logo {
	min-width: 0;
}

.site-branding__divider {
	flex: 0 0 auto;
	width: 2px;
	height: calc(var(--umd-logo-height) * .75);
	background: var(--umd-accent);
}

.site-branding__secondary {
	display: inline-flex;
	align-items: center;
}

@media (max-width: 575.98px) {
	.site-branding {
		gap: .65rem;
	}

	.site-header .site-logo {
		height: calc(var(--umd-logo-height) * .75);
		max-width: 130px;
	}
}

.site-header .site-title {
	color: var(--umd-header-link);
	font-weight: 800;
	font-size: 1.25rem;
	text-transform: uppercase;
	letter-spacing: .02em;
}

.site-header .navbar-nav .nav-link {
	color: var(--umd-header-link);
	font-size: .85rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: .5rem .9rem;
}

.site-header .navbar-nav .nav-link:hover,
.site-header .navbar-nav .nav-link:focus,
.site-header .navbar-nav .nav-link.active,
.site-header .navbar-nav .show > .nav-link {
	color: var(--umd-header-hover);
}

.site-header .dropdown-menu {
	--bs-dropdown-bg: var(--umd-header-bg);
	--bs-dropdown-link-color: var(--umd-header-link);
	--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .08);
	--bs-dropdown-link-hover-color: var(--umd-header-hover);
	--bs-dropdown-link-active-bg: var(--umd-primary);
	border-top: 3px solid var(--umd-accent);
	border-radius: 0;
	font-size: .85rem;
}

.site-header .navbar-toggler {
	border-color: rgba(255, 255, 255, .35);
}

.site-header .header-cta {
	font-size: .8rem;
	padding: .55rem 1.1rem;
}

@media (max-width: 991.98px) {
	.site-header .navbar-collapse {
		padding: 1rem 0 .5rem;
	}

	.site-header .navbar-nav .nav-link {
		padding: .65rem 0;
		border-bottom: 1px solid rgba(255, 255, 255, .08);
	}

	.site-header .header-cta {
		display: block;
		width: 100%;
	}
}

/* Generic page banner ---------------------------------------------------- */

.page-banner {
	background: var(--umd-dark);
	color: #fff;
	padding: 3rem 0;
	position: relative;
	overflow: hidden;
}

.page-banner::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 6px;
	background: linear-gradient(90deg, var(--umd-primary) 0 50%, var(--umd-accent) 50% 100%);
}

.page-banner__title {
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	text-transform: uppercase;
	margin: 0;
}

.page-banner__meta {
	color: var(--umd-accent);
	font-weight: 600;
	margin-top: .5rem;
}

.entry-content img {
	max-width: 100%;
	height: auto;
}

.post-card {
	border-color: var(--umd-border);
	border-top: 4px solid var(--umd-primary);
}

.post-card .card-title a {
	color: inherit;
	text-decoration: none;
}

.pagination {
	--bs-pagination-color: var(--umd-dark);
	--bs-pagination-active-bg: var(--umd-primary);
	--bs-pagination-active-border-color: var(--umd-primary);
}

/* Footer ---------------------------------------------------------------- */

.site-footer {
	background: var(--umd-footer-bg);
	color: var(--umd-footer-text);
	border-top: 3px solid var(--umd-accent);
	padding: 1.5rem 0;
	font-size: .875rem;
}

.site-footer a {
	color: var(--umd-accent);
}
