mark {
  background-color: yellow;
  color: black;
}

/**************************************/
/*     Image Settings                 */
/**************************************/

img.bordered
{
    border: thin #663300 solid;
}

img.center
{
    display: block;
    margin-left: auto;
    margin-right: auto;
}

img.text
{
	margin-bottom: 40px;
}

img,
canvas,
video,
iframe
{
	max-width: 100%;
}

img
{
	height: auto;
}


.export-button
{
	background-color: #4CAF50; /* Green */
	color: white;
	border: none;
	padding: 15px 32px;
	text-align: center;
	text-decoration: none;
	display: block;
	font-size: 16px;
	cursor: pointer;
	width: 80%;
	margin: auto;
	margin-top: 40px;
	margin-bottom: 20px;
}

.export-button:hover {
	background-color: #3e8e41;
  }

.gravity-earth
{
	width: 60%;
	display: block;
	margin-left: auto;
	margin-right: auto;
	border: 1px solid #bbbbbb;
}

.logo
{
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.split-container
{
	width: 100%;
}

.split-side-left
{

}
.split-side-right
{
	display: block;
	border: 1px solid #bbbbbb;
	margin-left: 20px;
	padding: 20px;
	width: 50%;
	float: right;
	background-color: rgba(0, 0, 0, 0.103);
	color: #000000;
}

.center-container
{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin-top: 0px;
}

.menu-container {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(0, 0, 0, 0.3);
	padding: 0;
	margin-top: 0px;
  }

#menu ul {
	display: block;
    align-items: stretch; /* Default */
    justify-content: space-between;

    margin: 0;
    padding: 0
  }

  #menu .main-menu {
	display: none;

  }

  #tm:checked + .main-menu {
	display: block;
  }

  #menu input[type="checkbox"] {
	display: none;
  }

  #menu li,
  #toggle-menu,
  #menu .sub-menu {
	display: block;
    flex: 0 1 auto; /* Default */
    list-style-type: none;
	border-style: solid;
	border-color: rgb(0, 0, 0);
  }

  #menu li,
  #toggle-menu {
	border-width: 0 0 1px;
  }

  #menu .sub-menu {
	background-color: rgba(0, 0, 0, 0.1);
	border-width: 0 0 1px;
	margin: 0 1em;
  }

  #menu .sub-menu li:last-child {
	border-width: 0;
  }

  #menu li,
  #toggle-menu,
  #menu a {
	position: relative;
	display: block;
	color: white;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, .125);

  }

  #menu {

  }

  #toggle-menu {
	background-color: rgba(9, 0, 0, 0.0);
  }

  #toggle-menu,
  #menu a {
	padding: 1em 1.5em;
	font-weight: 500;
	text-decoration: none;
  }

  #menu a {
	transition: all .125s ease-in-out;
	-webkit-transition: all .125s ease-in-out;
  }

  #menu a:hover {
	background-color: rgba(212, 199, 199, 0.267);
	color: #FFFFFF;
	text-decoration: underline;
  }

  #menu .sub-menu {
	background-color: rgba(151, 7, 7, 0.925);
	display: none;
  }

  #menu input[type="checkbox"]:checked + .sub-menu {
	display: block;
  }

  #menu .sub-menu a:hover {
	background-color: rgba(212, 199, 199, 0.267);
	color: #ffffff;
  }

  @media only screen and (max-width: 1150px)
  {
	#menu
	{
		background-color: rgba(0, 0, 0, 0.4);
		width: 100%;
	}

	#menu .sub-menu {
		background-color: rgba(138, 29, 29, 0.575);
		display: none;
	  }


  }

    @media only screen and (max-width: 650px)
  {

	p {
		margin: 0 0 2em 0;
	}

	.logo
{
	width: 70%;

}

	.split-side-right
	{
		float: none;
		width: 100%;
		margin: 0 0 1.5em 0;
		padding: 1em;
	}

	.center-container
	{
		display: block;
	}

	.container
	{
		max-width: calc(100% - 2em);
	}

  }

  @media only screen and (min-width: 1150px)
  {

	#menu .main-menu {
	  display: block;
	}

	#toggle-menu {
	  display: none;
	}

	#menu li {
	  float: left;
	  border-width: 0 1px 0 0;
	}

	#menu .sub-menu li {
	  float: none;
	}

	#menu .sub-menu {
	  border-width: 0;
	  margin: 0;
	  position: absolute;
	  top: 100%;
	  left: 0;
	  width: 12em;
	  z-index: 3000;
	}

	#menu .sub-menu,
	#menu input[type="checkbox"]:checked + .sub-menu {
	  display: none;
	}

	#menu .sub-menu li {
	  border-width: 0 0 1px;
	}

	#menu .sub-menu .sub-menu {
	  top: 0;
	  left: 100%;
	}

	#menu li:hover > input[type="checkbox"] + .sub-menu {
	  display: block;
	}
  }

.center_nav_container
{
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.center_nav
{
	width: 300px;
	height: 100px;
}

html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;}

body {
	line-height: 1;
	font-size: 14pt;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

	blockquote:before, blockquote:after, q:before, q:after {
		content: '';
		content: none;
	}

table {
	border-collapse: collapse;
	border-spacing: 0;
	max-width: 100%;
}

body {
	-webkit-text-size-adjust: none;
	font-size: 14pt;
}

mark {
	background-color: transparent;
	color: inherit;
}

input::-moz-focus-inner {
	border: 0;
	padding: 0;
	font-size: 14pt;
}

input, select, textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
}

/* Basic */

	html {
		box-sizing: border-box;
	}

	*, *:before, *:after {
		box-sizing: inherit;
	}

	body {
		background: #fff;
	}

		body.is-preload *, body.is-preload *:before, body.is-preload *:after {
			-moz-animation: none !important;
			-webkit-animation: none !important;
			-ms-animation: none !important;
			animation: none !important;
			-moz-transition: none !important;
			-webkit-transition: none !important;
			-ms-transition: none !important;
			transition: none !important;
		}

	body, input, select, textarea {
		color: #666;
		font-family: Helvetica, Arial, sans-serif;
		font-size: 14pt;
		font-weight: 300;
		line-height: 1.65em;
	}

	strong, b {
		color: #555;
		font-weight: 400;
	}

	em, i {
		font-style: italic;
	}

	p {
		margin: 0 0 2em 0;
	}

	h1, h2, h3, h4, h5, h6 {
		color: #555;
		line-height: 1em;
		margin: 0 0 1em 0;
	}

		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
			color: inherit;
			text-decoration: none;
		}

	h1 {
		font-size: 2.25em;
		line-height: 1.35em;
	}

	h2 {
		font-size: 2em;
		line-height: 1.35em;
	}

	h3 {
		font-size: 1.35em;
		line-height: 1.5em;
	}

	h4 {
		font-size: 1.25em;
		line-height: 1.5em;
	}

	h5 {
		font-size: 0.9em;
		line-height: 1.5em;
	}

	h6 {
		font-size: 0.7em;
		line-height: 1.5em;
	}

	sub {
		font-size: 0.8em;
		position: relative;
		top: 0.5em;
	}

	sup {
		font-size: 0.8em;
		position: relative;
		top: -0.5em;
	}

	hr {
		border: 0;
		border-bottom: solid 1px rgba(144, 144, 144, 0.5);
		margin: 2em 0;
	}

		hr.major {
			margin: 3em 0;
		}

	blockquote {
		border-left: solid 4px rgba(144, 144, 144, 0.5);
		font-style: italic;
		margin: 0 0 2em 0;
		padding: 0.5em 0 0.5em 2em;
	}

	code {
		background: rgba(144, 144, 144, 0.075);
		border-radius: 4px;
		border: solid 1px rgba(144, 144, 144, 0.5);
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0.25em;
		padding: 0.25em 0.65em;
	}

	pre {
		-webkit-overflow-scrolling: touch;
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0 2em 0;
	}

		pre code {
			display: block;
			line-height: 1.75em;
			padding: 1em 1.5em;
			overflow-x: auto;
		}

	.align-left {
		text-align: left;
	}

	.align-center {
		text-align: center;
	}

	.align-right {
		text-align: right;
	}

/* Container */

	.container {
		margin: 0 auto;
		max-width: calc(100% - 4em);
		width: 60em;
	}

		.container.xsmall {
			width: 15em;
		}

		.container.small {
			width: 30em;
		}

		.container.medium {
			width: 45em;
		}

		.container.large {
			width: 75em;
		}

		.container.xlarge {
			width: 90em;
		}

		.container.max {
			width: 100%;
		}




/* Section/Article */

	section.special, article.special {
		text-align: center;
	}

	header p {
		color: #999;
		margin: 0 0 1.5em 0;
		position: relative;
	}

	header h2 + p {
		font-size: 1.25em;
		line-height: 1.5em;
		margin-top: -1em;
	}

	header h3 + p {
		font-size: 1.1em;
		line-height: 1.5em;
		margin-top: -0.8em;
	}

	header h4 + p,
	header h5 + p,
	header h6 + p {
		font-size: 0.9em;
		line-height: 1.5em;
		margin-top: -0.6em;
	}

	header.major {
		margin: 0 0 1em 0;
	}

		header.major:after {
			background: rgba(144, 144, 144, 0.5);
			content: '';
			display: inline-block;
			height: 1px;
			margin-top: 1.5em;
			width: 6em;
		}

		header.major h2, header.major h3, header.major h4, header.major h5, header.major h6 {
			margin: 0;
		}

		header.major p {
			margin: 0.7em 0 0 0;
		}

	header.special {
		text-align: center;
	}


/* Icon */

	.center
	{
		margin: auto;
	}

	.icon {
		width: 100%;
		text-decoration: none;
		border-bottom: none;
		position: relative;

	}

		.icon:before {
			-moz-osx-font-smoothing: grayscale;
			-webkit-font-smoothing: antialiased;
			display: inline-block;
			font-style: normal;
			font-variant: normal;
			text-rendering: auto;
			line-height: 1;
			text-transform: none !important;
			font-family: 'Font Awesome 5 Free';
			font-weight: 400;
		}

		.icon > .label {
			display: none;
		}

		.icon:before {
			line-height: inherit;
		}

		.icon.solid:before {
			font-weight: 900 !important;
		}

		.icon.brands:before {
			font-family: 'Font Awesome 5 Brands';
		}

		.icon.style1:before {
			color: #c3e895;
		}

		.icon.style2:before {
			color: #8addaa;
		}

		.icon.style3:before {
			color: #6bd4c8;
		}

		.icon.style4:before {
			color: #57aed3;
		}

		.icon.style5:before {
			color: #4a87d3;
		}

		.icon.style6:before {
			color: #6b88e6;
		}

		.icon.major {
			text-decoration: none;
			color: #555;
			cursor: default;
			display: inline-block;
		}

			.icon.major:before {
				-moz-osx-font-smoothing: grayscale;
				-webkit-font-smoothing: antialiased;
				display: inline-block;
				font-style: normal;
				font-variant: normal;
				text-rendering: auto;
				line-height: 1;
				text-transform: none !important;
				font-family: 'Font Awesome 5 Free';
				font-weight: 400;
			}

			.icon.major:before {
				font-size: 4em;
				line-height: 1em;
			}

/* Image */

	.image {
		border-radius: 4px;
		border: 0;
		display: inline-block;
		position: relative;

	}

		.image img {
			border-radius: 4px;
			display: block;
		}

		.image.left {
			float: left;
			padding: 0 1.5em 1em 0;
			top: 0.25em;
		}

		.image.right {
			float: right;
			padding: 0 0 1em 1.5em;
			top: 0.25em;
		}

		.image.left, .image.right {
			max-width: 40%;
		}

		.image.fit {
			display: block;
			margin: 0 0 2em 0;
			width: 100%;
		}


/* Main */

	.main
	{
		padding: 3em 0 3em 0 ;
	}

/* Header */

	#header
	{
		background-color: #4686a0;
		color: rgba(255, 255, 255, 0.75);
		background-attachment: fixed, fixed, fixed;
		background-image: url("images/overlay2.png"), url("images/overlay3.svg"), linear-gradient(45deg, #cc0000 5%, #440000 30%, #cc0000);
		background-position: top left, center center, center center;
		background-size: auto, cover, cover;
		position: relative;
		text-align: center;
	}


	#header ul.major-icons li .icon {
		border-color: #ffffff;
	}

	#header .icon.major {
		color: #ffffff;
	}

	#header h1 {
		margin: 0;
	}

	#header p {
		margin: 1em 0 0 0;
	}




/* Footer */

	#footer {
		padding: 6em 0 6em 0 ;
		background-color: #4686a0;
		color: rgba(255, 255, 255, 0.75);
		background-attachment: fixed,							fixed,							fixed;
		background-image: url("images/overlay2.png"), url("images/overlay3.svg"), linear-gradient(45deg, #cc0000 5%, #440000 30%, #cc0000);
		background-position: top left,						center center,					center center;
		background-size: auto,							cover,							cover;
		text-align: center;
	}

		#footer a {
			border-bottom-color: rgba(255, 255, 255, 0.5);
		}

			#footer a:hover {
				color: #ffffff;
			}

		#footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6, #footer strong, #footer b {
			color: #ffffff;
		}

		#footer header p {
			color: #ffffff;
		}

		#footer header.major:after {
			background: #ffffff;
		}

		#footer input[type="submit"],
		#footer input[type="reset"],
		#footer input[type="button"],
		#footer button,
		#footer .button {
			box-shadow: inset 0 0 0 1px #ffffff;
			color: #ffffff !important;
		}

			#footer input[type="submit"]:hover,
			#footer input[type="reset"]:hover,
			#footer input[type="button"]:hover,
			#footer button:hover,
			#footer .button:hover {
				background-color: rgba(255, 255, 255, 0.125);
			}

			#footer input[type="submit"]:active,
			#footer input[type="reset"]:active,
			#footer input[type="button"]:active,
			#footer button:active,
			#footer .button:active {
				background-color: rgba(255, 255, 255, 0.25);
			}

			#footer input[type="submit"].primary,
			#footer input[type="reset"].primary,
			#footer input[type="button"].primary,
			#footer button.primary,
			#footer .button.primary {
				background-color: #ffffff;
				box-shadow: inset 0 0 0 1px #ffffff !important;
				color: #4686a0 !important;
			}

				#footer input[type="submit"].primary:hover,
				#footer input[type="reset"].primary:hover,
				#footer input[type="button"].primary:hover,
				#footer button.primary:hover,
				#footer .button.primary:hover {
					background-color: rgba(255, 255, 255, 0.125) !important;
					color: #ffffff !important;
				}

				#footer input[type="submit"].primary:active,
				#footer input[type="reset"].primary:active,
				#footer input[type="button"].primary:active,
				#footer button.primary:active,
				#footer .button.primary:active {
					background-color: rgba(255, 255, 255, 0.25) !important;
				}

		#footer ul.major-icons li .icon
		{
			border-color: #ffffff;
		}

		#footer .icon.major
		{
			color: #ffffff;
		}

		#footer .icons
		{
			margin: 0;
		}

		#footer .copyright {
			font-size: 0.8em;
			list-style: none;
			margin: 2em 0 0 0;
			padding: 0;
		}

			#footer .copyright li {
				border-left: solid 1px;
				display: inline-block;
				line-height: 1em;
				margin-left: 1em;
				padding: 0 0 0 1em;
			}

				#footer .copyright li:first-child {
					border-left: 0;
					margin-left: 0;
					padding: 0;
				}

/**************************************/
/*     Note Navigation Buttons        */
/**************************************/
.noteButton
{
    background-color: #990000; /* Crimson Red */
    border: none;

    color: white;
    padding: 15px 36px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    cursor: pointer;
    -webkit-transition-duration: 0.4s; /* Safari */
    transition-duration: 0.4s;
    box-shadow: 0 0px 0px 0 rgba(0,0,0,0.2), 0 0px 5px 0 rgba(0,0,0,0.8);
}

.noteButtonFor:hover
{
    background-color: #bb0000 ;
}

.noteButtonBack
{
    border: #cecece;
    background-color: ivory;
}

.noteButtonBack:hover
{
    border: #cecece;
    background-color: #e9e9e9;
}

ul.square
{
	margin-bottom: 10px;
	margin-left: 50px;
	list-style-type: square;
}

ul.square li
{
	margin-bottom: 10px;
}

ul.circle {
	list-style-type: circle;
	margin-top: 10px;
	margin-bottom: 10px;
	margin-left: 50px;
  }

ol.roman
{
	margin-bottom: 10px;
	margin-left: 50px;
	list-style-type: upper-roman;
}

ol.roman li
{
	margin-bottom: 10px;
}

#geo-table
{
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
	border-collapse: collapse;
	width: 100%;
  }

  #geo-table td, #geo-table th
  {
	border: 1px solid #ddd;
	padding: 8px;
  }

  #geo-table tr:nth-child(even){background-color: #f2f2f2;}

  #geo-table tr:hover {background-color: #ddd;}

  #geo-table th
  {
	padding-top: 12px;
	padding-bottom: 12px;
	text-align: left;
	background-color: #990000;
	color: white;
  }

/**************************************/
/*     Front Page Makeover            */
/**************************************/

body.home-page
{
	background: #f7f1e6;
	color: #182421;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.65;
	overflow-x: hidden;
}

.home-page a
{
	color: #6d1d17;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

.home-page a:hover
{
	color: #3d6f62;
}

.home-page p
{
	margin: 0 0 1.25rem;
}

.home-page h1,
.home-page h2,
.home-page h3
{
	color: #182421;
	font-weight: 800;
	letter-spacing: 0;
	margin: 0;
}

.home-page h1
{
	color: #fffaf0;
	font-size: clamp(2.45rem, 6vw, 5.6rem);
	line-height: 0.95;
	max-width: 10ch;
	text-shadow: 0 2px 26px rgba(0, 0, 0, 0.55);
}

.home-page h2
{
	font-size: clamp(1.8rem, 3vw, 2.7rem);
	line-height: 1.1;
	margin-bottom: 1.25rem;
}

.home-page h3
{
	font-size: 1.25rem;
	line-height: 1.2;
}

.home-page .container
{
	max-width: min(1180px, calc(100% - 2rem));
	width: 100%;
}

body.home-page #header.site-hero
{
	background:
		linear-gradient(90deg, rgba(20, 24, 20, 0.84) 0%, rgba(69, 37, 23, 0.62) 44%, rgba(31, 57, 49, 0.24) 100%),
		url("../../images/landscape.jpg") center / cover no-repeat;
	background-attachment: scroll;
	color: #fffaf0;
	min-height: min(760px, 92vh);
	overflow: visible;
	text-align: left;
}

.home-page .hero-shell
{
	display: flex;
	flex-direction: column;
	gap: clamp(4rem, 10vh, 8rem);
	margin: 0 auto;
	max-width: 1280px;
	min-height: min(760px, 92vh);
	padding: 1.1rem clamp(1rem, 3vw, 2rem) clamp(3rem, 8vh, 5rem);
}

.home-page .site-nav
{
	align-items: center;
	background: rgba(14, 12, 10, 0.54);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 8px;
	box-sizing: border-box;
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	max-width: 100%;
	padding: 0.65rem;
	position: relative;
	width: 100%;
	z-index: 20;
}

.home-page .brand-link
{
	align-items: center;
	color: #ffffff;
	display: inline-flex;
	flex: 0 0 auto;
	gap: 0.95rem;
	min-width: 0;
	padding: 0.35rem 0.55rem;
	text-decoration: none;
}

.home-page .brand-link span
{
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.home-page .logo
{
	height: auto;
	margin: 0;
	max-width: 245px;
	width: clamp(185px, 22vw, 245px);
}

.home-page #toggle-menu
{
	background: rgba(255, 255, 255, 0.11);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 8px;
	color: #ffffff;
	cursor: pointer;
	display: none;
	font-size: 0.95rem;
	font-weight: 800;
	line-height: 1;
	padding: 0.85rem 1rem;
}

.home-page #toggle-menu:after
{
	border: solid currentColor;
	border-width: 0 2px 2px 0;
	content: "";
	display: inline-block;
	height: 0.42rem;
	margin-left: 0.45rem;
	transform: rotate(45deg);
	width: 0.42rem;
}

.home-page #tm,
.home-page #menu input[type="checkbox"]
{
	clip: rect(0 0 0 0);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.home-page #menu .main-menu
{
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.15rem;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
}

.home-page #menu li
{
	border: 0;
	float: none;
	list-style: none;
	position: relative;
}

.home-page #menu a
{
	border-radius: 8px;
	color: rgba(255, 255, 255, 0.9);
	display: block;
	font-size: 0.9rem;
	font-weight: 800;
	line-height: 1.15;
	padding: 0.75rem 0.8rem;
	text-decoration: none;
	text-shadow: none;
	white-space: nowrap;
}

.home-page #menu summary
{
	align-items: center;
	border-radius: 8px;
	color: rgba(255, 255, 255, 0.9);
	cursor: pointer;
	display: flex;
	font-size: 0.9rem;
	font-weight: 800;
	gap: 0.35rem;
	justify-content: space-between;
	line-height: 1.15;
	list-style: none;
	padding: 0.75rem 0.8rem;
	text-shadow: none;
	white-space: nowrap;
}

.home-page #menu summary::-webkit-details-marker
{
	display: none;
}

.home-page #menu summary:after
{
	border: solid currentColor;
	border-width: 0 2px 2px 0;
	content: "";
	height: 0.42rem;
	margin-left: 0.15rem;
	transform: rotate(45deg);
	transition: transform 0.16s ease;
	width: 0.42rem;
}

.home-page #menu details[open] > summary:after
{
	transform: rotate(225deg);
}

.home-page #menu a:hover,
.home-page #menu summary:hover,
.home-page #menu details[open] > summary,
.home-page #menu li:focus-within > a
{
	background: rgba(255, 255, 255, 0.14);
	color: #ffffff;
}

.home-page #menu .nav-group
{
	position: relative;
}

.home-page #menu .sub-menu
{
	background: rgba(56, 31, 20, 0.98);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 8px;
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.28);
	display: none;
	left: 0;
	margin: 0;
	min-width: 13.5rem;
	overflow: hidden;
	padding: 0.35rem;
	position: absolute;
	top: calc(100% + 0.45rem);
	z-index: 30;
}

.home-page #menu details[open] > .sub-menu
{
	display: block;
}

.home-page #menu .sub-menu li
{
	border: 0;
}

.home-page #menu .sub-menu a
{
	border-radius: 6px;
	font-size: 0.88rem;
	padding: 0.7rem 0.8rem;
	white-space: normal;
}

.home-page .hero-copy
{
	max-width: 760px;
	padding-left: clamp(0rem, 2vw, 2.6rem);
}

.home-page .eyebrow
{
	color: #d5a84e;
	font-size: 0.83rem;
	font-weight: 900;
	letter-spacing: 0.16em;
	margin-bottom: 0.9rem;
	text-transform: uppercase;
}

.home-page .hero-summary
{
	color: rgba(255, 250, 240, 0.9);
	font-size: clamp(1.08rem, 2vw, 1.35rem);
	line-height: 1.55;
	margin: 1.35rem 0 1.75rem;
	max-width: 38rem;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.5);
}

.home-page .hero-actions
{
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
}

.home-page .hero-actions a
{
	background: #fffaf0;
	border: 1px solid rgba(255, 255, 255, 0.68);
	border-radius: 8px;
	color: #43130f;
	display: inline-flex;
	font-weight: 900;
	line-height: 1;
	padding: 0.95rem 1.15rem;
	text-decoration: none;
}

.home-page .hero-actions a + a
{
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff;
}

.home-page .hero-actions a:hover
{
	background: #d5a84e;
	color: #2d1b10;
}

.home-page .course-intro
{
	background: #fbf4e7;
	padding: clamp(3.5rem, 8vw, 6.5rem) 0;
}

.home-page .intro-grid
{
	align-items: start;
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
	grid-template-columns: minmax(0, 1fr) minmax(280px, 410px);
}

.home-page .intro-copy
{
	max-width: 760px;
}

.home-page .intro-copy p
{
	color: #3f4c49;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.08rem;
	line-height: 1.82;
}

.home-page .intro-copy b
{
	color: #6d1d17;
	font-weight: 800;
}

.home-page .gravity-feature
{
	background: #eee6d7;
	border: 1px solid #d9cfbd;
	border-radius: 8px;
	box-shadow: 0 18px 42px rgba(55, 45, 30, 0.12);
	padding: clamp(1rem, 3vw, 1.5rem);
	position: sticky;
	top: 1rem;
}

.home-page .gravity-feature h2
{
	color: #5c1d17;
	font-size: 1.28rem;
	margin-bottom: 1rem;
	text-align: left;
}

.home-page .gravity-earth
{
	background: #121a1d;
	border: 0;
	border-radius: 8px;
	display: block;
	margin: 0 auto 1rem;
	max-width: 320px;
	width: min(100%, 320px);
}

.home-page .gravity-feature p
{
	color: #46534f;
	font-size: 0.95rem;
	line-height: 1.6;
	margin: 0;
}

.home-page .module-section
{
	background:
		linear-gradient(180deg, rgba(61, 111, 98, 0.12), rgba(247, 241, 230, 0)),
		#f7f1e6;
	padding: clamp(3rem, 7vw, 5.5rem) 0;
}

.home-page .section-heading
{
	margin-bottom: 1.5rem;
	max-width: 720px;
}

.home-page .section-heading .eyebrow
{
	color: #3d6f62;
}

.home-page .module-grid
{
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-page .module-card
{
	background: #fffaf0;
	border: 1px solid #d9cfbd;
	border-radius: 8px;
	box-shadow: 0 14px 36px rgba(55, 45, 30, 0.08);
	padding: 1.25rem;
}

.home-page .module-card h3
{
	color: #5c1d17;
	margin-bottom: 1rem;
}

.home-page .module-card ul
{
	display: grid;
	gap: 0.45rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.home-page .module-card a
{
	align-items: center;
	border-radius: 6px;
	color: #182421;
	display: flex;
	font-weight: 800;
	justify-content: space-between;
	padding: 0.6rem 0.7rem;
	text-decoration: none;
}

.home-page .module-card a:after
{
	border: solid currentColor;
	border-width: 0 2px 2px 0;
	color: #3d6f62;
	content: "";
	height: 0.42rem;
	margin-left: 1rem;
	transform: rotate(-45deg);
	width: 0.42rem;
}

.home-page .module-card a:hover
{
	background: #e8efe5;
	color: #6d1d17;
}

.home-page #footer,
body:not(.home-page) #footer
{
	background:
		linear-gradient(90deg, rgba(24, 28, 24, 0.92), rgba(69, 37, 23, 0.9)),
		url("../../images/Footer.jpg") center / cover no-repeat;
	padding: 2.2rem 1rem;
}

.home-page #footer .copyright,
body:not(.home-page) #footer .copyright
{
	color: rgba(255, 255, 255, 0.86);
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 1rem;
	justify-content: center;
	margin: 0;
}

.home-page #footer .copyright li,
body:not(.home-page) #footer .copyright li
{
	border-left: 1px solid rgba(255, 255, 255, 0.35);
	line-height: 1.3;
	margin: 0;
	padding: 0 0 0 1rem;
}

.home-page #footer .copyright li:first-child,
body:not(.home-page) #footer .copyright li:first-child
{
	border-left: 0;
	padding-left: 0;
}

@media only screen and (max-width: 1080px)
{
	.home-page #toggle-menu
	{
		display: inline-flex;
		flex: 0 0 auto;
	}

	.home-page .site-nav
	{
		align-items: stretch;
		flex-wrap: wrap;
	}

	.home-page .brand-link
	{
		flex: 1 1 auto;
	}

	.home-page #menu .main-menu
	{
		background: rgba(20, 14, 12, 0.76);
		border-radius: 8px;
		display: none;
		flex: 1 0 100%;
		gap: 0.25rem;
		padding: 0.35rem;
	}

	.home-page #tm:checked + .main-menu
	{
		display: grid;
		gap: 0.15rem;
	}

	.home-page #menu li
	{
		display: block;
		width: 100%;
	}

	.home-page #menu .nav-group,
	.home-page #menu li > a,
	.home-page #menu summary
	{
		width: 100%;
	}

	.home-page #menu li > a,
	.home-page #menu summary
	{
		background: rgba(255, 255, 255, 0.07);
		box-sizing: border-box;
		font-size: 0.96rem;
		padding: 0.9rem 1rem;
		white-space: normal;
	}

	.home-page #menu .sub-menu
	{
		background: rgba(78, 43, 27, 0.92);
		border: 0;
		border-radius: 8px;
		box-shadow: none;
		margin: 0.25rem 0 0.45rem;
		min-width: 0;
		padding: 0.35rem;
		position: static;
		width: 100%;
	}

	.home-page #menu details[open] > .sub-menu
	{
		display: block;
	}

	.home-page #menu .sub-menu a
	{
		background: rgba(255, 255, 255, 0.08);
		padding-left: 1.15rem;
	}

	.home-page .intro-grid
	{
		grid-template-columns: 1fr;
	}

	.home-page .gravity-feature
	{
		position: static;
	}

	.home-page .module-grid
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 640px)
{
	body.home-page
	{
		font-size: 15px;
	}

	body.home-page #header.site-hero,
	.home-page .hero-shell
	{
		min-height: 0;
	}

	.home-page .hero-shell
	{
		gap: 3.25rem;
		padding: 0.75rem 0.75rem 3rem;
	}

	.home-page .site-nav
	{
		border-radius: 8px;
		display: grid;
		gap: 0.5rem;
		grid-template-columns: 1fr;
		padding: 0.45rem;
	}

	.home-page .brand-link
	{
		justify-content: center;
		padding: 0.65rem 0.45rem;
	}

	.home-page .brand-link span
	{
		display: none;
	}

	.home-page .logo
	{
		max-width: 235px;
		width: min(76vw, 235px);
	}

	.home-page #toggle-menu
	{
		box-sizing: border-box;
		font-size: 0.86rem;
		justify-content: center;
		padding: 0.72rem 0.78rem;
		width: 100%;
	}

	.home-page .hero-copy
	{
		box-sizing: border-box;
		max-width: 100%;
		padding: 0.5rem 2rem 0.5rem 0.5rem;
	}

	.home-page h1
	{
		font-size: clamp(2rem, 13vw, 2.8rem);
		max-width: 9ch;
	}

	.home-page h2
	{
		font-size: 1.42rem;
		overflow-wrap: anywhere;
	}

	.home-page .hero-summary,
	.home-page .intro-copy p
	{
		overflow-wrap: normal;
	}

	.home-page .hero-summary
	{
		font-size: 1rem;
		max-width: 21rem;
	}

	.home-page .container
	{
		max-width: 100%;
		padding-left: 1rem;
		padding-right: 5rem;
		width: auto;
	}

	.home-page .intro-copy,
	.home-page .gravity-feature,
	.home-page .module-card
	{
		min-width: 0;
	}

	.home-page .hero-actions
	{
		display: grid;
	}

	.home-page .hero-actions a
	{
		justify-content: center;
		text-align: center;
	}

	.home-page .course-intro,
	.home-page .module-section
	{
		padding: 3rem 0;
	}

	.home-page .intro-copy p
	{
		font-size: 1rem;
		line-height: 1.7;
	}

	.home-page .module-grid
	{
		grid-template-columns: 1fr;
	}

	.home-page #footer .copyright,
	body:not(.home-page) #footer .copyright
	{
		display: grid;
		text-align: center;
	}

	.home-page #footer .copyright li,
	body:not(.home-page) #footer .copyright li
	{
		border-left: 0;
		padding-left: 0;
	}
}

/**************************************/
/*     Shared Legacy Page Refresh     */
/**************************************/

body:not(.home-page) #header
{
	background:
		linear-gradient(90deg, rgba(20, 24, 20, 0.84), rgba(69, 37, 23, 0.72)),
		url("../../images/landscape.jpg") center / cover no-repeat;
	background-attachment: scroll;
	padding: 1rem clamp(0.75rem, 3vw, 2rem) 1.35rem;
}

body:not(.home-page)
{
	overflow-x: hidden;
}

body:not(.home-page) #header .icon.major
{
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	justify-content: center;
	margin: 0 auto 0.75rem;
	max-width: 1180px;
}

body:not(.home-page) #header .icon.major br
{
	display: none;
}

body:not(.home-page) #header .logo
{
	margin: 0;
	max-width: 260px;
	width: min(70vw, 260px);
}

body:not(.home-page) #header h1
{
	color: #fffaf0 !important;
	font-size: clamp(1.4rem, 3vw, 2.2rem);
	line-height: 1.1;
	margin: 0;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.44);
}

body:not(.home-page) .menu-container
{
	background: transparent;
	display: block;
	margin: 0 auto;
	max-width: 1180px;
	padding: 0;
}

body:not(.home-page) #menu
{
	background: rgba(14, 12, 10, 0.58);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 8px;
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.2);
	margin: 0 auto;
	max-width: 100%;
	padding: 0.45rem;
}

body:not(.home-page) #toggle-menu
{
	background: rgba(255, 255, 255, 0.09);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 8px;
	box-sizing: border-box;
	color: #ffffff;
	cursor: pointer;
	font-weight: 800;
	justify-content: center;
	text-align: center;
	text-shadow: none;
	width: 100%;
}

body:not(.home-page) #menu .main-menu
{
	gap: 0.2rem;
	justify-content: center;
}

body:not(.home-page) #menu li
{
	border: 0;
}

body:not(.home-page) #menu a,
body:not(.home-page) #menu summary,
body:not(.home-page) #toggle-menu
{
	border-radius: 8px;
	color: rgba(255, 255, 255, 0.9);
	cursor: pointer;
	display: flex;
	font-size: 0.92rem;
	font-weight: 800;
	gap: 0.35rem;
	justify-content: space-between;
	line-height: 1.15;
	list-style: none;
	padding: 0.78rem 0.85rem;
	text-decoration: none;
	text-shadow: none;
}

body:not(.home-page) #toggle-menu
{
	justify-content: flex-start;
}

body:not(.home-page) #menu summary::-webkit-details-marker
{
	display: none;
}

body:not(.home-page) #menu summary:after,
body:not(.home-page) #toggle-menu:after
{
	border: solid currentColor;
	border-width: 0 2px 2px 0;
	content: "";
	height: 0.42rem;
	margin-left: 0.15rem;
	transform: rotate(45deg);
	transition: transform 0.16s ease;
	width: 0.42rem;
}

body:not(.home-page) #menu details[open] > summary:after
{
	transform: rotate(225deg);
}

body:not(.home-page) #menu a:hover,
body:not(.home-page) #menu summary:hover,
body:not(.home-page) #menu details[open] > summary,
body:not(.home-page) #menu li:focus-within > a,
body:not(.home-page) #toggle-menu:hover
{
	background: rgba(255, 255, 255, 0.14);
	color: #ffffff;
	text-decoration: none;
}

body:not(.home-page) #menu .nav-group
{
	position: relative;
}

body:not(.home-page) #menu .sub-menu
{
	background: rgba(56, 31, 20, 0.98);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 8px;
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.28);
	overflow: hidden;
	padding: 0.35rem;
}

body:not(.home-page) #menu .sub-menu a
{
	border-radius: 6px;
	font-size: 0.88rem;
	padding: 0.7rem 0.8rem;
	white-space: normal;
}

body:not(.home-page) #menu details[open] > .sub-menu
{
	display: block;
}

body:not(.home-page) .main
{
	background: #fbf4e7;
	padding: clamp(2rem, 5vw, 4rem) 0;
}

body:not(.home-page) .main > .container
{
	background: #fffaf0;
	border: 1px solid #d9cfbd;
	border-radius: 8px;
	box-shadow: 0 14px 36px rgba(55, 45, 30, 0.08);
	padding: clamp(1.25rem, 3vw, 2.4rem);
}

body:not(.home-page) .center-container
{
	align-items: flex-start;
	display: block;
	min-width: 0;
	overflow: hidden;
	width: 100%;
}

body:not(.home-page) .split-side-left
{
	min-width: 0;
	overflow-wrap: break-word;
	width: 100%;
}

body:not(.home-page) .main p,
body:not(.home-page) .main li
{
	overflow-wrap: break-word;
}

body:not(.home-page) .main input,
body:not(.home-page) .main select,
body:not(.home-page) .main textarea,
body:not(.home-page) .main .form-row,
body:not(.home-page) .main .wrap-input100,
body:not(.home-page) .main .wrap-contact100
{
	box-sizing: border-box;
	max-width: 100%;
	min-width: 0;
}

@media only screen and (max-width: 760px)
{
	body:not(.home-page) #menu
	{
		background: rgba(14, 12, 10, 0.62);
	}

	body:not(.home-page) #tm:checked + .main-menu
	{
		display: grid;
		gap: 0.25rem;
		margin-top: 0.5rem;
	}

	body:not(.home-page) #menu li
	{
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		width: 100%;
	}

	body:not(.home-page) #menu li > a
	{
		background: rgba(255, 255, 255, 0.07);
		white-space: normal;
	}

	body:not(.home-page) #menu .sub-menu
	{
		background: rgba(78, 43, 27, 0.92);
		border: 0;
		box-shadow: none;
		grid-column: 1 / -1;
		margin: 0.25rem 0 0.45rem;
		min-width: 0;
		position: static;
		width: 100%;
	}

	body:not(.home-page) #menu input[type="checkbox"]:checked + .sub-menu
	{
		display: block;
	}

	body:not(.home-page) #menu .sub-menu a
	{
		background: rgba(255, 255, 255, 0.08);
	}
}

@media only screen and (min-width: 761px)
{
	body:not(.home-page) #toggle-menu
	{
		display: none;
	}

	body:not(.home-page) #menu .main-menu
	{
		display: flex;
	}

	body:not(.home-page) #menu .main-menu > li > a,
	body:not(.home-page) #menu .main-menu > li > .nav-group > summary
	{
		white-space: nowrap;
	}

	body:not(.home-page) #menu .sub-menu
	{
		top: calc(100% + 0.45rem);
	}
}

@media only screen and (min-width: 761px) and (max-width: 1050px)
{
	body:not(.home-page) #menu
	{
		width: calc(100% - 3rem);
	}

	body:not(.home-page) #menu a,
	body:not(.home-page) #menu summary
	{
		font-size: 0.84rem;
		gap: 0.25rem;
		padding: 0.68rem 0.46rem;
	}
}

@media only screen and (max-width: 650px)
{
	body:not(.home-page) #header
	{
		padding: 0.75rem;
	}

	body:not(.home-page) #header .icon.major
	{
		display: grid;
		justify-items: center;
		margin-bottom: 0.65rem;
		text-align: center;
	}

	body:not(.home-page) #header .logo
	{
		width: min(78vw, 245px);
	}

	body:not(.home-page) #header h1
	{
		font-size: 1.35rem;
	}

	body:not(.home-page) .main > .container
	{
		box-sizing: border-box;
		margin-left: 1rem;
		margin-right: 1rem;
		max-width: none;
		overflow: hidden;
		padding: 1.2rem;
		width: auto;
	}

	body:not(.home-page) .main h1,
	body:not(.home-page) .main h2,
	body:not(.home-page) .main h3
	{
		overflow-wrap: break-word;
	}
}
