@charset "utf-8";

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

/* 카테고리 스타일 */
#bo_cate h2 {width:0;height:0;font-size:0;line-height:0;overflow:hidden}
#bo_cate ul {margin: 20px 0;padding-left:1px;zoom:1;text-align:center;}
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} 
#bo_cate li{display:inline-block;margin:3px}
#bo_cate a {display:block;line-height:38px;padding:0 20px;border-radius:30px;background:#f1f3f5;color:#555;font-size:14px;border:1px solid #e9ecef;}
#bo_cate #bo_cate_on {background:#004a99;color:#fff;border-color:#004a99;font-weight:600;}

/* 하단 영역 래퍼 */
.qna_footer_bar {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 20px;
}

/* 선택관리 버튼 영역 */
.bo-admin-select-wrap {
    position: relative;
    display: inline-block;
}

/* 선택관리 토글 버튼 */
.btn-bo-admin-select {
    background: #444;
    color: #fff;
    border: none;
    padding: 8px 15px;
    cursor: pointer;
}

/* 팝업 메뉴 (ul) */
.more-opt.btn_list_op {
    display: none;
    position: absolute;
    bottom: 100%;
    left: 0;
    margin-bottom: 5px;
    padding: 10px;
    background: #fff;
    border: 1px solid #ccc;
    list-style: none;
    min-width: 130px;
    z-index: 100;
}
.more-opt.btn_list_op.active_menu {
    display: block !important;
}
/* 팝업 메뉴 리스트 (li) */
.more-opt.btn_list_op li {
    margin-bottom: 15px;
}
.more-opt.btn_list_op li:last-child {
    margin-bottom: 0;
}

/* 팝업 메뉴 내부 버튼 (button) */
.more-opt.btn_list_op button {
    background: none;
    border: none;
    cursor: pointer;
    width: 100%;
    text-align: left;
}

/* 게시판 리스트 구조 */
#bo_list { margin:10px 0 20px; position:relative; }
.board_wr { background:#fff; border-top: 2px solid #2f3e4e; border-bottom: 1px solid #2f3e4e; margin:10px 0 30px; position:relative; }
.al_chk { background:#f9f9f9; border-bottom:1px solid #dcdcdc; padding:10px 15px; }

.bo_ul li { border-bottom:1px solid #e5e5e5; padding:16px 15px; display:flex; justify-content:space-between; align-items:center; line-height:1.5; }
.bo_ul li:last-child { border-bottom:0; }
.bo_ul .bo_notice { background:#f8f9fb; border-bottom:1px solid #dcdcdc; }
.bo_ul li:hover { background:#fbfbfc; }

/* 제목 영역 */
.bo_subject { float:none; width:auto; flex:1; font-size:15px; font-weight:500; color:#333; text-align:left; padding-right:20px; word-break:keep-all; }
.bo_cate_link { display:inline-block; color:#0054a6 !important; font-weight:600; text-decoration:none; margin-right:5px; }

/* 정보 영역 (작성자, 조회수, 날짜) */
.bo_info { float:none; width:auto; font-size:13px; color:#666; display:flex; align-items:center; justify-content:flex-end; }
.bo_info span { display:inline-flex; align-items:center; }
.bo_info i { color:#a0a0a0; margin-right:5px; font-size:14px; }
.bo_writer { width:80px; justify-content:center; }
.bo_view { width:60px; justify-content:flex-start; margin-left:10px; }
.bo_date { width:80px; justify-content:flex-end; margin-left:10px; }

/* 공지 아이콘 */
.notice_icon { background:#eef2ff; color:#0054a6; border:1px solid #d9e2ef; font-weight:600; border-radius:2px; font-size:12px; padding:2px 8px; margin-right:10px; display:inline-block; vertical-align:middle; }

/* 기타 아이콘들 */
.bo_ul .fa-download, .bo_ul .fa-link, .bo_ul .fa-heart, .bo_ul .fa-lock { width:16px; height:16px; line-height:16px; color:#fff; text-align:center; font-size:10px; border-radius:2px; margin-left:3px; display:inline-block; }
.bo_ul .fa-download { background:#1e5bb8; }
.bo_ul .fa-link { background:#1e5bb8; }
.bo_ul .fa-heart { background:#1e5bb8; }
.bo_ul .fa-lock { background:#d8e7e1; color:#7db099; }
.bo_ul .new_icon { display:inline-block; width:16px; height:16px; line-height:16px; background:#c56bed; color:#fff; text-align:center; font-size:10px; border-radius:2px; margin-left:3px; }

/* 검색창 스타일 (하단 고정) */
#bo_sch { display:block; padding:20px; background:#f4f7fa; border:1px solid #e8e8e8; border-radius:3px; text-align:center; margin-top:10px; }
#bo_sch legend { display:none; }
.sch_inner_wr { display:flex; justify-content:center; align-items:center; gap:5px; max-width:600px; margin:0 auto; }
#bo_sch select { height:42px; border:1px solid #ccc; padding:0 10px; background:#fff; color:#333; outline:none; }
#bo_sch .sch_input { flex:1; height:42px; border:1px solid #ccc; padding:0 15px; outline:none; }
#bo_sch .sch_btn { height:42px; padding:0 25px; background:#343a40; color:#fff; border:none; font-weight:600; cursor:pointer; transition:0.2s; }
#bo_sch .sch_btn:hover { background:#212529; }
@media (max-width: 1200px) {
.container{padding:0 20px;}
   #bo_list { margin:10px 0; position:relative; }
}

@media screen and (max-width: 1024px) {
    #bo_sch { padding: 15px 10px; }
    
    .sch_inner_wr { flex-wrap: wrap; gap: 8px; } 
    
    #bo_sch select { 
        flex: 0 0 100%; 
        height: 40px; 
    } 
    
    #bo_sch .sch_input { 
        flex: 1; 
        height: 40px; 
        padding: 0 10px; 
    }
    
    #bo_sch .sch_btn { 
        flex: 0 0 80px; 
        height: 40px; 
        padding: 0; 
    } 
}
@media (max-width: 969px){
    .bo_ul li { flex-direction:column; align-items:flex-start; padding:15px; }
    .bo_subject { width:100%; padding-right:0; margin-bottom:10px; line-height:1.4; }
    .bo_info { width:100%; justify-content:flex-start; gap:12px; }
    .bo_writer { width:auto; justify-content:flex-start; text-align:left; }
    .bo_view { width:auto; margin-left:0; }
    .bo_date { width:auto; margin-left:0; }
    .sch_inner_wr { flex-direction:row; }
    #bo_sch select { width:100px; }
}



/* 게시판 쓰기 */
#bo_w #wr_email, #bo_w #wr_homepage, #bo_w #wr_subject {width:100%}
#char_count_desc {display:block;margin:0 0 5px;padding:0}
#char_count_wrap {margin:5px 0 0;text-align:right}
#char_count {font-weight:bold}
#wr_email, #wr_homepage, #wr_subject, .wr_link {width:100%}

/* 게시판 읽기 */
#bo_v_table {padding: 10px;color:#999;font-size:0.9em;font-weight:bold}
#bo_v_title {padding-top: 20px;text-align:left}
.bo_v_cate{display: inline-block;color: #7d8dff ;font-weight: normal;text-decoration: none;font-size: 0.92em;margin:5px 0 ;}
.bo_v_tit{display:block;font-size:1.5em;margin:5px 0 }

#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;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;}


#bo_v_edit{position:absolute;bottom:0;right:0;margin-top:-15px}
#bo_v_edit .view_btn{width:50px;height:45px;background:none;border:0;font-size: 15px;color: #9ea2a5;}
#bo_v_edit .view_btn:hover{color:#0060ff}
#bo_v_edit .bo_v_left{display:none;position:absolute;top:40px;right:0;width:100px;background:#fff; border:1px solid #d4d4d4;z-index:599;box-shadow: 0 2px 3px #eee}
#bo_v_edit .bo_v_left li {line-height:40px;width:100%;float:none;border-top:1px solid #f1f1f1;font-size:12px !important;text-align:left;padding:0 10px;position:relative}
#bo_v_edit .bo_v_left li button{width:100%;font-size:12px !important;text-align:left;color:#6b757c !important;height:40px;border:none;background:none;}
#bo_v_edit .bo_v_left li i{position:absolute;top:0;right:10px;line-height:40px;font-size:14px !important;;color:#92a1af}
#bo_v_edit .bo_v_left li:hover{background:#f8f8f8}
#bo_v_edit .bo_v_left li a {color:#6b757c;font-size:12px !important}

#bo_v_file {margin:0 }
#bo_v_file h2  {position:absolute;width:0;height:0;font-size:0;line-height:0;overflow:hidden}
#bo_v_file ul {margin:0;padding:0;list-style:none}
#bo_v_file li {padding: 10px 10px 10px 60px;border: 1px solid #e8e8e8;color:#aaa;margin:10px 0;border-radius:5px;position:relative;box-shadow: 1px 2px 8px #e2e4f1}
#bo_v_file li i{position:absolute;top:50%;left:10px;font-size:20px;;width:40px;line-height:40px;text-align:center;margin-top:-20px}
#bo_v_file a {display:block;color:#aaa;text-decoration:none;margin:0 0 3px}
#bo_v_file a strong{text-decoration:underline}
#bo_v_file  span {font-size:0.91em}
#bo_v_file li:hover,#bo_v_file li:hover a {color:#5c75c3;text-decoration:none}

#bo_v_link {margin:0 }
#bo_v_link h2  {position:absolute;width:0;height:0;font-size:0;line-height:0;overflow:hidden}
#bo_v_link ul {margin:0;padding:0;list-style:none}
#bo_v_link li {padding: 10px 10px 10px 60px;border: 1px solid #e8e8e8;color:#aaa;margin:10px 0;border-radius:5px;position:relative;box-shadow: 1px 2px 8px #e2e4f1}
#bo_v_link li i{position:absolute;top:50%;left:10px;font-size:20px;;width:40px;line-height:40px;text-align:center;margin-top:-20px}
#bo_v_link a {display:block;color:#aaa;text-decoration:none;margin:0 0 3px}
#bo_v_link li:hover,#bo_v_link li:hover a  {color:#a629e0;text-decoration:none}
#bo_v_link a strong{text-decoration:underline}
#bo_v_link span {font-size:0.91em}

#bo_v_top {margin:20px}
#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_top ul {margin:0;padding:0;list-style:none}
#bo_v_top ul li{display:inline-block;}
.bo_v_left{float:left}
.bo_v_right{float:right}
#bo_v_bot {text-align:right;margin:20px 10px}

.bo_v_nb { margin:30px 0; background:#fff; position:relative; border-top:1px solid #2f3e4e; border-bottom:1px solid #dcdcdc; }
.bo_v_nb:after { display:block; visibility:hidden; clear:both; content:""; }
.bo_v_nb li { border-bottom:1px solid #eee; }
.bo_v_nb li:last-child { border-bottom:0; }
.bo_v_nb li a { display:block; padding:16px 15px; color:#444; font-size:14px; text-overflow:ellipsis; overflow:hidden; white-space:nowrap; transition:0.2s; }
.bo_v_nb li a:hover { background:#f8f9fa; color:#0054a6; font-weight:500; }
.bo_v_nb li i { color:#777; width:30px; text-align:center; font-size:14px; margin-right:5px; }

#bo_v_atc {min-height:200px;margin:20px 0}
#bo_v_img {margin:0 0 10px;width:100%;overflow:hidden;zoom:1}
#bo_v_img img {margin-bottom:15px;max-width:100%;height:auto}
#bo_v_con {min-height:200px;margin-bottom:20px;width:100%;font-size:1.250em;line-height:1.7em;word-break:break-all;overflow:hidden}

#bo_v_act {margin-bottom:30px;text-align:center}
#bo_v_act .btn {margin-right:5px;vertical-align:middle;border-radius:30px}
#bo_v_act .bo_v_good{border:1px solid #ff1313;color:#ff1313;padding:0 20px}
#bo_v_act .bo_v_nogood{border:1px solid #dedede;color:#888;padding:0 20px}

/* 게시판 댓글 */
#bo_vc_w{margin:20px}
.cmt_btn{text-align:left ;width:100% ;border:0;color:#696ae6;font-weight:bold;font-size:1.154em;padding:20px;background:none;position:relative}
#bo_vc {margin:20px }
#bo_vc article {margin:0 0 20px;position:relative}
#bo_vc header {line-height:20px;color:#888d94}
#bo_vc .cmt_contents {margin:5px 0 ;line-height:1.8em;border-bottom:1px solid #e8e8e8;padding-bottom:20px}
#bo_vc_empty {margin:0;padding:15px !important;text-align:center}

/*글쓰기*/
#bo_w .form_01{margin:10px 0}
#bo_w .bo_w_select select{border:1px solid #3497d9;background:#fff;width:100%}
#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;text-align:center}
#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;text-align:center}
#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:5px 0 0 }
.write_div{text-align:right;margin:10px 0}
/* 상단 버튼 영역 정렬 */
.bo-bottom-action {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 20px;
}

.btn-bo-write-highlight {
    display: inline-block;
    padding: 10px 20px;
    background-color: var(--point_blue); /* 메인 컬러 활용 */
    color: #fff;
    border-radius: 4px;
    font-weight: 600;
}


@media (max-width: 969px){
    #bo_vc header{padding-left:0}
    #bo_vc,#bo_vc_w,.cmt_btn {margin: 20px 0}
    #bo_w .form_01 {margin:10px}
    .write_div{text-align:right;margin:10px}
}
.notice_write_wrap {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px 0;
    font-family: 'Noto Sans KR', sans-serif;
    color: #333;
    box-sizing: border-box;
}
.notice_write_wrap *, .notice_write_wrap *::before, .notice_write_wrap *::after { box-sizing: border-box; }

/* 관리자 공지사항 체크박스 상단 바 */
.notice_admin_top_box {
    background-color: #fdf2f2;
    border: 1px solid #f5baba;
    padding: 15px 20px;
    margin-bottom: 20px;
    border-radius: 4px;
    font-size: 14px;
    color: #d11818;
}
.notice_admin_top_box input[type="checkbox"] {
    margin-right: 8px;
    vertical-align: middle;
    width: 16px;
    height: 16px;
}
.notice_admin_top_box label {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
}

/* 테이블 구조 */
.notice_form_table {
    border-top: 2px solid #000;
    border-bottom: 1px solid #ddd;
    margin-bottom: 30px;
}
.notice_form_row {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #e9ecef;
    min-height: 65px;
}
.notice_form_row.row_textarea {
    align-items: flex-start;
    padding: 15px 0;
}
.notice_row_title {
    width: 180px;
    min-width: 180px;
    font-size: 15px;
    font-weight: 500;
    color: #333;
    padding-left: 20px;
}
.notice_row_title .required {
    color: #e53935;
    margin-left: 3px;
}
.notice_row_content {
    flex-grow: 1;
    padding: 10px 20px;
}

/* 인풋 디자인 통일화 (450px 기준) */
.notice_write_wrap .form_input {
    width: 100%;
    max-width: 450px;
    height: 45px;
    padding: 0 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
    color: #333;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.2s;
}
.notice_write_wrap #wr_subject {
    max-width: 100%; /* 제목칸만 풀 와이드 배열 */
}
.notice_write_wrap .form_input:focus {
    border-color: #1E5BB8;
}
.notice_write_wrap .form_input.width_half, .notice_write_wrap .select_box {
    width: 100%;
    max-width: 450px; 
}
.notice_write_wrap .select_box {
    background: #fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M7 10l5 5 5-5z"/></svg>') no-repeat right 12px center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 35px;
    cursor: pointer;
}
.notice_write_wrap .editor_container_box {
    width: 100%;
}

/* 사진 및 파일 첨부 스타일 */
.notice_write_wrap .file_upload_box {
    font-size: 13px;
    color: #666;
    display: flex;
    align-items: center;
    width: 100%;
}
.notice_write_wrap .form_file {
    font-size: 14px;
}
.notice_write_wrap .file_del_label {
    margin-left: 20px;
    color: #e53935;
    cursor: pointer;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
}
.notice_write_wrap .file_del_label input {
    margin-right: 5px;
}

/* 하단 버튼 제어 영역 */
.notice_btn_area {
    display: flex;
    justify-content: center;
    gap: 12px;
}
.notice_btn_area .btn_cancel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 140px;
    height: 50px;
    background-color: #fff;
    color: #555;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s;
}
.notice_btn_area .btn_cancel:hover {
    background-color: #f5f5f5;
}
.notice_btn_area .btn_submit {
    width: 140px;
    height: 50px;
    background-color: #1E5BB8;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s;
}
.notice_btn_area .btn_submit:hover {
    background-color: #154594;
}
.bo-v-btn-wrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
}
/* 모바일 반응형 처리 */
@media (max-width: 768px) {
    .notice_form_row {
        flex-direction: column;
        align-items: flex-start;
        padding: 12px 15px !important;
    }
    .notice_row_title {
        width: 100%;
        padding-left: 0;
        margin-bottom: 8px;
    }
    .notice_row_content {
        width: 100%;
        padding: 0;
    }
    .notice_write_wrap .form_input, .notice_write_wrap .form_input.width_half, .notice_write_wrap .select_box {
        width: 100%;
        max-width: none;
    }
    .notice_write_wrap .file_upload_box {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    .notice_write_wrap .file_del_label {
        margin-left: 0;
    }
    .notice_btn_area .btn_cancel, .notice_btn_area .btn_submit {
        flex: 1;
        height: 45px;
    }
    .qna_category_tabs ul li { flex: none !important; width: 50% !important; }
    .qna_category_tabs ul li a { font-size: 14px; padding: 12px 5px; }
}