@charset "UTF-8";
/* reset */
* { margin: 0; padding: 0; font-size: 1em; font-family: inherit; outline: none; }
*, ::after, ::before { box-sizing: border-box; }
html { overflow-y: scroll; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
label, input, button, select, img { vertical-align: middle; }
h1, h2, h3, h4, h5, h6 { font-weight: inherit; }
ul, dl, dt, dd { list-style: none; }
input[type="submit"], button { cursor: pointer; }
fieldset { border: 0; }
a { color: inherit; text-decoration: none; }
legend { display: none; }
table { border-collapse: collapse; }
address { font-style: normal; }
::placeholder, .placeholdersjs { color: #aaa; }

.inner { width: 100%; margin-left: auto; margin-right: auto; }

/* 화면낭독기 사용자용 */
.msg_sound_only, .sound_only { display: none; }

/* 캡챠 자동등록(입력)방지 */
#captcha { font-size: 0em; display: inline-block; }
#captcha > * { font-size: 0.875rem; margin-right: 0.2em; height: 3em; border: 1px solid #ddd; border-radius: 0.3em; vertical-align: top; }
#captcha > button { width: 3em; background: #fff no-repeat center/100%; text-indent:-999px; overflow: hidden; }
#captcha #captcha_mp3 { background-image: url('../img/captcha.png'); background-position-y: top; }
#captcha #captcha_reload { background-image: url('../img/captcha.png'); background-position-y: bottom; }
#captcha #captcha_key { width: 9em; }
#captcha #captcha_info { margin-top: 0.2em; display: block; border: 0; height: auto; }
/* mobile */
#captcha.m_captcha audio { width: 100%; display: block; margin-bottom: 0.2em;border-radius: 5em; }

/* ckeditor 단축키 */
.cke_sc { font-size: 0.875em; text-align: right; margin-bottom: 0.2em; }
.btn_cke_sc { line-height: 1.8; padding: 0 0.8em; display: inline-block; border: 1px solid #ccc; background-color: #fafafa; color: #666; }
.cke_sc_def { padding: 0.5em 1em; border: 1px solid #ccc; background-color: #f7f7f7; text-align: center; }
.cke_sc_def dl { display: flex; flex-wrap: wrap; text-align: left; }
.cke_sc_def dl > * { padding: 0.3em 0; border-bottom: 1px solid #ddd; }
.cke_sc_def dl > *:nth-last-child(-n+4) { border-bottom: 0; }
.cke_sc_def dt { width: 20%; font-weight: bold; }
.cke_sc_def dd { width: 30%; }
.btn_cke_sc_close { display: none; }

/* 폼 */
textarea, select, .frm_input { border: 1px solid #ddd; }
select, .frm_input { padding: 0 0.8em; }
textarea { width: 100%; padding: 0.8em; min-height: 10em; }
.frm_input { height: 2.8em; }
.full_input { width: 100%; }
.half_input { width: 49.5%; }
.frm_info { font-size: 0.9em; color: #666; }

/* 체크박스, 라디오 */
.chk_box input { display: none; }
.chk_box input + label { cursor: pointer; }
.chk_box input + label span { display: inline-block; width: 1em; height: 1em; margin-right: 0.5em; margin-top: -0.2em; border: 1px solid #ddd; vertical-align: middle; }
.chk_box input[type='checkbox'] + label span { background: #fff url(../img/chk.png) no-repeat center/80%; }
.chk_box input[type='checkbox']:checked + label span { background-color: #2778D7; border: 1px solid #2778D7; }
.chk_box input[type='radio'] + label span { background: #fff; border-radius: 5em; }
.chk_box input[type='radio']:checked + label span { border: 0.3em solid #2778D7; }

/* 필수입력 */
.required { background-image: url('../img/require.png') !important; background-repeat: no-repeat !important; background-position: right top !important; }

/* 버튼 */
.btn_confirm { display: flex; justify-content: center; }
.btn, .btn01, .btn02, .btn_submit, .btn_close, .btn_cancel,.btn_frmline { display: flex; text-align: center; border: 1px solid transparent; align-items: center; justify-content: center; }
.btn_submit { background-color: #ff0000; color: #ffffff; border-color: #ff0000; }
.btn_close { background-color: #ffffff; color: #ff0000; border-color: #ff0000; }
.btn_cancel { background-color: #ffffff; color: #ff0000; border-color: #ff0000; }
.btn_frmline { background-color: #843D3D; color: #ffffff; border-color: #843D3D; }
/* 게시판용 버튼 */
.btn_b01, .btn_admin { width: 2em; height: 2em; background-color: transparent; color: #aaa; }

/* 기본테이블 */
.tbl_wrap table { width: 100%; }
.tbl_wrap caption { font-size: 1.125em; margin-bottom: 0.5em; font-weight: 700; text-align: left; }
.tbl_wrap tr { border-bottom: 1px solid #ddd; }
.tbl_wrap th, .tbl_wrap td { padding: 0.5em; }
.tbl_wrap th { font-weight: 400; }
.tbl_wrap td { color: #666; }
/* 테이블01 */
.tbl_head01 table { border-top: 2px solid #000; text-align: center; }

/*폼 리스트*/
.form_01 h2 { font-size: 1.125em; }
.form_01 ul::after { content:""; display: block; clear: both; }
.form_01 li { margin-bottom: 0.5em; }
.form_01 .left_input { float: left; }
.form_01 .margin_input { margin-right: 1%; }

/* 자료 없는 목록 */
.empty_table, .empty_list, .empty_li { padding: 5em 0 !important; color: #666; text-align: center; }

/* 테이블 항목별 정의 */
.td_chk { width: 2em; }
.td_num { width: 3em; }
.td_name { width: 6em; }
.td_date { width: 8em; }
.td_datetime { width: 10em; }
.td_status { width: 5em; }
.td_subject { text-align: left; }

/* 새창 기본 스타일 */
.new_win { position: relative; }
.new_win #win_title { font-size: 1.25em; font-weight: 700; line-height: 2.4; padding: 0 1em; box-shadow:0 1px 10px rgba(0,0,0,0.1); position: relative; }
.new_win .win_total { font-size: 0.75em; padding: 0 1em; display: inline-block; position: absolute; right: 1.25em; top: 50%; transform: translateY(-50%); color: #ff0000; background: #f1f1f1; border-radius: 5em; }
.new_win .win_ul { padding: 1em; display: flex; }
.new_win .win_ul li { line-height: 1.8; padding: 0 1em; border: 1px solid #ddd; border-radius: 1em; margin-right: 0.25em; color: #999; }
.new_win .win_ul .selected { background-color: #ff0000; border-color: #ff0000; color: #fff; }
.new_win .win_desc { padding: 1em; }
.new_win .new_win_con { padding: 1.5em; }
.new_win .new_win_con2 {  }
.new_win .btn_confirm, .new_win .win_btn { text-align: center; margin-top: 2em; }

/* 게시물 선택복사 선택이동 */
#copymove .tbl_wrap { padding: 1em; }
#copymove .tbl_wrap td:nth-child(2) { text-align: left; position: relative; }
#copymove .copymove_current { font-size: 0.875em; background-color: #ff0000; color: #fff; display: inline-block; position: absolute; right: 1.25em; top: 50%; transform: translateY(-50%); padding: 0 0.625em; line-height: 1.6; border-radius: 5em; }

/* 페이징 */
.pg_wrap {  }

/* 폼스타일 */
.frm-wrap ul { display: flex; flex-wrap: wrap; justify-content: space-between; }
.frm-wrap li { width: 100%; }
.frm-wrap li.half { width: 49.5%; }
.frm-01 li { margin-bottom: 0.5em; }
.frm-01 li > label { display: none; }
.frm-02 li { display: flex; margin-bottom: 0.5em; }
.frm-02 li > label:nth-child(1) { width: 5em; line-height: 2.8; }
.frm-02 li > *:nth-child(2) { width: calc(100% - 5em); }

/* 팝업레이어 */
.hd-popups { display: flex; position: fixed; width: 100%; max-width: 90%; flex-wrap: wrap; align-items: center; justify-content: center; left: 50%; top: 50%; transform: translate(-50%,-50%); z-index: 99999; }
.hd-popup { margin: 0.5em; border: 1px solid #ddd; background-color: #fff; }
.hd-popup-con {  }
.hd-popup-con img { vertical-align: top; max-width: 100%; }
.hd-popup-btn { display: flex; background-color: #000; justify-content: space-between; }
.hd-popup-btn button { height: 2em; padding: 0 0.5em; border: 1px solid transparent; background-color: transparent; color: #fff; }
.hd-popup-btn .hd-popup-close { background-color: #555; }
@media screen and (max-width: 768px){
    .hd-popups { display: block; }
    .hd-popup { position: absolute; width: 100%; margin: 0; max-width: 500px; left: 50%; top: 50%; transform: translate(-50%,-50%); }
}

/* 하단 팝업 */
.ft-popups { position: fixed; left: 0; top: 0; width: 100%; height: 100%; z-index: 999999; background-color: rgba(0,0,0,0.6); display: none; }
.ft-popup-box { width: 90%; max-width: 600px; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); background-color: #fff; border-radius: 1em; overflow: hidden; display: none; }
.ft-popup-tit { padding: 0.8em 1em; border-bottom: 1px solid #ddd; }
.ft-popup-tit h4 { font-size: 1.25em; font-weight: 500; }
.ft-popup-con { padding: 0.5em 1em; height: 250px; overflow-y: scroll; background-color: #f7f7f7; }
.ft-popup-con p { font-size: 0.875em; line-height: 1.4; color: #666; }
.ft-popup-con img { vertical-align: top; max-width: 100%; }
.ft-popup-btn { font-size: 0.9em; display: flex; justify-content: flex-end; background-color: #000; }
.ft-popup-btn button { padding: 0 0.8em; line-height: 2.4; background-color: transparent; border: 1px solid transparent; color: #fff; }
.ft-popup-btn button i { vertical-align: middle; }
.ft-popup-open { cursor: pointer; }