@charset "UTF-8";

/* 초기화 */
*,::after,::before { margin: 0; padding: 0; box-sizing: border-box; outline: none; }
html { overflow-y: scroll; }
body { font-size: 1em; word-break: keep-all; }
html, h1, h2, h3, h4, h5, h6, form, fieldset, img { border: 0; }
h1, h2, h3, h4, h5, h6 { font-size: 1em; font-weight: inherit; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
ul, 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 { vertical-align: middle; font-size: 1em; }
input, button { font-size: 1em; }
input[type="submit"], button { cursor: pointer; }
textarea, select { font-size: 1em; }
pre { white-space: pre-wrap; font-size: 1em; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
::placeholder { color: #aaa; }
textarea { padding: 0.5em 0; min-height: 7em; resize: none; }

input:not([type='checkbox']):not([type='radio']), select, textarea { width: 100%; border: 1px solid transparent; }
input:not([type='checkbox']):not([type='radio']), select, textarea { height: 2.5em; border-bottom-color: #000; }

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

/* ckeditor 단축키 */
.cke_sc {margin:0 0 5px;text-align:right; position: relative;}
.btn_cke_sc { font-size: 0.875em; padding: 0.25em 0.875em; display:inline-block;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;}
.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center; position: absolute; right: 0; top: 28px; }
.cke_sc_def dl {margin:0 0 5px;text-align:left;zoom:1}
.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""}
.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9}
.cke_sc_def dt {width:20%;font-weight:bold}
.cke_sc_def dd {width:30%}

/* 팝업레이어 */
#hd_pop {z-index:1000;position:relative;margin:0 auto;height:0}
#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff}
.hd_pops img {max-width:100%}
.hd_pops_con {}
.hd_pops_footer {padding:0;background:#000;color:#fff;text-align:left;position:relative}
.hd_pops_footer:after {display:block;visibility:hidden;clear:both;content:""}
.hd_pops_footer button {padding:10px;border:0;color:#fff}
.hd_pops_footer .hd_pops_reject {background:#000;text-align:left}
.hd_pops_footer .hd_pops_close {background:#393939;position:absolute;top:0;right:0}




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

/* 파일첨부 */
input[type='file'] { display: none; }
.file_box { position: relative; }
.file_name { padding-left: 5.875em; }
.file_btn { font-size: 0.875em; width: 6em; line-height: 2; display: inline-block; position: absolute; left: 0; top: 50%; transform: translateY(-50%); text-align: center; }
.file_del { position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
.file_btn { border: 1px solid #000; background-color: #000; color: #fff; }

/* 버튼 */
.btn { padding: 0.675em 2em; background-color: #fff; border: 1px solid #ddd; display: inline-block; vertical-align: top; }
.btn_cancel { background-color: #fff; border-color: #ccc; color: #777; }
.btn_submit { background-color: #000; border-color: #000; color: #fff; }

.btn_confirm { margin-top: 3em; display: block; text-align: center; border: 0; }
.btn_confirm * { margin: 0 0.25em; }

/* 게시판 */
.btn_admin, .btn_b01, .btn_b02 { display: flex; height: 2em; align-items: center; justify-content: center; color: #aaa; background-color: transparent; border: 1px solid transparent; }
.btn_admin, .btn_b01 { width: 2em; }
.btn_admin { color: #d13f4a; }
.btn_admin:hover { color: #ff3746; }

.bo_btn_wrap { display: flex; justify-content: flex-end; margin-bottom: 1em; }
.bo_btn_wrap.bo_list_btn .opt_box { width: 6.5em; }
.bo_btn_wrap.bo_view_btn .opt_box { width: 4.5em; }
.bo_btn_wrap .opt_wrap { position: relative; }
.bo_btn_wrap .opt_box { font-size: 0.875em; padding: 0.2em 0; position: absolute; top: 100%; right: 0; background-color: #fff; border: 1px solid #ddd; z-index: 10; display: none; }
.bo_btn_wrap .opt_box button { width: 100%; }
.bo_btn_wrap .opt_box i { margin-right: 0.25em; }

.bo_w li { margin-bottom: 1em; }
.bo_w li:last-child { margin-bottom: 0; }
.bo_w .chk_box { display: inline-block; margin-right: 1em; margin-top: 0.5em; }

.bo_cate a { font-size: 1.125em; padding: 0.25em 0.875em; border: 1px solid #ccc; color: #777; border-radius: 5em; margin-right: 1em; }
.bo_cate a.active { background-color: #000; border-color: #000; color: #fff; }

.bo_l .table { text-align: center; border-top: 2px solid #000; }
.bo_l .table li { width: 100%; height: 3.125em; display: flex; align-items: center; border-bottom: 1px solid #ddd; }
.bo_l .table li.empty { justify-content: center; padding: 8rem 0; color: #888; }
.bo_l .table .td_num { width: 80px; position: relative; }
.bo_l .table .td_num strong { color: #000; }
.bo_l .table .chk_box { position: absolute; left: 0; top: 50%; transform: translateY(-50%); }
.bo_l .table .td_subject { text-align: left; flex-grow: 1; }
.bo_l .table .td_date { width: 120px; }
.bo_l .thead .td_subject { text-align: center; }

.bo_v .info { font-size: 1.125em; display: flex; align-items: flex-end; }
.bo_v .info * { display: inline-block; margin-right: 0.5em; }
.bo_v .info span { font-size: 0.875em; color: #888; }
.bo_v .subject { font-size: 2em; padding: 0.5em 0; border-bottom: 1px solid #ddd; margin-bottom: 1em; }
.bo_v .content { text-align: center; }
.bo_v .content img { max-width: 100%; }