*,
*::before,
*::after {
	box-sizing: border-box;
}

:root {
	--theme-color-background-body: #1A1A1A;
	--theme-color-background-wrapper: #D2D2D2;
	--theme-color-text-normal: #1A1A1A;
	--theme-color-hyperlink-normal: #003B7A;
	--theme-color-hyperlink-selected: #39008F;
	--theme-color-border-normal: #00C220;
	--theme-color-text-error: #840000;
	--theme-color-text-button: #D2D2D2;
	--theme-color-background-button: #2D2D2D;
}

body {
	background-color: var(--theme-color-background-body);
	margin: 0;
	padding: 0;
	font-family: "Geologica", sans-serif;
}

.wrapper {
	margin: 20px auto;
	width: initial;
	max-width: 1000px;
	background-color: var(--theme-color-background-wrapper);
	color: var(--theme-color-text-normal);
	border: 5px solid var(--theme-color-border-normal);
	border-radius: 10px;
	padding: 1rem;
}

header {
	margin: 0;
	padding: 20px;
	background-color: var(--theme-color-background-body);
	border: 5px solid var(--theme-color-border-normal);
	border-radius: 10px;
}

header h1 {
	margin: 0;
	padding: 20px;
	font-weight: 600;
	font-variant-caps: small-caps;
	background-color: var(--theme-color-background-wrapper);
	border: 5px solid var(--theme-color-border-normal);
	border-radius: 10px;
	text-align: center;
	line-height: 1.5;
}

.page-name {
	font-size: 0.8em;
}

nav h2 {
	text-align: center;
	font-weight: 600;
	font-variant-caps: small-caps;
}

nav ul {
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	text-align: center;
	list-style-type: none;
	padding: 0;
}

nav p {
	text-align: center;
}

main h2 {
	text-align: center;
	font-weight: 600;
	font-variant-caps: small-caps;
}

main h3 {
	text-align: center;
	font-weight: 600;
	font-variant-caps: small-caps;
}

main h4 {
	text-align: center;
	font-weight: 600;
	font-variant-caps: small-caps;
}

main p {
	text-align: center;
}

#finalProject-form-userInfo input,
#finalProject-form-userInfo textarea,
#finalProject-form-userInfo select {
	font-family: "Geologica", sans-serif;
}

#finalProject-form-userInfo input[type="submit"] {
	padding: 5px;
	color: var(--theme-color-text-button);
	background-color: var(--theme-color-background-button);
	border-style: hidden;
}

#finalProject-form-userInfo .error-parent {
	color: var(--theme-color-text-error);
}

#finalProject-form-userInfo .error-parent:is(div) {
	padding: 5px;
}

#map {
	width: auto;
	height: 500px;
}

footer {
	display: flex;
	flex-direction: row;
	justify-content: space-around;
}

footer p {
	text-align: center;
	font-weight: 600;
}

a {
	color: var(--theme-color-hyperlink-normal);
	text-decoration: none;
}

a:link {
	color: var(--theme-color-hyperlink-normal);
	text-decoration: none;
}

a:visited {
	color: var(--theme-color-hyperlink-normal);
	text-decoration: none;
}

a:hover {
	color: var(--theme-color-hyperlink-selected);
	text-decoration: underline;
}

a:focus {
	color: var(--theme-color-hyperlink-selected);
	text-decoration: underline;
}

a:active {
	color: var(--theme-color-hyperlink-selected);
	text-decoration: underline;
}

.wrapper hr {
	color: var(--theme-color-text-normal);
	border-style: solid;
	border-width: 1px;
}