div.autocompleteParent {
	position: relative;
	display: inline-block;
}

.selectionContainer > div {
	display: flex;
	flex-wrap: wrap;
	max-width: 20rem;
}

.autocompleteChild {
	border-radius: 1em;
	box-shadow: 2px 2px 4px 2px gray;
	padding: 0.4em 0.5em;
	margin: 0.25em 0.4em;
	border: 1px solid black;
	user-select: none;

	display: inline-block;
}

.autocompleteChild > i.fa {
	margin-left: 0.2em;
	cursor: pointer;
	color: rgba(255, 0, 0, 0.5);
	transition: color 100ms;
}

.autocompleteChild > i.fa:hover {
	color: red;
}

ul.autocompleteList:empty {
	display: none;
}

ul.autocompleteList {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	border: 1px solid black;
	border-top: 1px solid gray;
	box-shadow: 0 0 5px 1px gray;
	border-radius: 0 0 4px 4px;
	background-color: #fff;
	list-style-type: none;
	padding: 0;
	margin: 0;

	max-height: calc(min(300px, 50vh));
	overflow-y: auto;
	z-index: 9999;
}

li.lst-items {
	padding: 10px;
	cursor: pointer;
	transition: background-color 0.3s ease;
	user-select: none;
}

body:has(.basic-modal:not(.hidden)) {
	overflow: hidden;
}

.basic-modal.hidden {
	display: none;
}

.basic-modal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 999;
	background-color: rgba(0, 0, 0, 0.5);
	display: flex;
}

.basic-modal > * {
	margin: auto;
	width: 50%;
	min-width: calc(min(800px, 100vw));
	max-width: 100vw;
	height: 80%;
	max-height: 100vh;
	background: white;
	position: relative;

	padding: 5%;
}

.basic-table {
	display: table;
}

.basic-table > * {
	display: table-row;
}

.basic-table > * > * {
	display: table-cell;
	padding: 4px 2px;
}

.even-flex > * {
	flex-basis: 0;
	flex-grow: 1;
	margin: 5px;
}

.even-flex {
	display: flex;
	height: 100%;
	margin: auto;
	overflow: auto;
}

.top-menu {
	display: flex;
	margin: auto;
}

.top-menu-payload {
	display: contents;
}

.top-menu-payload > * {
	display: none;
}

.top-menu-payload > *.top-menu-open {
	display: contents;
}

.top-menu-container {
	width: 100%;
	display: flex;
}

.top-menu-item {
	flex-grow: 1;
	flex-basis: 0;

	border-bottom: 4px solid #999;

	cursor: pointer;
	user-select: none;
}

.top-menu-item:has(input[type="radio"]:checked) {
	border-bottom-color: greenyellow;
}

.top-menu-item input[type="radio"] {
	display: none;
}
