body {
	padding:0;
	margin:0;
	background:#222;
	color:#ddd;
	font-family: 'Fraunces', serif;
	font-size:16px;
	display:flex;
	flex-flow:column;
	min-height:100vh;
	align-items:center;
	font-weight:400;
	line-height:normal;
}

h1 {
	margin:20px 0 0 0;
	padding:0;
	font-size:40px;
	line-height:40px;
	text-align:center;
	font-weight:600;
}

body > a {
	text-decoration:none;
	color:inherit;
}

#note {
	font-size:22px;
	line-height:normal;
	font-weight:400;
	color:#d22;
	padding:0 0 0 2px;
}

.subtitle {
	margin:0;
	padding:0 5px 0 5px;
	text-align:center;
	border-top:2px solid #444;
	width:auto;
}

.subtitle.haveSelected a {
	color:#aaa;
	text-decoration:none;
	border-bottom: 1px dashed #aaa;
}

.subtitle.haveSelected a.selected {
	color:#e0e0e0;
	text-decoration:none;
	border-bottom: 1px solid #e0e0e0;
}

.subtitle.haveSelected a:hover {
	color:#eee;
	text-decoration:none;
	border-bottom: 1px solid #eee;
}

footer {
	margin:0;
	padding:20px;
	color:#888;
	font-size:14px;
}

#frontPage #navigation {
	display:block;
	list-style: none;
	padding:0;
	margin:20px 0 20px 0;
}

.spacer {
	flex:1;
}

a {
	color:#e0e0e0;
}

main.level {
	margin:20px 5px;
	border-radius:5px;
	background:#333;
	box-shadow:0 0 10px #0008;
	overflow:hidden;
}

main.level .header {
	display:flex;
	flex-flow: row;
	justify-content:stretch;
}
main.level .header .stats {
	display: flex;
	flex-flow: column;
}

main.level .header .meta {
	display: flex;
	flex-grow:1;
	flex-flow: row wrap;
	background:#444;
	align-items:baseline;
	justify-content:flex-end;
}


main.level .header .title {
	flex-grow:1;
	margin:0;
	padding:2px 10px 0 10px;
	font-size:25px;
	background:#444;
	text-align:center;
}

main.level .header .title:empty:before {
	content:'(no title)';
	color:#666;
}

main.level .header .author {
	margin:0;
	padding:0 10px 2px 10px;
	font-size:20px;
	text-align:right;
}
main.level .header .author:before {
	content:'by: ';
	font-size:15px;
	color:#888;
}

main.level .header .author:empty:before {
	content:'(no author)';
	color:#666;
}

main.level .header .stats
, article.level .stats {
	margin:0;
	padding:0;
	font-size:15px;
	color:#ddd;
	background:#0002;
	font-weight:normal;
	display: flex;
	flex-flow:row wrap;
}
.level .stats .stars
, .level .stats .success {
	flex-grow:1;
	background:#0006;
	border-radius:1px;
	padding:2px 5px;
	margin:1px;
}

.level .stats .success {
	display:flex;
	flex-flow:row;
	align-items:center;
}
.level .stats .stars {
	display:flex;
	flex-flow:row;
	justify-content:center;
	align-items:center;
}
.level .stats .success .ratio {
	display:flex;
	flex-flow:column;
}
.level .stats .success .ratio .completions
, .level .stats .success .ratio .attempts {
	text-align:center;
}
.level .stats .success .ratio .completions {
	border-bottom:1px solid #666;
}
.level .stats .success .percent {
	display:block;
}
.level .stats .success .percent:before {
	content:'=';
	color:#666;
	padding:0 3px;
}
.level .stats .success .percent:after {
	content:'%';
	color:#666;
}


.level .stats .stars:after {
	content:' ★';
	color:#ee2;
}

main.level .description {
	margin:0;
	padding:10px 10px;
	/*border: 1px solid #444;
	border-left:none;
	border-right:none;
	*/
	white-space: break-spaces;
}
main.level .description:empty:before {
	content:'(no description)';
	text-align:center;
	color:#666;
}
main.level .preview {
	width:100%;
	height:80%;
	background:#000;
}

main.level .play {
	display:flex;
	flex-flow:column;
	margin:5px 10px;
	padding:0;
}

main.level .play > div {
	display:flex;
	flex-flow:row;
}
main.level .play > div span {
	display:block;
}

main.level .play > div input {
	flex-grow:1;
	margin: 0 10px;
}
main.level .play > p {
	color:#888;
	font-size:15px;
	margin:0;
	padding:2px 0;
}

#levelsPage > main {
	display:flex;
	flex-flow:column;
	margin: 20px 0;
}

#levelsPage > main > a > .level {
	display:flex;
	flex-flow:row;
	align-items:baseline;
}

#levelsPage > main > a {
	text-decoration:inherit;
	background:#444;
}
#levelsPage > main > a:hover {
	background:#666;
}

#levelsPage .level .stats .stars {
	width:3.5em;
}
#levelsPage .level .stats .success {
	width:7.5em;
	justify-content:center;
}

#levelsPage .level .created {
	font-size:11px;
	width:60px;
	background:#0002;
	color:#fff8;
	text-align:center;
	align-self:center;
	border-radius:5px;
	margin:3px;
	display:none;
}

#levelsPage .level .title {
	display:block;
	font-size:20px;
	font-weight:bold;
	flex-grow:1;
	text-align:left;
	padding:0 10px;
}

#levelsPage .level .author {
	display:block;
	font-size:15px;
	font-weight:bold;
	text-align:right;
	padding:0 10px 0 0;
}
#levelsPage .level .author:before {
	content:'by ';
	color:#888;
}
