@charset "UTF-8";

/* 초기화 */
* { margin: 0; padding: 0; box-sizing: border-box; outline: none; font-family: inherit; }
::after, ::before { box-sizing: border-box; }
html { overflow-y: scroll; }
fieldset { border: 0; }
h1, h2, h3, h4, h5, h6 { font-size: 1em; font-weight: 400; }
header, footer, section, article, aside, nav, figure, figcaption { display: block; }
ol, ul, li, dl, dt, dd { list-style: none; }
legend { position: absolute; font-size: 0; line-height: 0; text-indent: -9999em; overflow: hidden; }
label, input, button, select, img, textarea { vertical-align: middle; font-size: 1em; }
input[type="submit"], button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
::placeholder, .placeholdersjs { color: #aaa; }
table { border-collapse: collapse; }
textarea { resize: none; }
small { font-size: 0.875em; }
i, address { font-style: normal; }

/* 화면낭독기 사용자용 */
.msg_sound_only, .sound_only { display: inline-block !important; position: absolute; top: 0; left: 0; width: 0; height: 0; font-size: 0 !important; line-height: 0 !important; border: 0 !important; overflow: hidden !important; }

/* 캡챠 자동등록방지 */
#captcha { display: flex; flex-wrap: wrap; }
#captcha > * { height: 2.5em; border: 1px solid #ccc; margin-right: 0.3em; }
#captcha_key { width: 8em; }
#captcha button { overflow: hidden; width: 2.5em; text-indent:-999px; }
#captcha_mp3 { background: #f5f5f5 url('../img/captcha.png') no-repeat center top/100%; }
#captcha_reload { background: #f5f5f5 url('../img/captcha.png') no-repeat center bottom/100%; }
#captcha_info { display: block; width: 100%; height: auto; border: 0; }

/* 에디터 단축키 */
.cke_sc { font-size: 0.875em; text-align: right; margin-bottom: 0.3em; }
.btn_cke_sc { padding: 0 0.8em; color: #555; background-color: #fafafa; border: 1px solid #ccc; line-height: 1.6; }
.btn_cke_sc_close { display: block; width: 100%; padding: 0.5em 0; background-color: transparent; border: 0; }
.cke_sc_def { padding: 0.5em 1em 0; background: #f7f7f7; border: 1px solid #ccc; text-align: center; margin-top: 0.3em; }
.cke_sc_def dl { display: flex; text-align: left; flex-wrap: wrap; }
.cke_sc_def dl > * { padding: 0.3em 0; border-bottom: 1px solid #ddd; }
.cke_sc_def dt { width: 20%; font-weight: bold; }
.cke_sc_def dd { width: 30%; }

/* 폼 입력 */
.frm_input, input[type='text'], input[type='password'], select, textarea { border: 1px solid #ddd; }
.frm_input, input[type='text'], input[type='password'], select { height: 2.5em; padding: 0 0.5em; }
textarea { width: 100%; padding: 0.5em; min-height: 8em; }
.full_input { width: 100%; }
.half_input { width: 49.5%; }
.twopart_input { width: 18em; margin-right: 0.2em; }
.frm_address { margin-top: 0.5em; }
.frm_file { position: relative; }
.frm_file .frm_file_input { display: none; }
.frm_file .frm_file_name { width: calc(100% - 8.5em); margin-right: 0.5em; }
.frm_file .btn_frmline { margin-left: -4px; }
.frm_file .frm_file_desc { margin-top: 0.5em; }
.frm_file .frm_file_del { position: absolute; right: 9em; top: 0.5em; display: inline-block; }

/* 체크박스, 라디오 */
div.chk_box { display: inline-block; }
.chk_box input { display: none; }
.chk_box input + label { line-height: 1.5; display: inline-block; vertical-align: top; cursor: pointer; }
.chk_box input + label span { display: inline-block; vertical-align: top; width: 1em; height: 1em; border: 1px solid #ddd; margin-top: 0.25em; }
.chk_box input[type="radio"] + label span { background-color: #fff; border-radius: 3em; position: relative; }
.chk_box input[type="radio"] + label span::after { content:""; width: 60%; height: 60%; display: inline-block; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); border-radius: 3em; }
.chk_box input[type="radio"]:checked + label span { border-color: var(--theme); }
.chk_box input[type="radio"]:checked + label span::after { background-color: var(--theme); }
.chk_box input[type="checkbox"] + label span { background: #fff url(../img/chk.png) no-repeat center; }
.chk_box input[type="checkbox"]:checked  + label span { background-color: var(--theme); }

/* 버튼 */
.btn_confirm { text-align: center; }
.btn { height: 2.25em; line-height: 2.25; padding: 0 0.625em; border: 0; text-align: center; vertical-align: middle; display: inline-block; }
.btn01, .btn02 { padding: 0.5em; display: inline-block; cursor: pointer; }
.btn_submit, .btn_close,
.btn_cancel, .btn_frmline,
.btn_b01, .btn_b02, .btn_b03, .btn_b04 { display: inline-block; text-align: center; vertical-align: middle; cursor: pointer; }
.btn01 { border: 1px solid var(--theme); background: #ffffff; color: var(--theme); }
.btn02 { border: 1px solid var(--theme); background: var(--theme); color: #ffffff; }
.btn_submit { border: 1px solid var(--theme); background: var(--theme); color: #ffffff; }
.btn_close { border: 1px solid #999999; background: #ffffff; color: #666666; }
.btn_frmline { width: 8em; padding: 0 0.3em; height: 2.5em; line-height: 2.5; vertical-align: top; }
.btn_cancel { border: 1px solid var(--theme); background: #ffffff; color: var(--theme); }
.btn_frmline { border: 1px solid var(--light3); background: var(--light3); color: #ffffff; }
.btn_b01 { border: 0; background: transparent; color: #bababa; }
.btn_b02 { border: 1px solid var(--dark1); background: var(--dark1); color: #ffffff; }
.btn_b03 { border: 1px solid #b9bdd3; background: #ffffff; color: #646982; }
.btn_b04 { border: 1px solid #cccccc; background: #ffffff; color: #707070; }
.btn_admin { color: #d13f4a; }
.btn_small { font-size: 0.8em; border: 1px solid #ccc; background-color: #fff; color: #777; padding: 0.3em 0.6em; border-radius: 0.3em; }

/* 기본테이블 */
.tbl_wrap table { width: 100%; border-top: 2px solid #000; }
.tbl_wrap caption { padding: 1em 0; text-align: left; display: none; }
.tbl_wrap tr { border-bottom: 1px solid #ddd; }
.tbl_wrap th { padding: 0.875em 0; text-align: center; }
.tbl_wrap td { padding: 0.7em; line-height: 1.5; }
.tbl_wrap thead th input { vertical-align: middle; }
.tbl_wrap a:hover { text-decoration: underline; }
.tbl_head01 {  }
.tbl_head02 {  }
.tbl_head03 {  }

/* 폼테이블 */
.tbl_frm01 { margin-bottom: 1.5em; }
.tbl_frm01 th { width: 8em; padding: 0.35em 0.7em; }
.tbl_frm01 td { padding: 0.35em 0.7em; }
.tbl_frm01 textarea { width: 100%; }
.tbl_frm01 .frm_file { display: block; margin-bottom: 0.5em; }
.tbl_frm01 .frm_info { display: block; padding-bottom: 0.5em; line-height: 1.5; font-size: 0.875em; }

/* 테이블 항목별 정의 */
.td_chk { width: 2em; text-align: center; }
.td_num, .td_num2, .td_namesmall, .td_statsmall { width: 4.25em; text-align: center; }
.td_date, .td_stat, .td_imgsmall, .td_default { width: 4.5em; text-align: center; }
.td_board, .td_category, .td_mng, .td_numbig { width: 6em; text-align: center; }
.td_mb_id, .td_name, .td_nick, .td_group, .td_dvr, .td_mngsmall { width: 7.25em; text-align: center; }
.td_datetime { width: 8em; text-align: center; }

.txt_active { color: #5d910b; }
.txt_expired { color: #ccc; }
.txt_done { color: #e8180c; }
.txt_rdy { color: #8abc2a; }

.text_left {text-align:left !important}
.text_center {text-align:center !important}
.text_right {text-align:right !important}

/* 폼입력 */
.frm_wrap { text-align: left; }
.frm_wrap > ul {  }
.frm_wrap > ul > li {  }
.frm_01 > ul > li { margin-bottom: 0.5em; }
.frm_01 > ul > li > *:nth-child(1) { display: none; }

/* 새창 기본 스타일 */
.new_win { text-align: center; }
.new_win > * { padding: 1.25em; }
.new_win > *:not(button) { text-align: left; }
.new_win #win_title { padding: 0.625em 1.25em; font-size: 1.25em; line-height: 1.5; background: #fff; color: #000; box-shadow:0 1px 10px rgba(0,0,0,0.1); position: relative; }
.new_win .win_desc { margin: 1em 0; font-size: 0.9em; color: #777; }
.new_win .win_desc i { font-size: 1.25em; vertical-align: middle; margin-top: -0.2em; }
.new_win .frm_info { margin: 0.3em 0; display: inline-block; font-size: 0.9em; color: #999; }
.new_win .win_total { position: absolute; right: 1.25em; top: 50%; transform: translateY(-50%); border: 1px solid var(--theme); color: var(--theme); font-size: 0.75em; line-height: 1.875; padding: 0 1em; border-radius: 5em; }
.new_win .win_btn { text-align: center; margin-top: 2em; }
.new_win .btn,
.new_win .btn_close,
.new_win .btn_submit { padding: 0 2em; height: 2.5em; }

/* 쪽지 탭메뉴 */
.new_win .win_ul { display: flex; padding-left: 1px; border-bottom: 1px solid #ececec; }
.new_win .win_ul li { border: 1px solid #ececec; color: #aaa; padding: 0.5em 1em; margin-left: -1px; border-bottom: 0; }
.new_win .win_ul .selected { background-color: var(--theme); border-color: var(--theme); color: #fff; }

/* 게시물 선택복사 선택이동 */
.copymove_current { font-size: 0.875em; position: absolute; top: 50%; transform: translateY(-50%); right: 2%; background-color: var(--theme); color: #fff; padding: 0.2em 0.6em; border-radius: 0.2em; }
.copymove_currentbg { background: #f7f7f7; position: relative; }

/* 자료 없는 목록 */
.empty_table, .empty_list, .empty_li { width: 100% !important; padding: 8em 0 !important; color: #777 !important; text-align: center !important; border: 0 !important;}

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

/* 작성불가 */
.readonly { background-color: #fafafa !important; color: #777 !important; font-size: 0.9em; }

/* 페이징 */
.pg_wrap { text-align: center; margin-top: 3em; }
.pg { display: flex; justify-content: center; align-items: center; }
.pg_page, .pg_current { width: 1.875em; height: 1.875em; display: flex; align-items: center; justify-content: center; border: 1px solid #ccc; margin: 0.2em; -webkit-border-radius: 0.2em;-moz-border-radius: 0.2em;border-radius: 0.2em; color: #aaa; }
.pg_current { background-color: var(--theme); color: #fff; border-color: var(--theme); font-weight: 400; }
.pg_page:hover { color: var(--theme); border-color:var(--theme); }

/* 팁 */
.tooltip_icon {display:inline-block;vertical-align:baseline;color:#b3b5b8;border:0;font-size:1.4em;background:transparent;cursor:pointer}
.tooltip_icon:hover {color:#448bf5}
.tooltip {position:absolute;width:auto;color:#fff;background:#000;padding:10px;font-size:small;line-height:18px;display:none;z-index:9;font-weight:normal;margin-left:15px;margin-top:10px}
.tooltip:before {content:"";position:absolute;top:0;left:-10px;width:0;height:0;border-style:solid;border-top:0px solid transparent;border-bottom:10px solid transparent;border-left:0;border-right:10px solid #000}

