
/*
===================================================================================================
  TJE.net — Main Stylesheet
  Patriotic theme: Old Glory Navy #002868 · Old Glory Red #BF0A30 · White #FFFFFF
===================================================================================================
*/

/*
---------------------------------------------------------------------------------------------------
  HEADING STYLES
---------------------------------------------------------------------------------------------------
*/

h1, h2, h3, h4, h5, h6 { font-weight: bold; color: #002868; }

h1 { font: 38px 'Lora', Verdana, Helvetica, sans-serif; color: #002868; margin: .3em 0; letter-spacing: -1px; text-align: center; }

h2 { font: 34px 'Lora', Arial, Verdana, Helvetica, sans-serif; color: #002868; margin: .3em 0; letter-spacing: 1px; text-align: center; }

h3 { font: 28px 'Jura', Verdana, Helvetica, sans-serif; color: #002868; padding: 0;
	letter-spacing: -1px; margin: 30px 0 25px 0; padding: 5px 0;
	border-bottom: 2px solid #BF0A30; }

h4 { font: normal 28px 'Jura', Verdana, Helvetica, sans-serif; color: #404040; margin: .3em 0; }

h5 { font: normal 24px 'Raleway', Verdana, Helvetica, sans-serif; color: #404040; margin: .3em 0; }

h6 { font: normal 20px 'Raleway', Verdana, Helvetica, sans-serif; color: #002868; margin: .3em 0; }

h1 img, h2 img, h3 img, h4 img, h5 img, h6 img { margin: 0; }

img { border-width: 0; }

/*
---------------------------------------------------------------------------------------------------
  TABLE STYLES
---------------------------------------------------------------------------------------------------
*/

table  { border: 1px solid; border-collapse: collapse; }
td     { font-size: 14px; line-height: 100%; border: 1px solid; border-collapse: collapse; padding: 9px; }
th     { background: #002868; color: #ffffff; text-align: center; border: 1px solid; border-collapse: collapse; }

th.Name  { width: 90%; }
th.Link  { width: 10%; }
th.Note  { width: 60%; }
th.Name3 { width: 50%; }
th.Note3 { width: 40%; }
th.Link3 { width: 10%; }

/*
===================================================================================================
  LAYOUT
===================================================================================================
*/

#outerWrapper {
	background-color: #ffffff;
	max-width: 1024px;
	text-align: left;
	margin: 25px auto 25px auto;
	border: 1px #000000 solid;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	box-shadow: 0 0 24px rgba(0, 40, 104, 0.35);
	-webkit-box-shadow: 0 0 24px rgba(0, 40, 104, 0.35);
	-moz-box-shadow: 0 0 24px rgba(0, 40, 104, 0.35);
}

/*
---------------------------------------------------------------------------------------------------
  BANNER — CSS-only patriotic header
---------------------------------------------------------------------------------------------------
*/

#banner {
	border-bottom: none;
}

.banner-stripe {
	background: #BF0A30;
	height: 8px;
}

.banner-main {
	background: #002868;
	padding: 20px 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	border-radius: 9px 9px 0 0;
}

.banner-title {
	color: #ffffff;
	font-size: 2.8em;
	font-weight: 900;
	font-family: Georgia, 'Times New Roman', serif;
	letter-spacing: 6px;
	text-shadow: 2px 3px 8px rgba(0, 0, 0, 0.5);
	text-transform: uppercase;
	text-decoration: none;
}

.banner-title:hover { color: #ffffff; text-decoration: none; }

.banner-stars {
	color: #ffffff;
	font-size: 1.5em;
	letter-spacing: 5px;
	opacity: 0.80;
	user-select: none;
}

/*
---------------------------------------------------------------------------------------------------
  TOP NAVIGATION — hamburger + dropdown
---------------------------------------------------------------------------------------------------
*/

#topnav {
	background: #002868;
	border-bottom: 4px solid #BF0A30;
	position: relative;
}

/* Hidden checkbox for hamburger toggle */
.nav-toggle {
	display: none;
}

/* Hamburger button (hidden on desktop) */
.nav-hamburger {
	display: none;
	flex-direction: column;
	cursor: pointer;
	padding: 13px 16px;
	gap: 5px;
}

.nav-hamburger span {
	display: block;
	width: 24px;
	height: 3px;
	background: #ffffff;
	border-radius: 2px;
	transition: transform 0.25s ease, opacity 0.25s ease;
}

/* Animate to X when open */
.nav-toggle:checked ~ .nav-hamburger span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.nav-toggle:checked ~ .nav-hamburger span:nth-child(2) { opacity: 0; }
.nav-toggle:checked ~ .nav-hamburger span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* Primary nav list */
#topnav > ul {
	list-style: none;
	margin: 0;
	padding: 0 0 0 5px;
	display: flex;
	background: #002868;
}

#topnav ul li {
	position: relative;
}

#topnav ul li a {
	display: block;
	color: #ffffff;
	text-decoration: none;
	padding: 11px 20px;
	font-weight: bold;
	text-transform: uppercase;
	font-size: 0.85em;
	letter-spacing: 1px;
	transition: background 0.2s;
	float: none;
}

#topnav ul li a:hover,
#topnav ul li a:focus {
	background: #BF0A30;
	color: #ffffff;
	text-decoration: none;
}

/* Dropdown sub-menu */
.has-dropdown > ul.dropdown {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background: #002868;
	min-width: 185px;
	z-index: 500;
	border-top: 3px solid #BF0A30;
	flex-direction: column;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.30);
	list-style: none;
	margin: 0;
	padding: 0;
}

.has-dropdown:hover > ul.dropdown,
.has-dropdown:focus-within > ul.dropdown {
	display: flex;
}

.has-dropdown > ul.dropdown li a {
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	font-size: 0.82em;
	letter-spacing: 0.5px;
	padding: 10px 20px;
	text-transform: none;
}

/* Mobile / hamburger */
@media (max-width: 640px) {
	.nav-hamburger {
		display: flex;
	}

	#topnav > ul {
		display: none;
		flex-direction: column;
		width: 100%;
		padding-left: 0;
	}

	.nav-toggle:checked ~ ul {
		display: flex;
	}

	.has-dropdown > ul.dropdown {
		position: static;
		display: none;
		border-top: none;
		border-left: 3px solid #BF0A30;
		margin-left: 20px;
		box-shadow: none;
		width: auto;
	}

	/* Show dropdown on mobile when parent is hovered/focused */
	.has-dropdown:hover > ul.dropdown,
	.has-dropdown:focus-within > ul.dropdown {
		display: flex;
	}
}

/*
---------------------------------------------------------------------------------------------------
  CONTENT
---------------------------------------------------------------------------------------------------
*/

#content {
	padding: 10px;
	margin-top: 20px;
}

/*
---------------------------------------------------------------------------------------------------
  FOOTER
---------------------------------------------------------------------------------------------------
*/

#footer {
	background-color: #002868;
	padding: 10px;
	border-radius: 0 0 8px 8px;
	-webkit-border-radius: 0 0 8px 8px;
	-moz-border-radius: 0 0 8px 8px;
	color: #ffffff;
	border-top: 4px solid #BF0A30;
}

#footer p {
	color: #ffffff;
	margin: 0;
	text-align: center;
	font-size: 10px;
}

#footer a:link    { color: #ffffff; }
#footer a:visited { color: #cccccc; }
#footer a:hover   { color: #ffffff; text-decoration: underline; }
#footer a:focus   { color: #ffffff; }
#footer a:active  { color: #aaaaaa; }

/*
===================================================================================================
  UTILITY CLASSES
===================================================================================================
*/

.border1px  { border: 2px solid black; margin: 10px; }
.center     { margin-left: auto; margin-right: auto; }
.centered   { text-align: center; }
.indent40px { margin: 0 0 0 40px; }
.indent80px { margin: 0 0 0 80px; }

.quote {
	font-size: .8em;
	line-height: 1.5em;
	padding: 5px 0;
	margin: 0 160px;
	font-style: italic;
	text-align: center;
	border: 2px solid black;
}

.supersmall { font-size: .1em !important; text-align: center !important; }

#centeredimg    { text-align: center; }
#centeredfooter { text-align: center; }
#center00       { text-align: center; }
