@charset "utf-8";

#bo_v section{
    padding: 0!important;
}
/* 게시판 버튼 */
/* 목록 버튼 */
#bo_list a.btn_b01 {}
#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {}
#bo_list a.btn_b02 {font-size: 16px; display: flex; align-items: center; align-items: center;}
#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {}
#bo_list a.btn_admin {} /* 관리자 전용 버튼 */
#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {}

/* 읽기 버튼 */
#bo_v a.btn_b01 {font-size: 16px;}
#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {}
#bo_v a.btn_b02 {font-size: 16px;  display: flex; align-items: center; align-items: center;}
#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {}
#bo_v a.btn_admin {font-size: 16px;} /* 관리자 전용 버튼 */
#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {}

/* 쓰기 버튼 */
#bo_w .btn_confirm {} /* 서식단계 진행 */
#bo_w .btn_submit {padding:0 20px; font-size: 16px;}
#bo_w button.btn_submit {}
#bo_w fieldset .btn_submit {}
#bo_w .btn_cancel {font-size: 16px;}
#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 {}
#bo_list .tbl_head01 caption {}
#bo_list .tbl_head01 thead th {}
#bo_list .tbl_head01 thead a {}
#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 {word-break: keep-all;}
#bo_list .tbl_head01 a {}
#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 {}

/* performance write/view */
#bo_w .bo_w_tit, #bo_w .performance_field, #bo_w .performance_date_fields,
#bo_w .wr_content, #bo_w .bo_w_flie {box-sizing:border-box;}
#bo_w .bo_w_tit, #bo_w > form > .performance_field,
#bo_w .performance_date_fields {margin-bottom:18px;}
#bo_w > form > .performance_field,
#bo_w .performance_date_fields .performance_field {
    display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;
}
#bo_w .performance_date_fields {display:flex;gap:24px;}
#bo_w .performance_date_fields .performance_field {flex:1 1 0;min-width:0;}
#bo_w .performance_field label {margin:0;font-size:16px;font-weight:600;color:#222;}
#bo_w .performance_field .frm_input, #bo_w .bo_w_tit .frm_input {
    width:100%;height:48px;padding:0 14px;border:1px solid #ddd;
    box-sizing:border-box;background:#fff;font-size:15px;
}
#bo_w .performance_field .frm_input:focus, #bo_w .bo_w_tit .frm_input:focus {
    border-color:var(--main-blue,#1f5fae);outline:none;
}
#bo_w .wr_content {margin-top:6px;}
#bo_w .wr_content textarea {
    min-height:260px;padding:15px;border:1px solid #ddd;
    box-sizing:border-box;line-height:1.7;
}
#bo_w .bo_w_flie {margin-top:18px;}
#bo_w .bo_w_flie .file_wr {width:100%;box-sizing:border-box;}
#bo_w .btn_confirm {margin-top:30px;text-align:center;}
#bo_w .btn_confirm .btn_cancel, #bo_w .btn_confirm .btn_submit {
    display:inline-block;width:160px;height:50px;padding:0 20px !important;
    box-sizing:border-box;font-size:16px;line-height:48px;text-align:center;vertical-align:middle;
}
#bo_w .btn_confirm .btn_submit:hover, #bo_w .btn_confirm .btn_submit:focus {
    display:inline-block;border-color:var(--main-deep-blue,#16477f);
    background:var(--main-deep-blue,#16477f);
}

#bo_v > header {padding-bottom:24px;}
#bo_v #bo_v_title {margin:0;line-height:1.4;}
#bo_v #bo_v_title .bo_v_tit {font-size:28px;font-weight:700;color:#222;}
#bo_v .performance_info {margin-top:30px;}
#bo_v .performance_info table {width:100%;table-layout:auto;border-top:1px solid #333;}
#bo_v .performance_info th, #bo_v .performance_info td {
    padding:17px 20px;border-bottom:1px solid #ddd;box-sizing:border-box;
    font-size:15px;line-height:1.6;text-align:left;word-break:keep-all;
}
#bo_v .performance_info th {width:130px;background:#f5f7fa;font-weight:600;color:#222;}
#bo_v #bo_v_info {margin-top:12px;}
#bo_v .performance_section_title {
    margin:45px 0 18px;padding-left:12px;border-left:4px solid var(--main-blue,#1f5fae);
    font-size:22px;font-weight:700;line-height:1.3;color:#222;
}
#bo_v .performance_photos #bo_v_img {
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0;
}
#bo_v .performance_photos #bo_v_img img {
    display:block;width:100%;max-width:100%;height:auto;margin:0;
}
#bo_v #bo_v_con {
    min-height:180px;padding:25px;border:1px solid #e2e2e2;
    box-sizing:border-box;line-height:1.8;background:#fff;
}
#bo_v #bo_v_file {margin-top:35px;}
#bo_v #bo_v_top {margin-top:30px;}

/* performance list */
#bo_list #bo_sch,
#bo_list .bo_fx {margin-bottom:30px;}
#bo_list #fboardlist > .bo_fx {display:block;clear:none;float:right;width:auto;}
#bo_list #fboardlist > .bo_fx + .performance_list {clear:both;}

#bo_list .performance_list table {width:100%;table-layout:fixed;}
#bo_list .performance_list th,
#bo_list .performance_list td {padding:14px 12px;text-align:center;vertical-align:middle;}
#bo_list .performance_list th:nth-last-child(1) {width:150px;}
#bo_list .performance_list th:nth-last-child(2),
#bo_list .performance_list th:nth-last-child(3) {width:140px;}
#bo_list .performance_list th:nth-last-child(4) {width:22%;}
#bo_list .performance_list .performance_subject {text-align:left;}
#bo_list .performance_list .performance_subject a {
    display:block;font-weight:600;line-height:1.5;color:#222;word-break:keep-all;
}
#bo_list .performance_list .performance_thumb img {
    display:block;width:120px;height:80px;margin:0 auto;object-fit:cover;
}
#bo_list .performance_list .performance_thumb .no_image {
    display:flex;width:120px;height:80px;margin:0 auto;align-items:center;justify-content:center;
    background:#f4f4f4;color:#999;font-size:12px;
}

@media screen and (max-width:768px) {
    #bo_w > form > .performance_field,
    #bo_w .performance_date_fields .performance_field {grid-template-columns:80px minmax(0,1fr);}
    #bo_w .performance_date_fields {display:block;}
    #bo_w .performance_date_fields .performance_field {margin-bottom:12px;}
    #bo_w .wr_content textarea {min-height:220px;}
    #bo_v > header {padding-bottom:18px;}
    #bo_v #bo_v_title .bo_v_tit {font-size:24px;}
    #bo_v .performance_info {margin-top:22px;}
    #bo_v .performance_info th, #bo_v .performance_info td {padding:14px 15px;font-size:14px;}
    #bo_v .performance_info th {width:105px;}
    #bo_v .performance_section_title {margin-top:35px;font-size:20px;}
    #bo_v .performance_photos #bo_v_img {gap:14px;}

    #bo_list .performance_list {overflow:visible;}
    #bo_list .performance_list table,
    #bo_list .performance_list tbody {display:block;width:100%;}
    #bo_list .performance_list thead {display:none;}
    #bo_list .performance_list tbody tr {
        position:relative;display:grid;grid-template-columns:minmax(0,1fr) 130px;
        grid-template-areas:"subject thumb" "client thumb" "contract thumb" "completion thumb";
        column-gap:18px;padding:20px;border:1px solid #ddd;border-radius:8px;
        margin-bottom:14px;background:#fff;box-sizing:border-box;
    }
    #bo_list .performance_list tbody td {
        display:block;width:auto;padding:5px 0;border:0;text-align:left;box-sizing:border-box;
    }
    #bo_list .performance_list .performance_subject {grid-area:subject;padding-bottom:10px;}
    #bo_list .performance_list .performance_subject a {font-size:17px;}
    #bo_list .performance_list .performance_client {grid-area:client;}
    #bo_list .performance_list .performance_contract_date {grid-area:contract;}
    #bo_list .performance_list .performance_completion_date {grid-area:completion;}
    #bo_list .performance_list .performance_thumb {
        grid-area:thumb;display:flex;align-items:center;justify-content:center;
    }
    #bo_list .performance_list .performance_client::before,
    #bo_list .performance_list .performance_contract_date::before,
    #bo_list .performance_list .performance_completion_date::before {
        display:inline-block;width:65px;font-weight:600;color:#333;
    }
    #bo_list .performance_list .performance_client::before {content:"발주처";}
    #bo_list .performance_list .performance_contract_date::before {content:"계약일";}
    #bo_list .performance_list .performance_completion_date::before {content:"준공일";}
    #bo_list .performance_list .td_chk {
        position:absolute;top:8px;right:8px;z-index:2;padding:0;
    }
    #bo_list .performance_list .empty_table {
        display:block;padding:60px 15px;text-align:center;
    }
}

@media screen and (max-width:600px) {
    #bo_v .performance_info tr {display:grid;grid-template-columns:90px minmax(0,1fr);}
    #bo_v .performance_info th, #bo_v .performance_info td,
    #bo_v .performance_info td[colspan] {display:block;width:auto;}
    #bo_v .performance_photos #bo_v_img {grid-template-columns:1fr;}
    #bo_v #bo_v_con {min-height:150px;padding:18px;}
}

@media screen and (max-width:480px) {
    #bo_w > form > .performance_field,
    #bo_w .performance_date_fields .performance_field {display:block;}
    #bo_w .performance_field label {display:block;margin-bottom:7px;font-size:14px;}
    #bo_w .performance_field .frm_input, #bo_w .bo_w_tit .frm_input {
        height:44px;font-size:14px;
    }
    #bo_w .wr_content textarea {min-height:180px;padding:12px;}
    #bo_w .btn_confirm {display:flex;gap:8px;}
    #bo_w .btn_confirm .btn_cancel, #bo_w .btn_confirm .btn_submit {
        flex:1 1 0;width:auto;min-width:0;height:46px;padding:0 10px !important;
        font-size:14px;line-height:44px;
    }
    #bo_v #bo_v_title .bo_v_tit {font-size:21px;}
    #bo_v .performance_info tr {grid-template-columns:78px minmax(0,1fr);}
    #bo_v .performance_info th, #bo_v .performance_info td {padding:12px 10px;font-size:13px;}
    #bo_v .performance_section_title {margin:28px 0 14px;padding-left:9px;font-size:18px;}
    #bo_v #bo_v_con {padding:14px;font-size:14px;}

    #bo_list .performance_list tbody tr {
        display:grid;grid-template-columns:1fr;
        grid-template-areas:"subject" "thumb" "client" "contract" "completion";
        row-gap:4px;padding:16px;
    }
    #bo_list .performance_list .performance_subject {padding:0 24px 8px 0;}
    #bo_list .performance_list .performance_subject a {font-size:16px;}
    #bo_list .performance_list .performance_thumb {
        justify-content:flex-start;padding:5px 0 12px;
    }
    #bo_list .performance_list .performance_thumb img,
    #bo_list .performance_list .performance_thumb .no_image {
        margin:0;
    }
    #bo_list .performance_list tbody td {font-size:14px;}
    #bo_list .performance_list .performance_client::before,
    #bo_list .performance_list .performance_contract_date::before,
    #bo_list .performance_list .performance_completion_date::before {width:58px;}
    #bo_list .bo_fx .btn_bo_user {display:flex;flex-wrap:wrap;gap:5px;}
    #bo_list #bo_sch {width:100%;box-sizing:border-box;}
}



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