* {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
	touch-action: manipulation;
}

html {-webkit-text-size-adjust: 100%}

body {
	/*font: normal 13px verdana, sans-serif;*/
	font: normal 15px /*-apple-system, BlinkMacSystemFont, Roboto,*/ helvetica, arial, sans-serif;
	margin: 0;
	margin-bottom: 80px;
}

#test {position:fixed;font-size:100px;opacity:0.3;top:110px;left:50%;width:300px;margin-left:-150px;z-index:-1; text-align:center;color:#c00}
	
header,
main {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}


header img {width: 100%}


nav {line-height: 30px}
nav ul {
	list-style: none;
}
nav a {
	color: #888;
	text-decoration: none;
	padding: 5px 10px;
}
nav a:hover {color: black}
nav a.active {color: #ccc}

main {padding: 0 }
form {padding: 0 5px}

main h1 {
	text-align: center;
	margin-top: 30px;
	margin-bottom: 5px;
	color: #666;
	font-size: 24px;
	font-weight: normal;
}


table {font: inherit; border-collapse: collapse; width: 100%; max-width: 100%}
table tr {cursor: pointer}
table tr:hover td {background-color: #f9f9f9}
th,
td {padding: 0 5px; vertical-align: top}
th {
	text-align: left;
	font-weight: normal;
	color: #777;
	width: 10px;
	border-bottom: 1px solid #eee;
}
thead th.sort {color: #666; font-weight: bold}
thead th {
	padding-top: 30px;
	padding-bottom: 10px;
}

th select {
	width: 100%;
	border: 0;
	margin: 0;
	padding: 0;
	height: auto;
	color: #777;
}
td {
	border-bottom: 1px solid #eee;
	line-height: 30px;
	vertical-align: top;
	padding-right: 5px;
	transition: background-color 100ms;
	white-space: nowrap;
	overflow-x: hidden;
	text-overflow: ellipsis;
}
td:nth-child(1) {max-width: 180px}
td:nth-child(2) {max-width: 180px}
td:nth-child(3) {max-width: 100px}
td:nth-child(4) {max-width: 150px}
td i {padding-right: 4px; font-style: normal}

td span {color: #999; font-size: 70%; text-transform: uppercase}
tr.old td {color: #999}
a.list-type {float: left}
a {font-size: 12px; padding: 3px; color: #ccc; text-decoration: none; transition: color 300ms}
a:hover {color: #666}

h1.main {display: none}
.overview {
	margin-bottom: 16px;
	white-space: nowrap;
	line-height: 16px;
	padding: 0;
	font-size: 12px;
}
.overview td {line-height: inherit}
.overview tbody tr:hover * {background-color: transparent}
.overview thead th {
	font-weight: bold;
	background: #eee;
	padding: 1px 3px;
	color: #222;
	border: 0;
}
.overview thead span {color: #777}
.overview thead th:last-child {width: auto}
.overview tbody th {font-size: 10px; width: 75px; padding: 0 3px}
.overview tbody td {padding: 0 3px}

label b {
	display: inline-block;
	position: relative;
	font-weight: normal;
	background-color: #ddd;
	padding: 2px 4px;
	border-radius: 3px;
	margin: 1px 5px 1px 0;
	white-space: nowrap;
}
label b:last-child {margin-left: 0}

label b:hover del {opacity: 1}
label b h1 {
	font: inherit;
	margin: 0;
	display: inline-block;
}


label,
button,
header {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

label {width: 100%; display: block}
label span {display: inline-block; width: 80px}
input, select, textarea, label div, label a {
	font: inherit;
	border: 1px solid #ddd;
	border-radius: 5px;
	padding: 5px;
	margin: 0;
	margin-top: 5px;
	-webkit-appearance: none;
}
label a {background: #eee; color: black}
input, select {height: 30px; width: calc(100% - 80px)}
label div {
	min-height: 30px;
	width: calc(100% - 80px);
	padding: 3px;
	display: inline-block;
}
textarea {height: 75px; width: 100%}
#song select[name=collection],
#song select[name=location],
#song #categories select {width: calc(100% - 110px)}
#categories select {margin-left: 80px}
#categories select:nth-child(2) {margin-left: 0}
#select-song {width: calc(100% - 110px)}
input[name=voices] {text-transform: uppercase}
p.updated {text-align: right; color: #ccc; font-size: 8px; margin-top: 4px}
#login {margin-top: 90px}
#login p {text-align: center}
#login input {width: 200px}

#find label {display: flex}
#find label * {margin-right: 5px}
#find label *:last-child {margin-right: 0}

#add-collection,
#add-category {
	width: 25px;
	margin-left: 5px;
	padding-left: 6px;
	float: right;
	background: #ddd;
	border-color: #aaa;
}

.buttons {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 55px;
	padding: 0 10px;
	background: #eee;
	border-top: 1px solid #ccc;
	text-align: right;
}
.buttons div {max-width: 900px; margin: 0 auto}
.buttons button {
	font: inherit;
	border: 1px solid #999;
	padding: 7px 15px;
	border-radius: 6px;
	cursor: pointer;
	margin: 10px 5px;
	background-color: #ddd;
}
button:hover {background-color: #ddd}

#remove,#duplicate {float: left}
#ok {width: 100px}

#find select {color: #777}
#find select.sel {color: black}

#collections th:last-child,
#collections td:last-child {width: 40px; text-align:right}

table.songs.location {margin-top: 50px}
table.songs.location th {cursor: default}
table.songs.location td {font-size: 12px; color: gray; line-height: 20px}


@media (prefers-color-scheme: dark) {
	nav li {border-color: #666}
	nav li a {color: #ccc}
	nav a.active {color: #888}
	section h1 {color: #ddd}
	section h2 {color: #aaa}
	section p {color: #bbb}
	body {background: #333; color: #ccc; border-color: #666}
	table td,
	table tr:first-child td,
	table thead th,
	table tr:hover td {background-color: #373737; border-color: #222; color: white;}
	input, select, textarea, label div {background-color: #222; border-color: #444; color: #eee}
	.buttons {background-color: black; border-color: #666}
	.buttons button {background-color: #222; color: #888; border-color: #333}
	button:hover {background-color: #000; color: #999}
	a {color: #666}
	#add-collection,
	#add-category {background-color: #222; color: #c70; border-color: #444}
	a:hover {color: #aaa}
}

@media only screen and (min-width: 601px) {
	nav h1 {display: none}
	nav ul {
		text-align: center;
		word-spacing: -4px;
	}
	nav li {
		display: inline;
		border-right: 1px solid #eee;
		word-spacing: 0;
	}
	nav li:last-child {border-right: 0}
	nav a:hover {border-bottom: 3px solid #ddd}
	label b del {
		position: absolute;
		top: -3px;
		right: -3px;
		display: block;
		width: 10px;
		height: 10px;
		font-size: 8px;
		line-height: 1;
		text-align: center;
		text-decoration: none;
		opacity: 0;
		transition: opacity 200ms;
	}
}

@media only screen and (max-width: 600px) {
	body {margin-top: 90px; font-size: 16px}
	header {
		position: fixed;
		top: 0;
		overflow: hidden;
		max-height: 75px;
	}
	nav {
		position: fixed;
		top: 0;
	}
	nav a {
		color: #333;
		display: block;
	}
	nav h1 {
		font-size: 40px;
		line-height: 74px;
		width: 40px;
		padding: 0 10px;
		color: white;
	}
	nav ul {
		position: fixed;
		top: 75px;
		left: 0;
		min-width: 200px;
		border: 1px solid #ddd;
		background: white;
		transition: all 300ms;
		transform: translate(0, 0);
		opacity: 1;
		box-shadow: 5px 5px 5px #999;
	}
	nav.hide {width: auto}
	nav.hide ul {left: -200px; opacity: 0.1}
	nav li {
		display: block;
		text-align: left;
		font-size: 20px;
		line-height: 40px;
		border-bottom: 1px solid #eee;
	}
	thead span:last-child {font-size: 12px}
	thead th:last-child span:first-child {font-style: italic; font-size: 14px}
	td {line-height: 35px}
	nav li a {font: inherit}
	label span {font-size: 14px}
	label b del {
		display: inline;
		font-size: 12px;
		line-height: 12px;
		padding-left: 3px;
		text-decoration: none;
		opacity: 0.6;
	}
	td em {font-size: 14px}
	input, select, textarea, label div, label a {height: 40px}
}

@media (prefers-color-scheme: dark) and (max-width: 601px) {
	nav ul {background-color: #222; border-color: #333; box-shadow: 5px 5px 5px #333}
	nav li {border-color: #444}
	nav h1 {color: black}
	header {background-color: black;}
	header img {opacity: 0.6}
}

@media print {
	header {display: none}
	h1.main {display: block; margin: 0}
}

tr.title td {border: 0; line-height: 30x}
tr.title td em {color: #999; font-size: 14px}
tr.info td {color: #888; font-size: 12px; line-height: 20px; height: 20px;}
tr.title:hover td,
tr.info:hover td {background: inherit;}
tr.info td:nth-child(1),
td:nth-child(2) {max-width: auto}
