@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: #3f4296; color: #fff}
#bo_cate #bo_cate_on { z-index: 2; background: #3f4296; color: #fff; font-weight: bold; border: 1px solid #3f4296; -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% #3f4296; 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,.latest_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: #3f4296; 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: #3f4296; 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: #3f4296; 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: #008f4d}
#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: #2fca83; color: #2fca83; }
#bo_v_file li:hover i { color: #008f4d}
#bo_v_file li:hover .bo_v_file_cnt { color: #2fca83; }
#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: #3f4296}
#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: #3f4296}
#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; font-size: 18px; color: #222; font-weight: 300; }
#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: #3f4296}
.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: #3f4296; 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: #3f4296}
.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}
/* =========================================================
   CASE BOARD (Gallery Style)
========================================================= */

.case_sec { width: 100%; }
.case_in { width: 100%; max-width: 1400px; margin: 0 auto; }
/* =======================
   TOP: CATEGORY TABS
======================= */
.case_top { margin-bottom: 20px; }
.case_tabs_ul { display: flex; gap: 28px; align-items: center; list-style: none; padding: 0; margin: 0; }
.case_tabs_ul li a { font-size: 15px; font-weight: 600; color: #222; padding-bottom: 6px; position: relative; text-decoration: none; }
.case_tabs_ul li a:hover { color: #3f4296; }
.case_tabs_ul #bo_cate_on { color: #3f4296; font-weight: 700; }
.case_tabs_ul #bo_cate_on::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 100%; height: 2px; background: #3f4296; }
/* =======================
   META: TOTAL + SEARCH
======================= */
.case_meta { display: flex; justify-content: space-between; align-items: center; margin: 30px 0 40px; }
.case_total { font-size: 15px; color: #666; }
.case_total b { color: #3f4296; font-weight: 700; }
/* SEARCH */
.case_search { position: relative; width: 260px; }
.case_search input { width: 100%; height: 40px; border-radius: 999px; border: none; background: #f1f1f1; padding: 0 44px 0 18px; font-size: 14px; outline: none; }
.case_search_btn { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; color: #777; }
/* =======================
   GRID
======================= */
.case_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 10px; }
.case_card { display: block; text-decoration: none; color: inherit; }
/* THUMB */
.case_thumb { width: 100%; aspect-ratio: 16 / 9; background: #eee; border-radius: 14px; overflow: hidden; }
.case_thumb img { width: 100%; height: 100%; object-fit: cover; }
/* BODY */
.case_body { margin-top: 14px; }
.case_tag { font-size: 13px; color: #3f4296; margin-bottom: 6px; font-weight: 600; }
.case_title { font-size: 16px; font-weight: 700; line-height: 1.45; color: #111; margin-bottom: 8px; }
.case_date { font-size: 13px; color: #999; }
.case_card:hover .case_title { text-decoration: underline; }
.case_empty { grid-column: 1 / -1; text-align: center; padding: 120px 0; font-size: 15px; color: #999; }
.case_paging_wrap { margin: 80px 0 0; text-align: center; }
.case_paging_wrap .pg { display: inline-flex; gap: 10px; }
.case_paging_wrap .pg a, .case_paging_wrap .pg strong { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; font-size: 14px; }
.case_paging_wrap .pg strong { background: #3f4296; color: #fff; }
.board_wrap { padding-bottom: 100px; }
@media (max-width:1200px) {
  .case_grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width:900px) {
  .case_grid { grid-template-columns: repeat(2, 1fr); }
  .case_meta { flex-direction: column; align-items: flex-start; gap: 20px; }
  .case_search { width: 100%; }
}
@media (max-width:520px) {
  .case_grid { grid-template-columns: 1fr; }
  .case_tabs_ul { gap: 18px; overflow-x: auto; white-space: nowrap; }
}
.case_chk { position: absolute; top: 12px; left: 12px; z-index: 20; }
.case_chk input[type="checkbox"] { position: absolute; opacity: 0; pointer-events: auto; }
.case_chk label { display: inline-flex; align-items: center; cursor: pointer; pointer-events: auto; }
.case_chk label span { width: 18px; height: 18px; border: 1px solid #ccc; background: #fff; display: inline-block; pointer-events: none; }
.case_chk input:checked + label span { background: #111; border-color: #111; }
.case_card { position: relative; }
.case_chk { position: absolute; top: 12px; left: 12px; z-index: 50; }
.case_chk .selec_chk { position: absolute !important; top: 0 !important; left: 0 !important; width: 18px !important; height: 18px !important; opacity: 0 !important; z-index: 2 !important; /* -1 해제 */
  pointer-events: auto !important; overflow: visible !important; }
.case_chk label { position: relative; display: inline-flex; align-items: center; padding-left: 0 !important; margin: 0 !important; cursor: pointer; z-index: 1; }
.case_chk label span { position: static !important; width: 18px; height: 18px; border: 1px solid #ccc; border-radius: 3px; background: #fff; display: inline-block; pointer-events: none; }
.case_chk .selec_chk:checked + label span { background: #111; border-color: #111; }
.case_item { position: relative; }
.case_card { display: block; text-decoration: none; color: inherit; }
.case_chk { position: absolute; top: 12px; left: 12px; z-index: 50; }
.case_chk .selec_chk { position: absolute !important; top: 0 !important; left: 0 !important; width: 18px !important; height: 18px !important; opacity: 0 !important; z-index: 2 !important; /* was -1 in default skin */
  pointer-events: auto !important; overflow: visible !important; }
.case_chk label { display: inline-flex; align-items: center; padding-left: 0 !important; margin: 0 !important; cursor: pointer; }
.case_chk label span { position: static !important; width: 18px; height: 18px; border: 1px solid #ccc; border-radius: 3px; background: #fff; display: inline-block; pointer-events: none; }
.case_chk .selec_chk:checked + label span { background: #111; border-color: #111; }
.allchk_wrap { padding: 0 0 30px 0; }
.allchk_wrap .sound_only2 { font-size: 16px; color: #777; margin-left: 10px; }
.allchk_wrap .chkall_in { display: flex; gap: 8px; }
.allchk_wrap .chkall_in span { top: 2px!important; }

/* 구축정보/제품사양 동적 테이블 */
.table_dynamic { width: 100%; border-collapse: collapse; margin-top: 10px; border: 1px solid #ddd; }
.table_dynamic th { background: #f8f9fa; padding: 10px; border: 1px solid #ddd; font-weight: bold; text-align: center; }
.table_dynamic td { padding: 5px; border: 1px solid #ddd; vertical-align: middle; }
.table_dynamic .td_mng { text-align: center; }
.btn_add_row { margin-top: 5px; text-align: right; }
.lb_tit { font-weight: bold; display: block; margin-bottom: 5px; font-size: 1.1em; color: #333; }

/* 레퍼런스 상세 보기 (sub_04_03.php 기반) */
.reference_view { width: 100%; max-width: 1200px; margin: 0 auto; padding: 50px 0; font-family: 'Noto Sans KR', sans-serif; }
.reference_view_sec { margin-bottom: 40px; }
.txt_center { text-align: center; }
.sec_txt3 { font-size: 20px; color: #3f4296; }
.sec_tit7 { font-size: 36px; color: #000; margin-top: 10px; }
.sec_txt2 { font-size: 18px; color: #666; margin-top: 15px; line-height: 1.6; }
.bold700 { font-weight: 700; }
.ssgap { height: 10px; }
.bgap { height: 40px; }

.gallery-section { margin-bottom: 60px; }
.gallery-container { display: flex; flex-direction: column; gap: 20px; }
.gallery-main { width: 100%; aspect-ratio: 16 / 9; border-radius: 20px; overflow: hidden; background: #eee; position: relative; }
.gallery-main img { width: 100%; height: 100%; object-fit: cover; transition: opacity 0.2s; }
.gallery-main.change img { opacity: 0.5; }
.gallery-thumbs { display: flex; gap: 10px; list-style: none; padding: 0; margin: 0; overflow-x: auto; }
.gallery-thumbs li { width: 120px; height: 80px; border-radius: 10px; overflow: hidden; cursor: pointer; border: 2px solid transparent; flex-shrink: 0; }
.gallery-thumbs li.active { border-color: #3f4296; }
.gallery-thumbs li img { width: 100%; height: 100%; object-fit: cover; }

.board_nav_wrap { border-top: 1px solid #eee; border-bottom: 1px solid #eee; margin: 50px 0; }
.board_nav { display: flex; }
.nav_box { flex: 1; padding: 25px 30px; text-decoration: none; color: inherit; display: flex; flex-direction: column; gap: 8px; transition: background 0.2s; }
.nav_box:hover { background: #f8f9fa; }
.nav_box.next { text-align: right; border-left: 1px solid #eee; }
.nav_label { font-size: 14px; color: #999; }
.nav_title { font-size: 16px; font-weight: 600; color: #222; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.reference_btns { display: flex; justify-content: center; gap: 15px; margin-top: 50px; flex-wrap: wrap; }
.btn_product { background: #3f4296; color: #fff; padding: 15px 40px; border-radius: 30px; font-weight: 600; text-decoration: none; }
.btn_call { background: #fff; color: #333; border: 1px solid #ddd; padding: 15px 40px; border-radius: 30px; font-weight: 600; text-decoration: none; transition: all 0.2s; }
.btn_call:hover { background: #f8f9fa; border-color: #bbb; }

@media (max-width: 768px) {
    .info-table li { flex-direction: column; }
    .info-item { border-right: none; border-bottom: 1px solid #eee; }
    .info-item:last-child { border-bottom: none; }
    .nav_box { padding: 20px; }
    .nav_title { font-size: 14px; }
}