@charset "utf-8";

/* ================================
   전역 폰트 & 기본
================================ */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css");

html, body, #bo_list, #bo_v, #bo_w {
  font-family: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, "Helvetica Neue", Arial, "Apple SD Gothic Neo",
               "Noto Sans KR", "Malgun Gothic", "맑은 고딕", sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.chk_all { margin:10px 0 }

/* ================================
   게시판 목록 (PC 공통)
================================ */
#bo_list .td_chk { width:30px; text-align:center }
#bo_list .td_group { width:100px; text-align:center }
#bo_list .td_board { width:120px; text-align:center }
#bo_list .td_num { width:50px; text-align:center }
#bo_list .td_numbig { width:80px; text-align:center }
#bo_list .td_mb_id { width:100px; text-align:center }
#bo_list .td_nick { width:100px; text-align:center }
#bo_list .td_name { width:100px; text-align:left }
#bo_list .td_date { width:60px; text-align:center }
#bo_list .td_datetime { width:150px; text-align:center }
#bo_list .td_mng { width:80px; text-align:center }

#bo_list .notice_icon {
  display:inline-block; background:#fbe2e6; padding:0 5px; line-height:20px;
  border-radius:5px; font-weight:bold; font-size:11px; color:#f1364c;
}

#bo_list .bo_subject .fa-download,
#bo_list .bo_subject .fa-link {
  width:16px; line-height:16px; text-align:center; font-size:10px; border-radius:2px; vertical-align:baseline;
}
#bo_list .bo_subject .fa-download { background:#ffefb9; color:#daae37 }
#bo_list .bo_subject .fa-link { background:#edd3fd; color:#b451fd }
#bo_list .bo_subject .fa-heart { color:#ff0000; text-align:center; font-size:10px; border-radius:2px }
#bo_list .bo_subject .new_icon {
  display:inline-block; width:16px; line-height:16px; font-size:0.833em; color:#23db79;
  background:#b9ffda; text-align:center; border-radius:2px; margin:0 4px; font-weight:bold; vertical-align:middle;
}
#bo_list .bo_subject .fa-lock {
  display:inline-block; line-height:16px; width:16px; color:#4f818c; background:#cbe3e8;
  text-align:center; border-radius:2px; font-size:12px; border:1px solid #cbe3e8; vertical-align:baseline;
}

#bo_cate h2 { width:0; height:0; font-size:0; line-height:0; overflow:hidden }
#bo_cate ul { background:#fff; padding-left:1px; border-bottom:1px solid #d9dce3; zoom:1 }
#bo_cate ul:after { display:block; visibility:hidden; clear:both; content:"" }
#bo_cate li { display:inline-block; float:left }
#bo_cate a { display:block; line-height:24px; padding:15px }
#bo_cate #bo_cate_on { display:inline-block; position:relative; color:#3a8afd }
#bo_cate #bo_cate_on:after {
  content:""; position:absolute; left:0; bottom:0; width:100%; height:4px; display:inline-block; background:#3a8afd;
}

/* 관리자일 때 */
#bo_list_admin th label { position:absolute; font-size:0; line-height:0; overflow:hidden }
#bo_list_admin th:nth-of-type(1) { width:40px }
#bo_list_admin th:nth-of-type(3) { width:100px }
#bo_list_admin td:nth-of-type(1) { text-align:center }
#bo_list_admin td:nth-of-type(3) { text-align:center }

/* 관리자가 아닐 때 */
#bo_list th:nth-of-type(2) { width:100px }
#bo_list td:nth-of-type(2) { text-align:center }

/* 목록 공통 스타일 */
#bo_list {}
#bo_list li { background:#fff }
#bo_list li.bo_notice { background:#fff6fa }

.bo_fx { margin-bottom:5px; padding:0 10px }
.bo_fx:after { display:block; visibility:hidden; clear:both; content:"" }
.bo_fx ul { margin:0; padding:0; list-style:none }

#bo_list_total {
  margin:10px; padding:10px; text-align:center; background:#e3e7ec; color:#8b8b8b; border-radius:3px;
}

.btn_bo_user > li { float:left; text-align:center; margin-left:5px }
.btn_bo_adm button {
  border:0; padding:0 10px; background:#d13f4a; color:#fff; text-decoration:none; vertical-align:middle;
}
.btn_more_opt { width:30px }
.more_opt {
  display:none; position:absolute; top:50px; right:7px; background:#fff; border:1px solid #b8bfc4; z-index:999;
}
.more_opt:before {
  content:""; position:absolute; top:-8px; right:6px; width:0; height:0;
  border-style:solid; border-width:0 6px 8px 6px; border-color:transparent transparent #b8bfc4 transparent;
}
.more_opt:after {
  content:""; position:absolute; top:-6px; right:6px; width:0; height:0;
  border-style:solid; border-width:0 6px 8px 6px; border-color:transparent transparent #fff transparent;
}
.more_opt.is_list_btn { width:90px }
.more_opt li {
  display:block; border-bottom:1px solid #f1f1f1; padding:10px; margin:0; color:#6b757c; text-align:left;
}
.more_opt li:last-child { border-bottom:0 }
.more_opt li button, .more_opt li a { width:100%; border:0; background:#fff; color:#6b757c }
.more_opt li:hover a, .more_opt li:hover button { color:#000 }
.more_opt li i { line-height:20px }

.bo_share { position:relative }
#bo_v_share {
  display:none; position:absolute; top:42px; right:0; padding:10px; text-align:right; background:#fff; border:1px solid #b8bfc4;
}
#bo_v_share:before {
  content:""; position:absolute; top:-8px; right:6px; width:0; height:0;
  border-style:solid; border-width:0 6px 8px 6px; border-color:transparent transparent #b8bfc4 transparent;
}
#bo_v_share:after {
  content:""; position:absolute; top:-6px; right:6px; width:0; height:0;
  border-style:solid; border-width:0 6px 8px 6px; border-color:transparent transparent #fff transparent;
}
#bo_v_share .btn_scrap {
  display:inline-block; background:#d4d4d4; color:#444; line-height:40px; width:40px; font-weight:bold; text-align:center; border-radius:3px;
}

#bo_v_sns { padding:0; list-style:none; zoom:1 }
#bo_v_sns:after { display:block; visibility:hidden; clear:both; content:"" }
#bo_v_sns li { text-align:center; margin:5px 0 0 }
#bo_v_sns li a { display:block; width:40px; height:40px; padding:10px 0 }
#bo_v_sns li .sns_f { background:#415b92; border-radius:3px }
#bo_v_sns li .sns_t { background:#35b3dc; border-radius:3px }
#bo_v_sns li .sns_g { background:#d5503a; border-radius:3px }
#bo_v_sns li .sns_k { background:#fbe300; border-radius:3px }
#bo_v_sns li img { vertical-align:top }
#bo_v_sns li span { position:absolute; font-size:0; text-indent:-9999em; line-height:0; overflow:hidden }

.bo_cate_link {
  display:inline-block; background:#e2eaf6; padding:0 5px; line-height:20px; border-radius:5px;
  font-weight:bold; font-size:11px; color:#3ca1ff !important; text-decoration:none;
}
.bo_cate_ico { margin-bottom:5px }
.bo_cnt { display:block; width:100%; font-size:1.083em; font-weight:bold; line-height:1.4em }
.bo_cnt i { color:#8d96c2; font-size:12px }
.bo_cnt .fa-heart { color:#ff0000 }
.bo_chk { display:inline-block; float:left; margin-right:5px }

.selec_chk { position:absolute; top:0; left:0; width:0; height:0; opacity:0; outline:0; z-index:-1; overflow:hidden }
.chk_box { position:relative }
.chk_box input[type="checkbox"] + label { padding-left:20px; color:#676e70 }
.chk_box input[type="checkbox"] + label:hover { color:#2172f8 }
.chk_box input[type="checkbox"] + label span {
  position:absolute; top:0; left:0; width:15px; height:15px; display:block; background:#fff;
  border:1px solid #d0d4df; border-radius:3px;
}
.chk_box input[type="checkbox"]:checked + label { color:#000 }
.chk_box input[type="checkbox"]:checked + label span {
  background:url(./img/chk.png) no-repeat 50% 50% #3a8afd; border-color:#1471f6; border-radius:3px;
}
.all_chk.chk_box input[type="checkbox"] + label span { top:18px; left:15px }

.bo_cmt {
  background:#e9eff5; color:#3a8afd; font-size:0.925em; height:16px; padding:0 5px; border-radius:2px; vertical-align:top; min-width:16px;
}

.bo_subject { display:block; width:100%; padding-bottom:5px }
.bo_current { color:#e8180c }

.bo_info { position:relative; padding-top:5px; line-height:20px; color:#646464; vertical-align:top }
.bo_info:after { display:block; visibility:hidden; clear:both; content:"" }
.bo_info i { margin-left:10px }
.bo_info .comment_icon {
  background:url(./img/icon_comment.png) no-repeat 50% 50%; display:inline-block; width:20px; height:28px;
  text-indent:-999px; overflow:hidden; vertical-align:top; background-size:70%; margin:0 0 0 5px;
}
.bo_info .bo_date {}
.bo_info .cnt_cmt { display:inline-block; margin:0 5px 0 3px }
.bo_info .profile_img img { border-radius:50%; vertical-align:top }

/* 검색 */
#bo_sch { background:#fff; border:1px solid #d0d3db; position:relative; margin:10px }
#bo_sch:after { display:block; visibility:hidden; clear:both; content:"" }
#bo_sch legend { position:absolute; margin:0; padding:0; font-size:0; line-height:0; text-indent:-9999em; overflow:hidden }
#bo_sch select { border:0; height:38px; border-right:1px solid #f8f8f8; float:left; width:30% }
#bo_sch .sch_input { height:38px; border:0; background-color:transparent; float:left; width:70%; padding:0 40px 0 10px }
#bo_sch .sch_btn { height:38px; position:absolute; top:0; right:0; border:0; width:40px; background:none; font-size:15px }

.view_is_list.btn_top { position:relative; z-index:auto; top:0; left:0 }
.view_is_list {
  margin:8px 10px 0; height:50px; padding:10px; line-height:30px; border-radius:3px;
  border-bottom:1px solid #ccc; background:#fff; color:#333; text-align:right;
}
.view_is_list li { display:inline-block }

/* ================================
   게시판 쓰기
================================ */
#bo_w { padding:15px }
#bo_w #wr_email, #bo_w #wr_homepage, #bo_w #wr_subject, #wr_email, #wr_homepage, #wr_subject, .wr_link { width:100% }
#char_count_desc { display:block; margin:0 0 5px; padding:0 }
#char_count_wrap { margin:5px 0 0; text-align:right }
#char_count { font-weight:bold }
.fix_btn.write_btn { z-index:99 }

#bo_w .bo_v_option li { display:inline-block; float:left; margin:0 5px 0 0 }
#bo_w .bo_v_option li label { vertical-align:baseline }
#bo_w .bo_v_option:after { display:block; visibility:hidden; clear:both; content:"" }

#bo_w .bo_w_select select { border:1px solid #d0d3db; background:#fff; width:100% }
#bo_w .bo_w_link label {
  position:absolute; top:1px; left:1px; border-radius:3px 0 0 3px; width:45px; height:43px;
  line-height:43px; font-size:1.2em; text-align:center; color:#b2b2b2;
}
#bo_w .bo_w_link .frm_input { padding-left:50px }

#bo_w .bo_w_flie .lb_icon {
  position:absolute; top:0; left:0; border-radius:3px 0 0 3px; width:45px; height:43px;
  line-height:43px; font-size:1.2em; text-align:center; color:#b2b2b2;
}
#bo_w .bo_w_flie .frm_file { padding-left:50px }
#bo_w .bo_w_flie .file_wr { position:relative; color:#000; vertical-align:middle; margin:0 }
#bo_w .bo_w_flie .frm_input { margin:5px 0 0 }

.filebox .btn_file {
  display:inline-block; position:absolute; right:8px; top:8px; border:1px solid #3a8afd;
  border-radius:3px; width:60px; height:30px; color:#3a8afd; font-size:1em; line-height:30px;
  font-weight:bold; background:#fff; text-align:center; vertical-align:middle; cursor:pointer;
}
.filebox .fileName {
  display:inline-block; position:relative; width:100%; height:45px; padding-left:45px; line-height:30px;
  border:1px solid #d0d3db; background-color:#fff; color:red; vertical-align:middle; border-radius:0;
}
.filebox input[type="file"] {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0;
}

#bo_w .btn_confirm { text-align:center; margin:20px 0 }
#bo_w .btn_submit { width:49%; height:45px; padding:0 30px; font-weight:bold; font-size:1.083em }
#bo_w .btn_cancel {
  width:49%; line-height:45px; height:45px; padding:0 30px; font-weight:bold; font-size:1.083em;
  background:#fff; border-radius:3px; border:1px solid #dcdcdc;
}

/* ================================
   게시판 읽기
================================ */
#bo_v { padding:20px 0 0; background:#fff }
#bo_v > header { padding:0 15px; border-bottom:1px solid #eee }
#bo_v_table { padding:10px; color:#999; font-size:0.9em; font-weight:bold }

.bo_v_cate { display:inline-block; background:#e2eaf6; color:#3a8afd; line-height:20px; border-radius:5px; padding:0 5px; font-weight:bold }
.bo_v_tit { display:block; font-size:1.5em; margin:10px 0 0 }

#bo_v_info { padding:15px 0; color:#8e8e8e; line-height:20px }
#bo_v_info h2 { position:absolute; font-size:0; text-indent:-9999em; line-height:0; overflow:hidden }
#bo_v_info strong { display:inline-block; font-weight:normal; margin:0 5px }
#bo_v_info .profile_img img { border-radius:50%; vertical-align:top }
#bo_v_info .icon_view {
  display:inline-block; background:url('./img/icon_view.png') no-repeat 50% 50%; background-size:80%;
  height:15px; width:20px; overflow:hidden; text-indent:-999px; vertical-align:middle; margin:0 3px 0 5px;
}
#bo_v_info .icon_comment {
  display:inline-block; background:url('./img/icon_comment.png') no-repeat 50% 50%; background-size:70%;
  height:15px; width:20px; overflow:hidden; text-indent:-999px; vertical-align:middle; margin:0 3px 0 5px;
}

#bo_v_file { padding:0 15px; margin-bottom:20px }
#bo_v_file h2 { position:absolute; font-size:0; line-height:0; overflow:hidden }
#bo_v_file ul { margin:0; list-style:none }
#bo_v_file li { padding:15px; position:relative; margin:10px 0; border:1px solid #dfdfdf }
#bo_v_file li i { float:left; color:#b2b2b2; font-size:1.6em; margin-right:20px }
#bo_v_file a { float:left; display:block; margin-right:10px; text-decoration:none; word-wrap:break-word; color:#000 }
#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active { text-decoration:underline; color:#3a8afd }
#bo_v_file img { float:left; margin:0 10px 0 0 }
#bo_v_file .bo_v_file_cnt { color:#b2b2b2; font-size:0.92em }
#bo_v_file li:hover { border-color:#bed4f4; color:#bed4f4 }
#bo_v_file li:hover i { color:#3a8afd }
#bo_v_file li:hover .bo_v_file_cnt { color:#99c2fc }

#bo_v_link { padding:0 15px; margin-bottom:20px }
#bo_v_link h2 { position:absolute; font-size:0; line-height:0; overflow:hidden }
#bo_v_link ul { margin:0; list-style:none } /* 원문 오타 보정 (#bo_v_file ul → #bo_v_link ul) */
#bo_v_link li { padding:15px; position:relative; margin:10px 0; border:1px solid #dfdfdf }
#bo_v_link li i { float:left; color:#b2b2b2; font-size:1.6em; margin-right:20px }
#bo_v_link a { float:left; display:block; margin-right:10px; text-decoration:none; word-wrap:break-word; color:#000 }
#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active { text-decoration:underline; color:#3a8afd }
#bo_v_link .bo_v_link_cnt { color:#b2b2b2; font-size:0.92em }
#bo_v_link li:hover { border-color:#bed4f4; color:#bed4f4 }
#bo_v_link li:hover i { color:#3a8afd }
#bo_v_link li:hover .bo_v_link_cnt { color:#99c2fc }

#bo_v_top { margin:10px 15px }
#bo_v_top:after { display:block; visibility:hidden; clear:both; content:"" }
#bo_v_top h2 { position:absolute; font-size:0; text-indent:-9999em; line-height:0; overflow:hidden }
#bo_v_top ul { margin:0; padding:0; list-style:none }
#bo_v_top ul:after { display:block; visibility:hidden; clear:both; content:"" }
#bo_v_top ul li { display:inline-block }
.bo_v_left { float:left }
.bo_v_right { float:right }

#bo_v_bot { padding:0 10px }
#bo_v_bot:after { display:block; visibility:hidden; clear:both; content:"" }
#bo_v_bot h2 { position:absolute; font-size:0; text-indent:-9999em; line-height:0; overflow:hidden }
#bo_v_bot ul { margin:0; padding:0; list-style:none }

.bo_v_nb {
  position:relative; margin:10px 0 0; border-top:1px solid #e4e4ec; border-bottom:1px solid #e4e4ec; text-align:left;
}
.bo_v_nb:after { display:block; visibility:hidden; clear:both; content:"" }
.bo_v_nb li {}
.bo_v_nb li a { display:block; padding:15px; color:#777 }
.bo_v_nb li a i { color:#c5cfdd }
.bo_v_nb li.bo_v_prev { border-bottom:1px solid #f8f8f8 }
.bo_v_nb li.bo_v_next {}

#bo_v_atc { min-height:200px; padding:15px }
#bo_v_atc_title { margin:0; padding:0; height:0; overflow:hidden }

#bo_v_img { width:100%; overflow:hidden; zoom:1 }
#bo_v_img:after { display:block; visibility:hidden; clear:both; content:"" }
#bo_v_img a.view_image { display:block }
#bo_v_img img { margin-bottom:15px; max-width:100%; height:auto }

#bo_v_con { min-height:200px; margin-bottom:20px; width:100%; font-size:1.250em; line-height:1.7em; word-break:break-all; overflow:hidden }
#bo_v_con a { color:#000; text-decoration:underline }
#bo_v_con img { max-width:100%; height:auto }

#bo_v_act { margin-bottom:30px; text-align:center }
#bo_v_act .bo_v_act_gng { position:relative }
#bo_v_act a { margin-right:5px; vertical-align:middle; color:#4a5158 }
#bo_v_act a:hover { background-color:#fff; color:#ff484f; border-color:#ff484f }
#bo_v_act i { font-size:1.4em; margin-right:5px }
#bo_v_act_good, #bo_v_act_nogood {
  display:none; position:absolute; top:30px; left:0; z-index:9999; padding:10px 0; width:165px; background:#ff3061; color:#fff; text-align:center;
}
#bo_v_act .bo_v_good, #bo_v_act .bo_v_nogood {
  display:inline-block; border:1px solid #dedede; width:70px; line-height:46px; border-radius:30px;
}

/* ================================
   게시판 댓글 (보기 하단)
================================ */
#bo_vc { background:#f8f8f8; padding:15px }
#bo_vc h2.bo_vc_tit {}
#bo_vc h2 span { color:#3a8afd }
#bo_vc article {}
#bo_vc article .comment_inner { margin:15px 0 0; padding:15px; background:#fff; border-bottom:1px solid #e4e4ec }
#bo_vc article h2 { position:absolute; font-size:0; text-indent:-9999em; line-height:0; overflow:hidden }
#bo_vc header { position:relative; padding:0; line-height:20px; padding-right:18px }
#bo_vc .profile_img { vertical-align:text-bottom }
#bo_vc .profile_img img { width:23px; height:23px; border-radius:50% }
#bo_vc header .bo_vl_opt { position:absolute; top:-5px; right:-8px }
.comment_inner .bo_vc_w { margin-top:10px; padding-top:15px }

#bo_vc .sv_member, #bo_vc .sv_guest { font-weight:bold }
.bo_vc_hdinfo { display:inline-block; color:#777 }
#bo_vc h1 { width:0; height:0; font-size:0; line-height:0; overflow:hidden }
#bo_vc .cmt_contents { margin:10px 0 0; border-radius:5px; line-height:1.8em }
#bo_vc .cmt_contents p { font-size:1.083em }
#bo_vc p a { text-decoration:underline }
#bo_vc p a.s_cmt { text-decoration:underline; color:#ed6479 }
#bo_vc_empty { margin:0; padding:15px !important; text-align:center }
#bo_vc #bo_vc_winfo { float:left }
#bo_vc footer { zoom:1 }
#bo_vc footer:after { display:block; visibility:hidden; clear:both; content:"" }

.bo_vc_act {
  display:none; position:absolute; right:0; top:40px; width:58px; text-align:center;
  border:1px solid #b8bfc4; margin:0; list-style:none; background:#fff; zoom:1; z-index:9999;
}
.bo_vc_act:before {
  content:""; position:absolute; top:-8px; right:5px; width:0; height:0;
  border-style:solid; border-width:0 6px 8px 6px; border-color:transparent transparent #b8bfc4 transparent;
}
.bo_vc_act:after {
  content:""; position:absolute; top:-6px; right:5px; width:0; height:0;
  border-style:solid; border-width:0 6px 8px 6px; border-color:transparent transparent #fff transparent;
}
.bo_vc_act li { border-bottom:1px solid #f0f0f0 }
.bo_vc_act li:last-child { border-bottom:0 }
.bo_vc_act li a { display:inline-block; padding:10px 15px }
.bo_vc_act li a:hover { color:#3a8afd }

#bo_vc_w h2 { position:absolute; font-size:0; line-height:0; overflow:hidden }
.bo_vc_w { display:block; position:relative; padding:0 15px 15px; background:#f8f8f8 }
.bo_vc_w:after { display:block; visibility:hidden; clear:both; content:"" }
.bo_vc_w #char_cnt { display:block; margin:0 0 5px }
.bo_vc_w textarea {
  width:100%; height:120px; padding:5px; border:1px solid #d0d3db; background:#fff; color:#000; vertical-align:middle;
}
#wr_secret {}

.bo_vc_w_info { margin:10px 0 }
.bo_vc_w_info:after { display:block; visibility:hidden; clear:both; content:"" }
.bo_vc_w_info .frm_input { float:left; width:49.5%; margin:0 0 5px 0 }
.bo_vc_w_info #wr_password { float:right }
.bo_vc_w_info #captcha { display:block; clear:both }
.bo_vc_w .btn_confirm { margin-top:5px; clear:both }
.bo_vc_w .icon_lock { display:inline-block; font-size:1em; vertical-align:baseline }
.bo_vc_w .btn_submit { height:50px; width:100%; padding:0 20px; border-radius:3px; font-weight:bold; font-size:1.083em }
.bo_vc_w_wr:after { display:block; visibility:hidden; clear:both; content:"" }
.bo_vc_w .bo_vc_secret { display:block }

#bo_vc_send_sns { display:block; margin-bottom:10px }
#bo_vc_sns { display:block; margin:0; padding:0; list-style:none; zoom:1 }
#bo_vc_sns:after { display:block; visibility:hidden; clear:both; content:"" }
#bo_vc_sns li { float:left; margin:0 5px 0 0 }
#bo_vc_sns .sns_li_f { border-radius:3px; background:#3a589b; height:40px; padding:10px 0 10px 10px }
#bo_vc_sns .sns_li_t { border-radius:3px; background:#00aced; height:40px; padding:10px 0 10px 10px }
#bo_vc_sns .sns_li_off { background:#bbb }
#bo_vc_sns a { display:inline-block; padding:0 15px 0 5px }
#bo_vc_sns input { margin:0 5px 0 0 }

/* ================================
   모바일 공통 (≤ 767px)
================================ */
@media (max-width: 767px) {
  /* 터치 영역 확대 */
  .btn_bo_user > li { margin-left:8px }
  .btn_bo_adm button, .more_opt li button, .more_opt li a, #bo_v_act a, #bo_v_nb li a {
    min-height:44px; line-height:44px;
  }

  /* 목록 : 행을 블록 스택으로 */
  #bo_list li {
    display:block; padding:12px 12px; border-bottom:1px solid #f0f2f5;
  }

  /* 기본 셀은 인라인 블록 + 자동폭 */
  #bo_list .td_chk,
  #bo_list .td_group,
  #bo_list .td_board,
  #bo_list .td_num,
  #bo_list .td_numbig,
  #bo_list .td_mb_id,
  #bo_list .td_nick,
  #bo_list .td_name,
  #bo_list .td_date,
  #bo_list .td_datetime,
  #bo_list .td_mng {
    display:inline-block; vertical-align:top; width:auto; text-align:left; margin-right:8px;
  }

  /* 숨김 컬럼 (모바일 가독성용) */
  #bo_list .td_group,
  #bo_list .td_board,
  #bo_list .td_mb_id,
  #bo_list .td_nick,
  #bo_list .td_name,
  #bo_list .td_mng,
  #bo_list .td_datetime {
    display:none;
  }

  /* 번호는 노출 (요청 반영) */
  #bo_list .td_num,
  #bo_list .td_numbig {
    display:inline-block; min-width:32px; margin-right:8px; text-align:center; color:#98a1ad; font-weight:600;
  }
  #bo_list li.bo_notice .td_num,
  #bo_list li.bo_notice .td_numbig {
    color:#d13f4a; font-weight:700;
  }

  /* 카테고리 라벨 */
  .bo_cate_link {
    font-size:11px; line-height:18px; padding:0 6px; border-radius:4px; margin-right:6px;
  }

  /* 제목 두 줄 말줄임 */
  #bo_list .bo_subject, #bo_list .bo_subject a {
    display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;
    word-break:break-word; font-size:15px; line-height:1.5; font-weight:700; 
  }

  /* 제목 내 아이콘 정렬 */
  #bo_list .bo_subject .new_icon,
  #bo_list .bo_subject .fa-lock,
  #bo_list .bo_subject .fa-download,
  #bo_list .bo_subject .fa-link,
  #bo_list .bo_subject .fa-heart {
    vertical-align:middle; margin-left:4px;
  }

  /* re 아이콘 정렬 (여러 케이스 대응) */
  #bo_list .bo_subject img.icon_reply,
  #bo_list .bo_subject img.reply_icon,
  #bo_list .bo_subject img.re,
  #bo_list .bo_subject img.reply {
    display:inline-block; max-height:14px; vertical-align:middle; margin:-1px 4px 0 0;
  }
  #bo_list .bo_subject .icon_reply,
  #bo_list .bo_subject .reply_icon,
  #bo_list .bo_subject .re,
  #bo_list .bo_subject i.re {
    display:inline-block; width:14px; height:14px; vertical-align:middle; margin-right:4px; background-size:contain; background-repeat:no-repeat;
  }

  /* 보조 정보(날짜/댓글 등) */
  .bo_info { padding-top:6px; color:#8a8f98; font-size:12px; line-height:18px }
  /* 댓글 아이콘 + 숫자 노출 (요청 반영) */
  .bo_info .comment_icon, .bo_info .icon_comment {
    display:inline-block; width:18px; height:18px; margin:-2px 4px 0 8px; vertical-align:middle; background-size:contain !important;
  }
  .bo_cmt {
    display:inline-block; min-width:18px; height:18px; line-height:18px; font-size:11px; padding:0 5px; margin-left:0; vertical-align:middle;
  }
  .bo_info .bo_date { margin-left:6px }

  /* 상단 기능/검색 */
  .bo_fx { padding:0 12px }
  #bo_list_total { margin:8px 12px; padding:10px; font-size:12px }
  #bo_sch { margin:10px 12px }
  #bo_sch select { width:36%; height:40px }
  #bo_sch .sch_input { width:64%; height:40px }
  #bo_sch .sch_btn { height:40px; width:40px }
  .more_opt { top:44px; right:10px }

  /* 읽기 화면 여백/타이포 */
  #bo_v { padding-top:10px }
  #bo_v > header { padding:0 12px }
  .bo_v_tit { font-size:1.125rem; line-height:1.5 }
  #bo_v_info { padding:10px 12px; font-size:13px }
  #bo_v_file, #bo_v_link { padding:0 12px }
  #bo_v_atc { padding:12px }
  #bo_v_con { font-size:1rem; line-height:1.7 }
  #bo_v_top, #bo_v_bot { margin:8px 12px }
  .bo_v_nb li a { padding:12px }
}

/* 초소형 화면 (≤ 360px) */
@media (max-width: 360px) {
  #bo_list .bo_subject, #bo_list .bo_subject a { font-size:14px }
  .bo_cate_link { font-size:10px }
  #bo_sch select { width:40% }
  #bo_sch .sch_input { width:60% }
  #bo_list .td_num, #bo_list .td_numbig { min-width:28px; font-size:12px }
}

/* 특수 : 첨부파일 리스트 모바일 플로팅 해제 */
@media (max-width:450px) {
  #bo_v_file a { float:inherit }
  .bo_v_tit { display:block; font-size:1.2rem; margin:10px 0 0; font-weight:700; font-family: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, "Helvetica Neue", Arial, "Apple SD Gothic Neo",
               "Noto Sans KR", "Malgun Gothic", "맑은 고딕", sans-serif !important; }
  .bo_v_list_new a { margin-left:0 !important }

}

    #bo_v_title {
        padding: 0px 0px 10px !important;
    }


/* ==== 검색창 placeholder 폰트 스타일 ==== */
#bo_sch .sch_input,
#bo_sch input[type="text"],
#bo_sch input[type="search"] {
  font-family: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, "Helvetica Neue", Arial, "Apple SD Gothic Neo",
               "Noto Sans KR", "Malgun Gothic", "맑은 고딕", sans-serif !important;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: -0.2px;
  color: #111; /* 실제 입력 글자색 */
  text-rendering: optimizeLegibility;
}

/* placeholder : 공통 */
#bo_sch .sch_input::placeholder {
  font-family: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, "Helvetica Neue", Arial, "Apple SD Gothic Neo",
               "Noto Sans KR", "Malgun Gothic", "맑은 고딕", sans-serif !important;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: -0.2px;
  color: #9aa3ad;   /* placeholder 색상 */
  opacity: 1;       /* iOS/Safari 기본 흐림 보정 */
}

/* placeholder : 브라우저 호환 */
#bo_sch .sch_input::-webkit-input-placeholder { /* Chrome/Safari/Edge */
  font-family: inherit; font-size: inherit; font-weight: 400; letter-spacing: -0.2px; color: #9aa3ad; opacity: 1;
}
#bo_sch .sch_input::-moz-placeholder {          /* Firefox */
  font-family: inherit; font-size: inherit; font-weight: 400; letter-spacing: -0.2px; color: #9aa3ad; opacity: 1;
}
#bo_sch .sch_input:-ms-input-placeholder {      /* IE 10-11 */
  font-family: inherit; font-size: 15px; font-weight: 400; letter-spacing: -0.2px; color: #9aa3ad;
}
#bo_sch .sch_input::-ms-input-placeholder {     /* Edge 레거시 */
  font-family: inherit; font-size: 15px; font-weight: 400; letter-spacing: -0.2px; color: #9aa3ad;
}

/* 모바일에서 터치보정 + 네이티브 장식 제거 */
@media (max-width: 767px) {
  #bo_sch .sch_input {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }
}


/* #bo_sch의 셀렉트 폰트/사이즈/화살표 커스텀 */
#bo_sch select {
  font-family: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, "Helvetica Neue", Arial, "Apple SD Gothic Neo",
               "Noto Sans KR", "Malgun Gothic", "맑은 고딕", sans-serif !important;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: -0.2px;
  color: #111;

  /* 네이티브 스타일 제거 */
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;

  /* 커스텀 화살표 (SVG) */
  background-image: url('data:image/svg+xml;utf8,\
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\
  <path d="M7 10l5 5 5-5" fill="none" stroke="%239AA3AD" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>\
  </svg>');
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 14px 14px;

  padding-right: 34px; /* 화살표 공간 */
  border: 0;           /* 기존 코드와 맞춤 */
  height: 40px;        /* 기존 높이와 동일 */
  background-color: #fff;
  padding-left:10px;
}

/* IE/레거시 Edge의 기본 화살표 제거 */
#bo_sch select::-ms-expand { display: none; }

/* 드롭다운 항목 폰트도 강제 (일부 브라우저 제한 있음) */
#bo_sch select option {
  font-family: inherit;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: -0.2px;
  color: #111;
}

/* placeholder 역할의 첫 옵션 스타일 (disabled selected일 때) */
#bo_sch select option[disabled] {
  color: #9aa3ad;
}

/* 포커스 시 윤곽선 */
#bo_sch select:focus {
  outline: 2px solid #3a8afd;
  outline-offset: 1px;
}


/* 제목 앞 번호 배지 */
.bo_subject .bo_no {
  display:inline-block;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:11px;
  background:#000;
  color:#fff;
  font-size:12px;
  font-weight:700;
  line-height:22px;
  text-align:center;
  margin-right:8px;
  vertical-align:middle;
}

/* 목록 번호 칼럼(td_num)은 숨김 */
#bo_list .td_num,
#bo_list .td_numbig { display:none !important; }

@media (max-width: 767px){
  .bo_subject .bo_no {
    min-width:20px;
    height:20px;
    line-height:20px;
    font-size:11px;
    margin-right:6px;
  }
}

/* 원글 타이틀(기본) — 이미 있으시면 생략 가능 */
.bo_subject {
  font-size: 15px;
  font-weight: 700;
  color: #111;
}

/* 답글(Re:) 타이틀만 약하게 */
.bo_subject.bo_subject_reply {
  font-size: 13px;     /* 크기 ↓ */
  font-weight: 400;    /* 굵기 ↓ */
  color: #666;         /* 색상 흐리게 */
}

/* (선택) 모바일에서 더 작게 하고 싶으면 */
@media (max-width: 767px) {
  .bo_subject.bo_subject_reply {
    font-size: 12.5px;
  }
}


#bo_vc_login {
    background: #f8f9fa;
    padding: 20px 10px;
    margin: 15px 10px;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}


/* 현재 글 활성화 스타일 (모바일) */
#bo_list .list_01 li.active-row {
    background-color: #2b2b2b !important; /* 어두운 배경 */
    border-bottom: 1px solid #444;
}

/* 텍스트 색상 강제 변경 */
#bo_list .list_01 li.active-row a,
#bo_list .list_01 li.active-row .bo_subject {
    color: #fff !important;
}

/* 작성자, 날짜 등 정보 텍스트 밝게 */
#bo_list .list_01 li.active-row .bo_info,
#bo_list .list_01 li.active-row .bo_date,
#bo_list .list_01 li.active-row .bo_view,
#bo_list .list_01 li.active-row .bo_no {
    color: #ccc !important;
}

/* 현재글 뱃지 버튼 스타일 */
.btn_current {
    display: inline-block;
    padding: 2px 6px;
    font-size: 11px;
    color: #fff !important;
    background-color: #dc3545; /* 빨간색 */
    border-radius: 3px;
    margin-right: 5px;
    vertical-align: text-bottom;
    line-height: 1.2;
}