@charset "utf-8";

/* ### 기본 스타일 커스터마이징 시작 ### */

/* 게시판 버튼 */
/* 목록 버튼 */
#bo_list .btn_b01 {width:100%;background:none;font-size:1.8rem;color:#999;}
#bo_list .btn_b01:focus, #bo_list .btn_b01:hover {color:#555;}
#bo_list a.btn_b02 {}
#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {}
#bo_list a.btn_admin {background:none;border:0;font-size:1.8rem;color:#999;padding:0;} /* 관리자 전용 버튼 */
#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {color:#555;}

/* 읽기 버튼 */
#bo_v a.btn_b01 {background:none;font-size:1.8rem;color:#999;}
#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {color:#555;}
#bo_v a.btn_b02 {}
#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {}
#bo_v a.btn_admin {background:none;border:0;font-size:1.8rem;color:#999;padding:0;} /* 관리자 전용 버튼 */
#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {color:#555;}

/* 쓰기 버튼 */
#bo_w .btn_confirm {} /* 서식단계 진행 */
#bo_w .btn_submit {padding:0 20px;font-size:1.167em}
#bo_w button.btn_submit {}
#bo_w fieldset .btn_submit {}
#bo_w .btn_cancel {font-size:1.167em;border-radius:3px}
#bo_w button.btn_cancel {}
#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {}
#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */
#bo_w button.btn_frmline {}

/* 기본 테이블 */
/* 목록 테이블 */
#bo_list .tbl_head01 {font-size:1.5rem;}
#bo_list .tbl_head01 caption {}
#bo_list .tbl_head01 thead th {padding:2.5rem 2rem;font-size:1.7rem;font-weight:500;color:#333;white-space:nowrap;}
#bo_list .tbl_head01 thead a {font-size:1.7rem;font-weight:500;color:#333;}
#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
#bo_list .tbl_head01 tfoot th {}
#bo_list .tbl_head01 tfoot td {}
#bo_list .tbl_head01 tbody th {}
#bo_list .tbl_head01 td {}
#bo_list .tbl_head01 a {text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}
#bo_list td.empty_table {width:100%;font-size:1.9rem;color:#666;text-align:center;padding:5rem 0;}
#bo_list td.empty_table::before {display:block;content:'!';width:7rem;height:7rem;line-height:7rem;background:#e9e9e9;border-radius:3.5rem;margin:0 auto 1.5rem;font-size:4rem;font-weight:700;color:#fff;}
#bo_list tbody .even td {}
#bo_list tbody td {padding:2rem;font-size:1.6rem;font-weight:400;color:#333;}

/* 읽기 내 테이블 */
#bo_v .tbl_head01 {}
#bo_v .tbl_head01 caption {}
#bo_v .tbl_head01 thead th {}
#bo_v .tbl_head01 thead a {}
#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
#bo_v .tbl_head01 tfoot th {}
#bo_v .tbl_head01 tfoot td {}
#bo_v .tbl_head01 tbody th {}
#bo_v .tbl_head01 td {}
#bo_v .tbl_head01 a {}
#bo_v td.empty_table {}

/* 쓰기 테이블 */
#bo_w table {}
#bo_w caption {}
#bo_w .frm_info {}
#bo_w .frm_address {}
#bo_w .frm_file {min-width:auto;background:None;border:0;border-radius:0;padding:0;}

#bo_w .tbl_frm01 {}
#bo_w .tbl_frm01 th {}
#bo_w .tbl_frm01 td {}
#bo_w .tbl_frm01 textarea, #bo_w .tbl_frm01 .frm_input {}
#bo_w .tbl_frm01 textarea {}
#bo_w .tbl_frm01 a {}

/* 필수입력 */
#bo_w .required, #bo_w textarea.required {}

#bo_w .cke_sc {}
#bo_w button.btn_cke_sc {}
#bo_w .cke_sc_def {}
#bo_w .cke_sc_def dl {}
#bo_w .cke_sc_def dl:after {}
#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {}
#bo_w .cke_sc_def dt {}
#bo_w .cke_sc_def dd {}

/* ### 기본 스타일 커스터마이징 끝 ### */

/* 게시판 목록 */
.bo_sub_title {font-size:1.8rem;font-weight:400;color:#857f7c;margin:2.5rem 0 7rem;}
.category-wrap {display:flex;justify-content:space-between;align-items:center;gap:3rem;width:calc(100% + 8rem);margin:0 -4rem;border-bottom:1px solid rgba(0,0,0,0.1);padding:0 4.25rem;}
#bo_cate h2 {display:none;}
#bo_py {display:flex;align-items:center;gap:2rem;}
#bo_py h2 {font-size:1.8rem;font-weight:300;color:#999;}
#bo_py h2::after {content:'';display:inline-block;width:1px;height:1.4rem;background:rgba(0,0,0,0.1);vertical-align:middle;margin-left:2rem;}
#bo_cate_ul, #bo_py_ul {display:flex;align-items:center;gap:3rem;}
#bo_cate_ul a, #bo_py_ul a {display:inline-block;padding:2.25rem 0;font-size:1.8rem;font-weight:300;color:#443E35;opacity:0.5;transition:all .3s ease;}
#bo_cate_ul a:hover, #bo_py_ul a:hover {opacity:0.9;}
#bo_cate_ul a#bo_cate_on, #bo_py_ul a#bo_py_on {border-bottom:2px solid #443E35;font-weight:500;color:#443E35;opacity:1;}
.td_subject img {margin-left:3px}
.qnaIco{display:inline-block;margin-right:5px; border-radius:3px; background:#999; width:80px; height:24px; line-height:24px; color:#fff; font-size:12px; text-align:center;}
.qnaIco1{background:#4158d1}
.qnaIco2{background:#993399}
.qnaIco3{background:#cccccc}

.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;z-index:100;padding-left:2.5rem;font-size:1.6rem;font-weight:400;color:#777;}
.chk_box input[type="checkbox"] + label:hover{color:#333}
.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}
.chk_box input[type="checkbox"]:checked + label {color:#333}
.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:50%;transform:translateY(-50%);left:0}
.pg_wrap {width:100%;display:flex;justify-content:center;margin-top:2rem;}


/* 갤러리 목록 */
#bo_list #gall_ul {display:grid;grid-template-columns:repeat(2, 1fr);gap:3.5rem;}
#bo_list .gall_li {position:relative;width:100%;aspect-ratio:1/0.6;}
#bo_list .gall_li a {display:block;width:100%;height:100%;}
#bo_list .gall_li a img {display:block;width:100%;height:100%;object-fit:cover;user-select:none;}
#bo_list .gall_li .gall_chk {position:absolute;top:0;left:0;padding:5px}
#bo_list .gall_li .gall-info {position:absolute;inset:0;display:flex;justify-content:center;align-items:center;gap:2rem;flex-direction:column;width:100%;padding:1rem;background:rgba(0,0,0,0.4);font-size:2rem;font-weight:300;color:#fff;opacity:1;visibility:visible;transition:all .4s ease;}
#bo_list .gall_li .gall-info .title {font-size:1.2em;font-weight:500;}
#bo_list .gall_li:hover .gall-info {opacity:0;visibility:hidden;}

.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;-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_list .profile_img img {border-radius:50%}
#bo_list .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_list .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_list .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_list .bo_tit .new_icon {display:inline-block;width:2rem;line-height:2rem;background:#908175;border-radius:1rem;margin-left:0.5rem;font-size:1.2rem;font-weight:400;color:#fff;text-align:center;}
#bo_list .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_list .bo_tit .fa-lock {display:inline-block;line-height:16px;color:#999;text-align:center;vertical-align:middle}


/* 게시판 검색 */
.bo_sch {max-width:30rem;width:100%;}
.bo_sch select {display:none;width:25%;height:100%;background:#fff;padding:0 2rem;border:0;border-radius:3rem;margin-right:1rem;font-size:1.6rem;color:#333;}
.bo_sch .sch_bar {position:relative;width:100%;}
.bo_sch .sch_input {width:100%;padding:2.25rem 0;background:none;border:0;font-family:'Pretendard', sans-serif;font-size:1.6rem;font-weight:400;color:#333;border-bottom:2px transparent;transition:border 0.3s ease;}
.bo_sch .sch_input:focus, .bo_sch .sch_input:active {border:0 !important;outline:none;box-shadow:none;border-bottom:2px solid #443E35 !important;box-sizing:border-box;}
.bo_sch .sch_input::placeholder {color:#999;}
.bo_sch .sch_btn {position:absolute;top:50%;right:0;transform:translateY(-50%);background:none;border:0;font-size:2rem;color:#999;transition:all .3s ease;}
.bo_sch .sch_btn:hover {color:#333;}


/* 게시판 목록 공통 */
#bo_btn_top {position:relative;z-index:10;display:flex;justify-content:space-between;align-items:center;margin:2rem 0;}
.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 {font-size:1.8rem;color:#333}
#bo_list_total .total_num {display:inline-block;margin:0 0.15rem;font-size:2rem;font-weight:700;color:#f80}


.btn_bo_user {display:flex;align-items:center;gap:1rem;margin:0;padding:0;list-style:none}
.btn_bo_user > li {position:relative;width:4rem;aspect-ratio:1/1;text-align:center;background:#fff}
.btn_bo_user > li > a, .btn_bo_user > li > button {display:block;width:100%;height:100%;line-height:4rem;text-align:center;}

.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:100px;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:#f4f3f3;color:#443E35;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_list li.empty_list {grid-column: 1 / span 2;font-size:1.9rem;color:#666;width:100%;padding:5rem 0 !important;}
#bo_list li.empty_list::before {display:block;content:'!';width:7rem;height:7rem;line-height:7rem;background:#e9e9e9;border-radius:3.5rem;margin:0 auto 1.5rem;font-size:4rem;font-weight:700;color:#fff;}


/* 게시판 쓰기 */
#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:7rem;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}


/* 게시판 읽기 */
/* #sub_navi {display:none;} */
#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff}

/* align-items: stretch면 .bo_v_right 높이가 왼쪽 이미지 열과 같아져 sticky 박스가 과도하게 커지고 "안 붙는" 것처럼 보임 */
#bo_v {display:flex;flex-wrap:wrap;gap:6rem;row-gap:2rem;width:100%;align-items:flex-start;margin-top:-6rem;}
#bo_v_top {position:relative;z-index:20;zoom:1;width:100%;}
#bo_v #bo_v_top {display:flex;justify-content:flex-end;}
.bo_v_left {width:50%;}
.bo_v_right {position:sticky;top:15rem;z-index:2;width:calc(50% - 6rem);flex:1;display:flex;flex-direction:column;min-height:0;}
.bo_v_left.bo_v_img_wrap {display:flex;flex-wrap:wrap;gap:3rem;}
.bo_v_img_wrap a {display:block;width:100%;}
.bo_v_img_wrap a img {display:block;width:100%;user-select:none;}
.bo_v_img_wrap .bo_v_media--video {width:100%;}
.bo_v_img_wrap .bo_v_att_video {display:block;width:100%;height:auto;}
.bo_v_info {}
.bo_v_info .bo_v_tit {font-size:2.6rem;font-weight:600;color:#443E35;margin-bottom:3rem;}
.bo_v_info .bo_v_info_list {margin-bottom:10rem;}
.bo_v_info .bo_v_info_list li {display:flex;gap:1rem;font-size:1.8rem;}
.bo_v_info .bo_v_info_list li:not(:last-child) {margin-bottom:1rem;}
.bo_v_info .bo_v_info_list li h3 {min-width:4rem;color:#8E8A87;}
.bo_v_info .bo_v_info_list li p {color:#797673;}
.bo_v_info .bo_v_edit {display:flex;align-items:center;gap:1rem;list-style:none;margin-bottom:2rem;}
.bo_v_right .btn-wrap {display:flex;justify-content:center;border-top:1px solid rgba(0,0,0,0.1);padding-top:2.5rem;}
.bo_v_info .bo_v_edit {margin-top:6rem;}
.bo_v_info .bo_v_edit a, .bo_v_right .btn-wrap .btn_back {display:inline-flex;align-items:center;gap:1rem;padding:1rem 3rem;border:1px solid #BFBBB8;font-family:'Alumni','Pretendard Variable',sans-serif;font-size:1.7rem;font-weight:400;color:#908175;transition:all .3s ease;}
.bo_v_info .bo_v_edit a:hover, .bo_v_right .btn-wrap .btn_back:hover {background:#908175;border-color:#908175;color:#fff;}
.bo_v_info .bo_v_edit a {font-size:1.6rem;}
.bo_v_right .btn-wrap .btn_back {position:relative;overflow:hidden;}
.bo_v_right .btn-wrap .btn_back::before {content:'';display:inline-block;width:1.8rem;aspect-ratio:1/1;background:url('./img/icon_list.svg') center center/contain no-repeat;}
.bo_v_right .btn-wrap .btn_back::after {content:'';position:absolute;top:0;left:-75%;z-index:2;display:block;content:'';width:50%;height:100%;background:linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .2) 100%);transform:skewX(-30deg);}
.bo_v_right .btn-wrap .btn_back:hover::before {background-image:url('./img/icon_list_w.svg')}
.bo_v_right .btn-wrap .btn_back:hover::after {animation:shine .75s;}
.bo_v_right .btn-wrap .btn_back.btn_agree::before {display:none;}
@keyframes shine {
	100% { left: 125%; }
}


#bo_v_img a.view_image {display:block;max-width:70%;width:100%;margin:0 auto;}


/*글쓰기*/
#bo_w .bo_w_title {margin-bottom:4rem;font:500 5.2rem/1 'Hallym';color:#222;}

#bo_w .bo_v_option {display:flex;}
#bo_w .bo_v_option li:not(:first-child) {margin-left:2rem;}
#bo_w .bo_v_option li.chk_box {height:6rem;line-height:6rem;}
#bo_w .bo_v_option li.chk_box input[type=checkbox] {display:none;}
#bo_w .bo_v_option li.chk_box input[type=checkbox] + label {display:inline-block;padding:0;font-size:1.5rem;font-weight:400;color:#777;transition:all .3s ease;cursor:pointer;}
#bo_w .bo_v_option li.chk_box input[type=checkbox] + label:hover {color:#333;}
#bo_w .bo_v_option li.chk_box input[type=checkbox] + label::before {display:inline-block;content:'';vertical-align:middle;width:2rem;height:2rem;background:#fff;border:1px solid #ddd;border-radius:0.4rem;margin-right:1rem;transition:all .3s ease;}
#bo_w .bo_v_option li.chk_box input[type=checkbox] + label:hover::before {border-color:#999;}
#bo_w .bo_v_option li.chk_box input[type=checkbox]:checked + label {color:#333;}
#bo_w .bo_v_option li.chk_box input[type=checkbox]:checked + label::before {background:#f80 url('./img/checked.svg') center center/85% no-repeat;border-color:#f80;transition:all .3s ease}
#bo_w .bo_v_option li.chk_box input[type=checkbox]:checked + label:hover::before {background:rgb(255, 115, 0) url('./img/checked.svg') center center/85% no-repeat;border-color:#0094a1;}
#bo_w .bo_v_option li.chk_box input[type=checkbox] + label span {display:none;}

#bo_w form {display:flex;flex-direction:column;gap:6rem;}
#bo_w .write_div {position:relative;display:inline-flex;flex-direction:column;width:100%;}
#bo_w .write_div[hidden] {display: none !important;}
#bo_w .write_div.full_div {grid-column:span 2;}
#bo_w .write_div .left {min-width:17rem;}
#bo_w .write_div .wr_tit {font-size:1.6rem;font-weight:500;color:#443e35;margin-bottom:0.75rem;}
#bo_w .write_div .required2::after {display:inline-block;content:'*';margin-left:0.5rem;font-weight:500;color:#f80;}
#bo_w .write_div .right {width:100%;}
#bo_w .write_div .wr_subject {font-size:1.7rem;font-weight:700;color:#222;margin:1.5rem 0 0.5rem;}
#bo_w .write_div .frm_input {position:relative;width:100%;height:4.5rem;line-height:4.5rem;padding:0 1.25rem;margin:0.5rem 0;border:0;border-radius:0;border:1px solid #ddd;box-shadow:none;font-size:1.5rem;font-weight:400;color:#222;}
#bo_w .write_div .frm_input:focus, #bo_w .write_div .frm_input:active {outline:none;box-sizing:border-box;border:1px solid #908175 !important;box-shadow:0 0 0 4px rgba(0,0,0,0.05);}
#bo_w .write_div .frm_input::placeholder {color:#b0b0b0;}
#bo_w .write_div textarea {min-height:10rem;padding:1.1rem 1.25rem !important;overflow-y:auto;}
#bo_w .write_div select {max-width:50rem;width:100%;padding:1.5rem;padding-right:4.5rem;background:url('./img/angle_down.svg') calc(100% - 1.5rem) center/1.6rem no-repeat;appearance:none;}
#bo_w .write_div .bf_file {margin:1rem 0;}
#bo_w .write_div .wr_tip {display:block;font-size:1.5rem;font-weight:400;color:#777;margin:0.5rem 0;}
#bo_w .write_div .wr_tip strong {font-size:1.2em;font-weight:700;color:#333;}
#bo_w #btn_autosave {position:absolute;top:50%;right:1.5rem;transform:translateY(-50%);width:auto;height:4rem;background:none;padding:0 1.5rem;border:1px solid #777;border-radius:2rem;font-size:1.4rem;font-weight:400;color:#777;letter-spacing:-0.06em;}

#bo_w .bo_tags_wr {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;}
#bo_w .bo_tags_wr input {width:33% !important;}
#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_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_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 .file_del {position:absolute;top:50%;right:1.25rem;transform:translateY(-50%);font-size:1.4rem;font-weight:400;color:#777;letter-spacing:-0.06em;}
#bo_w .bo_w_file .file_del label {cursor:pointer;}
#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px}

#bo_w .btn_confirm {display:flex;justify-content:flex-end;align-items:center;flex-direction:row;gap:2rem;}
#bo_w .btn_confirm .btn {width:18rem;height:6rem;line-height:6rem;background:none;border:1px solid #b0b0b0;border-radius:0;font-size:1.7rem;font-weight:500;color:#908175;text-align:center;transition:all .3s ease;}
#bo_w .btn_confirm .btn_cancel:hover {border-color:#908175;color:#655a52;}
#bo_w .btn_confirm .btn_submit {background:#908175;border-color:#908175;color:#fff;}
#bo_w .btn_confirm .btn_submit:hover {background:#655a52;border-color:#655a52;}


@media screen and (max-width: 1180px) {
}
@media screen and (max-width: 960px) {
    #bo_list .gall_li {width:calc((100% - 2.5rem) / 2) !important;margin-right:2.5rem;}
    #bo_list .gall_li:nth-child(2n) {margin-right:0;}
    #bo_list .gall_li:nth-child(3n):not(:nth-child(2n)) {margin-right:2.5rem;}
}
	 
@media screen and (max-width: 640px) {
	#bo_list .view {display:none}
	#bo_list .td_no {display:none}
	#bo_list .td_num {display:none}
	#bo_list .td_num2 {display:none}
	#bo_list .td_name {display:none}
	#bo_list .wirte_by {display:none}
	#bo_list .file {display:none;}
	#bo_list .td_file {display:none;}
	#bo_list .td_subject {max-width:30rem;padding-right:0;}
#bo_vc article .pf_img {margin-bottom:1rem;}

#bo_w .bo_w_title {font-size:3.2rem;margin-bottom:3rem;}
#bo_w .write_div {flex-wrap:wrap;}
#bo_w .write_div .left, #bo_w .write_div .right {width:100%;}
#bo_w .write_div .frm_input {height:4.5rem;line-height:4.5rem;padding:0 1.5rem;}
#bo_w .write_div textarea {padding:1.25rem 1.5rem;}
#bo_w .write_div .wr_tit {height:auto;line-height:1;margin:1rem 0;}
#bo_w #btn_autosave {top:auto;right:0;transform:translateY(calc(-100% - 5px));height:3rem;}
#autosave_pop {top:0;}
#bo_w .cke_sc {position:absolute;right:0;transform:translateY(calc(-100% - 5px));}
#bo_w .btn_confirm {gap:1rem;}
#bo_w .btn_confirm .btn {width:49%;height:5rem;line-height:5rem;}
#bo_list .gall_text_href a {font-size:1.7rem;line-height:1.4;}

.bo_vc_w_wr #captcha {margin:0 auto;justify-content:center;row-gap:0.5rem;}
.bo_vc_w_wr #captcha #captcha_info {text-align:center;}
.bo_vc_w_wr #captcha.m_captcha audio {margin:0 auto;width:100%;}
.bo_vc_w_wr #captcha.m_captcha #captcha_img, .bo_vc_w_wr #captcha.m_captcha #captcha_key {width:calc((100% - 7rem) / 2);}
}

/* 무한스크롤 & 더보기 버튼 스타일 */
.pg_infinite {margin-top:4rem;text-align:center;}
.infinite-scroll-wrap {padding:2rem 0;}

/* 더보기 버튼 */
.btn-load-more {display:inline-flex;align-items:center;justify-content:center;gap:0.8rem;padding:1.5rem 4rem;background:#333;color:#fff;border:none;border-radius:0.5rem;font-size:1.6rem;font-weight:500;cursor:pointer;transition:all 0.3s ease;}
.btn-load-more:hover {background:#555;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.15);}
.btn-load-more:active {transform:translateY(0);}
.btn-load-more.loading {opacity:0.6;cursor:not-allowed;pointer-events:none;}
.btn-load-more .btn-count {font-size:1.4rem;opacity:0.8;}

/* 로딩 스피너 */
.infinite-loading {display:flex;align-items:center;justify-content:center;gap:1rem;padding:2rem 0;font-size:1.5rem;color:#666;}
.loading-spinner {display:inline-block;width:2rem;height:2rem;border:3px solid rgba(0,0,0,0.1);border-top-color:#333;border-radius:50%;animation:spin 0.8s linear infinite;}
@keyframes spin {to {transform:rotate(360deg);}}

/* 문의 전송 로딩 (#main 내부 fixed 오버레이) */
#main .contact-submit-loading {
    position:fixed;
    inset:0;
    z-index:10000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:2rem;
    background:rgba(255,255,255,0.5);
    -webkit-backdrop-filter:blur(2px);
    backdrop-filter:blur(2px);
}
#main .contact-submit-loading[hidden] {display:none !important;}
.contact-submit-loading__panel {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:1.2rem;
    max-width:32rem;
    text-align:center;
}
.contact-submit-loading__panel .loading-spinner {
    width:3.6rem;
    height:3.6rem;
    border-width:3px;
    border-top-color:#908175;
}
.contact-submit-loading__text {
    margin:0;
    font-size:1.8rem;
    font-weight:600;
    color:#2c2c2c;
    line-height:1.4;
	margin-top:1rem;
}
.contact-submit-loading__sub {
    margin:0;
    font-size:1.5rem;
    font-weight:400;
    color:#888;
    line-height:1.5;
}
html.is-contact-submitting {overflow:hidden;}

/* 종료 메시지 */
.infinite-scroll-end {padding:3rem 0;text-align:center;}
.infinite-scroll-end .end-text {display:inline-block;padding:1rem 2rem;background:#f5f5f5;color:#999;border-radius:0.5rem;font-size:1.5rem;}

/* 에러 메시지 */
.infinite-error {padding:2rem;text-align:center;color:#e74c3c;font-size:1.5rem;}

/* 새로 추가된 항목 애니메이션 */
@keyframes fadeInUp {
	from {opacity:0;transform:translateY(20px);}
	to {opacity:1;transform:translateY(0);}
}

/* 멀티파일 업로드 모듈 */
.file-upload-module {width:100%;margin-top:0.5rem;}

/* 드롭존 */
.file-drop-zone {position:relative;border:0.15rem dashed #d0d0d0;padding:0 2rem;text-align:center;transition:all 0.3s ease;cursor:pointer;min-height:11rem;display:flex;align-items:center;justify-content:center;}
.file-drop-zone:hover {border-color:#999;background:#fafafa;}
.file-drop-zone.drag-over {border-color:#333;background:#e8e8e8;border-style:solid;}
.file-drop-zone.disabled {opacity:0.5;cursor:not-allowed;pointer-events:none;}

.drop-zone-content {position:relative;z-index:0;pointer-events:none;}
.drop-zone-content i.fa {font-size:2.75rem;color:#999;}
.drop-text {font-size:1.5rem;font-weight:500;color:#333;margin:0.5rem 0;}
.drop-info {font-size:1.4rem;color:#777;margin:0;}

/* 드롭존 전역 클릭으로 파일 선택 — 1px 숨김+z-index:-1이면 안내 영역(pointer-events:none) 아래에 실질 타겟이 없어 다이얼로그가 안 뜸 */
.file-input-hidden {position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer;z-index:1;font-size:0;}

/* 파일 리스트 */
.file-list {list-style:none;padding:0;margin:0;display:flex;flex-direction:column;}

/* 파일 아이템 */
.file-item {display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:#fff;border:1px solid #e0e0e0;border-radius:0.8rem;transition:all 0.3s ease;position:relative;margin-top:1rem;}
.file-item:hover {border-color:#999;box-shadow:0 2px 8px rgba(0,0,0,0.08);}
.file-item.file-deleted {opacity:0.5;}
.file-item.sortable-ghost {opacity:0.4;background:#f0f0f0;}
.file-item.sortable-drag {opacity:0.8;box-shadow:0 4px 16px rgba(0,0,0,0.15);}

/* 드래그 핸들 */
.file-drag-handle {cursor:move;color:#999;font-size:1.8rem;padding:0 0.5rem;transition:color 0.2s;}
.file-drag-handle:hover {color:#333;}

/* 파일 미리보기 */
.file-preview {width:5rem;height:5rem;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:0.6rem;flex-shrink:0;overflow:hidden;position:relative;}
.file-preview i.fa {font-size:3rem;color:#999;}

.image-preview {width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:0;}
.image-preview img {width:100%;height:100%;object-fit:cover;display:block;}
.image-preview i.fa-spinner {font-size:2rem;color:#999;}

/* 파일 정보 */
.file-info {flex:1;min-width:0;display:flex;flex-direction:column;gap:0.5rem;}

.file-name {font-size:1.5rem;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.file-meta {display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.file-size {font-size:1.3rem;color:#666;}
.file-existing-badge {font-size:1.2rem;padding:0.3rem 0.8rem;background:#4CAF50;color:#fff;border-radius:0.4rem;font-weight:500;}

/* 파일 진행바 */
.file-progress {width:100%;height:0.4rem;background:#e0e0e0;border-radius:0.2rem;overflow:hidden;margin-top:0.5rem;}
.progress-bar {height:100%;background:#333;border-radius:0.2rem;transition:width 0.3s ease;}

/* 삭제 버튼 */
.file-remove {width:3.5rem;height:3.5rem;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e0e0e0;border-radius:50%;color:#999;font-size:1.6rem;cursor:pointer;transition:all 0.2s;flex-shrink:0;}
.file-remove:hover {background:#ff5252;color:#fff;border-color:#ff5252;transform:rotate(90deg);}

/* 반응형 */
@media (max-width:768px) {
	.file-drop-zone {padding:2rem 1.5rem;min-height:12rem;}
	.drop-zone-content i.fa {font-size:3rem;}
	
	.file-item {padding:1.2rem;gap:1rem;}
	.file-preview {width:5rem;height:5rem;}
	.file-preview i.fa {font-size:2.5rem;}
	.file-drag-handle {font-size:1.6rem;}
	.file-name {font-size:1.4rem;}
	.file-size {font-size:1.2rem;}
	.file-remove {width:3rem;height:3rem;font-size:1.4rem;}
}

/* ========== Contact 신청 폼 (write) — .write_div 구조 보조 스타일 ========== */
#contact_write #bo_w #fwrite { max-width: 100%; }
.write_div_group {width:100%;}
.write_div_group > ul {display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem;}
.write_div_group li.full_div {grid-column: span 2;}
.write_div_group_title {font-size:2rem;font-weight:600;color:#443e35;margin-bottom:2rem;}
.frm_info {font-size:1.5rem;font-weight:400;color:#666;margin-top:1rem;}

#contact_write #bo_w .contact-write-lead {
	font-size: 1.5rem;
	line-height: 1.65;
	color: #857f7c;
	margin: 0;
}

#contact_write #bo_w .wr_tit_sub {
	font-weight: 400;
	font-size: 0.85em;
	color: #888;
}

#contact_write #bo_w .contact-inline-radios {
	display: flex;
	flex-wrap: wrap;
	gap: 1.2rem 2.5rem;
	align-items: center;
	margin:1.5rem 0;
}

#contact_write #bo_w .contact-inline-radios--ref { gap: 2rem 4rem; }

#contact_write #bo_w .contact-radio {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	font-size: 1.7rem;
	color: #444;
	cursor: pointer;
}

#contact_write #bo_w .contact-radio {
	transition:all .2s ease;
}
#contact_write #bo_w .contact-radio input {
	width: 2rem;
	aspect-ratio:1/1;
	border-radius:50%;
	accent-color: #443e35;
	border: 1px solid #ddd;
	transition:all .2s ease;
}
#contact_write #bo_w .contact-radio:active {
	transform:scale(0.92);
}
#contact_write #bo_w .contact-radio input:checked {
	border: 5px solid #443e35;
}

#contact_write #bo_w .contact-form__tabs {
	display: inline-flex;
	border: 1px solid #ddd;
	overflow: hidden;
	margin-bottom: 1.2rem;
}

#contact_write #bo_w .contact-form__tab {
	padding: 1.1rem 2rem;
	font-size: 1.5rem;
	border: 0;
	cursor: pointer;
	color: #666;
	transition: background 0.2s, color 0.2s;
}

#contact_write #bo_w .contact-form__tab + .contact-form__tab { border-left: 1px solid #ddd; }

#contact_write #bo_w .contact-form__tab.is-on {
	background: #443e35;
	color: #fff;
}

/* 통화 가능시간 셀렉트 */
#contact_write #bo_w .contact-ct-select {
	width: auto;
	min-width: 16rem;
}

/* 공사 예산 라디오 */
#contact_write #bo_w .contact-budget-radios {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem 3rem;
	margin:1rem 0;
}
#contact_write #bo_w .contact-budget-custom-wrap {
	margin-top: 1rem;
}

/* 공간 크기 인풋 + 단위 */
#contact_write #bo_w .contact-area-tabs {
	margin-bottom: 0.8rem;
}
#contact_write #bo_w .input-wrap {
	display: flex;
	align-items: center;
	gap: 0.8rem;
}
#contact_write #bo_w .input-wrap .frm_input {
	flex: 1;
	max-width:calc(50% - 1.25rem);
	min-width: 0;
}
#contact_write #bo_w .contact-area-unit {
	flex-shrink: 0;
	font-size: 1.5rem;
	color: #555;
	white-space: nowrap;
}

#contact_write #bo_w .right.wr_content.contact-write-editor textarea.frm_input {
	min-height: 10rem;
	resize: vertical;
	line-height: 1.6;
}

#contact_write #bo_w .contact-agree-box {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

#contact_write #bo_w .contact-check {
	display: flex;
	align-items: flex-start;
	gap: 0.8rem;
	font-size: 1.7rem;
	color: #444;
	cursor: pointer;
}

#contact_write #bo_w .contact-check input {
	width: 2rem;
	aspect-ratio:1/1;
	border:1px solid #b8bfc4;
	background:url('./img/checked.svg') center center/1.6rem no-repeat;
	flex-shrink: 0;
}

#contact_write #bo_w .contact-check input:checked {
	background-color:#443e35;
	border-color:#443e35;
}

#contact_write #bo_w .link-underline {
	text-decoration: underline;
	font-size:0.9em;
	color: #908175;
	text-underline-offset: 4px;
	vertical-align: top;
	display:inline-block;margin-left:0.5rem;
	transition:all .3s ease;
}

#contact_write #bo_w .link-underline:hover {
	color:#443e35
}

/* ========== Contact 읽기 (view) ========== */
.bo_v--contact { align-items: flex-start; }

.contact-view-dl {
	margin: 2rem 0 0;
	padding: 0;
}

.contact-view-dl__row {
	display: grid;
	grid-template-columns: 20rem minmax(0, 1fr);
	gap: 0.8rem 2rem;
	padding: 1.5rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	font-size: 1.7rem;
}

.contact-view-dl__row dt {
	margin: 0;
	font-weight: 600;
	color: #666;
}

.contact-view-dl__row dd {
	margin: 0;
	color: #222;
	word-break: break-word;
}

.contact-view-dl__unit { font-size: 1.2rem; color: #999; }

.contact-view-files {
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid #eee;
}

.contact-view-files__tit {
	font-size: 1.4rem;
	font-weight: 600;
	margin: 0 0 1rem;
	color: #333;
}

.contact-view-files__ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.contact-view-files__ul li { margin-bottom: 0.6rem; }

.contact-view-files__ul a {
	font-size: 1.7rem;
	color: #443e35;
	text-decoration: underline;
}

.contact-view-files__size { color: #888; font-size: 1.3rem; }

.bo_v_atc--contact {
	max-width: 100%;
	margin-top: 4rem;
	padding-top: 3rem;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.bo_v_con--contact {
	font-size: 1.6rem;
	line-height: 1.75;
	color: #333;
}

.bo_v_con--contact img { max-width: 100%; height: auto; }



@media all and (max-width:1180px) {
	#contact_write {flex-direction:column;gap:4rem;width:calc(100% + 8rem);margin:0 -4rem;padding:0 4rem;}
	#contact_write #bo_w_side {position:static;width:100%;}
	#contact_write #bo_w_side h2, #contact_write #bo_w_side p {padding-left:0;}
	#contact_write #bo_w_side p {margin:2.5rem 0 5rem;}
	#contact_write #bo_w_side .info-list {display:none;}
	#contact_write #bo_w {padding-right:0;border-top:1px solid rgba(0,0,0, .1);}
	.write_div_group > ul {gap:1.5rem;} 
	#bo_w .btn_confirm {justify-content:center;margin-top:-4rem;}
}
@media (max-width: 768px) {
	#contact_write #bo_w_side h2 {font-size:6rem;}
	#contact_write #bo_w_side p {margin:1.5rem 0 4rem;}
	.write_div_group_title {font-size:2.2rem;}
	.contact-view-dl__row {
		grid-template-columns: 1fr;
		gap: 0.3rem;
	}
	#contact_write #bo_w .contact-budget-radios {gap:1.2rem 3rem;}
	.contact-view-dl__row dt { padding-top: 0.8rem; }
}

@media all and (max-width:515px) {
	.write_div_group > ul {display:flex;flex-direction:column;}
}

/* ---- 약관 보기 버튼 ---- */
.btn-privacy-popup {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-size: inherit;
    font-family: inherit;
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
    line-height: inherit;
}
.btn-privacy-popup:hover { opacity: 0.7; }

/* ---- 개인정보처리방침 팝업 ---- */
.popup-container {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.55);
    padding: 2.5rem;
	overflow-y:auto;
}
.popup-container[hidden] { display: none; }

.popup-content {
    position: relative;
    background: #fff;
    width: 100%;
    max-width: 700px;
    height: 80vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 8px 40px rgba(0,0,0,0.22);
}

.popup-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5rem 2rem;
    border-bottom: 1px solid #e8e8e8;
    flex-shrink: 0;
}
.popup-title {
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: #443E35;
    margin: 0;
}
.popup-close {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 4rem;
    line-height: 1;
    color: #888;
    padding: 0.2rem 0.4rem;
    transition: color 0.15s;
}
.popup-close:hover { color: #443e35; }

.popup-body {
    padding: 1.75rem 2.2rem;
    overflow-y: auto;
    flex: 1 1 auto;
    min-height: 0;
    font-size: 1.7rem;
    line-height: 1.6;
    color: #655a52;
	overflow-y:auto;
}
.popup-body p { margin: 0 0 0.8em; }
.popup-body p:last-child { margin-bottom: 0; }