/* This is a css for html5 */
html, body { max-width: 100%; overflow-x: hidden; }
*, *::before, *::after { box-sizing:border-box; }

body,p,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,th,td,form,fieldset,legend,input,textarea,button,select{ margin: 0; padding: 0; }
body,input,textarea,select,button,table,h1,h2,h3,h4,h5 { font-size: 15px; line-height: 1.267em; }
/*
body { top: 0; left: 0; background-color: #FFF; }
body, input, select, textarea { color: #333; font-family: "나눔고딕", "NanumGothic", "Gulim", sans-serif; font-size: 1em; }
*/
:root:lang(ko), [lang|=ko] { text-underline-position: under right; }	/* 한글 글꼴과 밑줄이 안 겹치게 하는 css (2019-01-19) */

.mtb1em { margin-top: 1em; margin-bottom: 1em; }

table { border-spacing: 0; }
table th { font-weight: normal; }


/* Links */
a, a:link, a:visited, a:hover, a:active { background-color: transparent; text-decoration: none; cursor: pointer; }
a:link, .pnt { color: #0a6bcc; }

/* #vw_txt a:link, #vw_txt .pnt { text-decoration:underline; text-decoration-style: dotted; text-decoration-color: #333; } */
#vw_txt a:link, #vw_txt .pnt { }
a:visited { color: #8fadcc; }
a:hover, .pnt:hover { color: #c00; }
#vw_txt a:hover, #vw_txt .pnt:hover { text-decoration:underline; text-decoration-style: solid; text-decoration-color: inherit;; }

a:active { color: #F00; }
.hlp { cursor: help; }
.chr_nfo { font-size: 0.7em; color: #4CAF50; cursor: help; padding: 3px; }
.pnt { cursor: pointer; }

button.btn, a.btn, span.btn, input.bt {
	border-radius: 0.3em; border: solid 1px #d5d5d5; color: #333; padding: 0.2em 0.3em; cursor: pointer;
	text-shadow: 1px 1px 2px #fff;
	background-color: #ECE9E6;  /* fallback for old browsers */
	background: -webkit-linear-gradient(to bottom, #fefefe, #ECE9E6);  /* Chrome 10-25, Safari 5.1-6 */
	background: linear-gradient(to bottom, #fefefe, #ECE9E6); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}
button img { vertical-align: middle; }


/* input */
input.s, select.s, textarea.s {
	background-color: #F7F7F7;
	border: solid 1px #DDD;
	border-radius: 0; /* for iPhone, Ipad */
}
input.bt {
	border-width: 1px;
	border-right-color: #999; border-bottom-color: #999;
	text-shadow: 1px 1px #FFF;
	-webkit-appearance: none;	/* for iPhone, Ipad [주의] 이 코드는 Chrome에서 input checkbox를 안 보이게 함 */
	/* colorzilla gradient-editor START */
	background: #EEE; /* Old browsers */
	background: -moz-linear-gradient(top, #EEE 0%, #CCC 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#EEE), color-stop(100%,#CCC)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #EEE 0%,#CCC 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #EEE 0%,#CCC 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #EEE 0%,#CCC 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #EEE 0%,#CCC 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#EEE', endColorstr='#CCC',GradientType=0 ); /* IE6-9 */
	/* colorzilla gradient-editor END */
}
input.bdRed, textarea.bdRed { background-color: #FFFFE0; border-color: #C00; }

/* js달력 */
/*
.cld {
	background-color: #ccdef6; border-spacing: 1px; border: solid 1px #589dda; border-right-width: 2px; border-bottom-width: 2px;
	box-shadow: 3px 3px 5px #999;
	-moz-box-shadow: 3px 3px 5px #999;
	-webkit-box-shadow: 3px 3px 5px #999;
}
*/
.cld {
	background-color: #ccdef6; border-spacing: 1px; border: solid 1px #589dda; border-right-width: 2px; border-bottom-width: 2px;
	box-shadow: 3px 3px 5px #999; z-index: 1;
	-webkit-box-shadow: 3px 3px 5px #999;
}

.cld th, .cld td { text-align: center; font-size: 11px; font-family: "Tahoma"; padding: 2px; border: solid 1px #ccdef6; }
.cld th { font-weight: normal; font-family: "나눔바른고딕", "나눔고딕", "Nanum Gothic", "굴림", "Gulim" ; }
.cld td { cursor: pointer; background-color: #e3edf9; border: solid 1px #e3edf9; }
.cld td:hover { background-color: #d4dde8; border-color: #d4dde8; }
.cld tr.def td { cursor: default; }
.cld tr.def td:hover { background-color: #e3edf9; border: solid 1px #e3edf9; }
.cld td.red, .cld th.red { color: #d00; }
.cld td.blue, .cld th.blue { color: #00c; }
.cld td.today { border: solid 1px #d00; }
.cld td.setday { background-color: #ffffe0; }
.cld td.gray { color: #aaa; }
.cld .prev { float: left; }
.cld .next { float: right; }
.cld .ym { text-align: center; }
.cld span.p { cursor: pointer; }

.icld { color: #A08FE7; font-family: sans-serif; cursor: pointer; vertical-align: middle; font-size: 1.3em; }

/*
a.bt { border: solid 2px #B7BDC3; border-top-color: #E2E0DA; border-left-color: #E2E0DA; color: #000; background-color: #D4D0C8; text-decoration: none; }
*/

/* AtteNtion(2013-05-31) */
div.attn { border: none; background-color: #eee; padding: 0.6em; width: 80%; margin: 1em auto; color: #111; border-radius: 0.5em;
display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: flex-start;
font-size: 0.8em; 
box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 7px;
}
div.attn div { color: #111; padding: 0.2em 0.4em; line-height: 1.4; }

div.attn div:first-child { background-color: #111; color: #fff; border-radius: 0.5em; white-space:nowrap; text-align: center;
box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 2px inset;
text-shadow: rgba(0, 0, 0, 0.2) 2px 2px 2px;
}

div.attn.grn { background-color: #DFEDC0; }
div.attn.grn div { color: #3F5A04; }
div.attn.grn div:first-child { background-color: #3F5A04; color: #DFEDC0; }

div.attn.ylw { background-color: #FFF6DE; }
div.attn.ylw div { color: #DC6200; }
div.attn.ylw div:first-child { background-color: #DC6200; color: #FFF6DE; }

div.attn.red { background-color: #FFDEDE; }
div.attn.red div { color: #BE0000; }
div.attn.red div:first-child { background-color: #BE0000; color: #FFDEDE; }
/* AtteNtion */





/* ▼▼▼ Fade Alert */
#noti_bx {
    z-index: 20;
	position: fixed; top: 0; left: 50%; transform: translate(-50%, 0);
	display: flex; flex-direction: column-reverse;
	width: 60%;
}
#noti_bx div.sb {
	width: 100%; background-color: #3cc967; margin: 5px; padding: 0.7em; color: #fff; font-size: 1em; line-height: 1.4;
	border-radius: 7px; opacity: 0;
	box-shadow: 1px 1px 3px 3px rgba( 100, 100, 100, 0.2 );
	transition: all 1s; -webkit-transition: all 1s;
}
#noti_bx div.sb.red {
	background-color: #c00;
}
#noti_bx div.sb.ylw {
	background-color: #f90;
}
#noti_bx div.sb.gry {
	background-color: #bbb;
}

#noti_bx div.sb.show {
	opacity: 1;
	transition: all 1s; -webkit-transition: all 1s;
}
/* ▲▲▲ Fade Alert */




/* border */
.nob { border: none; }

/* table */

/* width */
.w40 { width: 40px; }
.w50 { width: 50px; }
.w60 { width: 60px; }
.w70 { width: 70px; }
.w100 { width: 100px; }
.w170 { width: 170px; }
.w98 { width: 98%; }
.wd { width: 100%; }

/* font-size */
.fs10 { font-size: 0.625em; }
.fs11 { font-size: 0.688em; }
.fs12 th, .fs12 td { font-size: 12px; }
.fs12 { font-size: 0.75em; }
.fs13 { font-size: 0.813em; }

td.fs11 { font-size: 11px; }

/* font-family */
.ffTh { font-family: "Tahoma"; }

/* 페이징 관련 (flex로 변경: 2025-09-16) */
div.paging { width: 100%; margin: 1em 0; display: flex; align-items: center; justify-content: space-between; gap: 10px;}
div.paging div.left, div.paging div.right { flex 0 0 auto; }	/* 내용 만큼만 */
div.paging div.center {
	flex: 1 1 auto;			/* 남는 공간 확장 */
	text-align: center;		/* 가운데 정렬 */
	white-space: nowrap;	/* 줄바꿈 금지 */
}
div.paging div.center a { font-family: "Palatino Linotype", "Palatino", "Times New Roman", serif; font-size: 15px; margin-right: 4px; text-decoration: none; border: solid 1px transparent; padding: 2px 5px; color: #555; }
div.paging div.center a:visited { color: #999; }
div.paging div.center a:hover { background-color: #fdfdfd; text-decoration: none; border-color: #ccc; }
div.paging div.center a.here { color: #f90; font-weight: bold; background-color: #fff; border-color: #d99; opacity: 1; }

/* margin, padding */
.mt5 { margin-top: 5px; }
.mt10 { margin-top: 10px; }
.mb5 { margin-bottom: 5px; }
.mtb5 { margin-top: 5px; margin-bottom: 5px; }

/* float */
.flL { float: left; }
.flR { float: right; }
.cl { clear: both; }

/* align */
.alL { text-align: left; }
.alC { text-align: center; }
.alR { text-align: right; }
.valT { vertical-align: top; }
.valM { vertical-align: middle; }
.valB { vertical-align: bottom; }

/* btn_clipboard_js */
.btn_cbj, .ic_svg { vertical-align: middle; cursor: pointer; height: 15px; opacity: 0.5; }
.btn_cbj:hover, .ic_svg:hover { opacity: 1; }


/* Color */
.cRed { color: #C00; }
.cBlue { color: #09c; }
.cGrn { color: #090; }
.cGrayL { color: #CCC; }

.cOrg { color: #f90; }

/* 인쇄시 적용되는 CSS */
@media print {
body { background-color: #FFF; color: #000; }

.vSpace { display: none; }
}