@charset "utf-8";

/* 게시판 목록 */
#bo_cate {margin:25px 0}
#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_cate ul {zoom:1}
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
#bo_cate li {display:inline-block;padding:2px}
#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3}
#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#3a8afd;color:#fff}
#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd;
-webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202);
-moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202);
box-shadow:inset 0 2px 5px rgb(33, 135, 202)}
.td_subject img {margin-left:3px}

.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 {position:relative;padding-left:20px;color:#676e70;vertical-align:baseline}
.chk_box input[type="checkbox"] + label:hover{color:#2172f8}
.chk_box input[type="checkbox"] + label span {position:absolute;top:10px;left:10px;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px}
.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px}
.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;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:0;left:0}


/* 갤러리 목록 */
#bo_gall h2 {margin:0;padding:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#bo_gall #gall_ul {margin:10px -10px 0;padding:0;list-style:none;zoom:1}
#bo_gall #gall_ul:after {display:block;visibility:hidden;clear:both;content:""}
#bo_gall .gall_li {}
#bo_gall .gall_li .gall_chk {position:absolute;top:0;left:0;padding:5px;z-index:1}
#bo_gall .gall_box {position:relative;margin:0 0 50px 0;border-radius:0 0 2px 2px}
#bo_gall .gall_con {position:relative}

.gall_row .col-gn-0,.gall_row .col-gn-1,.gall_row .col-gn-2,.gall_row .col-gn-3,.gall_row .col-gn-4,.gall_row .col-gn-5,.gall_row .col-gn-6,.gall_row .col-gn-7,.gall_row .col-gn-8,.gall_row .col-gn-9,.gall_row .col-gn-10 {position:relative;min-height:1px;padding-left:10px;*padding-left:0;padding-right:10px;*padding-right:0;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-left:0}
.gall_row .col-gn-0,.gall_row .col-gn-1 {width:100%}
.gall_row .col-gn-2 {width:50%}
.gall_row .col-gn-3 {width:33.33333333%}
.gall_row .col-gn-4 {width:25%}
.gall_row .col-gn-5 {width:20%}
.gall_row .col-gn-6 {width:16.66666667%}
.gall_row .col-gn-7 {width:14.28571428%}
.gall_row .col-gn-8 {width:12.5%}
.gall_row .col-gn-9 {width:11.11111111%}
.gall_row .col-gn-10 {width:10%}

.gall_row .box_clear {clear:both}

#bo_gall .gall_now .gall_text_href a {color:#ff3061}

#bo_gall .gall_href a:link, #bo_gall .gall_href a:focus, #bo_gall .gall_href a:hover {text-decoration:none}
#bo_gall .gall_img {border-bottom:1px solid #eee;text-align:center;overflow:hidden}
#bo_gall .gall_img a,#bo_gall .gall_img .no_image,#bo_gall .gall_img .is_notice {display:block}
#bo_gall .gall_img img, #bo_gall .gall_img video {max-width:100%;height:auto !important}
#bo_gall .gall_img span {display:inline-block;background:#eaeaea;text-align:center;text-transform:uppercase;font-weight:bold;font-size:1.25em;color:#777}

#bo_gall .gall_text_href {margin:10px 0}
#bo_gall .gall_text_href a {font-weight:bold}
#bo_gall .gall_text_href img {margin:0 0 0 4px}
#bo_gall .bo_tit {display:block;line-height:30px;font-weight:bold;color:#000;font-size:1.2em}
#bo_gall .bo_tit .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle}

#bo_gall .bo_cnt {color:#acacac;line-height:18px}
#bo_gall .profile_img img {border-radius:50%}
#bo_gall .bo_tit .fa-download {width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle}
#bo_gall .bo_tit .fa-link {width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal}
#bo_gall .bo_tit .fa-link {width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;margin-right:2px}
#bo_gall .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.825em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:baseline}
#bo_gall .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius:2px;vertical-align:middle;margin-right:2px}
#bo_gall .bo_tit .fa-lock {display:inline-block;line-height:16px;color:#999;text-align:center;vertical-align:middle}

#bo_gall .gall_info {line-height:1.5em;line-height:20px}
#bo_gall .gall_info strong {display:inline-block;margin:0}
#bo_gall .gall_info i {font-size:12px}
#bo_gall .gall_info .gall_date,
#bo_gall .gall_info .gall_view {display:inline-block;margin-left:10px;color:#777}

#bo_gall .gall_option {position:absolute;top:10px;right:10px}
#bo_gall .gall_option strong {background:#fff;padding:5px 10px;border-radius:30px;-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)}

/* 게시판 목록 공통 */
#bo_btn_top {margin:10px 0}
#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""}
.bo_fx {margin-bottom:5px;float:right;zoom:1}
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
.bo_fx ul {margin:0;padding:0;list-style:none}
#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f}

.btn_bo_user {float:right;margin:0;padding:0;list-style:none}
.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff}
.btn_bo_user > li {position:relative}
.btn_bo_adm {float:left}
.btn_bo_adm li {float:left;margin-right:5px}
.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle}
.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee}
.bo_notice td a {font-weight:bold}
.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f}

.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999}
.more_opt:before {content:"";position:absolute;top:-8px;right:13px;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:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;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 {float:right;line-height:20px}

.td_num strong {color:#000}
.bo_cate_link {display:inline-block;background:#e2eaf6;color:#3a8afd;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */
.bo_cate_link:hover {text-decoration:none}
.bo_current {color:#e8180c}
#bo_list .profile_img {display:inline-block;margin-right:5px}
#bo_list .profile_img img {border-radius:50%}
#bo_list .cnt_cmt {display:inline-block;margin:0 0 0 3px;font-weight:bold;color:#ed6478;font-size:0.86em}

#bo_gall li.empty_list {padding:85px 0;text-align:center}

.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999}
.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px}
.bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8}
.bo_sch legend {background:red}
.bo_sch form {padding:15px;display:block}
.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left}
.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px}
.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff}
.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height: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}

#autosave_wrapper {position:relative}
#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff;
-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)}
#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent}
#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */
#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden}
#autosave_pop div {text-align:center;margin:0 !important}
#autosave_pop button {margin:0;padding:0;border:0}
#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8}
#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1}
#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""}
#autosave_pop a {display:block;float:left}
#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999}
.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em}
.autosave_close:hover {background:#f3f3f3;color:#3597d9}
.autosave_content {display:none}
.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px}

/* 게시판 읽기 */
#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box}

#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em}

#bo_v_title {}
#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;}
#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all}

#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666}
#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} 
#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}

#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left}
#bo_v_info .profile_info .pf_img {float:left;margin-right:10px}
#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px}
#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px}

#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal}
#bo_v_info .sv_member,
#bo_v_info .sv_guest,
#bo_v_info .member,
#bo_v_info .guest {font-weight:bold}
#bo_v_info .profile_img {display:none}
#bo_v_info .sv_member {color:#000}
#bo_v_info .if_date {margin:0;color:#888}

#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;border-radius:5px;
-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)}
#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px}
#bo_v_file a {float:left;display:block;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 h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_file ul {margin:0;list-style:none}
#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px;
-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)}
#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px}
#bo_v_link a {float:left;display:block;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 {zoom:1}
#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_top ul {padding:0;list-style:none;word-break:break-all}

#bo_v_bot {zoom:1}
#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_bot ul {padding:0;list-style:none}

.bo_v_com {margin:20px 0;float:right}
.bo_v_com > li {position:relative;float:left;margin-left:5px}

.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left}
.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""}
.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px}
.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1}
.bo_v_nb li:hover {background:#f6f6f6}
.bo_v_nb li i {font-size:13px;color:#b3b3b3}
.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3}
.bo_v_nb li .nb_date {float:right;color:#b3b3b3}

#bo_v_atc {min-height:200px;height:auto !important;height:200px}
#bo_v_atc_title {position:absolute;font-size:0;line-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:20px;max-width:100%;height:auto}

#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;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 {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px}
#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px}

#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block}
#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left}
#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em}
#bo_v_sns li img {vertical-align:middle;margin-right:5px}
#bo_v_sns li .sns_f {display:block;background:#3b5997}
#bo_v_sns li .sns_t {display:block;background:#09aeee}
#bo_v_sns li .sns_g {display:block;background:#ea4026}
#bo_v_sns li .sns_k {display:block;background:#fbe300}

#bo_v_share {position:relative;padding:20px 0}
#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px}
#bo_v_share .btn:hover {background:#fff}
#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle}


/* 게시판 댓글 */
.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px}
.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd}
.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px}
.cmt_btn_op span.cmt_more {background-position:right -8px}
.cmt_btn b {font-size:1.2em;color:#000}
.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px}
#bo_vc {}
#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0}
#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc article .profile_img img {border-radius:50%}
#bo_vc article .pf_img {float:left;margin-right:10px}
#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px}
#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%}
#bo_vc header {position:relative;width:100%}
#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc header .profile_img {display:none}
#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px}
#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold}
.bo_vc_hdinfo {color:#777}
#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px}
#bo_vc p a {text-decoration:underline}
#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479}
#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center}
#bo_vc #bo_vc_winfo {float:left}
#bo_vc .bo_vl_opt {position:absolute;top:0;right:0}

.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;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 {position:relative;margin:10px 0;display:block}
.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""}
.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.bo_vc_w #char_cnt {display:block;margin:0 0 5px}
.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px;
-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);
-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);
box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)}
#wr_secret {}
.bo_vc_w_info {margin:10px 0;float:left}
.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""}
.bo_vc_w_info .frm_input {float:left;margin-right:5px}
.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both}
.bo_vc_w .btn_confirm {clear:both;margin-top:10px}
.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center}
.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em}
.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important}
.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""}
.secret_cm {display:inline-block;float:left}

#bo_vc_send_sns {display:inline-block;float:left}
#bo_vc_sns {display:inline-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;line-height:40px;padding:0 0 0 10px}
#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 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}

/*글쓰기*/
#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0}
#bo_w .bo_v_option li label {vertical-align:baseline}
#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px}
#bo_w .write_div {margin:10px 0;position:relative}
#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""}
#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""}
#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%}
#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%}
#bo_w .wr_content.smarteditor2 iframe {background:#fff}
#bo_w .bo_w_tit {position:relative}
#bo_w .bo_w_tit .frm_input {padding-right:120px}
#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px}
#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;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:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2}
#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px}
#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0}
#bo_w .bo_w_flie .frm_input {margin:10px 0 0}
#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d}
#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px}
#bo_w .btn_submit {padding:0 20px;font-size:1.167em}
#bo_w .btn_cancel {border-radius:3px;font-size:1.167em}

/* ============================================================
   모던 리디자인 override (홈페이지 톤 · accent #21493d)
   ============================================================ */
#bo_list, #bo_v, #bo_w { color:#33373e; }

/* 상단 툴바 */
#bo_list .bo_fx { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
#bo_list_total { font-size:14px; color:#6b7280; font-weight:600; }
#bo_list_total strong, #bo_list_total .num { color:#21493d; }

/* 버튼 공통 (알약형) */
.btn_bo_user { display:flex; gap:8px; list-style:none; margin:0; padding:0; }
#bo_list .btn_b01, #bo_list .btn_admin, #bo_list .btn_bo_user a, #bo_list .btn_bo_user button,
#bo_v .btn_b01, #bo_v a.btn, #bo_w a.btn {
    display:inline-flex; align-items:center; justify-content:center; gap:6px;
    height:40px; padding:0 16px; border-radius:999px;
    background:#eef3ef; color:#21493d !important; border:0;
    font-size:14px; font-weight:700; line-height:1; cursor:pointer;
    transition:background .2s, transform .15s, box-shadow .2s;
}
#bo_list .btn_b01:hover, #bo_list .btn_admin:hover, #bo_list .btn_bo_user a:hover,
#bo_v .btn_b01:hover, #bo_v a.btn:hover { background:#e8ddc4; transform:translateY(-1px); }
/* 글쓰기 강조 */
.btn_bo_user a[title="글쓰기"], #bo_v a.btn_b02 {
    background:linear-gradient(135deg,#2f6b4f,#21493d) !important; color:#fff !important;
    box-shadow:0 8px 18px rgba(33,73,61,.28);
}
.btn_bo_user a[title="글쓰기"]:hover { background:linear-gradient(135deg,#21493d,#16302a) !important; }

/* 분류 탭 */
#bo_cate { margin-bottom:16px; }
#bo_cate_ul { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:0; }
#bo_cate_ul li a { display:inline-flex; align-items:center; height:38px; padding:0 16px; border-radius:999px; background:#f4f4f7; color:#4b5563; font-size:14px; font-weight:600; }
#bo_cate_ul li a:hover, #bo_cate_ul li.on a { background:#21493d; color:#fff; }

/* 검색 */
.bo_sch_wrap .bo_sch { background:#fff; border-radius:16px; padding:22px; box-shadow:0 16px 40px rgba(0,0,0,.14); }
.bo_sch .sch_bar, .bo_sch form > div { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.bo_sch select, .bo_sch input[type=text], .sch_input { height:44px; border:1px solid #e3e0ee !important; border-radius:10px !important; padding:0 14px; font-size:15px; background:#fff; }
.btn_bo_sch, .sch_btn { background:#21493d !important; color:#fff !important; border-radius:10px !important; height:44px; padding:0 20px !important; border:0; font-weight:700; }

/* 페이지네이션 */
.pg_wrap { margin-top:28px; text-align:center; }
.pg { display:inline-flex; flex-wrap:wrap; justify-content:center; gap:6px; }
.pg_page, .pg_current, .pg_start, .pg_end, .pg_prev, .pg_next {
    display:inline-flex; align-items:center; justify-content:center;
    min-width:40px; height:40px; padding:0 8px; border-radius:10px;
    background:#f4f4f7; color:#4b5563 !important; font-weight:600; border:0; float:none;
}
.pg_current { background:#21493d; color:#fff !important; }
.pg_page:hover { background:#e8ddc4; }

/* ── 갤러리 카드 그리드 ── */
#gall_ul.gall_row { display:grid !important; grid-template-columns:repeat(4,1fr); gap:22px; list-style:none; margin:0 !important; padding:0 !important; }
#gall_ul .gall_li { width:auto !important; margin:0 !important; padding:0 !important; float:none !important; border:0 !important; }
#gall_ul .gall_box { background:#fff; border:1px solid #eef0f5; border-radius:16px; overflow:hidden; box-shadow:0 10px 24px rgba(0,0,0,.06); transition:transform .2s, box-shadow .2s; margin:0; padding:0; height:auto; }
#gall_ul .gall_li:hover .gall_box { transform:translateY(-6px); box-shadow:0 18px 36px rgba(33,73,61,.16); }
#gall_ul .gall_img { width:100% !important; height:200px !important; max-height:200px !important; border:0 !important; margin:0 !important; overflow:hidden; background:#f2f5f3; border-radius:0; }
#gall_ul .gall_img img { width:100% !important; height:100% !important; object-fit:cover; margin:0 !important; }
#gall_ul .gall_img .no_image { display:flex; align-items:center; justify-content:center; width:100%; height:100%; color:#b7b1cf; }
#gall_ul .gall_con { padding:16px 18px 18px; }
#gall_ul .gall_text_href, #gall_ul .gall_text_href a { display:block; font-size:16px; font-weight:700; color:#24405b !important; line-height:1.5; margin-bottom:10px; }
#gall_ul .gall_text_href a:hover { color:#21493d !important; }
#gall_ul .gall_info { display:flex; gap:14px; color:#9aa3af; font-size:13px; border:0; padding:0; }
#gall_ul .gall_info .gall_date, #gall_ul .gall_info .gall_view { color:#9aa3af; }
#gall_ul .gall_info .cnt_cmt { color:#21493d; font-weight:700; }
@media (max-width:1024px){ #gall_ul.gall_row{ grid-template-columns:repeat(3,1fr);} }
@media (max-width:768px){ #gall_ul.gall_row{ grid-template-columns:repeat(2,1fr); gap:14px;} #gall_ul .gall_img{ height:150px !important; max-height:150px !important;} }
@media (max-width:480px){ #gall_ul.gall_row{ grid-template-columns:1fr;} }

/* 게시글 보기 */
#bo_v { background:transparent; border:0; padding:0; }
#bo_v .bo_v_tit, #bo_v #bo_v_title { font-size:26px; font-weight:800; color:#1f2724; line-height:1.4; margin-bottom:14px; word-break:keep-all; }
#bo_v .bo_v_info { display:flex; flex-wrap:wrap; gap:14px; align-items:center; padding:14px 2px; border-top:2px solid #1f2724; border-bottom:1px solid #eef0f5; color:#6b7280; font-size:14px; }
#bo_v #view_content, #bo_v .view_content { padding:30px 4px; font-size:16px; line-height:1.85; color:#33373e; min-height:200px; }
#bo_v .bo_v_file { background:#f7f6fc; border-radius:12px; padding:16px 18px; margin-top:16px; }
#bo_v .bo_v_file h2, #bo_v .bo_v_file a { color:#21493d; }

/* ── 폰트 기본 크기 유지 + 버튼 텍스트 노출 ── */
#bo_list, #bo_v { font-size:16px; }
#bo_list_total, #bo_cate_ul li a,
#bo_list .btn_b01, #bo_list .btn_admin, #bo_list .btn_bo_user a,
#bo_v .btn_b01, #bo_v a.btn { font-size:15px; }
.bo_sch select, .bo_sch input[type=text], .sch_input { font-size:16px; }
#gall_ul .gall_text_href, #gall_ul .gall_text_href a { font-size:16px; }
#gall_ul .gall_info { font-size:14px; }
#bo_v .bo_v_info { font-size:15px; }
#bo_v #view_content, #bo_v .view_content { font-size:16px; }
/* 툴바 버튼: 아이콘 옆 숨김 라벨 텍스트 노출 */
.btn_bo_user a .sound_only {
    position:static !important; left:auto !important; width:auto !important; height:auto !important;
    font-size:15px !important; line-height:1 !important; overflow:visible !important;
    display:inline !important; clip:auto !important; text-indent:0 !important;
}
.btn_bo_user a { padding:0 18px; }

/* ── 툴바 버튼 깨짐 수정: 옛 li 40px 고정폭 해제 ── */
#bo_btn_top { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:10px 0 16px; }
#bo_btn_top:after { display:none !important; content:none !important; }
#bo_list_total { float:none !important; line-height:1.4; }
.btn_bo_user { float:none !important; flex:0 0 auto; }
.btn_bo_user li {
    float:none !important; width:auto !important; background:transparent !important;
    margin:0 !important; text-align:left;
}
.btn_bo_user li a, .btn_bo_user li button { white-space:nowrap; }
.btn_bo_user .fa { line-height:1; }
.btn_bo_user button.btn { padding:0 !important; width:40px; }

/* ============================================================
   saha1388 참고 리비전 — 탭바 · 게시글 중앙정렬
   ============================================================ */
/* 분류 필터 탭바 (연회색 바 + 알약, 가운데) */
#bo_cate { background:#f4f5f7; border-radius:14px; padding:14px 16px; margin-bottom:20px; }
#bo_cate_ul { justify-content:center; }
#bo_cate_ul li a { background:#fff; color:#6b7280; box-shadow:0 1px 3px rgba(0,0,0,.05); }
#bo_cate_ul li a:hover { background:#eceef2; color:#3f4a5e; }
#bo_cate_ul li.on a { background:#3f4a5e; color:#fff; box-shadow:none; }

/* ── 게시글 보기: 중앙 정렬 헤더 ── */
#bo_v_info > h2, #bo_v_atc_title, #bo_v .pf_img { display:none !important; }
#bo_v_title { text-align:center; border:0; padding:8px 0 0; }
#bo_v_title .bo_v_cate {
    display:inline-block; margin:0 auto 12px; padding:5px 14px; border-radius:999px;
    background:linear-gradient(135deg,#2f6b4f,#21493d); color:#fff; font-size:13px; font-weight:700;
}
#bo_v_title .bo_v_tit { display:block; font-size:26px; font-weight:800; color:#1f2724; line-height:1.5; word-break:keep-all; }
#bo_v_info { border:0; padding:0; margin-top:14px; }
#bo_v_info .profile_info_ct { text-align:center; color:#8a93a3; font-size:14px; padding:14px 0; border-top:1px solid #e5e7ee; border-bottom:1px solid #e5e7ee; }
#bo_v_info .profile_info_ct strong, #bo_v_info .profile_info_ct b { color:#5b6472; font-weight:700; }
#bo_v_top { text-align:right; margin:12px 0 6px; }
#bo_v_top .btn_bo_user, #bo_v_top ul { justify-content:flex-end; }

/* ============================================================
   뷰페이지 정밀 매칭 (참고 이미지 기준)
   ============================================================ */
/* 분류 뱃지: 코랄 핑크 */
#bo_v_title .bo_v_cate, .bo_cate_link { background:linear-gradient(135deg,#f472a0,#ec5f86) !important; }
/* 메타: 한 줄 중앙정렬 */
#bo_v_info .profile_info_ct br { display:none; }
#bo_v_info .profile_info_ct strong { display:inline-block; margin:0 9px; font-weight:600; color:#9aa3af; }
#bo_v_info .profile_info_ct strong:first-child { color:#5b6472; font-weight:700; }
#bo_v_info .profile_info_ct strong:nth-of-type(2) { display:none; }
#bo_v_info .profile_info_ct a { color:inherit; }
#bo_v_info .profile_info_ct .fa { color:#b8bfca; }
/* 본문 */
#bo_v_atc { border:0; }
#bo_v #view_content { padding:34px 4px; }
/* 첨부파일 박스 */
#bo_v_file { margin-top:26px; }
#bo_v_file h2 { display:block !important; position:static; width:auto; height:auto; overflow:visible;
    font-size:15px; font-weight:800; color:#1f2724; padding:14px 2px; margin:0; border-top:2px solid #edeef2; }
#bo_v_file ul { list-style:none; margin:0; padding:0; }
#bo_v_file li { display:flex; align-items:center; gap:10px; background:#f7f7f9; border-radius:10px; padding:16px 20px; margin-bottom:8px; border:0; }
#bo_v_file li br { display:none; }
#bo_v_file li .fa-folder-open { color:#8a93a3; font-size:16px; }
#bo_v_file .view_file_download { color:#33373e; font-weight:600; }
#bo_v_file .view_file_download strong { color:#24405b; font-weight:700; }
#bo_v_file .bo_v_file_cnt { margin-left:auto; color:#9aa3af; font-size:13px; white-space:nowrap; }
/* 이전글/다음글 + 중앙 목록버튼 */
.bo_v_nb { display:flex; align-items:center; gap:18px; list-style:none; margin:34px 0 0; padding:26px 0 0; border-top:1px solid #e9eaef; }
.bo_v_nb li { border:0; padding:0; margin:0; float:none; }
.bo_v_nb .btn_prv { flex:1; text-align:left; }
.bo_v_nb .btn_next { flex:1; text-align:right; }
.bo_v_nb .nb_tit { display:block; color:#aeb4bf; font-size:13px; margin-bottom:6px; font-weight:600; }
.bo_v_nb .btn_prv a, .bo_v_nb .btn_next a { color:#5b6472; font-weight:600; font-size:15px; text-decoration:none; }
.bo_v_nb .btn_prv a:hover, .bo_v_

/* ===== 모던 스타일 병합 (구 _modern.css 내용, style.css 최하단에서 우선 적용) ===== */
/* =========================================================================
   남구청소년상담복지센터 · 게시판 공통 모던 스타일 (list / view / write)
   - 홈페이지 디자인 토큰(NanumSquareRound · 보라 #21493d · 라운드 · 소프트 섀도)
   - 4개 스킨(basic / gallery / program01 / program02) 공통 적용, 마지막에 로드되어 통일
   - 보라색 배경 버튼은 항상 흰색 글자(가독성)
   ========================================================================= */

:root{
  --nb-primary:#21493d;
  --nb-primary-2:#2f6b4f;
  --nb-primary-d:#16302a;
  --nb-ink:#1f2724;        /* 제목 */
  --nb-text:#4b5563;       /* 본문 */
  --nb-muted:#8a93a3;      /* 보조 */
  --nb-line:#eef0f5;       /* 옅은 경계 */
  --nb-line-2:#e8ddc4;     /* 보라 경계 */
  --nb-soft:#f2f5f3;       /* 보라 톤 배경 */
  --nb-soft-2:#eef3ef;     /* 버튼 옅은 배경 */
  --nb-radius:16px;
  --nb-shadow:0 10px 30px rgba(33,73,61,.10);
  --nb-shadow-sm:0 4px 14px rgba(33,73,61,.12);
}

/* 공통 래퍼 */
#bo_list, #bo_v, #bo_w, #bo_sch{ color:var(--nb-text); font-size:16px; }
#bo_list *, #bo_v *, #bo_w *{ box-sizing:border-box; }

/* =========================================================
   버튼 시스템 (가장 중요: 보라 배경 = 흰 글자)
   ========================================================= */
#bo_list .btn, #bo_v .btn, #bo_w .btn,
#bo_list .btn_b01, #bo_v .btn_b01, #bo_w .btn_b01,
.btn_bo_user a, .btn_bo_user button,
#bo_w .btn_submit, #bo_w .btn_cancel{
  display:inline-flex !important; align-items:center; justify-content:center; gap:6px;
  height:46px !important; padding:0 20px !important; border-radius:999px !important; border:0;
  font-size:15px !important; font-weight:800; line-height:1; cursor:pointer; text-decoration:none;
  background:var(--nb-soft-2); color:var(--nb-primary-d) !important;
  transition:background .18s, transform .12s, box-shadow .18s, color .18s;
}
#bo_list .btn:hover, #bo_v .btn:hover, #bo_w .btn:hover,
.btn_bo_user a:hover, .btn_bo_user button:hover{
  background:var(--nb-line-2); transform:translateY(-1px);
}

/* 아이콘만 있는 툴바 버튼(검색·옵션 등)은 정사각 알약 */
.btn_bo_user button.btn{ width:46px; padding:0 !important; }
.btn_bo_user .fa{ line-height:1; }

/* ── 강조(Primary) 버튼: 보라 그라데이션 + 흰 글자 ──
   목록/뷰 글쓰기, 글쓰기 작성완료, 검색 실행 등 */
#bo_list .btn_bo_user a[title="글쓰기"], #bo_v .btn_bo_user a[title="글쓰기"], #bo_w .btn_bo_user a[title="글쓰기"],
.btn_bo_user a[title="글쓰기"], #bo_v a.btn_b02, #bo_w a.btn_b02,
#bo_w .btn_submit,
#bo_list .btn_bo_user button.btn_bo_sch, #bo_v .btn_bo_user button.btn_bo_sch, button.btn_bo_sch, .btn_bo_sch.btn,
.bo_sch .sch_btn, .bo_sch button[type="submit"]{
  background:linear-gradient(135deg,var(--nb-primary-2),var(--nb-primary)) !important;
  color:#fff !important;
  box-shadow:var(--nb-shadow-sm);
}
#bo_list .btn_bo_user a[title="글쓰기"] *, #bo_v .btn_bo_user a[title="글쓰기"] *, #bo_w .btn_bo_user a[title="글쓰기"] *,
#bo_w .btn_submit *,
#bo_list .btn_bo_user button.btn_bo_sch *, #bo_v .btn_bo_user button.btn_bo_sch *,
button.btn_bo_sch *, .bo_sch .sch_btn *{ color:#fff !important; }

.btn_bo_user a[title="글쓰기"]:hover,
#bo_v .btn_bo_user a[title="글쓰기"]:hover,
#bo_w .btn_submit:hover{
  background:linear-gradient(135deg,var(--nb-primary),var(--nb-primary-d)) !important;
  color:#fff !important; transform:translateY(-1px);
}

/* 옵션 더보기(⋮) 드롭다운 */
.more_opt{ border-radius:12px !important; box-shadow:var(--nb-shadow) !important; border:1px solid var(--nb-line) !important; overflow:hidden; }
.more_opt li button{ color:var(--nb-text) !important; font-weight:700; }
.more_opt li button:hover{ background:var(--nb-soft) !important; color:var(--nb-primary-d) !important; }

/* 취소 버튼은 중립 톤 */
#bo_w .btn_cancel{ background:#eef0f5; color:#5b6472 !important; }
#bo_w .btn_cancel:hover{ background:#e3e6ee; }

/* =========================================================
   목록 상단 바
   ========================================================= */
#bo_btn_top{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:10px 0 26px; }
#bo_btn_top:after{ display:none !important; content:none !important; }
#bo_list_total{ float:none !important; margin:0 !important; font-size:15px; font-weight:700; color:var(--nb-muted); line-height:1.4; }
#bo_list_total strong, #bo_list_total .num{ color:var(--nb-primary); }
.btn_bo_user{ display:flex; gap:8px; list-style:none; margin:0; padding:0; float:none !important; }
.btn_bo_user li{ float:none !important; width:auto !important; margin:0 !important; background:transparent !important; position:relative; }

/* 분류 탭 */
#bo_cate{ background:var(--nb-soft); border-radius:14px; padding:16px 18px; margin-bottom:28px; }
#bo_cate_ul{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; list-style:none; margin:0; padding:0; }
#bo_cate_ul li a{ display:inline-block; padding:8px 16px; border-radius:999px; background:#fff; color:#6b7280; font-weight:700; font-size:14px; box-shadow:0 1px 3px rgba(0,0,0,.05); }
#bo_cate_ul li a:hover{ background:#eceef2; color:#3f4a5e; }
#bo_cate_ul li.on a{ background:linear-gradient(135deg,var(--nb-primary-2),var(--nb-primary)); color:#fff; box-shadow:var(--nb-shadow-sm); }

/* =========================================================
   목록 테이블 (데스크톱)
   ========================================================= */
#bo_list .tbl_head01{ border:0; }
#bo_list .tbl_head01 table{ border-collapse:separate; border-spacing:0; width:100%; }
#bo_list .tbl_head01 thead th{
  background:var(--nb-soft); color:var(--nb-ink); font-weight:800; font-size:15px;
  padding:20px 12px; border:0; border-bottom:2px solid var(--nb-line-2);
  white-space:nowrap !important;
}
/* 목록 헤더/셀 줄바꿈 방지 (제목 열 제외) */
#bo_list .tbl_head01 td.td_num, #bo_list .tbl_head01 td.td_num2,
#bo_list .tbl_head01 td.td_name, #bo_list .tbl_head01 td.td_nick,
#bo_list .tbl_head01 td.td_hit, #bo_list .tbl_head01 td.td_date,
#bo_list .tbl_head01 td.td_datetime, #bo_list .tbl_head01 td.td_group,
#bo_list .tbl_head01 td.td_mb_id{ white-space:nowrap !important; }
#bo_list .tbl_head01 thead th:first-child{ border-top-left-radius:12px; }
#bo_list .tbl_head01 thead th:last-child{ border-top-right-radius:12px; }
#bo_list .tbl_head01 thead th a{ color:var(--nb-ink); }
#bo_list .tbl_head01 tbody td{
  padding:21px 12px; border:0; border-bottom:1px solid var(--nb-line);
  font-size:16px; color:#5b6472; text-align:center; vertical-align:middle;
}
#bo_list .tbl_head01 tbody tr:hover td{ background:#f8fbf9; }
#bo_list .td_subject, #bo_list .bo_tit{ text-align:left !important; }
#bo_list .bo_tit a, #bo_list .td_subject a{ color:#24405b; font-weight:700; }
#bo_list .bo_tit a:hover, #bo_list .td_subject a:hover{ color:var(--nb-primary); }
#bo_list .bo_notice td{ background:#f6faf8 !important; }
#bo_list .bo_notice .bo_tit a, #bo_list .bo_notice .td_subject a{ color:var(--nb-primary); font-weight:800; }
#bo_list .empty_table, #bo_list .empty_list{ padding:64px 0 !important; color:var(--nb-muted); text-align:center; }

/* 공지/분류 뱃지 */
.notice_icon, .bo_cate_link{
  display:inline-block; padding:4px 12px; border-radius:999px;
  background:linear-gradient(135deg,var(--nb-primary-2),var(--nb-primary));
  color:#fff !important; font-size:13px; font-weight:800; line-height:1.5; white-space:nowrap;
}

/* 새글 N 뱃지 */
#bo_list .new_icon, #bo_list img[alt="new"]{ vertical-align:middle; }

/* =========================================================
   갤러리 그리드 (gallery 스킨)
   ========================================================= */
.gall_ul{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; list-style:none; margin:0; padding:0; }
.gall_ul .gall_li{ width:auto !important; margin:0 !important; float:none !important; }
.gall_ul .gall_li .gall_href{ display:block; border-radius:var(--nb-radius); overflow:hidden; background:#fff; box-shadow:var(--nb-shadow); transition:transform .15s, box-shadow .2s; }
.gall_ul .gall_li .gall_href:hover{ transform:translateY(-4px); box-shadow:0 16px 36px rgba(33,73,61,.16); }
.gall_ul .gall_li .gall_chk{ position:absolute; margin:10px; }
.gall_ul .gall_li .gall_img{ width:100%; height:0; padding-bottom:66%; position:relative; overflow:hidden; background:var(--nb-soft); }
.gall_ul .gall_li .gall_img img{ position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
.gall_ul .gall_li .gall_text_href{ display:block; padding:14px 16px; }
.gall_ul .gall_li .bo_tit{ font-size:16px; font-weight:700; color:#24405b; line-height:1.4; word-break:keep-all; }
.gall_ul .gall_li:hover .bo_tit{ color:var(--nb-primary); }
@media (max-width:1024px){ .gall_ul{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:768px){ .gall_ul{ grid-template-columns:repeat(2,1fr); gap:14px; } }

/* =========================================================
   페이지네이션
   ========================================================= */
.pg_wrap{ margin-top:40px; text-align:center; }
.pg{ display:inline-flex; flex-wrap:wrap; justify-content:center; gap:6px; }
.pg_page, .pg_current, .pg_start, .pg_end, .pg_prev, .pg_next{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:42px; height:42px; padding:0 10px; border-radius:12px;
  background:#f4f4f7; color:#4b5563 !important; font-weight:700; border:0; float:none; text-decoration:none;
}
.pg_page:hover, .pg_start:hover, .pg_end:hover, .pg_prev:hover, .pg_next:hover{ background:var(--nb-line-2); color:var(--nb-primary-d) !important; }
.pg_current{
  background:linear-gradient(135deg,var(--nb-primary-2),var(--nb-primary)) !important;
  color:#fff !important; box-shadow:var(--nb-shadow-sm);
}

/* =========================================================
   검색창 (모달/인라인)
   ========================================================= */
.bo_sch_wrap .bo_sch{ background:#fff; border-radius:18px; padding:24px; box-shadow:0 20px 50px rgba(0,0,0,.16); }
.bo_sch h3, .bo_sch legend + *{ margin-bottom:8px; }
.bo_sch .sch_bar, .bo_sch form > div{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.bo_sch select, .bo_sch input[type=text], .sch_input, .bo_sch .frm_input{
  height:46px; border:1px solid var(--nb-line-2) !important; border-radius:12px !important;
  padding:0 14px; font-size:16px; background:#fff; box-shadow:none;
}
.bo_sch .bo_sch_cls{ background:transparent; color:var(--nb-muted); }

/* =========================================================
   게시글 보기 (view)
   ========================================================= */
#bo_v{ background:transparent; border:0; padding:0; }

/* 제목 영역 중앙 정렬 */
#bo_v_title{ text-align:center; border:0; padding:20px 0 6px; }
#bo_v_title .bo_v_cate{
  display:inline-block; margin:0 auto 18px; padding:6px 16px; border-radius:999px;
  background:linear-gradient(135deg,var(--nb-primary-2),var(--nb-primary)); color:#fff; font-size:13px; font-weight:800;
}
#bo_v_title .bo_v_tit, #bo_v .bo_v_tit{
  display:block; font-size:26px; font-weight:800; color:var(--nb-ink); line-height:1.5; word-break:keep-all;
}
#bo_v_atc_title, #bo_v_info > h2, #bo_v .pf_img{ display:none !important; }

/* 작성자·조회·날짜 정보 — 제목 아래 중앙 메타 바 */
#bo_v_info{ display:block; border:0; padding:0; margin-top:22px; }
#bo_v_info .profile_info{ display:block; width:100%; float:none; margin:0; }
#bo_v_info .pf_img{ display:none !important; }
#bo_v_info .profile_info_ct{
  display:flex; flex-wrap:wrap; gap:8px 8px; justify-content:center; align-items:center;
  float:none !important; width:100%;
  color:var(--nb-muted); font-size:14px; padding:20px 8px !important; line-height:1.4;
  border-top:1px solid var(--nb-line); border-bottom:1px solid var(--nb-line); background: var(--nb-soft);
}
#bo_v_info .profile_info_ct br{ display:none; }           /* 강제 줄바꿈 제거 → 한 줄 메타 */
#bo_v_info .profile_info_ct .pf_ip{ display:none !important; } /* 작성자 옆 IP 숨김 */
#bo_v_info .profile_info_ct > strong{
  display:inline-flex; align-items:center; gap:5px; font-weight:700; color:#6b7280; white-space:nowrap;
}
#bo_v_info .profile_info_ct > strong:first-of-type{ color:#3f4a5e; font-weight:800; } /* 작성자 강조 */
#bo_v_info .profile_info_ct > strong:not(:first-of-type)::before{
  content:""; display:inline-block; width:3px; height:3px; border-radius:50%;
  background:currentColor; opacity:.45; margin:0 10px 0 4px;
}
#bo_v_info .profile_info_ct > strong a{ color:inherit; text-decoration:none; }
#bo_v_info .profile_info_ct .fa{ color:var(--nb-primary); opacity:.85; }

/* 상단 버튼 바(목록/답변/글쓰기): 메타 아래 별도 줄, 오른쪽 정렬 — 직접 자식 ul만(중첩 .more_opt 제외) */
#bo_v_top{ display:block; clear:both; text-align:right; margin:24px 0 8px; }
#bo_v_top > .btn_bo_user, #bo_v_top > ul{ display:flex; justify-content:flex-end; gap:8px; list-style:none; margin:0; padding:0; }
/* 옵션 드롭다운은 클릭 전까지 숨김 유지(JS 토글) */
#bo_v_top .more_opt, #bo_btn_top .more_opt{ display:none; }
#bo_v_top .more_opt li, #bo_btn_top .more_opt li{ display:block; width:110px; }

/* 스크랩/공유 */
#bo_v_share{ margin:24px 0; }
#bo_v_share .btn, #bo_v_share .btn_b03, .btn_b03{
  display:inline-flex; align-items:center; gap:6px; width:auto !important; height:40px; padding:0 16px;
  border-radius:999px; background:var(--nb-soft-2); color:var(--nb-primary-d) !important;
  font-size:14px; font-weight:700; line-height:1; white-space:nowrap;
}
#bo_v_share .btn i{ margin:0; color:inherit; }

/* 본문 */
#bo_v_atc{ margin-top:14px; }
#bo_v_con, #bo_v #view_content, #bo_v .view_content{
  padding:44px 6px 48px; font-size:16px; line-height:2.05; color:#33373e; min-height:220px; word-break:keep-all;
}
#bo_v_con img{ max-width:100%; height:auto; }

/* 추천/비추천 */
#bo_v_act{ text-align:center; margin:24px 0; display:flex; gap:12px; justify-content:center; }
#bo_v_act .bo_v_good, #bo_v_act .bo_v_nogood{
  display:inline-flex; flex-direction:column; align-items:center; gap:4px;
  min-width:84px; padding:12px 18px; border-radius:14px; text-decoration:none;
  background:var(--nb-soft-2); color:var(--nb-primary-d); font-weight:700;
}
#bo_v_act .bo_v_good strong, #bo_v_act .bo_v_nogood strong{ font-size:18px; }
#bo_v_act .bo_v_good:hover{ background:linear-gradient(135deg,var(--nb-primary-2),var(--nb-primary)); color:#fff; }

/* 이전글/다음글 네비게이션 */
.bo_v_nb{ display:flex; align-items:center; gap:18px; list-style:none; margin:44px 0 0; padding:30px 0 0; border-top:1px solid var(--nb-line); }
.bo_v_nb li{ border:0; padding:0; margin:0; float:none; background:transparent; }
.bo_v_nb .btn_prv{ flex:1; text-align:left; }
.bo_v_nb .btn_next{ flex:1; text-align:right; }
.bo_v_nb .nb_tit{ display:block; color:var(--nb-muted); font-size:13px; font-weight:700; margin-bottom:4px; }
.bo_v_nb .nb_tit i{ color:var(--nb-primary); }
.bo_v_nb a{ color:#5b6472; font-weight:700; text-decoration:none; }
.bo_v_nb .btn_prv a:hover, .bo_v_nb .btn_next a:hover{ color:var(--nb-primary); }
.bo_v_nb .nb_date{ color:var(--nb-muted); font-size:13px; }
.bo_v_nb .nb_empty{ color:var(--nb-muted); }
.bo_v_nb .nb_list a{
  display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px;
  border-radius:12px; background:var(--nb-soft-2) !important; color:var(--nb-primary-d) !important;
}
.bo_v_nb .nb_list a i{ color:inherit; font-size:16px; }
.bo_v_nb .nb_list a:hover{ background:linear-gradient(135deg,var(--nb-primary-2),var(--nb-primary)) !important; color:#fff !important; }

/* 첨부파일 / 링크 */
#bo_v_file, #bo_v_link{ background:var(--nb-soft); border-radius:14px; padding:22px 24px; margin-top:22px; }
#bo_v_file h2, #bo_v_link h2{ font-size:15px; color:var(--nb-primary-d); margin-bottom:8px; font-weight:800; }
#bo_v_file ul, #bo_v_link ul{ list-style:none; margin:0; padding:0; }
#bo_v_file li, #bo_v_link li{ padding:8px 0; border-bottom:1px dashed var(--nb-line-2); }
#bo_v_file li:last-child, #bo_v_link li:last-child{ border-bottom:0; }
#bo_v_file a, #bo_v_link a{ color:#21493d; font-weight:700; }
#bo_v_file .bo_v_file_cnt, #bo_v_link .bo_v_link_cnt{ color:var(--nb-muted); font-size:13px; }

/* =========================================================
   댓글
   ========================================================= */
#bo_vc{ margin-top:44px; }
#bo_vc h2{ font-size:18px; color:var(--nb-ink); font-weight:800; margin-bottom:14px; }
.bo_vc_hdinfo, #bo_vc .cmt_info{ color:var(--nb-muted); }
#bo_vc article, #bo_vc .cmt_contents, #bo_vc li{ border-bottom:1px solid var(--nb-line); }
#bo_vc .cmt_content, #bo_vc .cmt_txt{ color:#33373e; line-height:1.7; }
#bo_vc textarea, .bo_vc textarea{
  border:1px solid var(--nb-line-2) !important; border-radius:12px !important; padding:14px !important;
  font-size:15px; width:100%; background:#fff;
}
#bo_vc .btn_confirm .btn, #bo_vc .btn_b01{ height:42px; }

/* =========================================================
   글쓰기 폼 (write)
   ========================================================= */
#bo_w{ color:var(--nb-text); padding:8px 0; }
#bo_w .write_div{ margin-bottom:20px; }
#bo_w label{ font-weight:700; color:var(--nb-ink); }

#bo_w .frm_input, #bo_w input[type=text], #bo_w input[type=password],
#bo_w input[type=email], #bo_w select, #bo_w textarea{
  height:50px; border:1px solid var(--nb-line-2) !important; border-radius:12px !important;
  padding:0 16px; font-size:16px; background:#fff; color:#33373e; box-shadow:none !important;
  transition:border-color .15s, box-shadow .15s; max-width:100%;
}
#bo_w textarea{ height:auto; padding:16px; line-height:1.8; }
#bo_w .frm_input:focus, #bo_w input:focus, #bo_w select:focus, #bo_w textarea:focus{
  border-color:var(--nb-primary) !important; box-shadow:0 0 0 3px rgba(33,73,61,.15) !important; outline:0;
}
#bo_w .full_input{ width:100% !important; }
#bo_w .half_input{ width:49% !important; }
#bo_w .bo_w_info{ display:flex; flex-wrap:wrap; gap:10px; }
#bo_w .bo_w_info .frm_input{ flex:1 1 220px; }
#bo_w .bo_w_tit .frm_input{ width:100% !important; }

#bo_w .bo_v_option{ display:flex; flex-wrap:wrap; gap:16px; list-style:none; margin:0; padding:8px 0; }
#bo_w .bo_v_option li{ display:flex; align-items:center; gap:6px; color:var(--nb-text); font-weight:700; }

#bo_w #char_count_desc{ color:var(--nb-muted); font-size:13px; margin-bottom:8px; }
#bo_w #char_count_wrap{ text-align:right; color:var(--nb-muted); font-size:13px; }

#bo_w .btn_frmline{ height:40px; padding:0 14px; border-radius:10px; border:1px solid var(--nb-line-2); background:#fff; color:var(--nb-primary-d); font-weight:700; }

#bo_w .btn_confirm{ display:flex; gap:12px; justify-content:center; margin-top:36px; }
#bo_w .btn_confirm .btn{ min-width:140px; height:54px; font-size:16px; }

#autosave_pop{ border-radius:12px !important; box-shadow:var(--nb-shadow) !important; border:1px solid var(--nb-line) !important; }

/* 모바일 대응 */
@media (max-width:768px){
  #bo_list, #bo_v, #bo_w{ font-size:15px; }
  #bo_v_title .bo_v_tit, #bo_v .bo_v_tit{ font-size:21px; }
  #bo_v_con, #bo_v .view_content{ padding:22px 2px; font-size:15px; }
  #bo_w .half_input{ width:100% !important; }
  .btn_bo_user a, .btn_bo_user button, #bo_v .btn, #bo_list .btn{ height:40px; font-size:14px; padding:0 14px; }
  .btn_bo_user button.btn{ width:40px; }
  #bo_v_top .btn_bo_user{ flex-wrap:wrap; }
}
/* ===== 모던 스타일 병합 끝 ===== */

/* ===== 게시판 검색 모달 디자인 ===== */
.bo_sch_wrap{ background:rgba(24,18,43,.45) !important; }
.bo_sch_bg{ background:transparent !important; }
.bo_sch{
  position:fixed !important; left:50% !important; top:50% !important; transform:translate(-50%,-50%) !important;
  width:380px !important; max-width:calc(100vw - 32px) !important; max-height:none !important;
  margin:0 !important; padding:0 !important; background:#fff !important;
  border:0 !important; border-radius:18px !important; overflow:hidden !important;
  box-shadow:0 24px 60px rgba(0,0,0,.28) !important;
}
.bo_sch legend{ display:none !important; }
.bo_sch h3{ font-size:18px !important; font-weight:800 !important; color:var(--nb-ink) !important; padding:20px 22px !important; margin:0 !important; border-bottom:1px solid var(--nb-line) !important; text-align:left; }
.bo_sch form{ padding:20px 22px 24px !important; display:flex !important; flex-direction:column; gap:12px; margin:0 !important; }
.bo_sch form > div{ display:block; margin:0; }
.bo_sch select, .bo_sch .sch_input, .bo_sch input[type=text]{
  height:48px !important; width:100% !important; border:1px solid var(--nb-line-2) !important;
  border-radius:12px !important; padding:0 14px !important; font-size:15px !important; background:#fff !important;
  box-shadow:none !important; float:none !important; margin:0 !important;
}
.bo_sch .sch_bar{ display:flex !important; gap:8px !important; align-items:stretch; border:0 !important; box-shadow:none !important; margin:0 !important; padding:0 !important; width:100% !important; }
.bo_sch .sch_bar .sch_input{ flex:1 1 auto; width:auto !important; }
.bo_sch .sch_btn{
  flex:0 0 auto; width:56px !important; height:48px !important; padding:0 !important;
  border:0 !important; border-radius:12px !important; font-size:17px !important; cursor:pointer;
  background:linear-gradient(135deg,var(--nb-primary-2),var(--nb-primary)) !important; color:#fff !important;
  display:inline-flex !important; align-items:center; justify-content:center;
}
.bo_sch .sch_btn *{ color:#fff !important; }
.bo_sch .bo_sch_cls{
  position:absolute !important; top:14px !important; right:14px !important; width:34px !important; height:34px !important;
  padding:0 !important; border:0 !important; border-radius:50% !important; font-size:16px !important; cursor:pointer; line-height:1;
  background:var(--nb-soft) !important; color:var(--nb-muted) !important;
  display:inline-flex !important; align-items:center; justify-content:center;
}
.bo_sch .bo_sch_cls:hover{ background:var(--nb-line-2) !important; color:var(--nb-primary-d) !important; }
/* ===== 검색 모달 끝 ===== */


/* ===== 페이징 화살표 (xeicon) ===== */
.pg_start, .pg_prev, .pg_next, .pg_end{ text-indent:0 !important; overflow:visible !important; font-size:0 !important; }
.pg_start::before, .pg_prev::before, .pg_next::before, .pg_end::before{
  font-family:'xeicon' !important; font-style:normal; font-weight:400 !important; font-size:20px !important;
  line-height:1; color:inherit; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
.pg_start::before{ content:"\ea43"; }
.pg_prev::before{ content:"\e93b"; }
.pg_next::before{ content:"\e93e"; }
.pg_end::before{ content:"\ea44"; }
/* ===== 페이징 화살표 끝 ===== */
/* ===== bo_v_nb : 좌우 분할 카드형 (샘플 B) ===== */
.bo_v_nb{ display:flex; align-items:stretch; gap:14px; margin:34px 0 0; padding:26px 0 0; border-top:1px solid #e9eaef; list-style:none; }
.bo_v_nb li{ flex:1; display:block; min-width:0; margin:0; padding:16px 18px; border:1px solid #e5e5e5; border-radius:10px; background:#fff; transition:.15s; }
.bo_v_nb li.btn_next{ text-align:right; }
.bo_v_nb li .nb_tit{ display:block; margin-bottom:8px; padding:0; color:#c9a25b; font-size:12px; font-weight:700; letter-spacing:.04em; }
.bo_v_nb li .nb_tit i{ display:none; }
.bo_v_nb li.btn_prv .nb_tit::before{ content:'\2039\00a0'; }
.bo_v_nb li.btn_next .nb_tit::after{ content:'\00a0\203a'; }
.bo_v_nb li a{ display:block; color:#333; font-size:14.5px; font-weight:600; line-height:1.5; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bo_v_nb li .nb_date{ display:none; }
.bo_v_nb li:hover{ border-color:#21493d; background:#f4f7f5; }
.bo_v_nb li:hover a{ color:#21493d; }
@media (max-width:640px){ .bo_v_nb{ flex-direction:column; } }
/* bo_v_nb 가운데 목록 버튼 */
.bo_v_nb .btn_list{ flex:0 0 auto; display:flex; justify-content:center; padding:0; border:0; background:transparent; }
.bo_v_nb .btn_list a{ display:flex; align-items:center; justify-content:center; gap:8px; min-width:112px; padding:0 22px; border-radius:10px; background:#21493d; color:#fff; font-size:15px; font-weight:700; line-height:1; white-space:nowrap; overflow:visible; text-overflow:clip; transition:.15s; }
.bo_v_nb .btn_list a i{ font-size:15px; color:#fff; }
.bo_v_nb .btn_list a:hover{ background:#16302a; color:#fff; }
/* ===== 글쓰기 폼: 좌측 라벨형 (샘플 B) ===== */
#bo_w .wf-form{ border-top:2px solid #21493d; margin-bottom:24px; }
#bo_w .wf-row{ display:grid; grid-template-columns:140px 1fr; gap:18px; align-items:center; padding:16px 6px; border-bottom:1px solid #ececec; }
#bo_w .wf-row-top{ align-items:start; }
#bo_w .wf-label{ font-size:15px; font-weight:700; color:#333; padding-top:2px; }
#bo_w .wf-label b{ color:#c9a25b; margin-left:2px; }
#bo_w .wf-label label{ color:inherit; font-weight:inherit; cursor:pointer; }
#bo_w .wf-field{ min-width:0; }
#bo_w .wf-field .frm_input{ width:100%; height:46px; padding:0 14px; border:1px solid #dcdcdc; border-radius:8px; background:#fff; font-size:15px; box-sizing:border-box; }
#bo_w .wf-field select.frm_input{ height:46px; }
#bo_w .wf-field .frm_input:focus{ border-color:#21493d; outline:0; }
#bo_w .wf-inline{ display:flex; flex-wrap:wrap; gap:10px; }
#bo_w .wf-inline .frm_input{ flex:1; min-width:150px; }
#bo_w .wf-field textarea{ width:100%; min-height:260px; padding:14px; border:1px solid #dcdcdc; border-radius:8px; box-sizing:border-box; font-size:15px; line-height:1.7; }
#bo_w .wf-field .wr_content textarea{ width:100%; }
#bo_w .wf-file{ margin-bottom:8px; }
#bo_w .wf-file .frm_file{ font-size:14px; }
#bo_w .bo_v_option{ display:flex; flex-wrap:wrap; gap:16px; margin:0; padding:0; list-style:none; }
#bo_w .btn_confirm{ display:flex; justify-content:flex-end; gap:10px; margin-top:26px; }
#bo_w .btn_confirm .btn{ display:inline-flex; align-items:center; justify-content:center; min-width:120px; height:50px; border-radius:10px; font-size:16px; font-weight:700; padding:0 24px; text-decoration:none; }
#bo_w .btn_confirm .btn_cancel{ background:#eef1ef; color:#555; border:0; }
#bo_w .btn_confirm .btn_submit{ background:#21493d; color:#fff; border:0; cursor:pointer; }
#bo_w .btn_confirm .btn_submit:hover{ background:#16302a; }
@media (max-width:720px){
  #bo_w .wf-row{ grid-template-columns:1fr; gap:8px; align-items:start; }
  #bo_w .wf-inline .frm_input{ min-width:0; }
}
/* ===== 글쓰기 폼: 인풋 radius 3px + 첨부파일 디자인 ===== */
#bo_w .wf-field .frm_input,
#bo_w .wf-field select.frm_input,
#bo_w .wf-field textarea{ border:1px solid #cccccc; border-radius:3px; }
#bo_w .wf-field .frm_input:focus,
#bo_w .wf-field textarea:focus{ border-color:#21493d; }

/* 첨부파일 영역 */
#bo_w .wf-file{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:9px 12px; border:1px solid #cccccc; border-radius:3px; background:#fafafa; margin-bottom:8px; }
#bo_w .wf-file .frm_file{ flex:1; min-width:180px; font-size:14px; color:#666; border:0; background:transparent; padding:0; }
#bo_w .wf-file .frm_file::-webkit-file-upload-button,
#bo_w .wf-file .frm_file::file-selector-button{ margin-right:12px; padding:9px 18px; border:0; border-radius:3px; background:#21493d; color:#fff; font-size:14px; font-weight:700; cursor:pointer; transition:.15s; }
#bo_w .wf-file .frm_file:hover::-webkit-file-upload-button,
#bo_w .wf-file .frm_file:hover::file-selector-button{ background:#16302a; }
#bo_w .wf-file .frm_input{ flex:1 0 100%; height:42px; }
#bo_w .wf-file .file_del{ flex:1 0 100%; font-size:13px; color:#888; }
/* ===== 글쓰기: 모든 인풋을 첨부파일 박스와 동일 스타일로 통일 ===== */
#bo_w .wf-field input:not([type=checkbox]):not([type=radio]):not([type=file]),
#bo_w .wf-field select,
#bo_w .wf-field textarea{ border:1px solid #cccccc; border-radius:3px; background:#fafafa; }
#bo_w .wf-field input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,
#bo_w .wf-field select:focus,
#bo_w .wf-field textarea:focus{ border-color:#21493d; outline:0; }
/* ===== 갤러리: 한 줄 카드 높이 통일 + 이미지 100% ===== */
#bo_gall #gall_ul.gall_row{ align-items:stretch !important; }
#bo_gall #gall_ul .gall_li{ display:flex !important; height:auto !important; }
#bo_gall #gall_ul .gall_box{ display:flex !important; flex-direction:column !important; width:100% !important; height:100% !important; }
#bo_gall #gall_ul .gall_con{ display:flex !important; flex-direction:column !important; flex:1 1 auto !important; }
#bo_gall #gall_ul .gall_info{ margin-top:auto !important; }
#bo_gall #gall_ul .gall_img{ display:block !important; width:100% !important; height:200px !important; max-height:200px !important; }
#bo_gall #gall_ul .gall_img a{ display:block !important; width:100% !important; height:100% !important; }
#bo_gall #gall_ul .gall_img img{ display:block !important; width:100% !important; height:100% !important; object-fit:cover !important; }
#bo_gall #gall_ul .gall_img .no_image{ display:flex !important; align-items:center; justify-content:center; width:100% !important; height:100% !important; }

/* 갤러리 요약 텍스트 얇게 */
#bo_gall #gall_ul .bo_cnt{ font-weight:400 !important; }

/* 인풋 테두리를 첨부파일 박스와 동일한 회색으로 통일 */
#bo_w .wf-field input:not([type=checkbox]):not([type=radio]):not([type=file]),
#bo_w .wf-field select,
#bo_w .wf-field textarea{ border-color:#cccccc !important; }

/* 인풋 border-radius를 첨부파일 박스와 동일(3px)하게 */
#bo_w .wf-field input:not([type=checkbox]):not([type=radio]):not([type=file]),
#bo_w .wf-field select,
#bo_w .wf-field textarea{ border-radius:3px !important; }

/* 임시 저장된 글 버튼 위치/모양 정리 */
#bo_w .wf-field #autosave_wrapper{ position:relative; }
#bo_w #btn_autosave{ position:static !important; float:none !important; display:inline-block !important; width:auto !important; height:auto !important; line-height:1.2 !important; margin:8px 0 0 !important; padding:8px 14px !important; border:1px solid #cccccc !important; border-radius:3px !important; background:#fff !important; color:#555 !important; font-size:13px !important; font-weight:600 !important; white-space:nowrap !important; cursor:pointer; }
#bo_w #btn_autosave:hover{ background:#f2f5f3 !important; color:#21493d !important; border-color:#21493d !important; }
#bo_w #autosave_pop{ top:auto !important; left:0 !important; right:auto !important; }

/* 임시저장 버튼: 제목 인풋 우측 배치 */
#bo_w .wf-field #autosave_wrapper{ display:flex !important; align-items:center; gap:10px; position:relative; }
#bo_w .wf-field #autosave_wrapper > input#wr_subject{ flex:1 1 auto !important; min-width:0; }
#bo_w #btn_autosave{ margin:0 !important; flex:0 0 auto; }
#bo_w #autosave_pop{ position:absolute !important; top:100% !important; right:0 !important; left:auto !important; }

/* 임시저장 버튼 높이를 제목 인풋(46px)과 동일하게 */
#bo_w #btn_autosave{ height:46px !important; line-height:44px !important; padding:0 16px !important; box-sizing:border-box !important; }

/* 옵션(공지·html) 체크박스 정렬 수정 */
#bo_w .bo_v_option{ align-items:center !important; }
#bo_w .bo_v_option li.chk_box{ display:inline-flex !important; align-items:center !important; }
#bo_w .bo_v_option li.chk_box label{ display:inline-flex !important; align-items:center !important; gap:6px; margin:0 !important; line-height:1 !important; cursor:pointer; }
#bo_w .bo_v_option li.chk_box label span{ display:inline-block !important; flex:0 0 auto; vertical-align:middle; }

/* 옵션 체크박스 정렬 강제(.wf-form 프리픽스로 우선순위 확보) */
#bo_w .wf-form .bo_v_option{ display:flex !important; flex-wrap:wrap; gap:20px; align-items:center !important; margin:0 !important; padding:0 !important; list-style:none; }
#bo_w .wf-form .bo_v_option li.chk_box{ display:inline-flex !important; flex-direction:row !important; align-items:center !important; margin:0 !important; padding:0 !important; }
#bo_w .wf-form .bo_v_option li.chk_box input.selec_chk{ position:static !important; width:16px !important; height:16px !important; margin:0 !important; padding:0 !important; opacity:1 !important; -webkit-appearance:checkbox !important; appearance:auto !important; }
#bo_w .wf-form .bo_v_option li.chk_box label{ display:inline-flex !important; align-items:center !important; margin:0 0 0 6px !important; line-height:1 !important; cursor:pointer; }
#bo_w .wf-form .bo_v_option li.chk_box label span{ display:none !important; }

/* 옵션 체크박스: 커스텀 박스로 통일(최종) */
#bo_w .wf-form .bo_v_option li.chk_box{ display:inline-flex !important; align-items:center !important; position:relative; margin:0 !important; }
#bo_w .wf-form .bo_v_option li.chk_box input.selec_chk{ position:absolute !important; left:0; top:50%; transform:translateY(-50%); width:18px !important; height:18px !important; margin:0 !important; opacity:0 !important; z-index:2; cursor:pointer; -webkit-appearance:none !important; appearance:none !important; }
#bo_w .wf-form .bo_v_option li.chk_box label{ display:inline-flex !important; align-items:center !important; margin:0 !important; padding-left:26px !important; line-height:1 !important; position:relative; cursor:pointer; font-weight:500; }
#bo_w .wf-form .bo_v_option li.chk_box label span{ display:block !important; float:none !important; position:absolute !important; left:0; top:50%; transform:translateY(-50%); width:18px !important; height:18px !important; border:1px solid #cccccc !important; border-radius:3px !important; background:#fff !important; box-sizing:border-box !important; }
#bo_w .wf-form .bo_v_option li.chk_box input.selec_chk:checked + label span{ background:#21493d !important; border-color:#21493d !important; }
#bo_w .wf-form .bo_v_option li.chk_box input.selec_chk:checked + label span::after{ content:''; position:absolute; left:5px; top:1px; width:5px; height:9px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }

/* btn_more_opt 드롭다운 버튼 사이즈 축소 */
#bo_list .more_opt li > a, #bo_list .more_opt li > button,
#bo_v .more_opt li > a, #bo_v .more_opt li > button{
  height:auto !important; min-height:0 !important; line-height:1.3 !important;
  padding:8px 14px !important; font-size:13px !important; min-width:0 !important;
  display:flex !important; align-items:center; gap:6px; width:100%; box-sizing:border-box;
}
.more_opt{ min-width:130px !important; }

/* btn_more_opt 드롭다운 버튼: 배경색 제거(모든 게시판) */
#bo_list .more_opt li > a, #bo_list .more_opt li > button,
#bo_v .more_opt li > a, #bo_v .more_opt li > button{ background:transparent !important; background-image:none !important; box-shadow:none !important; color:#444 !important; }
#bo_list .more_opt li > a:hover, #bo_list .more_opt li > button:hover,
#bo_v .more_opt li > a:hover, #bo_v .more_opt li > button:hover{ background:transparent !important; color:#21493d !important; }

/* 댓글 미사용: 메타의 댓글 카운트 숨김 */
#bo_v a[href="#bo_vc"]{ display:none !important; }
#bo_v .profile_info_ct strong:has(a[href="#bo_vc"]){ display:none !important; }

/* ===== 갤러리 목록: 여백 · 타이포 조정 ===== */
/* 카드 내부 패딩 제거 (썸네일이 카드 가장자리까지) */
#bo_gall #gall_ul .gall_con{ padding:0 !important; }

/* 텍스트 영역에 패딩 30px */
#bo_gall #gall_ul .gall_text_href{ padding:30px !important; margin:0 !important; }

/* 제목 : 20px, 다크그레이 */
#bo_gall #gall_ul .gall_text_href .bo_tit,
#bo_gall #gall_ul .gall_text_href a.bo_tit{
    font-size:20px !important; color:#333 !important; font-weight:700 !important; line-height:1.45 !important;
}
#bo_gall #gall_ul .gall_li:hover .bo_tit,
#bo_gall #gall_ul .gall_text_href a.bo_tit:hover{ color:#21493d !important; }

/* 내용 : 14px */
#bo_gall #gall_ul .bo_cnt{
    display:block; margin-top:10px;
    font-size:14px !important; font-weight:400 !important; color:#888 !important; line-height:1.6 !important;
}

/* 날짜 : 14px + 제목과 좌우 정렬 맞춤 */
#bo_gall #gall_ul .gall_info{ padding:0 30px 26px !important; margin:0 !important; }
#bo_gall #gall_ul .gall_info .gall_date,
#bo_gall #gall_ul .gall_date{ font-size:14px !important; color:#999 !important; }
#bo_gall #gall_ul .gall_info .gall_date{ margin-left:0 !important; }

/* =========================================================
   갤러리 반응형
   ========================================================= */
@media (max-width: 1024px) {
}

@media (max-width: 768px) {
    #bo_gall #gall_ul .gall_text_href { padding: 20px !important; }
    #bo_gall #gall_ul .gall_info { padding: 0 20px 20px !important; }
    #bo_gall #gall_ul .gall_text_href .bo_tit,
    #bo_gall #gall_ul .gall_text_href a.bo_tit { font-size: 17px !important; line-height: 1.45 !important; }
    #bo_gall #gall_ul .bo_cnt { font-size: 13px !important; margin-top: 8px; }
    #bo_gall #gall_ul .gall_info .gall_date,
    #bo_gall #gall_ul .gall_date { font-size: 13px !important; }

    /* 뷰 */
    #bo_v_title { font-size: 21px !important; line-height: 1.4; }
    #bo_v_info { font-size: 13px !important; }
    #bo_v_con { font-size: 15px !important; line-height: 1.8; }
    #bo_v_con img { max-width: 100% !important; height: auto !important; }
    .bo_v_nb { flex-direction: column; }
    .bo_v_nb .btn_prv, .bo_v_nb .btn_next { width: 100%; }

    /* 글쓰기 */
    #bo_w .wf-row { display: block !important; }
    #bo_w .wf-label { width: auto !important; margin-bottom: 8px; padding: 0 !important; }
    #bo_w .wf-field { width: auto !important; }

    .pg_page, .pg_current, .pg_start, .pg_end, .pg_prev, .pg_next {
        min-width: 34px; height: 34px; font-size: 14px;
    }
}

@media (max-width: 560px) {
    /* 한 줄 1개 */
}

@media (max-width: 480px) {
    #bo_btn_top { flex-wrap: wrap; gap: 10px; }
    #bo_gall .btn_bo_user, .btn_bo_user { flex-wrap: wrap; justify-content: flex-start; }
    #bo_gall .btn_bo_user a, .btn_bo_user a {
        height: 40px !important; padding: 0 14px !important; font-size: 14px !important;
    }
    .btn_bo_user button.btn { width: 40px !important; height: 40px !important; }

    #bo_gall #gall_ul .gall_text_href { padding: 16px !important; }
    #bo_gall #gall_ul .gall_info { padding: 0 16px 16px !important; }
    #bo_gall #gall_ul .gall_text_href .bo_tit,
    #bo_gall #gall_ul .gall_text_href a.bo_tit { font-size: 16px !important; }
    #bo_v_title { font-size: 19px !important; }
}

@media (max-width: 360px) {
    #bo_gall #gall_ul .gall_text_href .bo_tit,
    #bo_gall #gall_ul .gall_text_href a.bo_tit { font-size: 15px !important; }
    #bo_v_title { font-size: 18px !important; }
    #bo_v_con { font-size: 14px !important; }
}

/* [수정] 툴바 버튼 높이 통일 (공지 게시판과 동일) */
#bo_gall .btn_bo_user > li > a,
#bo_gall .btn_bo_user > li > button,
#bo_v .btn_bo_user > li > a,
#bo_v .btn_bo_user > li > button {
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    font-size: 15px !important;
}
#bo_gall .btn_bo_user > li > button.btn,
#bo_v .btn_bo_user > li > button.btn { width: 46px !important; padding: 0 !important; }

@media (max-width: 480px) {
    #bo_gall .btn_bo_user > li > a,
    #bo_gall .btn_bo_user > li > button,
    #bo_v .btn_bo_user > li > a,
    #bo_v .btn_bo_user > li > button {
        height: 40px !important; min-height: 40px !important;
        padding: 0 14px !important; font-size: 14px !important;
    }
    #bo_gall .btn_bo_user > li > button.btn,
    #bo_v .btn_bo_user > li > button.btn { width: 40px !important; padding: 0 !important; }
}

/* [수정] 썸네일: 고정 200px → 카드 폭에 맞춘 4:3 비율 (모든 해상도 자연스럽게) */
#bo_gall #gall_ul .gall_img {
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 4 / 3;
}
#bo_gall #gall_ul .gall_img a,
#bo_gall #gall_ul .gall_img img {
    height: 100% !important;
}

/* =========================================================
   [수정] 뷰 헤더 여백 최소화 (제목~본문 사이 군더더기 제거)
   ========================================================= */
#bo_v #bo_v_info { margin-top: 14px !important; }
#bo_v .profile_info .profile_info_ct { padding-top: 12px !important; padding-bottom: 12px !important; }
#bo_v #bo_v_top { margin: 12px 0 0 !important; }
#bo_v #bo_v_atc { margin-top: 16px !important; }
#bo_v #bo_v_con { padding-top: 24px !important; padding-bottom: 30px !important; margin-top: 6px !important; }

@media (max-width: 768px) {
    #bo_v #bo_v_info { margin-top: 10px !important; }
    #bo_v .profile_info .profile_info_ct { padding-top: 10px !important; padding-bottom: 10px !important; }
    #bo_v #bo_v_top { margin: 10px 0 0 !important; }
    #bo_v #bo_v_con { padding-top: 18px !important; padding-bottom: 22px !important; }
}


/* [수정] 스크랩/공유 영역 여백 최소화 (버튼 1개에 128px 낭비 → 축소) */
#bo_v #bo_v_share { margin: 12px 0 !important; padding: 0 !important; }
@media (max-width: 768px) {
    #bo_v #bo_v_share { margin: 10px 0 !important; }
}


/* [수정] 768px 이하 세로 배치에서 목록 버튼이 16px로 무너지는 문제 */
@media (max-width: 768px) {
    .bo_v_nb { gap: 10px; }
    .bo_v_nb .btn_list { width: 100% !important; flex: 0 0 auto !important; }
    .bo_v_nb .btn_list a {
        width: 100% !important;
        min-width: 0 !important;
        height: 50px !important;
        box-sizing: border-box !important;
    }
    .bo_v_nb .btn_prv, .bo_v_nb .btn_next { width: 100% !important; }
}

