@charset "utf-8";

li { list-style-type: none;}

/* 신규 */
.color-blue {color:#585858}
.color-blue:focus, .color-blue:hover {color:#222}
.color-gray {color:#999}
.color-gray-no {color:#999}
.color-gray:focus, .color-gray:hover {color:#333}
.color-red {color:#cc0000}

.color-blue-bg {background-color:#585858} /* 배경색상 */
.color-blue-bg:focus, .color-blue-bg:hover {background-color:#222} /* 배경색상 롤오버 */
.color-white-bg {background-color:#fff} /* 배경색상 */
.color-white-bg:focus, .color-blue-bg:hover {background-color:#f3f3f3} /* 배경색상 롤오버 */

.mt-1 {margin-top:3px;}
.mb-1 {margin-bottom:3px;}
.mt-2 {margin-top:5px;}
.mb-2 {margin-bottom:5px;}
.mt-3 {margin-top:10px;}
.mb-3 {margin-bottom:10px;}
.pt-3 {padding-top:10px;}
.pb-3 {padding-bottom:10px;}
.pt-5 {padding-top:15px;}
.pb-5 {padding-bottom:15px;}
.pline {border:1px solid #eee; padding:5px;}

.comment_b {background-color:#585858;border-radius:2px;padding:0px 5px 2px 5px; color:#fff; font-size:12px;}

input {border:1px solid #eee}

*:focus {
    outline: none;
}

/* 페이징 */
.pg_wrap {clear:both;margin:30px 0 ;text-align:center}
.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""} 
.pg {}
.pg_page, .pg_current {display:inline-block;vertical-align:middle;background:#f3f3f3;border:0px solid #bbbcc3}
.pg a:focus, .pg a:hover {text-decoration:none}
.pg_page {color:#555;font-size:1.083em;height:35px;line-height:35px;padding:0 5px;min-width:35px;text-decoration:none;border-radius:3px;}
.pg_page:hover{background-color:#f1f1f1}
.pg_start {text-indent:-999px;overflow:hidden;background:url('img/btn_first.gif') no-repeat 50% 50% #f1f1f1;padding:0;border:0px solid #bbb;}
.pg_prev {text-indent:-999px;overflow:hidden;background:url('img/btn_prev.gif') no-repeat 50% 50% #f1f1f1;padding:0;border:0px solid #bbb}
.pg_end {text-indent:-999px;overflow:hidden;background:url('img/btn_end.gif') no-repeat 50% 50% #f1f1f1;padding:0;border:0px solid #bbb}
.pg_next {text-indent:-999px;overflow:hidden;background:url('img/btn_next.gif') no-repeat 50% 50% #f1f1f1;padding:0;border:0px solid #bbb}
.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover{background-color:#f1f1f1}

.pg_current {display:inline-block;background:#585858;color:#fff;font-weight:bold;height:35px;line-height:35px;padding:0 10px;min-width:35px;border-radius:3px;
-webkit-box-shadow: inset 0px 0px 0px #585858;
-moz-box-shadow:  inset 0px 0px 0px #585858;
box-shadow: inset 0px 0px 0px #585858;
}


/* 버튼 */
a.btn,.btn{line-height:35px;height:35px;padding:0 10px;text-align:center;font-weight:bold;border:0;
-webkit-transition: background-color 0.3s ease-out;
-moz-transition: background-color 0.3s ease-out;
-o-transition: background-color 0.3s ease-out;
transition: background-color 0.3s ease-out;}

.btn_submit {border:0;background:#585858;color:#fff;cursor:pointer;border:0}
.btn_submit:hover {background:#222}



/* 목록 버튼 */
#bo_list a.btn_b01 {}
#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {}
#bo_list a.btn_b02 {background-color:#585858;border-radius:3px;line-height:35px;height:35px;padding:0px 20px 0px 20px;}
#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {background-color:#222}
#bo_list a.btn_b03 {background-color:#fff;border-radius:3px;border:1px solid #eee; line-height:35px;height:35px;padding:0px 10px 0px 10px;}
#bo_list a.btn_b03:focus, #bo_list a.btn_b03:hover {border:1px solid #585858;}
#bo_list a.btn_admin {background-color:#ffffff;border-radius:3px;color:#777;border:0px solid #ddd;} /* 관리자 전용 버튼 */
#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {background-color:#ffffff;color:#333}

#bo_list a.btn_admin2 {background-color:#ffffff;border-radius:3px;color:#777;border:1px solid #ddd;} /* 관리자 전용 버튼 */
#bo_list a.btn_admin2:focus, #bo_list .btn_admin2:hover {background-color:#f9f9f9;color:#333}

#bo_list button.btn_admin {background-color:#fff;color:#777;border:0px;}
#bo_list button.btn_admin:focus, #bo_list .btn_admin:hover {background-color:#fff;color:#333}

a.btn_admin,.btn_admin {display:inline-block;color:#fff;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */
.btn_admin:hover, a.btn_admin:hover {}

a.btn_admin2,.btn_admin2 {display:inline-block;color:#fff;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */
.btn_admin2:hover, a.btn_admin2:hover {}

/* 읽기 버튼 */
#bo_v a.btn_b01 {background-color:#fff;border-radius:3px;line-height:35px;height:35px;padding:0px 10px 0px 10px;border:1px solid #ddd; color:#333}
#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {background-color:#f3f3f3}
#bo_v a.btn_b02 {background-color:#585858;border-radius:3px;line-height:35px;height:35px;padding:0px 20px 0px 20px; color:#fff}
#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {background-color:#222}

#bo_v a.btn_admin {background-color:#ffffff;border-radius:3px;color:#777;border:0px solid #ddd;} /* 관리자 전용 버튼 */
#bo_v a.btn_admin:focus, #bo_v .btn_admin:hover {background-color:#ffffff;color:#333}

#bo_v a.btn_admin2 {background-color:#ffffff;border-radius:3px;color:#777;border:1px solid #ddd;} /* 관리자 전용 버튼 */
#bo_v a.btn_admin2:focus, #bo_v .btn_admin2:hover {background-color:#f9f9f9;color:#333}

/* 쓰기 버튼 */
#bo_w .btn_confirm {} /* 서식단계 진행 */
#bo_w .btn_submit {background-color:#585858;border-radius:3px;line-height:35px;height:35px;padding:0px 20px 0px 20px; color:#fff}
#bo_w .btn_submit:focus, #bo_w .btn_submit:hover {background-color:#222}
#bo_w button.btn_submit {}
#bo_w fieldset .btn_submit {}
#bo_w .btn_cancel {background-color:#fff;border-radius:3px;line-height:35px;height:35px;padding:0px 10px 0px 10px;border:1px solid #ddd; color:#333}
#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {background-color:#f3f3f3}
#bo_w button.btn_cancel {background-color:#fff;border-radius:3px;line-height:35px;height:35px;padding:0px 10px 0px 10px;border:1px solid #ddd; color:#333}
#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 {margin-top:10px;}


/* 갤러리 목록 */
#bo_list h2 {margin:0;padding:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}

/* 목록 li 기본 스타일: 실제 배치는 CSS 그리드(매스너리, grid-auto-flow:dense)가 처리함.
   JS는 각 아이템의 실제 높이를 재서 grid-row-end(span)만 계산해줌.
   -> 컬럼을 순서대로 "쌓기"만 하는 방식이 아니라, 다음 아이템이 들어갈 수 있는
      가장 앞쪽의 빈 자리를 그리드가 자동으로 채워주기 때문에 중간에 빈 공간이 남지 않음.
   JS 미실행(노스크립트) 상황에서도 1열로 자연스럽게 쌓이도록 기본값을 단순하게 유지. */
#bo_list #gall_ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
#bo_list #gall_ul:after {display:none}

/* .js_masonry 클래스는 JS가 실행되면서 붙여줌.
   -> JS가 없거나 실패해도 li가 그냥 세로로 쌓이는 자연스러운 1열이 되고(노스크립트 대응),
      JS가 실행된 경우에만 grid-auto-rows:1px + span 계산 조합의 매스너리가 활성화됨. */
#bo_list #gall_ul.gall_row.js_masonry {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-flow: dense; /* 앞쪽에 빈 칸이 생기면 뒤 아이템으로 즉시 메움 */
    grid-auto-rows: 1px;   /* 세밀한 행 단위: JS가 span 값으로 실제 높이를 표현 */
    column-gap: 20px;
}
@media (max-width:1024px) {
    #bo_list #gall_ul.gall_row.js_masonry { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width:640px) {
    #bo_list #gall_ul.gall_row.js_masonry { grid-template-columns: repeat(2, 1fr); }
}
#bo_list .gall_box {position:relative; margin:0;}

#bo_list .gall_li {width:100%; float:none; padding:0; box-sizing:border-box; margin-bottom:0; min-width:0;}
#bo_list .gall_li .gall_chk{position:absolute;top:0;left:0;padding:10px; z-index:2;}
.gall_row .box_clear{clear:none}
#bo_list #gall_ul.gall_row.js_masonry > .empty_list {grid-column:1 / -1; padding:40px 0; text-align:center; color:#999;}

#bo_list .gall_now .gall_text_href a {color:#ff3061}

#bo_list .gall_href a:link, #bo_gall .gall_href a:focus, #bo_gall .gall_href a:hover {text-decoration:none}

/* 매스너리 이미지 박스: 고정 비율/크롭 없이 이미지 원본 비율 그대로 표시.
   height=0으로 생성된 썸네일이라 흰 여백(패딩) 없이 실제 이미지 크기만큼만 박스를 차지함 */
#bo_list .gall_img{position:relative;overflow:hidden;text-align:center;box-sizing:border-box;border:1px solid #e5e5e5;}
#bo_list .gall_img a,#bo_gall .gall_img .no_image,#bo_gall .gall_img .is_notice{display:block;width:100%;}
#bo_list .gall_img img{display:block;width:100%;height:auto;}
#bo_list .gall_img .no_image,#bo_gall .gall_img .no_image{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:150px;padding:5px;box-sizing:border-box;background:#eee;text-align:center;line-height:1.4 !important;text-transform:uppercase;font-weight:bold;font-size:1.25em;color:#777}

#bo_list .gall_text_href {margin:10px}
#bo_list .gall_text_href a {font-weight:bold}
#bo_list .gall_text_href img {margin:0 0 0 0px}
#bo_list .bo_tit{display:block;font-weight:bold;color:#000; text-align:center; padding:10px 0px 0px ; font-size:1.1em}
#bo_list .bo_tit .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle;
-webkit-box-shadow: inset 0 2px 5px  rgba(255,255,255,0.3);
-moz-box-shadow: inset 0 2px 5px  rgba(255,255,255,0.3);
box-shadow: inset 0 2px 5px  rgba(255,255,255,0.3);}
#bo_list .profile_img img{border-radius:50%}
#bo_list .gall_name{ text-align:center; color:#666 ; font-size:0.9em; margin-top:5px !important; padding-bottom:20px !important}

#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: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px}
#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_list .gall_info{line-height:1.5em;padding:10px;font-size:0.92em;background:#f6f6f6;line-height:20px}
#bo_list .gall_info strong{ display:inline-block;margin:0 0 0 10px }
#bo_list .gall_info i{font-size:12px}
#bo_list .gall_info .gall_date{position:absolute;bottom:10px;right:10px;font-style:italic;display:inline-block;color:#777;}




/* 기본 테이블 */
.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing: 0 5px;border:0px solid #ccc;} 
.tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left}

/* 목록 테이블 */
#bo_list .tbl_head01 {margin:0 0 10px}
#bo_list .tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
#bo_list .tbl_head01 thead th {padding:10px 0;font-weight:normal;text-align:center;background:#fff;height:50px;border-top:1px solid #ddd;border-bottom:1px solid #ecf0f1;}
#bo_list .tbl_head01 thead a {}
#bo_list .tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
#bo_list .tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;background:#fff;text-align:center}
#bo_list .tbl_head01 tbody th {padding:8px 0;}
#bo_list .tbl_head01 td {color:#666;background:#fff;padding:10px 5px;border-bottom:1px solid #eee;line-height:1.4em;height:70px;word-break:break-all}
#bo_list .tbl_head01 tbody tr:hover td{background:#fff;border-left:0px;}
#bo_list .tbl_head01 a:hover {text-decoration:none}
#bo_list td.empty_table {}


/* 읽기 내 테이블 */
#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 {}

#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 #captcha {}
#bo_w .tbl_frm01 #captcha input {}
*/
#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_list {position:relative; border-bottom:1px solid #eee; padding-bottom:10px;}
#bo_list:after {display:block;visibility:hidden;clear:both;content:""}
#bo_list .td_board {width:120px;text-align:center}
#bo_list .td_chk {width:30px;text-align:center}
#bo_list .td_date {width:60px;text-align:center;}
#bo_list .td_datetime {width:150px;text-align:center}
#bo_list .td_group {width:100px;text-align:center}
#bo_list .td_mb_id {width:100px;text-align:center}
#bo_list .td_mng {width:80px;text-align:center}
#bo_list .td_name {width:90px;text-align:left;padding:10px 0}
#bo_list .td_nick {width:100px;text-align:center}
#bo_list .td_num {width:50px;text-align:center}
#bo_list .td_num2 {width:50px;text-align:center}
#bo_list .td_numbig {width:80px;text-align:center}
#bo_list .txt_active {color:#5d910b}
#bo_list .txt_expired {color:#ccc}
/*
#bo_list tbody tr:hover {border-left:2px solid #253dbe}
*/

/* 카테고리(연도) 버튼 디자인 - PC/모바일 공통 */
.bo_cate_new {
    margin: 10px 0;
    position: relative;
    width: 100%;
}
.bo_cate_new h2 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}
.bo_cate_new_ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* 가로 가운데 정렬 */
    gap: 24px; /* 탭 간의 여유 있는 간격 */
    padding: 0;
    margin: 10px 0 20px;
    list-style: none;
    width: 100%;
}
.gallery_categories_forced .bo_cate_new_ul li:first-child { display:none; }
.bo_cate_new_ul li {
    display: inline-block;
    padding: 0;
    margin: 0;
}
.bo_cate_new_ul a {
    display: inline-block;
    line-height: 34px; /* 탭 높이감 제공 */
    padding: 0 4px; /* 좌우 여백 */
    font-size: 17px;
    font-weight: 600; /* 선명한 두께 */
    color: #666;
    text-decoration: none;
    box-sizing: border-box;
    white-space: nowrap;
    position: relative;
    transition: all 0.2s ease;
    border-bottom: 3px solid transparent; /* 하단 탭 선 예비 */
}
/* 각 카테고리 앞에 해시태그 '#' 붙이기 */
.bo_cate_new_ul a::before {
    content: "#";
    margin-right: 3px;
    opacity: 0.8;
}
.bo_cate_new_ul a:hover, .bo_cate_new_ul a:focus {
    color: #111;
    border-bottom: 3px solid #ccc; /* 호버 시 연한 하단 선 */
    text-decoration: none;
}
/* 활성 카테고리 밑줄 강조 */
.bo_cate_new_ul #bo_cate_on {
    color: #1d67bb !important;
    font-weight: 700 !important;
    border-bottom: 3px solid #1d67bb !important; /* 활성화 시 브랜드 컬러 밑줄 */
    background: none !important;
    border-radius: 0 !important;
}
.bo_cate_new_ul #bo_cate_on:hover {
    color: #111 !important;
    border-bottom: 3px solid #222 !important;
    background: none !important;
}

/* 모바일 화면 - 간격과 글자 크기 축소 */
@media (max-width: 768px) {
    .bo_cate_new {
        margin-top: 0;
    }
    .bo_cate_new_ul {
        row-gap: 2px;
        column-gap: 10px;
        margin: 0 0 12px;
    }
    .bo_cate_new_ul a {
        line-height: 26px;
        font-size: 13px;
    }
}

.td_subject img {margin-left:5px}

/* 게시판 목록 공통 */
#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; width:100%;}

.btn_bo_user {float:right;margin:0;padding:0;list-style:none}
.btn_bo_user li {float:left;margin-left:5px}
.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:#f9f9f9 !important;border-bottom:1px solid #eee;}
.bo_notice td a {font-weight:bold;}

.bo_notice .notice_icon{display:inline-block;width:25px;line-height:25px;font-weight:normal;color:#585858}
.td_num strong {color:#000}
.bo_cate_link { height: 20px;font-size:1em; text-align:center; color:#09C} /* 글제목줄 분류스타일 */

.bo_tit{display:block;color:#000;font-weight:normal;font-size:14px;}
.bo_tit_tag{display:inline-block;font-size:0.85em;color:#185396; padding-bottom:4px}
.bo_current {color:#e8180c}
/*#bo_list .profile_img {display:inline-block;margin-right:2px}*/
#bo_list .profile_img img{border-radius:50%}
#bo_list .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle;
-webkit-box-shadow: inset 0 2px 5px  rgba(255,255,255,0.3);
-moz-box-shadow: inset 0 2px 5px  rgba(255,255,255,0.3);
box-shadow: inset 0 2px 5px  rgba(255,255,255,0.3);}

#bo_list .bo_tit .title_icon{margin-right:2px}
#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 .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px}
#bo_list .bo_tit .fa-heart{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;font-weight:normal}
#bo_list .bo_tit .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce}


#bo_sch {
    float: left;
    border: 1px solid #eee;
    background: #fff;
    border-radius: 4px;
    box-sizing: border-box;
    display: block !important;
}
#bo_sch form {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
}
#bo_sch legend {
    position: absolute;
    margin: 0;
    padding: 0;
    font-size: 0;
    line-height: 0;
    text-indent: -9999em;
    overflow: hidden;
}
#bo_sch select {
    display: inline-block !important;
    width: auto !important;
    max-width: 120px !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 10px !important;
    height: 38px !important;
    line-height: 38px !important;
    background: #fff !important;
    border-right: 1px solid #eee !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
}
#bo_sch .sch_input {
    display: inline-block !important;
    height: 38px !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 10px !important;
    background-color: transparent !important;
    box-sizing: border-box !important;
    flex-grow: 1 !important;
    width: 100px /* flexbox 내에서 100% 강제 적용되는 것을 차단하고 유연하게 크기 조절되도록 임의의 최소 너비 설정 */
    min-width: 0 !important;
}
#bo_sch .sch_btn {
    display: flex !important;
    height: 38px !important;
    background: none !important;
    border: 0 !important;
    width: 40px !important;
    font-size: 16px !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    color: #555 !important;
    transition: color 0.2s ease;
    margin: 0 !important;
    padding: 0 !important;
}
#bo_sch .sch_btn:hover, #bo_sch .sch_btn:focus {
    color: #222 !important;
}

/* 모바일 검색창 반응형 가로 100% 및 한 줄 유지 */
@media (max-width: 768px) {
    #bo_sch {
        width: 100% !important;
        float: none !important;
        margin: 10px 0 !important;
        clear: both !important;
        display: block !important;
    }
}



/* 게시판 쓰기 */
#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;margin-top:10px; 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;padding: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:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px;
-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);
}
#bo_v_title .bo_v_tit{display:block;margin:5px 0 0;word-break:break-all;font-size:30px; text-align:center }

#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #eee;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 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 {}
#bo_v_info .profile_img img{border-radius:50%}
#bo_v_info .sv_member{color:#000}
#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px}
#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px}
#bo_v_info .if_date{float:right;margin:0;color:#888}

#bo_v_file {margin:10px 0;border:1px solid #d4d4d4}
#bo_v_file h2 {padding:10px;background: #f3f3f3}
#bo_v_file ul {margin:0;padding:5px 0;list-style:none}
#bo_v_file li {padding:5px 10px;position:relative;}
#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word}
#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none}
#bo_v_file img {float:left;margin:0 10px 0 0}
.bo_v_file_cnt  {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em}

#bo_v_link {margin:10px 0;border:1px solid #d4d4d4}
#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3}
#bo_v_link ul {margin:0;padding:5px 0;list-style:none}
#bo_v_link li {padding:5px 10px;position:relative;}
#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word}
#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none}
.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em}

#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 {float:left;margin-left:5px}

.bo_v_left {margin:20px 0;float:left}
.bo_v_left li {float:left;margin-right:5px}

.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;border-bottom:1px solid #eee}
.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""}
.bo_v_nb li {border-top:1px solid #eee;padding:13px;padding-left:0px; padding-right:0px;}
.bo_v_nb li i{font-size:13px}
.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#999}
.bo_v_nb li .nb_date{float:right;color:#888}

#bo_v_atc {min-height:200px;height:auto !important;height:200px}
#bo_v_atc img {display:block;margin-left:auto;margin-right:auto;max-width:100%;height:auto; border:1px solid #CCC}
#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:#333;text-decoration:none}
#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}
#bo_v_act a:hover{background-color:#f3f3f3}
#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center}
#bo_v_act .bo_v_good{display:inline-block;border:1px solid #eee;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic}
#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic}

#bo_v_share{position:relative;margin:20px 0;text-align:right}
#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5}
#bo_v_share .btn:hover{background:#fff}
#bo_v_share .btn i{margin-right:5px;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;}
#bo_v_share .btn_share{}
#bo_v_share .btn_share:hover{}

.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px}
#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1}
#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;}
#bo_v_sns li {float:left;width:60px;text-align:center}
#bo_v_sns li a{height:40px;padding:10px 0;}
#bo_v_sns li .sns_f{display:block;background:#415b92}
#bo_v_sns li .sns_t{display:block;background:#35b3dc}
#bo_v_sns li .sns_g{display:block;background:#d5503a}
#bo_v_sns.show_kakao{width:240px;margin-left:-120px}
#bo_v_sns li .sns_k{display:block;background:#fbe300}
#bo_v_sns li img{vertical-align:top}

/* 게시판 댓글 */
.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0  0 10px }
.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px  -23px}
#bo_vc {border-top:1px solid #eee; border-bottom:1px solid #eee;}
#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc article {margin:20px 0;position:relative}
#bo_vc article .profile_img img{border-radius:50%}
#bo_vc header {}
#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""}
#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{float:right;color:#999;font-size:11px;}
#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc .cmt_contents {padding:0px; margin:10px 0 0;border-radius:0px;border: 0px solid #e8e8e8;line-height:1.8em}
#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_act {text-align:right;margin:0;list-style:none;zoom:1}
.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""}
.bo_vc_act li {display:inline-block;}
.bo_vc_act li a{padding:0 0px;line-height:23px}

.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{float:right;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:40px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;}
.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""}

#bo_vc_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 .write_div{padding:10px 0px 0px 0px;position:relative;}
#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""}
#bo_w .bo_w_info .frm_input{float:left;width:33%}
#bo_w #wr_password{margin:0 0.5%  }
#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:11px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background: #fff;text-align:center;color:#888}
#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;background:#fff;text-align:center;color:#888}
#bo_w .bo_w_flie .frm_file{padding-left:50px;}
#bo_w .bo_w_flie .file_wr{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;line-height:35px;}
#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px}

/* 갤러리 라이트박스 (목록 클릭 시 큰 이미지 + 좌우 화살표 넘기기) */
.bo_gallery_lightbox {
	display: none;
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	z-index: 9999;
}
.bo_gallery_lightbox.show {
	display: block;
}
.bo_gallery_lightbox_dim {
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.9);
}
.bo_gallery_lightbox_inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 60px 80px;
	box-sizing: border-box;
}
.bo_gallery_lightbox_content {
	position: relative;
	max-width: 100%;
	max-height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.bo_gallery_lightbox_content img {
	max-width: 100%;
	max-height: 80vh;
	object-fit: contain;
	animation: bo_gallery_fade 0.2s ease;
}
@keyframes bo_gallery_fade {
	from { opacity: 0; transform: scale(0.98); }
	to { opacity: 1; transform: scale(1); }
}
.bo_gallery_lightbox_caption {
	margin-top: 14px;
	text-align: center;
	color: #fff;
}
.bo_gallery_lightbox_caption a {
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	font-size: 15px;
}
.bo_gallery_lightbox_caption a:hover {
	text-decoration: underline;
}
.bo_gallery_lightbox_caption span {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	color: #ccc;
}
.bo_gallery_lightbox_desc {
	display: block;
	margin-top: 8px;
	max-width: 600px;
	font-size: 13px;
	line-height: 1.5;
	color: #ddd;
	font-weight: normal;
	white-space: pre-line;
}
.bo_gallery_lightbox_close {
	position: absolute;
	top: 16px;
	right: 20px;
	width: 44px;
	height: 44px;
	border: none;
	background: rgba(255,255,255,0.12);
	color: #fff;
	font-size: 28px;
	line-height: 1;
	border-radius: 50%;
	cursor: pointer;
	z-index: 2;
}
.bo_gallery_lightbox_close:hover {
	background: rgba(255,255,255,0.25);
}
.bo_gallery_lightbox_prev,
.bo_gallery_lightbox_next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 52px;
	height: 52px;
	border: none;
	background: rgba(255,255,255,0.12);
	color: #fff;
	font-size: 20px;
	border-radius: 50%;
	cursor: pointer;
	z-index: 2;
}
.bo_gallery_lightbox_prev:hover,
.bo_gallery_lightbox_next:hover {
	background: rgba(255,255,255,0.25);
}
.bo_gallery_lightbox_prev {
	left: 14px;
}
.bo_gallery_lightbox_next {
	right: 14px;
}
body.bo_gallery_lightbox_open {
	overflow: hidden;
}

/* gallery02 관리자 일괄 선택 */
.gallery_check_all { display:inline-flex; align-items:center; gap:5px; cursor:pointer; font-size:13px; }
.gallery_check_all_bottom { display:flex; align-items:center; height:35px; margin-right:3px; }
.gallery_check_all input, .gallery_item_check { width:17px; height:17px; margin:0; cursor:pointer; accent-color:#3a6ea5; }
.gallery_title_row { display:flex; align-items:flex-start; justify-content:center; gap:7px; padding-top:10px; }
.gallery_title_row .gallery_item_check { flex:0 0 auto; margin-top:2px; }
#bo_list .gallery_title_row .bo_tit { display:inline-block; min-width:0; padding-top:0; }

/* gallery02 관리자 게시물 순서 */
.gallery_order_admin { display:flex; align-items:center; gap:5px; margin-top:10px; padding-top:8px; border-top:1px solid #eee; font-size:12px; }
.gallery_order_admin input { width:82px; height:30px; padding:0 7px; border:1px solid #ccc; border-radius:3px; }
.gallery_order_admin button { height:30px; padding:0 10px; border:0; border-radius:3px; background:#3a6ea5; color:#fff; cursor:pointer; }
.gallery_order_admin button:disabled { opacity:.6; cursor:default; }
.gallery_order_write label { display:inline-block; margin-right:8px; font-weight:bold; }
.gallery_order_write input { width:180px; }
.gallery_order_write .frm_info { display:inline-block; margin-left:8px; color:#777; font-size:12px; }

@media (max-width: 600px) {
	#bo_list .bo_tit{font-size:0.9em !important}
	.bo_gallery_lightbox_inner {
		padding: 50px 16px;
	}
	.bo_gallery_lightbox_prev,
	.bo_gallery_lightbox_next {
		width: 40px;
		height: 40px;
		font-size: 16px;
	}
	.bo_gallery_lightbox_close {
		width: 36px;
		height: 36px;
		font-size: 22px;
		top: 8px;
		right: 8px;
	}
	.bo_gallery_lightbox_content img {
		max-height: 70vh;
	}
}
