.imap {
	position: relative;
	max-width: 800px;
	margin: 0 auto;
}
.imap img {
	display: block;
}
area {
	cursor: pointer;
}
area.highlighted {
    outline: 2px solid red;
}
.highlight-overlay {
	position: absolute;
	border: 2px solid red;
	pointer-events: none;
	z-index: 500;
}
#popup {
	position: absolute;
	background: white;
	border: 1px solid red;
	font-size: 14px;
	padding: 0.5em;
	max-width: 200px;
	z-index: 1000;
	display: none;
	border-radius: 0.5em;
}

#sortable-table {
	margin: 0 auto;
	width: 100%;
}
#sortable-table tr th,
#sortable-table tr td {
	padding: 0.25em 0.5em;
	vertical-align: top;
}
#sortable-table tr td {
	cursor: pointer;
}
#sortable-table tr th:last-of-type,
#sortable-table tr td:last-of-type {
	padding-left: 1em;
	vertical-align: top;
}
#sortable-table tr td:first-of-type {
	width: 175px;
	font-size: 0.9em;
	vertical-align: middle;
}
#sortable-table tr:nth-of-type(odd) td {
	background: #EEE;
}
#sortable-table tr td img {
	height: 0.75em!important;
}
#sortable-table th {
	text-align: left;
	cursor: pointer;
}
#sortable-table th.active::after {
	content: '^';
	display: inline-block;
	transform: rotate(180deg);
	opacity: 0.5;
	padding: 0 0.25em;
	line-height: 1;
}
.inst {
	text-align: center;
	font-size: 14px;
	margin: 0.5em 0 1em;
}
@media (max-width: 781px) {
	#sortable-table {
		margin: 1em auto;
	}
	#sortable-table tr td:first-of-type {
		width: 130px;
		font-size: 0.8em;
	}
}
@media (max-width: 586px) {
	#popup {
		font-size: 12px;
		min-width: 100px;
		text-align: center;
	}
}