/**
 * Base
 */
a:link {
	color: #1e3c82;
	text-decoration: none;
}
a:visited {
	color: #1e3c82;
	text-decoration: none;
}
a:active {
	color: #1e3c82;
	text-decoration: underline;
}
a:hover {
	color: #ff0000;
	text-decoration: underline;
}
body {
	background-color: #ffffff;
	font-family: sans-serif;
	font-size: 1.3rem;
	margin: 0px;
}
h1 {
	font-family: sans-serif;
	font-size: 1.6rem;
	margin-top: 0px;
}
h2 {
	font-family: sans-serif;
	font-size: 1.4rem;
}
h3 {
	font-family: sans-serif;
	font-size: 1.3rem;
	font-weight: bolder;
}
html {
	font-size: 62.5%;
}
table {
	border-collapse: collapse;
}
th {
	color: #ffffff;
	font-weight: normal;
	background-color: #506890;
	text-align: left;
}
blockquote {
	background-color: #eeeeee;
	border-left: 8px solid #d3d3d3;
	margin: 8px 8px;
	padding: 8px 8px;
}
hr {
	border: 0px;
	height: 1px;
	background-color: #d3d3d3;
}
* {
	box-sizing: border-box;
}

/**
 * Action Bar
 */
.action {
	list-style-type: none;
	margin-bottom: 0px;
	margin-top: 0px;
	padding-left: 0px;
}
.action li {
	border-right: solid 1px #d3d3d3;
	display: inline-block;
	padding-right: 6px;
	margin-right: 6px;
	vertical-align: middle;
}
.action li:last-child {
	border-right: 0px;
	padding-right: 0px;
	margin-right: 0px;
}


/**
 * Align
 */
.center {
	text-align: center;
}
.center-screen {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.fill {
	width: 100%;
	vertical-align: top;
}
.float-right {
	float: right;
}
.left {
	text-align: left;
}
.middle {
	display: table-cell;
	vertical-align: middle;
}
.mono {
	font-family: monospace;
}
.bold {
	font-weight: bolder;
}
.nowrap {
	white-space: nowrap;
}
.top {
	vertical-align: top;
}
.right {
	text-align: right;
}
.height-100 {
	height: 100px;
}
.width-0 {
	width: 0%;
}
.width-1 {
	width: 1%;
}
.width-2 {
	width: 2%;
}
.width-3 {
	width: 3%;
}
.width-4 {
	width: 4%;
}
.width-5 {
	width: 5%;
}
.width-6 {
	width: 6%;
}
.width-7 {
	width: 7%;
}
.width-8 {
	width: 8%;
}
.width-9 {
	width: 9%;
}
.width-10 {
	width: 10%;
}
.width-11 {
	width: 11%;
}
.width-12 {
	width: 12%;
}
.width-13 {
	width: 13%;
}
.width-14 {
	width: 14%;
}
.width-15 {
	width: 15%;
}
.width-16 {
	width: 16%;
}
.width-17 {
	width: 17%;
}
.width-18 {
	width: 18%;
}
.width-19 {
	width: 19%;
}
.width-20 {
	width: 20%;
}
.width-21 {
	width: 21%;
}
.width-22 {
	width: 22%;
}
.width-23 {
	width: 23%;
}
.width-24 {
	width: 24%;
}
.width-25 {
	width: 25%;
}
.width-26 {
	width: 26%;
}
.width-27 {
	width: 27%;
}
.width-28 {
	width: 28%;
}
.width-29 {
	width: 29%;
}
.width-30 {
	width: 30%;
}
.width-31 {
	width: 31%;
}
.width-32 {
	width: 32%;
}
.width-33 {
	width: 33%;
}
.width-34 {
	width: 34%;
}
.width-35 {
	width: 35%;
}
.width-36 {
	width: 36%;
}
.width-37 {
	width: 37%;
}
.width-38 {
	width: 38%;
}
.width-39 {
	width: 39%;
}
.width-40 {
	width: 40%;
}
.width-41 {
	width: 41%;
}
.width-42 {
	width: 42%;
}
.width-43 {
	width: 43%;
}
.width-44 {
	width: 44%;
}
.width-45 {
	width: 45%;
}
.width-46 {
	width: 46%;
}
.width-47 {
	width: 47%;
}
.width-48 {
	width: 48%;
}
.width-49 {
	width: 49%;
}
.width-50 {
	width: 50%;
}
.width-51 {
	width: 51%;
}
.width-52 {
	width: 52%;
}
.width-53 {
	width: 53%;
}
.width-54 {
	width: 54%;
}
.width-55 {
	width: 55%;
}
.width-56 {
	width: 56%;
}
.width-57 {
	width: 57%;
}
.width-58 {
	width: 58%;
}
.width-59 {
	width: 59%;
}
.width-60 {
	width: 60%;
}
.width-61 {
	width: 61%;
}
.width-62 {
	width: 62%;
}
.width-63 {
	width: 63%;
}
.width-64 {
	width: 64%;
}
.width-65 {
	width: 65%;
}
.width-66 {
	width: 66%;
}
.width-67 {
	width: 67%;
}
.width-68 {
	width: 68%;
}
.width-69 {
	width: 69%;
}
.width-70 {
	width: 70%;
}
.width-71 {
	width: 71%;
}
.width-72 {
	width: 72%;
}
.width-73 {
	width: 73%;
}
.width-74 {
	width: 74%;
}
.width-75 {
	width: 75%;
}
.width-76 {
	width: 76%;
}
.width-77 {
	width: 77%;
}
.width-78 {
	width: 78%;
}
.width-79 {
	width: 79%;
}
.width-80 {
	width: 80%;
}
.width-81 {
	width: 81%;
}
.width-82 {
	width: 82%;
}
.width-83 {
	width: 83%;
}
.width-84 {
	width: 84%;
}
.width-85 {
	width: 85%;
}
.width-86 {
	width: 86%;
}
.width-87 {
	width: 87%;
}
.width-88 {
	width: 88%;
}
.width-89 {
	width: 89%;
}
.width-90 {
	width: 90%;
}
.width-91 {
	width: 91%;
}
.width-92 {
	width: 92%;
}
.width-93 {
	width: 93%;
}
.width-94 {
	width: 94%;
}
.width-95 {
	width: 95%;
}
.width-96 {
	width: 96%;
}
.width-97 {
	width: 97%;
}
.width-98 {
	width: 98%;
}
.width-99 {
	width: 99%;
}
.width-100 {
	width: 100%;
}

/**
 * Balloon
 */
.balloon {
	background-color: #ffffcc;
	border: 1px solid #ffcc66;
	border-radius: 4px;
	padding: 8px;
	margin-bottom: 8px;
}
.balloon a {
	text-decoration: underline;
}

/**
 * Box
 */
.box {
	clear: both;
	margin-bottom: 8px;
	white-space: nowrap;
}
.box-two {
	display: table;
	margin-bottom: 8px;
	width: 100%;
}
.box-two > div {
	display: table-cell;
}
.box-two > div:nth-child(2) {
	text-align: right;
}
.box-three {
	display: table;
	margin-bottom: 8px;
	width: 100%;
}
.box-three > div {
	display: table-cell;
}
.box-three > div:nth-child(2) {
	text-align: center;
}
.box-three > div:nth-child(3) {
	text-align: right;
}

/**
 * Button
 */
.button {
	border: 1px solid #d3d3d3;
	border-radius: 4px;
	cursor: pointer;
	display: table-cell;
	xheight: 24px;
	xmargin-left: 2px;
	padding: 4px;
	vertical-align: middle;
}
.button:hover {
	background-color: #aebcd4;
}
.button-icon-only-16 {
	background-position: center;
	background-repeat: no-repeat;
	background-size: 16px 16px;
	border: 1px solid #d3d3d3;
	border-radius: 4px;
	cursor: pointer;
	display: inline-block;
	height: 24px;
	min-width: 24px;
	padding: 0px;
}
.button-icon-only-16:hover {
	background-color: #aebcd4;
}
.button-16 {
	background-position: 4px center;
	background-repeat: no-repeat;
	background-size: 16px 16px;
	display: table-cell;
	border: 1px solid #d3d3d3;
	border-radius: 4px;
	cursor: pointer;
	font-size: 1.3rem;
	height: 24px;
	padding: 4px 4px 4px 24px;
	vertical-align: middle;
}
.button-16:hover {
	background-color: #aebcd4;
}

/**
 * Color
 */
.black {
	color: #000000;
}
.green {
	color: #008000;
}
.green:link {
	color: #008000;
}
.green:visited {
	color: #008000;
}
.red {
	color: #ff0000;
}
.red:link {
	color: #ff0000;
}
.red:visited {
	color: #ff0000;
}
.white {
	color: #ffffff;
}

/**
 * Definition List
 */
.dl-32 {
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 32px 32px;
	margin: 0px;
	padding-left: 40px;
	min-height: 4rem;
}
.dl-32 dd {
	color: #000000;
	font-size: 1.1rem;
	margin: 0px;
	padding-top: 2px;
	padding-bottom: 2px;
}
.dl-32 dt {
	color: #000000;
	font-size: 1.6rem;
	padding-top: 2px;
	padding-bottom: 2px;
}
.dl-32.right {
	background-position: right center;
	padding-left: 0px;
	padding-right: 40px;
}
.dl-32.right dd {
	text-align: right;
}
.dl-32.right dt {
	text-align: right;
}


.dual-table {
	display: table;
	width: 100%;
}
.dual-left {
	display: table-cell;
	padding-bottom: 8px;
	padding-left: 0px;
	padding-right: 4px;
	vertical-align: top;
	width: 50%;
}
.dual-right {
	display: table-cell;
	padding-bottom: 8px;
	padding-left: 4px;
	padding-right: 0px;
	vertical-align: top;
	width: 50%;
}

/**
 * Form
 */
input {
	font-family: sans-serif;
	font-size: 1.3rem;
}
input[type="file"] {
	width: 100%;
}
input[type="number"] {
	border: 1px #d3d3d3 solid;
	padding: 0px;
}
input[type="search"] {
	width: 100%;
}
input[type="text"] {
	width: 100%;
}
select {
	font-family: sans-serif;
	font-size: 1.3rem;
	width: 100%;
}
textarea {
	border: 1px #d3d3d3 solid;
	font-size: 1.3rem;
	width: 100%;
	height: 120px;
	padding: 2px;
}

/**
 * Icon
 */
.icon-16 {
	background-position: left;
	background-repeat: no-repeat;
	background-size: 16px 16px;
	display: inline-block;
	height: 16px;
	padding-left: 20px;
}
.icon-32 {
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 32px 32px;
	display: inline-block;
	height: 32px;
	padding-left: 40px;
}
.icon-64 {
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 64px 64px;
	display: inline-block;
	font-size: 1.6rem;
	height: 64px;
	line-height: 64px;
	padding-left: 72px;
}
.single-32 {
	font-size: 1.6rem;
	line-height: 32px;
}

/**
 * Grid
 */
.grid {
	width: 100%;
}
.grid td {
	border: 1px solid #d3d3d3;
	padding: 4px;
	white-space: nowrap;
}
.grid td td {
	border: 0px;
	padding: 0px;
}
.grid .grid-header {
	background-color: #506890;
	color: #ffffff;
}

/**
 * Zebra Table
 */
.new {
	background-color: #506890;
}
.old {
	background-color: #506890;
}
.zebra {
	border-bottom: 1px #d3d3d3 solid;
	border-collapse: separate;
	border-spacing: 0px;
	margin-bottom: 8px;
	width: 100%;
}
.zebra td {
	padding: 4px;
	text-align: center;
}
.zebra td:nth-last-child(1) {
	text-align: right;
}
.zebra td:nth-child(1) {
	text-align: left;
}
.zebra td:first-child {
	border-left: 1px solid #d3d3d3;
}
.zebra td:last-child {
	border-right: 1px solid #d3d3d3;
}
.zebra th {
	background-color: #506890;
	color: #ffffff;
	font-weight: normal;
	padding: 4px;
	text-align: center;
}
.zebra th:nth-last-child(1) {
	text-align: right;
}
.zebra th:nth-child(1) {
	text-align: left;
}
.zebra th:first-child {
	border-radius: 10px 0 0 0;
	padding: 5px 5px 5px 10px;
}
.zebra tr:first-child td {
	background-color: #eeeeee;
	border-top: 1px solid #d3d3d3;
}
.zebra tr:nth-child(even) {
	background-color: #ffffff;
}
.zebra tr:nth-child(2n+3) {
	background-color: #eeeeee;
}
.outline {
	border: 1px #d3d3d3 solid;
	border-collapse: collapse;
	border-spacing: 0px;
	margin-bottom: 8px;
}
.outline td, .outline th {
	padding: 4px;
}
.padded-input {
	padding-right: 6px;
}
.padded-input input {
	width: 100%;
}
.padded-input textarea {
	width: 100%;
}
.row-check {
	cursor: pointer;
	vertical-align: middle;
}
.zebra .hover {
	padding: 0px;
	cursor: pointer;
}
.zebra .row-tab {
	display: table;
	width: 100%;
}
.zebra .row-tab div {
	display: table-cell;
	vertical-align: middle;
}
.zebra .row-tab .row-caption {
	white-space: nowrap;
	width: 140px;
}
.zebra .row-tab div .row-outline {
	background-color: #ffffff;
	border: 1px #d3d3d3 solid;
	display: block;
	padding-top: 3px;
	padding-left: 2px;
	height: 24px;
}
.zebra .row-tab .row-action {
	width: 20px;
}
.zebra .row-tab div .row-button {
	background-color: #ffffff;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 16px 16px;
	border: 1px #d3d3d3 solid;
	border-radius: 4px;
	display: block;
	height: 24px;
	width: 24px;
	cursor: pointer;
	padding: 0px;
	margin-left: 2px;
}
.zebra .row-tab div .row-button:hover {
	background-color: #aebcd4;
}
.zebra .row-outline input[type="password"] {
	border: 0px;
	padding: 0px;
}
.zebra .row-outline input[type="text"] {
	border: 0px;
	padding: 0px;
}
.xzebra {
	border-bottom: 1px #d3d3d3 solid;
	border-spacing: 0px;
	margin-bottom: 8px;
	padding: 4px;
	width: 100%;
}
.zebra .hover a {
	display: block;
	padding: 4px;
}
.zebra dd {
	color: #000000;
	font-size: 1.1rem;
	margin: 0px;
	padding-top: 2px;
	padding-bottom: 2px;
}
.zebra dl {
	background-position: left center;
	background-repeat: no-repeat;
	margin: 0px;
	padding-left: 40px;
	height: 40px;
}
.zebra dt {
	color: #000000;
	font-size: 1.6rem;
	padding-top: 2px;
	padding-bottom: 2px;
}
.zebra textarea {
	width: 100%;
}
.zebra select {
	border: 1px #d3d3d3 solid;
	padding: 2px;
	width: 100%;
}
.zebra input[type="password"] {
	border: 1px #d3d3d3 solid;
	width: 100%;
}
.zebra input[type="text"] {
	border: 1px #d3d3d3 solid;
	padding: 2px;
	width: 100%;
}
.zebra label {
	xbackground-color: #eeeeee;
	xborder: 1px #d3d3d3 solid;
	xborder-radius: 4px;
	color: #666666;
	display: inline-block;
	xmargin-bottom: 4px;
	padding-top: 4px;
	padding-bottom: 4px;
	padding-right: 4px;
	vertical-align: middle;
}

/**
 * Hover
 */
.hover:hover {
	background-color: #aebcd4;
}
.hover label {
	cursor: pointer;
	display: block;
	padding: 4px;
}
.hover label > span {
	display: table;
}
.hover label > span span:nth-child(1) {
	padding-right: 4px;
}
.hover label > span span {
	display: table-cell;
	vertical-align: middle;
}
.hover input[type="checkbox"] {
	cursor: pointer;
}

/**
 * Menu
 */
.menu {
	border: 1px #d3d3d3 solid;
	display: flex;
	flex-wrap: wrap;
	list-style-type: none;
	margin-bottom: 8px;
	margin-top: 0px;
	padding-left: 0px;
	width: 100%;
}
.menu a {
	color: #000000;
	text-decoration: none;
}
.menu dl {
	background-position: 4px 50%;
	background-repeat: no-repeat;
	background-size: 32px 32px;
	margin: 0px;
	padding-left: 44px;
	padding-right: 4px;
	padding-top: 4px;
	padding-bottom: 4px;
}
.menu dt {
	font-size: 1.6rem;
	padding-bottom: 2px;
	padding-top: 2px;
}
.menu dd {
	font-size: 1.1rem;
	margin: 0;
	padding-bottom: 2px;
	padding-top: 2px;
}

/**
 * Pager
 */
.pager {
	margin-bottom: 8px;
	text-align: center;
}
.pager a {
	background-color: #ffffff;
	background-position: center center;
	background-repeat: no-repeat;
	border: 1px #d3d3d3 solid;
	border-radius: 4px;
	display: inline-block;
	height: 24px;
	min-width: 24px;
	line-height: 22px;
	padding-top: 0px;
	padding-bottom: 0px;
	padding-left: 4px;
	padding-right: 4px;
	vertical-align: middle;
}
.pager a:hover {
	background-color: #aebcd4;
}
.pager span {
	background-color: #eeeeee;
	border: 1px #d3d3d3 solid;
	border-radius: 4px;
	color: #666666;
	display: inline-block;
	height: 24px;
	min-width: 24px;
	line-height: 22px;
	padding-top: 0px;
	padding-bottom: 0px;
	padding-left: 4px;
	padding-right: 4px;
	vertical-align: middle;
}
.pager-left {
	background-image: url(/images/left-16.png);
	background-size: 16px 16px;
}
.pager-right {
	background-image: url(/images/right-16.png);
	background-size: 16px 16px;
}
@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 1.5dppx) {
	.pager-left {
		background-image: url(/images/left-32.png);
	}
	.pager-right {
		background-image: url(/images/right-32.png);
	}
}
@media (-webkit-min-device-pixel-ratio: 3.0), (min-resolution: 3.0dppx) {
	.pager-left {
		background-image: url(/images/left-64.png);
	}
	.pager-right {
		background-image: url(/images/right-64.png);
	}
}


/**
 * Spinner
 */
.spinner {
	display: table;
}
.spinner > a {
	background-repeat: no-repeat;
	color: #ffffff;
	display: table-cell;
	height: 64px;
	text-decoration: none;
}
.spinner > .bar {
	background-image: url(/images/spinner-bar-64.png);
	background-repeat: repeat-x;
	background-size: 8px 64px;
	color: #ffffff;
	padding-left: 4px;
	padding-right: 4px;
	vertical-align: middle;
	white-space: nowrap;
}
.spinner > .end {
	background-image: url(/images/spinner-end-64.png);
	background-size: 8px 64px;
	width: 8px;
}
.spinner > .logo-64 {
	background-size: 64px 64px;
	width: 64px;
}
.spinner > .logo-text {
	background-image: url(/images/logo-text-1x.png);
	background-size: 160px 64px;
	width: 160px;
}
.spinner > .beg {
	background-image: url(/images/spinner-beg-64.png);
	background-size: 8px 64px;
	width: 8px;
}
.spinner > .root {
	background-image: url(/images/spinner-root-64.png);
	background-size: 64px 64px;
	width: 64px;
}
.spinner > .root > img {
	border-radius: 32px;
	display: block;
	padding: 2px;
	width: 64px;
}
.spinner > .sep {
	background-image: url(/images/spinner-sep-64.png);
	background-size: 8px 64px;
	width: 8px;
}
.spinner > .top {
	background-image: url(/images/spinner-top-64.png);
	background-size: 64px 64px;
	width: 64px;
}
.spinner > .top > img {
	border-radius: 32px;
	display: table;
	padding: 2px;
	width: 64px;
	height: 64px;
}
.spinner > .txt {
	color: #000000;
	font-size: 1.5rem;
	font-weight: bold;
	padding-left: 8px;
	vertical-align: middle;
}
.spinner > .short {
	display: none;
}
.spinner > .long {
	display: table-cell;
}
@media all and (max-width: 765px) {
	.spinner > .short {
		display: table-cell;
	}
	.spinner > .long {
		display: none;
	}
	.title > .spinner {
		display: table;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 8px;
	}
}
@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 1.5dppx) {
	.spinner > .bar {
		background-image: url(/images/spinner-bar-128.png);
	}
	.spinner > .beg {
		background-image: url(/images/spinner-beg-128.png);
	}
	.spinner > .end {
		background-image: url(/images/spinner-end-128.png);
	}
	.spinner > .logo-text {
		background-image: url(/images/logo-text-2x.png);
	}
	.spinner > .top {
		background-image: url(/images/spinner-top-128.png);
	}
	.spinner > .root {
		background-image: url(/images/spinner-root-128.png);
	}
	.spinner > .sep {
		background-image: url(/images/spinner-sep-128.png);
	}
}
@media (-webkit-min-device-pixel-ratio: 3.0), (min-resolution: 3.0dppx) {
	.spinner > .bar {
		background-image: url(/images/spinner-bar-256.png);
	}
	.spinner > .beg {
		background-image: url(/images/spinner-beg-256.png);
	}
	.spinner > .end {
		background-image: url(/images/spinner-end-256.png);
	}
	.spinner > .logo-text {
		background-image: url(/images/logo-text-4x.png);
	}
	.spinner > .top {
		background-image: url(/images/spinner-top-256.png);
	}
	.spinner > .root {
		background-image: url(/images/spinner-root-256.png);
	}
	.spinner > .sep {
		background-image: url(/images/spinner-sep-256.png);
	}
}


/**
 * Details Toggle
 */
label.toggle {
	background-position: 4px center;
	background-repeat: no-repeat;
	background-size: 16px 16px;
	border: 1px solid #d3d3d3;
	border-radius: 4px;
	cursor: pointer;
	display: table-cell;
	padding: 4px 4px 4px 24px;
	vertical-align: middle;
}
label.toggle:hover {
	background-color: #aebcd4;
}
input.toggle {
	display: none;
}
input.toggle+div {
	margin-top: 8px;
}
input.toggle:checked+div {
	display: none;
}
