/* Colors
#999
#bbb
#ddd
#eee
*/

/* General */
body {
	background-color: #eee;
	color: dimgray;
	min-width: 700px;
}

main {
	display: block;
	width: fit-content;
	margin: auto;
	
	@media print {
		color: black;
	}
	
	#div-wrapper {
		display: flex;
		width: fit-content;
		margin: auto;
		
		.div-container {
			display: block;
			margin: .5em;
			background-color: #fff;
			box-shadow: rgb(0 0 0 / 16%) 0px 1px 4px;
			
			.btn-del {
				float: right;
				cursor: pointer;
			}
		}
		
		.wfixed {
			width: 870px;
		}
	}
}

h1 {
	margin: 0;
	padding: 0;
	text-align: center;
	font-size: 2em;
}

h2 {
	margin: 0;
	padding: 0;
	max-width: 100vw;
	text-align: center;
	font-size: 1.4em;
}

h3 {
	margin: 0;
	padding: 0;
	font-size: 1.2em;
}

h4 {
	margin: 0;
	padding: 0;
}

button,
input[type="button"],
input[type="submit"] {
    color: #333333;
}

.nowrap {
	white-space: nowrap;
}

.clearfix {
	display: inline flex;
	
	&:after,
	&:before {
		content: "";
		display: block;
		clear: both;
	}
}

.bolder {
	font-weight: bolder;
}

.tmpl-row {
	display: none;
}

.spn-annot {
	color: red;
	font-size: 11px;
	font-weight: bolder;
}

.redtxt,
.errortxt {
	color: red;
}
.error {
	color: red;
}

#diag {
	display: none;
}

/* incHeader */
header {
	width: 90%;
	height: 110px;
	margin: 1em auto;
	
	.div-user {
		display: flex;
		justify-content: space-between;
		
		.img-inc {
			margin: 0;
			padding: 0;
		}
		.spn-user {
			display: inline-block;
			font-weight: bold;
		}
	}
	
	.div-menu {
		display: block;
		text-align: right;
		
		& a.btn-menu {
			display: inline-block;
			margin: 0;
			padding: .2em 1em;
			background-color: #bbb;
			border-radius: 7px;
			box-sizing: border-box;
			text-decoration: none;
			transition: 0.3s;
			
			&:hover {
				background-color: #ddd;
			}
			
			& span {
				display: block;
				position: relative;
				color: #fff;
				font-size: 16px;
				text-align: center;
				padding-left: 30px;
				
				&:before {
					content: '';
					width: 20px;
					height: 20px;
					background: #fff;
					border-radius: 50%;
					position: absolute;
					top: 0;
					left: 0;
					bottom: 0;
					margin: auto;
				}
				&:after {
					content: '';
					width: 8px;
					height: 8px;
					border-top: 3px solid #bbb;
					border-right: 3px solid #bbb;
					box-sizing: border-box;
					transform: rotate(45deg);
					position: absolute;
					top: 0;
					left: 5px;
					bottom: 0;
					margin: auto;
					transition: 0.3s;
				}
			}
		}
	}
}

#div-ctrl {
	max-width: 100vw;
	margin-top: 1em;
	text-align: center;
}

/* div-exctrl */
#div-exctrl {
	height: 1em;
	margin: 1em .5em .5em;
	font-weight: bold;
	
	.btn-prev {
		float: left;
		cursor: pointer;
	}

	.btn-next {
		float: right;
		cursor: pointer;
	}
	
	@media print {
		display: none;
	}
}

/* incFooter */
footer {
	width: 90%;
	margin: 1em auto;
	
	.site-footer {
		text-align: center;
	}
	.copyright {
		font-size: .8em;
	}
}

/* Login screen */
.login-screen {
	.login-wrapper {
		width: 600px;
		margin: 0 auto;
		background-color: #fff;
		box-shadow: rgb(0 0 0 / 16%) 0px 1px 4px;
		text-align: center;
		padding: 2em;
		
		& ul {
			list-style-type: none;
			margin-block-start: 0;
			padding-inline-start: 0;
		}
		.inp-login {
			padding: 0.2em;
			font-size: 1.25em;
		}
		.btn-login {
			margin-top: 2em;
			padding: 0.2em 1.5em;
		}
	}
	
	.wrapper-logout {
		display: none;
	}
}

/* MENU */
.menu {
	& main {
		#div-wrapper {
			.div-container {
				width: 800px;
				padding: 2em;
				text-align: center;
			}
		}
		
		h2 {
			margin-bottom: .5em;
		}
		
		.prd {
			text-align: left;
			margin: 0 1.5em .5em;
			& select {
				font: icon;
			}
		}
		
		.div-evInf {
			color: red;
			font-size: .9em;
		}
		
		.menu-items {
			display: flex;
			flex-wrap: wrap;
			margin-block-start: 0;
			margin-inline-start: 0;
			padding: 0;
			text-align: center;
			
			& li {
				list-style: none;
				width: 200px;
				text-align: center;
				font-size: 1.2em;
				margin: 10px auto;
				border: 2px solid #999;
				background-color: #bbb;
				
				a {
					display: block;
					padding: 5px 0;
					background-color: #bbb;
					color: white;
					text-decoration: none;
				}
			}
			
			.nondisp {
				border: hidden;
				margin: 0 auto;
				background-color: transparent;
			}
		}
	}
}

/* REGS ---------------------  */
.regs {
	& main {
		display: block;
		width: fit-content;
		margin: 3em auto auto;
		padding: 2em 2em;
		background-color: #fff;
		box-shadow: rgb(0 0 0 / 16%) 0px 1px 4px;
		
		& table {
			border: 1px solid gray;
			margin: auto;
			width: 100%;
			
			& tr.tr-invalid {
				background: #ccc;

				input, select, textarea, button {
					background: #ddd;
				}
			}
			
			& th {
				background-color: lightgray;
				padding: 0 6px;
			}
			
			& th, td {
				height: 1em;
				border: 1px solid gray;
				white-space: nowrap;
				font-size: .9em;
				
				& textarea {
					resize: none;
					box-sizing: border-box;
					vertical-align:top;
					height: 100%;
					min-height: 100px;
					width: 100%;
					min-width: 500px;
				}
			}
			
			td.delrow {
				text-align: center;
				& input {
					color: red;
				}
			}
			& input.btn-del {
				text-align: center;
				color: red;
			}
			
			& .aln-right {
				text-align: right;
			}
		}
		
		.div-right-btns {
			margin-bottom: .2em;
			text-align: right;
		}
		
		.nodisp {
			display: none;
		}
		
		.reg-mst {
			margin: 1em auto 0;
			max-width: 100vw;
			text-align: center;
		}
		
		.addr-format {
			display: none;
		}
		
		& input[type="number"] {
			width: 100%;
			-moz-appearance: textfield; 
			
			&::-webkit-outer-spin-button, 
			&::-webkit-inner-spin-button { 
			  -webkit-appearance: none; 
			  margin: 0; 
			}
		}
		
		& input.icon-del::-webkit-calendar-picker-indicator {
		  display: none;
		}
		
		.div-help {
			margin: .5em 0;
			text-align: left;
			font-size: 80%;
			color: green;

			details {
				display: inline-block;

				summary {
					cursor: pointer;
					font-weight: bold;
				}

				div.help-body {
					margin-top: 0.5em;

					div.help-title {
						font-weight: bold;
					}

					ul {
						margin: 0;
						padding-left: .8em;
						list-style-type: none;

						li {
						}
					}
				}
			}
		}
	}
}

/* list-employee (listEmployee, listEval1, listEval2, etc.) --------------------- */
.list-employee {
	& main {
		display: block;
		width: fit-content;
		min-width: 1200px;
		margin: 3em auto auto;
		padding: 2em 1em;
		background-color: #fff;
		box-shadow: rgb(0 0 0 / 16%) 0px 1px 4px;
		
		& div#ctrl-box {
			display: flex;
			justify-content: space-between;
			
			& #ctrl-right {
				text-align: right;
				& span {
					font-size: .8em;
				}
			}
		}
		
		& div.div-beGroup,
		  div.div-btGroup,
		  div.div-evGroup {
			margin-block-start: .7em;
		}
		
		& table {
			width: 100%;
			margin: 0;
			border: 1px solid gray;
			
			& thead {
				height: 2.7em;
			}
			& tbody {
				& tr {
					height: 2.7em;
				}
			}
			& th {
				white-space: nowrap;
				background-color: lightgray;
			}
			& th, td {
				padding: .05em .2em;
				line-height: 1.25em;
				border: 1px solid gray;
				font-size: .9em;
			}
			
			& th.tbl-sortable {
				padding-right: 1.5em;
			}
			
			& .spn-ratio {
				font-size: 85%;
				vertical-align: text-top;
				color: #aaa;
			}
			
			& .bdr-left-dbl {
				border-left: 4px double gray;
			}
		}
		
		& table.tbl-fixed {
			table-layout: fixed;
			width: 1400px;
		}
		
		/*.btn-addNewbie {
			margin: 0;
		}*/
		
		.reg-mst,
		.sec-control {
			margin-top: 1em;
			text-align: center;
		}
		
		.note {
			font-size: 0.9em;
		}
	}
	
	& #sec-criteria {
		display: flex;
		
		& .frm-search {
			& label {
				white-space: nowrap;
				margin-right: 2em;
			}
			& fieldset {
				display: flex;
				& .div-searchbtn {
					display: flex; 
					align-items: flex-end;
				}
			}
		} 
        & .div-rbtns {
			margin-top: auto;
            margin-left: auto;
        }
	}
	
	& th.th-beItem {
		& div {
			width: 20px;
			overflow: hidden;
		}
	}
	
	#sec-help {
		margin-top: .5em;
		
		.div-help {
			text-align: left;
			font-size: 80%;
			color: green;

			details {
				display: inline-block;

				summary {
					cursor: pointer;
					font-weight: bold;
				}

				div.help-body {
					margin-top: 0.5em;

					div.help-title {
						font-weight: bold;
					}

					ul {
						margin: 0;
						padding-left: .8em;
						list-style-type: none;

						li {
						}
					}
				}
			}
		}	
	}
}

.icn-arrow {
	display: block;
	position: relative;
    width: 40px;
    height: 20px;
    line-height: 20px;
	padding-left: 9px;
	background: #FFFFFF;
	border: 1.5px solid #808080;
	border-radius: 2.5px;
	text-decoration: none;
	text-align: left;
	
	& div{
		white-space: nowrap;
		color: #808080;
		font-size: 15px;
		font-weight: bold;
	}
	.icn-2char {
		transform-origin: left;
		transform: scaleX(0.9);
	}
	.icn-4char {
		transform-origin: left;
		transform: scaleX(0.45);
	}
	
	&::before {
		content: "";
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 2px;
		width: 4px;
		height: 8px;
		background: #808080;
	}
	&::after {
		content: "";
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 5.5px;
		width: 0;
		height: 0;
		border-top: 8px solid transparent;
		border-bottom: 8px solid transparent;
		border-left: 3.5px solid #808080;
	}
}


/* tablesorter */
.tablesorter-default .header,
.tablesorter-default .tablesorter-header {
	background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);
	background-position: center right;
	background-repeat: no-repeat;
	cursor: pointer;
	
	& thead {
		.headerSortUp,
		.tablesorter-headerAsc,
		.tablesorter-headerSortUp {
			background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);
		}
		
		.headerSortDown,
		.tablesorter-headerDesc,
		.tablesorter-headerSortDown {
			background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
		}
	}
}

/* tablefilter */
.th-tblfilter {
	width: 23px;
	
	.filter-area {
		display: none;
		position: relative;
		top: 2.4em;
		/* right: 0; */
		padding: 4px;
		background-color: #eaeaea;
		text-align: left;
		font-weight: normal;
	}
}
