html {
	overflow-y: scroll;
}
* {
	box-sizing: border-box;
}
body {
	font-family: sans-serif;
	color: #2e2e30;
	margin: 0;
	min-height: 100vh;
}
.background-color-main {
	background-color: #72a4e3;
}
.input {
	max-width: 100%;
	padding: 0.375rem 0.75rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #495057;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #ced4da;
	border-radius: 0.25rem;
	border-top-left-radius: 0.25rem;
	border-top-right-radius: 0.25rem;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.input[readonly] {
	background-color: #efefef;
}
.input[disabled] {
	background-color: #efefef;
}
.button {
	display: inline-block;
	font-weight: 400;
	color: #212529;
	text-align: center;
	vertical-align: middle;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-color: transparent;
	border: 1px solid transparent;
	border-top-color: transparent;
	border-right-color: transparent;
	border-bottom-color: transparent;
	border-left-color: transparent;
	padding: 0.375rem 0.75rem;
	font-size: 1em;
	line-height: 1.5;
	border-radius: #ced4da;
	box-shadow: 1px 1px 3px #ccc;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
		border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.button:hover {
	box-sizing: 2px 2px 3px #ccc;
}
.button.large {
	font-size: 1.25em;
}
.button.main {
	background-color: #f4f4f4;
	color: #686c71;
}
.button.main:not([disabled]) {
	background-color: #46ce95;
	color: white;
}
.button.main:not([disabled]):hover {
	background-color: #63e0ab;
}
.button.secondary {
	background-color: #f4f4f4;
	color: #686c71;
	font-size: 0.9em;
	padding: 0.15em 0.6em;
}
.button.secondary:not([disabled]) {
	background-color: #72a4e3;
	color: white;
}
.button.secondary:not([disabled]):hover {
	background-color: #8ab6ed;
}
.button.plain {
	border-radius: 3px;
}
.button.plain:not([disabled]) {
	border-color: grey;
}
.button.minor {
	font-size: 0.7em;
	border-radius: 3px;
}
.button.minor:not([disabled]) {
	border-color: grey;
}
.button.inline {
	padding-top: 0;
	padding-bottom: 0;
}
.button:not([disabled]) {
	cursor: pointer;
}
.unstyled-links a {
	color: inherit;
	text-decoration: none;
}
.list.no-style {
	list-style: none;
	padding-left: 0;
}
.list.horizontal > li {
	display: inline-block;
	margin-right: 1em;
	margin-top: 0.3em;
	margin-bottom: 0.3em;
}
.list.horizontal > li:last-child {
	margin-right: 0;
}
.list.vertical.bordered > li {
	border: 1px solid #ced4da;
	border-bottom: none;
}
.list.vertical.bordered > li:first-child {
	border-top-left-radius: 0.25rem;
	border-top-right-radius: 0.25rem;
}
.list.vertical.bordered > li:last-child {
	border-bottom-left-radius: 0.25rem;
	border-bottom-right-radius: 0.25rem;
	border-bottom: 1px solid #ced4da;
}
.list.expandable-items > li:not(.expanded) {
	display: flex;
	align-items: center;
}
.date-time-control {
	display: grid;
	grid-template-columns: max-content auto;
	grid-template-rows: auto auto;
	column-gap: 0.5rem;
	row-gap: 0.5rem;
	align-items: center;
}
@media (min-width: 650px) {
	.date-time-control {
		grid-template-columns: max-content auto max-content auto;
		grid-template-rows: auto;
	}
}
.admin-menu > ul > li > a {
	padding: 1em;
	display: inline-block;
	width: 100%;
	text-decoration: none;
}
.admin-menu > ul > li > a:hover {
	background-color: #f5f7f9;
}
#site-error {
	background-color: #fff0eb;
	border: 3px solid #d20e04;
	border-radius: 0.25rem;
}
.refresh-icon {
	position: relative;
	font-weight: bold;
	color: #249767;
	width: 1em;
	display: inline-block;
}
.refresh-icon::before {
	left: -0.175em;
	bottom: -0.37em;
	font-size: 1.5em;
	position: absolute;
	content: '⟲';
}
.status {
	border-left: 3px solid transparent;
	padding: 0.75rem;
	transition: background-color 0.15s, color 0.15s, border-left-color 0.15s;
}
.status.info {
	color: #2c598f;
	border-left-color: #2c598f;
	background-color: #eefbff;
}
.status.warning {
	color: #743604;
	border-left-color: #743604;
	background-color: #fbdca9;
}
.status.error {
	color: #d20e04;
	border-left-color: #d20e04;
	background-color: #fff0eb;
}
.status.success {
	color: #037503;
	border-left-color: #037503;
	background-color: #eef9ee;
}
.color-error {
	color: #d20e04;
}
.validation {
	font-size: 0.8em;
}
.validation.error {
	color: #d20e04;
}
.validation.warning {
	color: #743604;
}
.box {
	border: 2px solid #eef3ee;
	box-shadow: 2px 2px 2px #f5f7f9;
	border-radius: 0.25rem;
}
.footer {
	background-color: #2e2e30;
	color: #c5c5ca;
}
.footer a {
	color: inherit;
	font-weight: bold;
	text-decoration: none;
}
@media (min-width: 768px) {
	.intro-2-col-m768 {
		display: grid;
		grid-template-columns: 3fr 1fr;
	}
}
.ta-right {
	text-align: right;
}
.fw-bold {
	font-weight: bold;
}
@media (min-width: 768px) {
	.ta-right-m768 {
		text-align: right;
	}
}
.text-color-white {
	color: white;
}
.text-color-default {
	color: #2e2e30;
}
.font-size-1p25 {
	font-size: 1.25em;
}
.p-0p3 {
	padding: 0.3rem;
}
.p-l-0p3 {
	padding-left: 0.3rem;
}
.p-0p5 {
	padding: 0.5rem;
}
.p-1 {
	padding: 1rem;
}
.p-l-1 {
	padding-left: 1rem;
}
.p-r-1 {
	padding-right: 1rem;
}
.p-t-0 {
	padding-top: 0;
}
.p-t-1 {
	padding-top: 1rem;
}
.p-b-1 {
	padding-bottom: 1rem;
}
.p-t-3 {
	padding-top: 3rem;
}
.p-b-3 {
	padding-bottom: 3rem;
}
.m-auto {
	margin: auto;
}
.m-0 {
	margin: 0;
}
.m-l-0p3 {
	margin-left: 0.3rem;
}
.m-l-0p5 {
	margin-left: 0.5rem;
}
.m-r-0p5 {
	margin-right: 0.5rem;
}
.m-l-1 {
	margin-left: 1rem;
}
.m-r-1 {
	margin-right: 1rem;
}
.m-t-0 {
	margin-top: 0;
}
.m-t-auto {
	margin-top: auto;
}
.m-r-auto {
	margin-right: auto;
}
.m-b-auto {
	margin-bottom: auto;
}
.m-l-auto {
	margin-left: auto;
}
.m-t-0p3 {
	margin-top: 0.3rem;
}
.m-b-0p3 {
	margin-bottom: 0.3rem;
}
.m-b-0p5 {
	margin-bottom: 0.5rem;
}
.m-b-1 {
	margin-bottom: 1rem;
}
.m-b-1p5 {
	margin-bottom: 1.5rem;
}
.m-t-1 {
	margin-top: 1rem;
}
.m-t-0p5 {
	margin-top: 0.5rem;
}
.m-b-2 {
	margin-bottom: 2rem;
}
.m-b-3 {
	margin-bottom: 3rem;
}
.m-b-1-m768 {
	margin-bottom: 1rem;
}
.w-100 {
	width: 100%;
}
.top-0p5 {
	top: 0.5rem;
}
.grid-item-all-columns {
	grid-column: 1 / -1;
}
.display-none {
	display: none;
}
.block {
	display: block;
}
.flex {
	display: flex;
}
.sticky {
	position: sticky;
}
.flex-direction-column {
	flex-direction: column;
}
.lh-1p5 {
	line-height: 1.5em;
}
.flex-grow {
	flex-grow: 1;
}
.inline-grid {
	display: inline-grid;
}
.grid {
	display: grid;
}
.grid.left-auto-right-max-content {
	grid-template-columns: auto max-content;
	column-gap: 0.5em;
}
.grid.left-max-content-right-auto {
	grid-template-columns: max-content auto;
	column-gap: 0.5em;
}
.grid.left-auto-right-auto {
	grid-template-columns: auto auto;
	column-gap: 0.5em;
}
.grid.left-1fr-right-1fr-m900 {
	row-gap: 0.5em;
}
@media (min-width: 900px) {
	.grid.left-1fr-right-1fr-m900 {
		column-gap: 0.5em;
		grid-template-columns: 1fr 1fr;
	}
}
.flex-inline-list {
	display: inline flex;
	flex-wrap: wrap;
	align-items: center;
}
.grid-row-gap-1 {
	row-gap: 1rem;
}
.grid-row-gap-0p3 {
	row-gap: 0.3rem;
}
.grid-width-all-columns {
	grid-column: 1 / -1;
}
@media (min-width: 768px) {
	.header-grid-m768 {
		grid-template-columns: 1fr 2fr;
	}
}
.align-items-center {
	align-items: center;
}
@media (min-width: 768px) {
	.justify-content-right-m768 {
		justify-content: right;
	}
}
.width-max-readable {
	width: 75rem;
	max-width: 100%;
}
.list-wrapper {
	height: 10em;
	overflow: auto;
	border-radius: 0.25rem;
	border: 2px solid #ced4da;
}
.dialog-overlay {
	z-index: 10;
	position: fixed;
	width: 100vw;
	height: 100vh;
	display: grid;
	align-content: center;
	justify-content: center;
	background-color: rgba(0, 0, 0, 0.5);
}
.dialog-box {
	z-index: 11;
	background-color: white;
	border: 1px solid gray;
}
.dialog-buttons-box {
	border-top: 1px solid #dbdbdb;
	background-color: #f0f0f0;
	padding: 1em 1.5em;
	text-align: right;
}
.dialog-buttons-box button {
	min-width: 6em;
}
.dialog-buttons-box button:first-child {
	margin-right: 0.5em;
}
.dialog-message {
	padding: 3em 1.8em;
	font-size: 0.82em;
}
