html,
body
{
	margin: 0;
}

body
{
	font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	color: black;
	background-color: white;
}

h1
{
	font-size: 22px;
	font-weight: bold;
}

h2
{
	font-size: 18px;
	font-weight: bold;
}

h3
{
	font-size: 16px;
	font-weight: bold;
}

a
{
	color: blue;
	text-decoration: none;
}

a:hover
{
	color: blue;
	text-decoration: underline;
	cursor: pointer;
}

fieldset
{
	border: none;
}

fieldset > div
{
	margin: 0.5rem 0;
}

fieldset label
{
	margin-left: 5px;
	line-height: 1.7rem;
}

fieldset input[type=text],
fieldset input[type=email],
fieldset input[type=password]
{
	padding: 6px;
	width: 14rem;
	border: solid 1px #888;
	border-radius: 3px;
}

fieldset input[type=submit]
{
	font-size: 1rem;
	margin-top: 1rem;
	padding: 4px 1.2rem;
}

table
{
	border-left: solid 1px #ccc;
	border-top: solid 1px #ccc;
	border-collapse: collapse;
}

table th,
table td
{
	font-weight: normal;
	border-right: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
	padding: 4px 8px;
}

table th
{
	font-weight: 600;
	background: #eaf4f3;
}

table tbody tr:nth-child( 2n )
{
	background: #f0f0f0;
}

table a,
table a:hover
{
	color: black;
	text-decoration: none;
}

header
{
	padding: 1rem 2rem;
	background: #41867e;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

header h1
{
	margin: 0;
}

header a,
header a:hover
{
	color: white;
	text-decoration: none;
}

header ul,
header li
{
	list-style: none;
	margin: 0;
	padding: 0;
}

header ul
{
	display: flex;
	flex-direction: row;
}

header li
{
	margin-left: 2rem;
}

.left
{
	text-align: left;
}

.center
{
	text-align: center;
}

.right
{
	text-align: right;
}

.error
{
	color: red;
}

.error-background
{
	background-color: #ff8080;
}

.highlight
{
	background-color: yellow;
}

.content
{
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 1rem 2rem;
}

.content-list
{
	padding: 1rem 2rem;
	text-align: center;
}

.content-list .scroll
{
	overflow-x: auto;
}

.content-list .scroll table
{
	margin: auto;
}

.block
{
	text-align: center;
}

@media print
{
	h1
	{
		font-size: 18px;
	}

	h2
	{
		font-size: 16px;
	}

	h3
	{
		font-size: 13px;
	}

	header
	{
		display: none;
	}

	.block
	{
		padding-top: 1rem;
		position: relative;
		text-align: left;
		page-break-inside: avoid;
		break-inside: avoid;
	}
}
