  @font-face {
    font-family: 'ChosunGu';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_20-04@1.0/ChosunGu.woff') format('woff');
    font-weight: normal;
    font-style: normal;
  }

  @import url(https://cdn.jsdelivr.net/gh/eunchurn/NanumSquareNeo@0.0.6/nanumsquareneo.css);
html, .main_body {width:100%; height:100%; min-width:1600px; background:url("/images/body_bg.gif");  font-family: "NanumSquareNeo", sans-serif; color:#000; font-size:1em; margin:0; padding:0;}

.iframe_body {width:100%; height:100%; font-family: "NanumSquareNeo", sans-serif; color:#000; font-size:1em; margin:0; padding:0;}

ul, ol, li, dl, dt, dd {list-style:none; margin:0; padding:0;}
a:link,a:visited,a:active,a:hover {text-decoration:none;}
img {max-width: 100%; vertical-align:middle !important;}
p {margin:0; padding:0;}
.table {table-layout:fixed; background-color:#fff; text-align:center; border-collapse: collapse;}
.table_bgnone {table-layout:fixed; text-align:center; border-collapse: collapse;}
caption {color:#000; border-top:2px solid #4d4d4d; border-left:1px solid #d4d4d4; border-right:1px solid #d4d4d4; border-bottom:0;text-align:left; background: linear-gradient( to bottom, #fff, #ebebeb ); font-size:1.05em; padding:0;}

.caption {color:#000; text-align:left; background: linear-gradient( to bottom, #fff, #ebebeb ); font-size:1.05em; padding:0;}
th,
td {
  border: 1px solid #d6d6d6;
  vertical-align: middle !important;
}
table thead th {

  font-weight: normal;
}
td {border:1px solid #d6d6d6; vertical-align: middle !important;}
.title td {background-color:#f5f5f5; text-align:center;}

.justify-content-between {align-items: center !important;}
/***** 보더 *****/
.border-all-danger {border:2px solid #dc3545 !important;}
.border-bottom-danger {border-bottom:2px solid #dc3545 !important;}
.border-left-danger {border-left:2px solid #dc3545 !important;}
.border-right-danger {border-right:2px solid #dc3545 !important;}
.border-top-danger {border-top:2px solid #dc3545 !important;}
.border-bottom-dark {border-bottom:1px solid #525252 !important;}
.border-right-dark {border-right:1px solid #525252 !important;}
/***** 폰트 *****/
.gulim {font-family:"gulim"; font-size:12px; letter-spacing: 0px !important;}
.arial {font-family:'arial', sans-serif; font-weight:normal;}
/***** 백그라운드 *****/
.bg-header {background: linear-gradient( to bottom, #3abcb6, #26a09d ); letter-spacing: 1px; border-bottom:1px solid #02817e;}
.bg-noise {background:url("/images/bg_noise.gif");}
.bg-brown {background-color:#fff8d2 !important;}
.bg-gray {background-color:#e9e9e9 !important; text-align:center; color:#313131;}
.bg-dark {background-color:rgb(36, 36, 36);}
.bg-slash {background: url('/images/slash.png'); background-size: 100% 100%; background-color:#e9e9e9;}
.bg-transparent {background-color: transparent !important;}
/***** 글자색 *****/
.text-brown {color:#fff3ad;}
/***** 포인터 *****/
.pointer {cursor:pointer;}
/***** 버튼 *****/
.btn {font-family:"gulim"; font-size:12px !important;}
/***** 그림자 *****/
.text-shadow {text-shadow: 0px 0px 3px #000;}
.text-shadow-white {text-shadow: 0px 0px 3px #fff;}
/***** HOVER *****/
.hover:hover {background-color:#fffce9 !important;}
.hover-black:hover {background-color:#333; color:#fff;}
.active-black {background-color:#333; color:#fff;}
.hover-brown:hover {background-color:#fff8d2 !important;}
.active-brown {background-color:#fff8d2;}
.hover-rgb3:hover {background:rgba(0, 0, 0, 0.3);}
.active-rgb3 {background:rgba(0, 0, 0, 0.3);}
.hover-rgb6:hover {background:rgba(0, 0, 0, 0.6);}
.active-rgb6 {background:rgba(0, 0, 0, 0.6);}
.hover-background-danger:hover {background-color:#dc3545 !important;}
.active-background-danger {background-color:#dc3545 !important;}
.bg-hoverbrown {
	background-color: #fffadf !important;
  }
  .bg-cellbrown {
	background-color: #fff0a1 !important;
  }
/***** LI사이즈 *****/
.ul50 li.ul50_left {float:left; width:49.5%;}
.ul50 li.ul50_right {float:right; width:49.5%;}
.ul33 li {float:left; width:33.333333%;}
.ul25 li {float:left; width:25%;}
.ul20 li {float:left; width:20%;}
.ul10 li {float:left; width:10%;}
.ul5 li {float:left; width:5%;}
/***** ToolTip *****/
.tooltip-inner {
	max-width: 1000px;
	padding: 10px;
	font-size:1rem;
  font-family: "NanumSquareNeo", sans-serif;
}
/***** 체크박스 *****/
.wh20 {width:16px; height:16px;}
/***** CK에디터5 높이 *****/
.ck-editor__editable {min-height: 300px;}
.min-height100 {min-height: 100px !important;}
.min-height200 {min-height: 200px !important;}
.min-height300 {min-height: 300px !important;}
/***** 내부리스트 *****/
.innerList {position:relative; width:100%; height:710px; overflow:auto;}
	.innerList li {float:left; width:100%; padding:10px 5px; border-bottom:1px solid #d6d6d6; cursor:pointer;}
	.innerList li:hover {background-color:#000; color:#fff;}
	.innerList li:last-child {border:0;}


/***** 내부리스트 *****/
.innerSearch {position:relative; width:100%; height:310px; overflow:auto;}
	.innerSearch li {float:left; width:100%; padding:10px 5px; border-bottom:1px solid #d6d6d6; cursor:pointer;}
	.innerSearch li:last-child {border:0;}

/***** PDF 뷰어 *****/
.pdfobject-container {width: 100%; max-width: 100%; height: 1460px; margin: 0;}
/***** 마스크 *****/
#mask {position:absolute; left:0; top:0; z-index:9999; background-color: rgba(0, 0, 0, 0.9); display: none; width: 100%; height: 100%;}
/***** 블링크 *****/
@keyframes blink {
	0% { opacity: 1; }
	50% { opacity: 0; }
	100% { opacity: 1; }
}

.blinking {
	animation: blink 0.5s infinite;
}


.loading-popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	color: #fff;
  }

  #CalendarLayer, #CalendarLayer1, #CalendarLayer2, #CalendarLayer3 {display:none; z-index:1;}
  code, pre {font-family: 'NanumSquareNeo-Variable'; font-size:0.95em;}


  .btn-pt {padding-top:10px;}


  /***** 테이블 스크롤 *****/
.table-scroll {width:100%; white-space: nowrap; overflow-y: auto; padding:0;}
.table-scroll::-webkit-scrollbar {height: 20px; background-color: #F5F5F5;}
.table-scroll::-webkit-scrollbar-thumb {-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3); background-color: #D62929;}

  /***** 다중업로드 파일 *****/
.upload-dropzone {
    border: 2px dashed #ccc;
    transition: all 0.3s ease;
    cursor: pointer;
}
.upload-dropzone.dragover {
    background-color: #f8f9fa;
    border-color: #0d6efd;
}
.file-list {
    margin-top: 1rem;
}
.file-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 1rem;
    margin-bottom: 0.25rem;
}
.file-info {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.file-name {
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

  /***** 프로그래스 바 *****/
  .progress-container {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10000;
    width: 300px;
    padding: 20px;
    border-radius: 5px;
    display: none;
    z-index: 1000000;
}
.progress {
    margin: 10px 0;
    height: 20px;
}
.progress-bar {
    transition: width 0.3s ease-in-out;
}
.status-text {
    margin-top: 10px;
    text-align: center;
}


.popup-container {
	position: fixed;
	left: 10px;
	bottom: 0px;
	z-index: 9999;
}
.slide-popup {
	width: 300px;
	background: white;
	transform: translateY(200px);
	transition: transform 0.5s ease-in-out;
	margin-top: 10px;
}
.slide-popup.show {
	transform: translateY(0);
}
.popup-container .slide-popup:first-child {
	margin-top: 0;
}

#sortable-container {
	border: 1px solid #ced4da;
	border-radius: 0.25rem;
	height: 225px;
	overflow-y: auto;
	background-color: white;
}
#sortable {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
#sortable li {
	margin: 0;
	padding: 0.5em 0.8em;
	font-size: 1em;
	cursor: grab;
	border-bottom: 1px solid #eee;
	transition: background-color 0.2s;
}
#sortable li:hover {
	background-color: #f8f9fa;
}
#sortable li:active {
	cursor: grabbing;
}
#sortable li:last-child {
	border-bottom: none;
}
.ui-state-highlight {
	height: 2.2em;
	background: #fff3cd;
	border: 1px dashed #ffc107;
}

figure.table table {
    width: 100%;
    table-layout: fixed;
}

figure.image {
	text-align: center !important;
}

figure.image-style-side {
	text-align: right !important;
}

.text-tiny {
    font-size: 0.7em;
}

.text-small {
    font-size: 0.85em;
}

.text-big {
    font-size: 1.4em;
}

.text-huge {
    font-size: 1.8em;
}
