@-webkit-keyframes bg-scrolling {
	100% {
		background-position: 700px 700px;
	}
}

html {
	scrollbar-color: rgb(17 132 126) rgb(3 66 66);
	background-color: rgb(25 25 41);
	background-image: url(/Images/StarBackground.png);
	-webkit-animation: bg-scrolling linear 15s infinite;
	background-attachment: fixed;
}

body {
	color: aliceblue; /* :) */
}

p, h1, h2, h3, a, li, button, input, label, img {
	font-family: ocr-a-std, monospace;
	overflow-wrap: anywhere;
}

a {
	text-decoration: underline;
	color: aliceblue;
}

a:not(.topbar, .navbar > a, .list-link, .div-no-margin-bottom-misc) {
	display: inline-block;
	margin-bottom: 20px;
}

hr {
	width: 70%;
	margin-top: 25px;
	margin-bottom: 25px;
	border-style: hidden;
	border-top: 3px dashed aliceblue;
	color: aliceblue;
}

.topbar {
	display: inline-block;
	margin-bottom: 12px;
	max-width: 100%;
	max-height: 100vh;
	height: auto;
}

img {
	margin-bottom: 5px;
}

button { /* To negate iOS automatic styling */
	-webkit-appearance: none;
	border-radius: 0;
}

button:hover {
	cursor: pointer;	
}

form {
	margin-bottom: 20px;
}

textarea {
	resize: none;
	margin-bottom: 20px;
}

iframe {
	border: 3px dashed aliceblue;
}

.email-message {
	height: 100px;
	width: calc(100%);
}

.full-width-area {
	width: calc(100%);
}

header, .header-title, .centered-text, .div-center-text-misc {
	text-align: center;
}

.navbar {
	max-width: 860px;
	display: flex;
	justify-content: space-evenly;
	border: 7px solid rgb(3 66 66);
	background-color: rgb(3 66 66);
	margin: auto;
}

.navbar > a, .navbar > p {
	margin-top: 10px;
	margin-bottom: 5px;
}

.navbar > p {
	color: rgb(17 109 104);
}

.text-module {
	background-color: rgb(17 109 104);
	min-height: 50px;
	max-width: 800px;
	margin: auto;
	padding-left: 30px;
	padding-right: 30px;
	padding-bottom: 10px;
	margin-bottom: 15px;
	border: 7px solid rgb(3 66 66);
	scrollbar-color: rgb(180 215 180) rgb(3 66 66);
}

.extra-module {
	background-color: rgb(191 62 40);
	min-height: 50px;
	max-width: 800px;
	margin: auto;
	padding-left: 30px;
	padding-right: 30px;
	margin-bottom: 15px;
	border: 7px solid rgb(112 15 13);
	scrollbar-color: rgb(215 180 180) rgb(112 15 13);
}

.text-module > img {
	height: 100%;
	margin: auto;
	max-width: 100%;
	object-fit: contain;
}

.flex-container {
	display: flex;
	align-items: center;
	max-width: 874px;	/* Seems random but the true max width of a text/extra module on my web page is this. */
	margin: auto;
}

.setting-module {
	background-color: rgb(66 66 66);
	min-height: 50px;
	max-width: 800px;
	margin: auto;
	padding-left: 30px;
	padding-right: 30px;
	margin-bottom: 15px;
	border: 7px solid rgb(42 42 42);
	text-align: center;
}

.caption {
	font-size: smaller;
	text-align: center;
}

.carousel {
	height: 50px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	white-space: nowrap;
	mask-image: none;	/* To be programmatically set through Javascript */
}

.row {
	display: flex;
}

.skinny-column {
	flex: 20%;
	margin-left: 10px;
	margin-right: 10px;
}

.wide-column {
	flex: 80%;
	margin-left: 10px;
	margin-right: 10px;
}

.centered-elements {
	display: flex;
	justify-content: center;
	gap: 10px;
}

.hidden {
	display: none;
}

.mobile {
	display: none;
}

@media screen and (max-width: 800px) {
	.desktop {
		display: none;
	}

	.mobile {
		display: block;
	}

	#guestbook-module {
		padding-left: 15px;
		padding-right: 15px;
	}

	#settings-container-misc {
		min-height: 210px;
	}
}

footer {
	width: 100%;
	text-align: center;
	font-size: smaller;
}

/* I'm trying to curb my habit of using the style attribute within HTML, so all miscellaneous changes for specific elements go below.*/

#alice-jump-misc {
	margin: auto;
}

#carousel-margin-misc, .no-smoking-misc {
	margin-bottom: 20px;
}

#site-button-container-misc {
	background-color: rgb(191 62 40);
	width: 150px;
	height: 280px;
	margin: auto;
	padding-left: 30px;
	padding-right: 30px;
	margin-right: 15px;
	margin-bottom: 15px;
	border: 7px solid rgb(112 15 13);
	scrollbar-color: rgb(215 180 180) rgb(112 15 13);
	text-align: center;
}

#changelog-container-misc {
	background-color: rgb(191 62 40);
	text-align: center;
	height: 280px;
	width: 800px;
	margin: auto;
	padding-left: 30px;
	padding-right: 30px;
	margin-bottom: 15px;
	border: 7px solid rgb(112 15 13);
	scrollbar-color: rgb(215 180 180) rgb(112 15 13);
}

#disclaimer-container-misc {
	background-color: rgb(66 66 66);
	height: 200px;
	width: 225px;
	margin: auto;
	padding-left: 30px;
	padding-right: 30px;
	margin-right: 15px;
	margin-bottom: 15px;
	border: 7px solid rgb(42 42 42);
	text-align: center;
}

#settings-container-misc {
	background-color: rgb(66 66 66);
	height: 200px;
	width: 725px;
	margin: auto;
	padding-left: 30px;
	padding-right: 30px;
	margin-bottom: 15px;
	border: 7px solid rgb(42 42 42);
	text-align: center;
}

#guestbook-misc {
	background-color: rgb(3 66 66);
}

#counter {
	margin-top: auto;
	margin-bottom: auto;
}