div#puzzle {
	margin-bottom: 1em;
}

div#title {
	margin-bottom: 0.5em;
}

div#crossword-grid {
	display: inline-block;
}

div#clue-column {
	position: relative;
	display: inline-block;
}

div.clue-section {
	position: absolute;
	height: 50%;
}

div#across-clue-section {
	top: 0;
	padding-bottom: 0.25em;
}

div#down-clue-section {
	top: 50%;
	padding-top: 0.25em;
}

div.clue-header {
	font-weight: bold;
}

div.clue-pane {
	overflow: auto;
	border: 1px black solid;
	width: 20em;
}

div.clue-pane table {
	border-spacing: 0;
}

div.clue-pane td {
	vertical-align: top;
	padding: 0.15em;
}

div.clue-pane td:first-child {
	text-align: right;
}

div#crossword-grid table {
	border-spacing: 0;
	border-collapse: collapse;
}

div#crossword-grid table td {
	border: solid black 1px;
}

td {
	color: inherit;
}

td.blank-cell {
	background-color: black;
}

td.selected-letter-cell {
	background-color: gray;
}

td.answer-cell {
	background: white;
}

div.cell-entry {
	vertical-align: middle;
	text-align: center;
	display: table-cell;
	font-weight: bold;
	font-size: 16pt;

	width:  1.8em;
	height: 1.8em;

	z-index: 1;
}

div.cell-label {
	display: inline-block;
	font-size: 7pt;

	position: absolute;

	z-index: 0;
}
