html {
	height: 100%;
}

body {
	height: 100%;
	margin-top: 0px;
	margin-bottom: 0px;
	overflow-y: scroll;
	background: #f2f2f2;
	font-family: "Times New Roman", Times, serif;
	font-size: 16px;
	cursor: default;
}

header, .bordered, .unbordered {
	user-select: none;
}

.container {
	margin: auto;
	min-width: 500px;
	max-width: 50em;
	background: white;
	min-height: 100%;
	padding: 0.1px 1in;
	text-align: center;
}

.bordered {
	border: 1px solid rgb(118,118,118);
	border-radius: 3px;
	display: inline-block;
	margin: 10px auto;
	width: calc(100% - 2px);
	text-align: center;
}

.bordered:nth-child(2) {
	margin-top: 0px;
}

.bordered > p {
	width: 50%;
	margin: 10px auto;
}

.unbordered {
	display: inline-block;
	margin: 10px auto;
	width: 100%;
	text-align: center;
}

.unbordered > input {
	width: 100%;
	margin: 0px 10px;
	width: 8em;
}

.filter_div {
	border: 1px solid rgb(118,118,118);
	border-radius: 3px;
	display: flex;
}

#add_filter {
	padding: 10px 0px 10px 10px;
	display: flex;
	justify-content: center;
	align-items: center;
}

#add_filter > input {
	position: relative;
	aspect-ratio: 1/1;
	font-weight: bold;
}

.dropdown_content {
	display: none;
	position: absolute;
	transform: translate(calc(50% + 17px), 0);
	background-color: rgba(0,0,0,1);
	box-shadow: 0px 0px 4px 2px rgba(0,0,0,0.3);
	z-index: 1;
}

.dropdown_content > input {
	margin-bottom: 1px;
}

.show_dropdown {
	display: flex;
	flex-direction: column;
}

#filter_bar {
	padding: 10px 10px 10px 0px;
	display: flex;
	justify-content: left;
	align-items: center;
	width: calc(100% - 21px);
	height: 28px;
	overflow-x: auto;
	overflow-y: hidden;
}

#filter_bar:empty:after {
	content: "No filters selected";
	margin-left: 10px;
	padding: 4px;
	background-color: #e2e2e2;
	border: 1px solid rgb(118,118,118);
	border-radius: 3px;
}

.filter_edit {
	display: none;
	position: absolute;
	transform: translate(10px, 4px);
	padding: 10px;
	background-color: white;
	border: 1px solid rgb(118,118,118);
	border-radius: 3px;
	box-shadow: 0px 0px 4px 2px rgba(0,0,0,0.3);
	z-index: 1;
	max-width: 20em;
	font-size: smaller;
	text-align: left;
	cursor: auto;
}

.edit_save_button {
	float: left;
}

.edit_remove_button {
	float: right;
}

.filter_edit > p {
	margin: 0px;
}

.filter {
	margin-left: 10px;
	padding: 4px;
	background-color: #e2e2e2;
	border: 1px solid rgb(118,118,118);
	border-radius: 3px;
	cursor: pointer;
}

.show_edit {
	display: block;
}

.ctrl_button, .ctrl_button:focus {
	background-color: #f77878;
	border-color: red;
	border-radius: 3px;
}

.ctrl_button:hover {
	background-color: #f27272;
}

.ctrl_button:active {
	background-color: #fa7a7a;
}

table {
	border: 0px;
	font-size: smaller;
	table-layout: fixed;
	position: relative;
	width: 100%;
	margin: 10px auto;
}

th {
	border: 1px solid rgb(118,118,118);
	border-radius: 3px;
	text-align: center;
	width: 4em;
	position: sticky;
	top: 0;
	background-color: rgb(239,239,239);
	cursor: default;
}

tr {
	cursor: auto;
	text-align: left;
}

th:hover {
	background-color: rgb(229,229,229);
}

th:active {
	background-color: rgb(245,245,245);
}

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

th:nth-child(7), td:nth-child(7) {
	width: 4.5em;
}

th:nth-child(8), td:nth-child(8) {
	width: auto;
}