* {
	margin: 0;
	padding: 0;
	outline: none;
}
body, html {
	color: #222;
	font-family: sans-serif;
	font-size: 16px;
	line-height: 1.3;
	background-color: #ddd;
	height: 100%;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
}
body > section {
	font-size: .9em;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
}
body > section:not(:first-child) {
	background-color: #ddd;
	position: fixed;
	top: 0;
	left: 100%;
	z-index: 2;
	transition: left .3s ease-in;
}
body.card section#card {
	left: 0;
}
div.main {
	width: 100%;
	height: calc(100% - 80px);
	overflow-y: auto;
}
/* header */
header {
	background-color: #000;
	width: 100%;
	height: 40px;
	position: relative;
	overflow: hidden;
}
header h1 {
	color: #fff;
	font-size: 1em;
	line-height: 40px;
	font-weight: normal;
	text-align: center;
	padding: 0 100px;
	box-sizing: border-box;
	width: 100%;
	height: 40px;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
header > ul {
	display: table;
	list-style: none;
	height: 40px;
	position: absolute;
	top: 0;
	left: 0;
}
header > ul:last-child {
	right: 0;
	left: auto;
}
header li {
	color: #fff;
	vertical-align: middle;
	padding: 0 10px;
	display: table-cell;
	cursor: pointer;
}
header li:active {
	background-color: rgba(255, 255, 255, .3);
}
header li span {
	font-size: .9em;
	padding-left: 5px;
	display: inline-block
}
@media screen and (max-width: 650px) {
	header li span {
		display: none;
	}
}
header li#btn-menu,
header li#btn-printlist {
	padding: 0;
}
header li#btn-menu a,
header li#btn-printlist a {
	line-height: 40px;
	padding: 0 10px;
	display: inline-block;
	height: 100%;
}
#btn-delete,
#btn-done,
body.deletemode #btn-menu,
body.deletemode #btn-new,
body.deletemode #btn-deletemode,
body.deletemode #btn-printlist {
	display: none;
}
body.deletemode #btn-delete,
body.deletemode #btn-done {
	display: table-cell;
}
header a {
	color: inherit;
	text-decoration: none;
}
ul.search-bar {
	text-align: center;
	background-color: #aab;
	height: 40px;
	overflow: hidden;
}
.search-bar li {
	line-height: 40px;
	padding: 0 10px;
	display: inline-block;
	height: 100%;
	cursor: pointer;
}
.search-bar li:active {
	background-color: rgba(255, 255, 255, .3);
}
.search-bar li span {
	font-size: .9em;
	padding-left: 5px;
	display: inline-block
}
body.deletemode .search-bar li {
	display: none;
}
/* list */
#list div.main {
	height: calc(100% - 80px);
}
#list .search-bar + div.main {
	height: calc(100% - 120px);
}
#list table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
}
#list thead th {
	color: #555;
	font-size: .8em;
	text-align: left;
	background-color: #ddd;
	padding: 10px 0 2px 0;
	box-sizing: border-box;
	position: sticky;
	top: 0;
	z-index: 1;
}
tbody tr {
	background-color: #fff;
	cursor: pointer;
}
#list tbody tr:nth-child(even) {
	background-color: #efe;
}
#list tr + tr {
	border-top: 1px solid #ddd;
}
#list td {
	box-sizing: border-box;
	height: 40px;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
#list tr th:first-child,
#list tr td:first-child {
	color: #f00;
	text-align: center;
	padding: 0;
	width: 0;
	transition: width .3s;
}
body.deletemode #list tr th:first-child,
body.deletemode #list tr td:first-child {
	width: 30px;
}
#list i.fa-check-square,
#list tr.selected i.fa-square {
	display: none;
}
#list tr.selected i.fa-check-square {
	display: inline-block;
}
#list tr th:last-child {
	padding: 0;
	width: 30px;
	transition: width .3s;
}
#list tr td:last-child {
	color: #999;
	text-align: center;
	padding: 0;
	width: 30px;
	transition: width .3s;
}
body.deletemode #list tr th:last-child,
body.deletemode #list tr td:last-child {
	width: 0;
}
footer {
	text-align: center;
	background-color: #000;
	width: 100%;
	height: 40px;
	overflow: hidden;
}
footer span {
	padding: 0 10px;
	line-height: 40px;
	display: inline-block;
	height: 40px;
}
span.page {
	color: #fff;
	font-size: .9em;
}
span.btn-top,
span.btn-prev,
span.btn-next,
span.btn-last {
	color: #333;
}
span.btn-top[data-page],
span.btn-prev[data-page],
span.btn-next[data-page],
span.btn-last[data-page] {
	color: #fff;
	cursor: pointer;
}
/* card */
#card div.main {
	padding: 10px 20px 20px 20px;
	box-sizing: border-box;
	height: calc(100% - 40px);
}
div.layout {
	overflow: hidden;
}
div.main > div.layout:not(:last-child) {
	margin-bottom: 10px;
	padding-bottom: 20px;
	border-bottom: 1px solid #666;
}
div.layout > div {
	padding-right: 10px;
	box-sizing: border-box;
	width: 50%;
	float: left;
	overflow: hidden;
}
div.layout > div + div {
	padding: 0 0 0 10px;
	float: right;
}
@media screen and (max-width: 650px) {
	div.main > div.layout > div {
		padding: 0;
		width: 100%;
		float: none;
	}
	div.main > div.layout > div + div {
		padding: 0;
		width: 100%;
		float: none;
	}
}
div.layout > p {
	padding-right: 5px;
	box-sizing: border-box;
	width: 50%;
	float: left;
}
div.layout > p + p {
	padding: 0 0 0 5px;
	float: right;
}
#card p {
	padding-top: 10px;
}
p > label:first-child {
	color: #666;
	font-size: .8em;
	line-height: 14px;
	font-weight: bold;
	margin-left: 5px;
	display: block;
	height: 16px;
}
p > label em {
	color: #f00;
	font-weight: normal;
	font-style: normal;
}
/* form */
input:not([type="radio"]):not([type="checkbox"]),
select {
	color: #222;
	font-size: 16px;
	line-height: 18px;
	padding: 10px;
	background-color: #fff;
	border: 1px solid #666;
	border-radius: 5px;
	box-sizing: border-box;
	width: 100%;
	height: 40px;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
span.input {
	color: #222;
	font-size: 16px;
	line-height: 18px;
	padding: 10px;
	border: 1px solid #999;
	border-radius: 5px;
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 40px;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
select,
input.datepicker {
	padding-right: 30px;
	background: #fff url(/img/bg_select.svg) right center / 32px 7px no-repeat;
	cursor: pointer;
}
select::-ms-expand {
	display: none;
}
input[type="radio"] {
	display: none;
}
input[type="radio"] + label {
	color: #fff;
	font-size: 16px;
	line-height: 18px;
	font-weight: normal;
	text-align: center;
	margin: 0;
	padding: 10px 0;
	background-color: #aaa;
	border-top: 1px solid #666;
	border-right: 1px solid #666;
	border-bottom: 1px solid #666;
	box-sizing: border-box;
	display: inline-block;
	width: 50%;
	height: 40px;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	cursor: pointer;
}
input[type="radio"]:checked + label {
	background-color: #06f;
}
p > input[type="radio"]:first-of-type + label {
	border-left: 1px solid #666;
	border-radius: 5px 0 0 5px;
}
p > input[type="radio"]:last-of-type + label {
	border-radius: 0 5px 5px 0;
}
textarea {
	color: #222;
	font-size: 16px;
	line-height: 18px;
	padding: 10px;
	background-color: #fff;
	border: 1px solid #666;
	border-radius: 5px;
	box-sizing: border-box;
	width: 100%;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
}