/* ===== BASE ===== */
:root {
	--primary: #5B144A;
	--accent: #FFFFFF;
	--bg-dark: #3e3d3d;
	--footer-bg: #cccccc;
	--footer-collapse-bg: #3E3C3C;
	--white: #FFFFFF;
	--gray: #666666;
}

* { box-sizing: border-box; }

body {
	margin: 0;
	font-family: 'Lato', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #212529;
	background-color: var(--bg-dark);
}

a { color: var(--primary); text-decoration: none; }
a:hover { color: var(--gray); text-decoration: none; }

.btn-primary { background-color: var(--primary); border-color: var(--primary); }
.btn-primary:hover { background-color: #4a103d; border-color: #4a103d; }

.white { color: white; }
.italic { font-style: italic; }

/* ===== HEADER ===== */
.header-background {
	background-color: #231f20;
	color: var(--white);
}

.site-header-image {
	max-width: 100%;
	max-height: 40px;
	text-align: center;
}

.menu-stack-circle { color: var(--footer-bg); }
.menu-stack-bars { color: #919191; }

/* ===== FOOTER NAV ===== */
.footer-nav-background {
	background-color: var(--footer-bg);
}

.footer-collapse-background {
	background-color: var(--footer-collapse-bg);
}

.footer-icons,
.footer-icons-active {
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1;
	text-decoration: none;
}
.footer-icons { color: #5B144A; }
.footer-icons-active { color: var(--gray); }

.footer-icon-label {
	font-size: 0.65rem;
	font-weight: 500;
	margin-top: 3px;
	letter-spacing: 0.02em;
}

.footer-top {
	z-index: 1030;
}

/* ===== SIDE MENU ===== */
.side-menu-text { font-size: 1.25em; }

#moreMenu {
	border-bottom: 1px solid var(--primary);
}

/* ===== SECTION BUTTONS ===== */
.section-button-primary {
	background-color: var(--primary);
	font-weight: bold;
	text-align: center;
	color: var(--white);
	cursor: pointer;
}

.section-button-secondary {
	background-color: var(--gray);
	font-weight: bold;
	text-align: center;
	color: var(--white);
	cursor: pointer;
}

.section-button-small {
	height: 40px;
	font-size: 1em;
}

.section-row-top { margin-bottom: 1px; }
.section-row-bottom { margin-bottom: 0; }

.select-link { cursor: pointer; }
.select-link:hover { background-color: rgba(255,255,255,0.1); }

/* ===== HOME PAGE ===== */
.body-home { margin-bottom: -105px; }

.home-bg {
	background-color: var(--bg-dark);
	color: var(--white);
}

.home-title {
	font-weight: bold;
	font-size: 2.25em;
}

.home-subtitle {
	font-weight: bold;
	font-size: 1.25em;
}

.home-details {
	font-weight: normal;
	font-size: 1.25em;
}

.home-image {
	max-width: 80%;
	padding-top: 25px;
	padding-bottom: 35px;
}

/* ===== LIST STYLES ===== */
.list-title {
	font-size: 1.5em;
	font-weight: normal;
}

.list-subtitle {
	font-size: 1.125em;
}

.list-details {
	font-size: 1.25em;
}

.list-subdetails {
	font-size: 1em;
}

.list-subdetails-lg {
	font-size: 1.125em;
}

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

/* ===== LARGE TEXT MODE ===== */
body.large-text { font-size: 1.25rem; }

/* ===== SPONSORS ===== */
.sponsor-header-bar {
	font-weight: bold;
	color: var(--white);
	padding-left: 5px;
	background-color: var(--primary);
}

.sponsor-info { padding: 0 15px; }
.sponsor-spacer { min-height: 10px; }

/* ===== SPACING / LAYOUT ===== */
.slim-padding { height: 10px; }

.main-scroll-padding {
	padding-top: 30px;
}

.under-header {
	padding-top: 40px;
	background-color: var(--bg-dark);
}

.under-footer {
	padding-bottom: 50px;
}

.site-bg {
	background-color: var(--bg-dark);
}

.staff-names { color: var(--white); }

.link { color: var(--white); }

/* ===== SPONSOR OVERLAY ===== */
#sponsor-overlay {
	position: fixed;
	display: none;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.85);
	z-index: 9999;
	cursor: pointer;
}

#sponsor-overlay-content {
	position: relative;
	top: 10%;
	text-align: center;
	color: white;
	padding: 20px;
}

.sponsor-overlay-level { font-size: 1.5em; text-align: center; }
.sponsor-overlay-name { font-size: 1.75em; font-weight: bold; text-align: center; }
.sponsor-overlay-logo { max-width: 60%; max-height: 200px; }
.sponsor-overlay-url { font-size: 1em; text-align: center; }
.sponsor-overlay-url a { color: #aaddff; }
.sponsor-close { color: white; cursor: pointer; }

/* ===== NOTES MODAL ===== */
.modal-content.bg-dark { background-color: #343a40 !important; }

/* ===== RESPONSIVE ===== */
.container { max-width: 600px !important; }

.shortScreenHide { display: inline; }
.shortScreenShow { display: none; }

@media (max-height: 500px) {
	.shortScreenHide { display: none; }
	.shortScreenShow { display: inline; }
}

/* Fix for fixed header/footer spacing */
#fixedHeader {
	z-index: 1040;
	height: 40px;
}
