@charset "utf-8";

/* ===================================================================
   게시판 공통 스타일 (basic / gallery 공용)
   =================================================================== */

/* ----- 공통 변수 ----- */
:root{
    --bd-color: #004E73;
    --bd-border: #d0d0d0;
    --bd-bg: #f9f9f9;
    --bd-text: #333;
    --bd-sub: #888;
    --bd-radius: 8px;
}

/* ----- 카테고리 ----- */
#bo_cate{margin: 0 0 20px;}
#bo_cate h2{position: absolute; font-size: 0; line-height: 0; overflow: hidden;}
#bo_cate ul{display: flex; flex-wrap: wrap; gap: 8px;}
#bo_cate a{display: block; padding: 8px 20px; border: 1px solid var(--bd-border); border-radius: 100px; font-size: 14px; color: var(--bd-sub); transition: all 0.2s;}
#bo_cate a:hover, #bo_cate a:focus{color: var(--bd-color); border-color: var(--bd-color);}
#bo_cate #bo_cate_on{background: var(--bd-color); color: #fff; border-color: var(--bd-color); font-weight: 600;}

/* ----- 목록 상단 ----- */
#bo_btn_top{display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px;}
#bo_btn_top:after{display: none;}
#bo_list_total{font-size: 15px; color: var(--bd-text); font-weight: 600;}
#bo_list_total span{color: var(--bd-color); font-weight: 700;}
.btn_bo_user{display: flex; gap: 6px; list-style: none; margin: 0; padding: 0;}
.btn_bo_user li{margin: 0; position: relative;}
.btn_bo_user .btn{display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 1px solid var(--bd-border); border-radius: var(--bd-radius); font-size: 14px; color: var(--bd-sub); transition: all 0.2s;}
.btn_bo_user .btn:hover{color: var(--bd-color); border-color: var(--bd-color);}
.btn_bo_adm{float: left;}
.btn_bo_adm li{float: left; margin-right: 5px;}
.btn_bo_adm input{padding: 0 12px; height: 34px; border: 1px solid var(--bd-border); border-radius: var(--bd-radius); background: #fff; color: var(--bd-text); font-size: 13px;}

/* ----- 옵션 팝업 ----- */
.more_opt{display: none; position: absolute; top: 100%; right: 0; margin-top: 6px; background: #fff; border: 1px solid var(--bd-border); border-radius: var(--bd-radius); z-index: 999; box-shadow: 0 4px 12px rgba(0,0,0,0.08); overflow: hidden; min-width: 120px;}
.more_opt:before, .more_opt:after{display: none;}
.more_opt li{padding: 0; float: inherit; width: auto; margin: 0; border-bottom: 1px solid var(--bd-border);}
.more_opt li:last-child{border-bottom: 0;}
.more_opt li button, .more_opt li a{display: block; width: 100%; padding: 10px 20px; border: 0; background: #fff; color: var(--bd-text); font-size: 14px; text-align: left; white-space: nowrap;}
.more_opt li button:hover, .more_opt li a:hover{background: var(--bd-bg); color: var(--bd-color);}
.more_opt li i{float: right; line-height: 20px;}

/* ----- 목록 테이블 ----- */
#bo_list{position: relative; margin-bottom: 20px; padding: 120px 0 80px; width: 92% !important; max-width: 1200px; margin: 0 auto;}
.tbl_head01 table{width: 100%; border-collapse: collapse;}
.tbl_head01 caption{position: absolute; font-size: 0; overflow: hidden;}
.tbl_head01 thead th{padding: 14px 12px; font-size: 14px; font-weight: 500; color: var(--bd-sub); border-bottom: 2px solid var(--bd-text); text-align: center; background: none;}
.tbl_head01 tbody td{padding: 14px 12px; font-size: 14px; color: var(--bd-text); border-bottom: 1px solid var(--bd-border); text-align: center; vertical-align: middle;}
.tbl_head01 tbody tr:hover td{background: var(--bd-bg);}

#bo_list .td_num2{width: 60px; color: var(--bd-sub);}
#bo_list .td_subject{text-align: left; padding-left: 0;}
#bo_list .td_name{width: 100px; text-align: center;}
#bo_list .td_num{width: 60px; color: var(--bd-sub);}
#bo_list .td_datetime{width: 80px; color: var(--bd-sub);}
#bo_list .td_chk{width: 40px;}

.bo_tit{line-height: 140%;}
.bo_tit a{color: var(--bd-text); font-weight: 400; transition: color 0.2s;}
.bo_tit a:hover{color: var(--bd-color);}
.bo_current{color: var(--bd-color); font-weight: 600;}
.bo_cate_link{display: inline-block; margin-right: 8px; padding: 2px 10px; background: var(--bd-bg); color: var(--bd-color); font-size: 12px; border-radius: 4px; font-weight: 500;}

.bo_notice td{background: var(--bd-bg) !important;}
.bo_notice .notice_icon{color: var(--bd-color); font-weight: 600; font-size: 13px;}

#bo_list .cnt_cmt{background: var(--bd-bg); color: var(--bd-color); font-size: 11px; padding: 2px 6px; border-radius: 4px; margin-left: 4px; vertical-align: middle;}
#bo_list .bo_tit .new_icon{display: inline-block; width: 16px; line-height: 16px; font-size: 10px; color: var(--bd-color); background: #e0f0f7; text-align: center; border-radius: 3px; margin-left: 4px; font-weight: 700; vertical-align: middle;}
#bo_list .bo_tit .hot_icon{display: inline-block; width: 16px; line-height: 16px; font-size: 10px; color: #e8180c; background: #ffefef; text-align: center; border-radius: 3px; vertical-align: middle;}

.empty_table{padding: 80px 0 !important; color: var(--bd-sub); text-align: center;}

/* ----- 체크박스 ----- */
.selec_chk{position: absolute; top: 0; left: 0; width: 0; height: 0; opacity: 0; z-index: -1; overflow: hidden;}
.chk_box{position: relative;}
.chk_box input[type="checkbox"] + label{position: relative; color: var(--bd-sub); cursor: pointer;}
.chk_box input[type="checkbox"] + label span{display: inline-block; width: 18px; height: 18px; border: 1px solid #d0d4df; border-radius: 4px; vertical-align: middle; transition: all 0.2s; position: relative;}
.chk_box input[type="checkbox"]:checked + label span{background: var(--bd-color); border-color: var(--bd-color);}
.chk_box input[type="checkbox"]:checked + label span::after{content: ''; display: block; width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); position: absolute; top: 2px; left: 5px;}
.write_div .chk_box input[type="checkbox"] + label{padding-left: 24px;}
.write_div .chk_box input[type="checkbox"] + label span{position: absolute; top: 2px; left: 0;}

.gall_allchk{margin-bottom: 16px;}
.gall_allchk label{font-size: 14px; color: var(--bd-sub); display: inline-flex; align-items: center; gap: 8px; cursor: pointer;}

/* ----- 포트폴리오 그리드 ----- */
.gall_wrap{display: flex; flex-wrap: wrap; gap: 20px 2%;}
.gall_box{width: 32%; position: relative; border-radius: 16px; overflow: hidden;}
.folio_link{display: block; position: relative;}
.gall_img{display: block; overflow: hidden; aspect-ratio: 4/3;}
.gall_img img{width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease;}
.gall_box:hover .gall_img img{transform: scale(1.08);}

/* 오버레이 */
.folio_overlay{position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0); display: flex; flex-direction: column; align-items: center; justify-content: center; transition: background 0.4s;}
.gall_box:hover .folio_overlay{background: rgba(0,0,0,0.55);}
.folio_cate{display: inline-block; padding: 5px 14px; border: 1px solid rgba(255,255,255,0.5); border-radius: 100px; font-size: 12px; font-weight: 500; color: #fff; margin-bottom: 12px; opacity: 0; transform: translateY(10px); transition: all 0.3s 0.05s; line-height: 100%;}
.folio_title{display: block; font-size: 18px; font-weight: 700; color: #fff; text-align: center; opacity: 0; transform: translateY(10px); transition: all 0.3s 0.1s; line-height: 140%; padding: 0 20px; word-break: keep-all;}
.folio_more{display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; font-family: 'Outfit', sans-serif; font-size: 13px; font-weight: 600; color: #fff; letter-spacing: 1px; opacity: 0; transform: translateY(10px); transition: all 0.3s 0.15s; line-height: 100%;}
.gall_box:hover .folio_cate,
.gall_box:hover .folio_title,
.gall_box:hover .folio_more{opacity: 1; transform: translateY(0);}

.gall_chk{position: absolute; top: 12px; left: 12px; z-index: 2;}
.gall_empty{width: 100%; padding: 80px 0; text-align: center; color: var(--bd-sub);}

@media screen and (max-width: 1024px){
    .gall_box{width: 49%;}
}
@media screen and (max-width: 768px){
    .gall_box{width: 100%;}
    .folio_title{font-size: 16px;}
}

/* ----- 페이지네이션 ----- */
.pg_wrap{text-align: center; margin: 30px 0;}
.pg_wrap .pg{display: inline-flex; gap: 4px; align-items: center;}
.pg_wrap .pg a, .pg_wrap .pg_current{display: flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; padding: 0 6px; border: 1px solid var(--bd-border); border-radius: var(--bd-radius); font-size: 14px; color: var(--bd-sub); transition: all 0.2s;}
.pg_wrap .pg a:hover{color: var(--bd-color); border-color: var(--bd-color);}
.pg_wrap .pg_current{background: var(--bd-color); color: #fff; border-color: var(--bd-color); font-weight: 600;}

/* ----- 검색 팝업 ----- */
.bo_sch_wrap{display: none; width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 999;}
.bo_sch_bg{background: rgba(0,0,0,0.3); width: 100%; height: 100%;}
.bo_sch{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: #fff; width: 400px; border-radius: 12px; box-shadow: 0 8px 30px rgba(0,0,0,0.12); padding: 0; border: 0;}
.bo_sch h3{padding: 20px 24px; border-bottom: 1px solid var(--bd-border); font-size: 18px; font-weight: 600;}
.bo_sch form{padding: 24px;}
.bo_sch select{width: 100%; height: 44px; border: 1px solid var(--bd-border); border-radius: var(--bd-radius); padding: 0 12px; font-size: 14px; margin-bottom: 12px;}
.bo_sch .sch_bar{display: flex; border: 1px solid var(--bd-border); border-radius: var(--bd-radius); overflow: hidden; margin-top: 0;}
.bo_sch .sch_input{flex: 1; height: 44px; border: 0; padding: 0 12px; font-size: 14px;}
.bo_sch .sch_btn{width: 44px; height: 44px; border: 0; background: none; color: var(--bd-sub); font-size: 16px; cursor: pointer;}
.bo_sch .bo_sch_cls{position: absolute; right: 12px; top: 12px; border: 0; background: none; font-size: 18px; color: var(--bd-sub); cursor: pointer; padding: 8px;}


/* ===================================================================
   포트폴리오 상세 (fv_portfolio)
   =================================================================== */
.fv_portfolio{padding: 100px 0 80px !important; width: 92% !important; max-width: 1000px !important; margin: 0 auto !important;}

/* 상단 버튼 */
.fv_top_btns{display: flex; align-items: center; justify-content: space-between; margin-bottom: 40px;}
.fv_back{display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 500; color: var(--bd-sub); transition: color 0.2s;}
.fv_back:hover{color: var(--bd-text);}

/* 프로젝트 헤더 */
.fv_header{text-align: center; margin-bottom: 48px;}
.fv_cate{display: inline-block; padding: 6px 16px; border: 1px solid var(--bd-border); border-radius: 100px; font-size: 13px; font-weight: 500; color: var(--bd-color); margin-bottom: 16px; line-height: 100%;}
.fv_title{font-size: 32px; font-weight: 800; color: var(--bd-text); line-height: 140%; margin: 0 0 12px; word-break: keep-all;}
.fv_date{font-size: 14px; color: var(--bd-sub);}

/* 이미지 갤러리 */
.fv_gallery{display: flex; flex-direction: column; gap: 8px; margin-bottom: 48px;}
.fv_gallery_item{border-radius: 12px; overflow: hidden;}
.fv_gallery_item img{width: 100%; display: block;}

/* 본문 */
.fv_content{font-size: 16px; line-height: 190%; color: var(--bd-text); margin-bottom: 48px; word-break: break-all;}
.fv_content img{max-width: 100%; height: auto;}
.fv_content p{margin: 0 0 16px;}

/* 관련링크 */
.fv_links{display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 48px;}
.fv_link_btn{display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px; border: 1px solid var(--bd-border); border-radius: 100px; font-size: 14px; font-weight: 500; color: var(--bd-text); transition: all 0.2s;}
.fv_link_btn:hover{border-color: var(--bd-color); color: var(--bd-color);}
.fv_link_btn i{font-size: 16px;}

/* 이전/다음글 */
.fv_portfolio .bo_v_nb{margin: 0; padding: 0; list-style: none;}
.fv_portfolio .bo_v_nb li{padding: 14px 0; border-bottom: 1px solid var(--bd-border); font-size: 14px;}
.fv_portfolio .bo_v_nb li:first-child{border-top: 1px solid var(--bd-border);}
.fv_portfolio .bo_v_nb li:hover{background: none;}
.fv_portfolio .bo_v_nb .nb_tit{display: inline-block; width: 80px; color: var(--bd-sub); font-size: 13px;}
.fv_portfolio .bo_v_nb .nb_tit i{margin-right: 4px;}
.fv_portfolio .bo_v_nb a{color: var(--bd-text); transition: color 0.2s;}
.fv_portfolio .bo_v_nb a:hover{color: var(--bd-color);}
.fv_portfolio .bo_v_nb .nb_date{float: right; color: var(--bd-sub); font-size: 13px;}


/* ===================================================================
   게시물 댓글
   =================================================================== */
.cmt_btn{width: 100%; text-align: left; border: 0; border-bottom: 1px solid var(--bd-border); background: none; font-weight: 600; font-size: 16px; margin: 30px 0 0; padding: 0 0 16px; color: var(--bd-text);}
.cmt_btn span.total{color: var(--bd-color); font-size: 16px; margin-right: 4px;}
.cmt_btn span.total:after{display: none;}

#bo_vc h2{position: absolute; font-size: 0; overflow: hidden;}
#bo_vc article{margin: 0; padding: 20px 0; border-bottom: 1px solid var(--bd-border);}
#bo_vc article:after{display: block; visibility: hidden; clear: both; content: "";}
#bo_vc article .pf_img{float: left; margin-right: 12px;}
#bo_vc article .pf_img img{width: 40px; height: 40px; border-radius: 50%; object-fit: cover;}
#bo_vc article .cm_wrap{float: left; max-width: 90%; width: 90%;}
#bo_vc header{width: 100%;}
#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest{font-weight: 600; font-size: 14px;}
.bo_vc_hdinfo{color: var(--bd-sub); font-size: 13px;}
#bo_vc .cmt_contents{line-height: 170%; padding: 8px 0 0; font-size: 14px; color: var(--bd-text);}
#bo_vc_empty{padding: 60px 0 !important; color: var(--bd-sub); text-align: center;}

.bo_vc_act{display: none; position: absolute; right: 0; top: 40px; border: 1px solid var(--bd-border); border-radius: var(--bd-radius); background: #fff; box-shadow: 0 4px 12px rgba(0,0,0,0.08); z-index: 9999; list-style: none; margin: 0; padding: 0; overflow: hidden;}
.bo_vc_act:before, .bo_vc_act:after{display: none;}
.bo_vc_act li{border-bottom: 1px solid var(--bd-border);}
.bo_vc_act li:last-child{border-bottom: 0;}
.bo_vc_act li a{display: block; padding: 10px 20px; font-size: 14px;}
.bo_vc_act li a:hover{background: var(--bd-bg); color: var(--bd-color);}

/* 댓글 작성 */
.bo_vc_w{margin: 20px 0;}
.bo_vc_w h2{position: absolute; font-size: 0; overflow: hidden;}
.bo_vc_w textarea{width: 100%; height: 100px; border: 1px solid var(--bd-border); border-radius: var(--bd-radius); padding: 12px; font-size: 14px; font-family: inherit; resize: vertical; box-shadow: none;}
.bo_vc_w textarea:focus{outline: none; border-color: var(--bd-color);}
.bo_vc_w_info{margin: 10px 0; display: flex; gap: 8px;}
.bo_vc_w_info .frm_input{margin: 0;}
.bo_vc_w .btn_confirm{margin-top: 12px; display: flex; align-items: center; gap: 12px;}
.bo_vc_w .btn_submit{height: 42px; padding: 0 24px; background: var(--bd-color); color: #fff; border: 0; border-radius: var(--bd-radius); font-size: 14px; font-weight: 600; cursor: pointer; transition: opacity 0.2s;}
.bo_vc_w .btn_submit:hover{opacity: 0.85;}
.secret_cm{display: inline-flex; align-items: center;}


/* ===================================================================
   글쓰기
   =================================================================== */
#bo_w{width: 92%; max-width: 1200px; margin: 0 auto; padding: 80px 0;}
#bo_w .write_div{margin: 0; position: relative;}
#bo_w .write_div:after{display: block; visibility: hidden; clear: both; content: "";}

/* 입력 필드 공통 */
.frm_input{width: 100%; height: 48px; border: 1px solid var(--bd-border); border-radius: 10px; padding: 0 16px; font-size: 15px; font-family: inherit; color: var(--bd-text); background: #fff; transition: border-color 0.25s, box-shadow 0.25s;}
.frm_input:focus{outline: none; border-color: var(--bd-color); box-shadow: 0 0 0 3px rgba(0,78,115,0.08);}
.frm_input::placeholder{color: #bbb;}
.half_input{width: calc(50% - 6px);}
.full_input{width: 100%;}

/* 카테고리 선택 */
#bo_w .bo_w_select{margin-bottom: 16px;}
#bo_w .bo_w_select select{width: 280px; height: 48px; border: 1px solid var(--bd-border); border-radius: 10px; padding: 0 16px; font-size: 15px; font-family: inherit; color: var(--bd-text); background: #fff; appearance: auto; transition: border-color 0.25s;}
#bo_w .bo_w_select select:focus{outline: none; border-color: var(--bd-color);}

/* 이름/비밀번호/이메일/홈페이지 */
#bo_w .bo_w_info{display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 16px;}
#bo_w .bo_w_info .frm_input{float: none; width: calc(50% - 6px); margin: 0;}
#bo_w #wr_password, #bo_w #wr_homepage{margin-left: 0;}

/* 옵션 체크박스 */
#bo_w .bo_v_option{display: flex; gap: 20px; list-style: none; margin: 0; padding: 0;}
#bo_w .bo_v_option li{float: none; margin: 0; font-size: 14px; color: var(--bd-text);}
#bo_w .write_div:has(.bo_v_option){margin-bottom: 16px;}

/* 제목 + 임시저장 */
#bo_w .bo_w_tit{margin-bottom: 16px !important;}
#bo_w .bo_w_tit .frm_input{padding-right: 120px; font-weight: 500;}
#bo_w .bo_w_tit #btn_autosave{position: absolute; top: 9px; right: 10px; height: 30px; padding: 0 14px; border: 1px solid var(--bd-border); border-radius: 6px; font-size: 13px; color: var(--bd-sub); background: var(--bd-bg); cursor: pointer; transition: all 0.2s;}
#bo_w .bo_w_tit #btn_autosave:hover{border-color: var(--bd-color); color: var(--bd-color);}

/* 임시저장 팝업 */
#autosave_wrapper{position: relative;}
#autosave_pop{display: none; position: absolute; top: 54px; right: 0; width: 380px; background: #fff; border: 1px solid var(--bd-border); border-radius: 12px; box-shadow: 0 8px 24px rgba(0,0,0,0.1); z-index: 10; overflow: hidden;}
#autosave_pop:before, #autosave_pop:after{display: none;}
#autosave_pop strong{display: block; padding: 16px 20px; font-size: 15px; font-weight: 600; border-bottom: 1px solid var(--bd-border);}
#autosave_pop ul{padding: 8px 12px; list-style: none; max-height: 200px; overflow-y: auto; border-bottom: 1px solid var(--bd-border);}
#autosave_pop li{padding: 10px 12px; border-radius: 8px; background: var(--bd-bg); margin-bottom: 4px;}
#autosave_pop li:after{display: block; visibility: hidden; clear: both; content: "";}
#autosave_pop a{float: left; font-size: 14px; color: var(--bd-text);}
#autosave_pop span{float: right; font-size: 12px; color: var(--bd-sub);}
.autosave_close{width: 100%; height: 40px; border: 0; background: none; color: var(--bd-sub); font-size: 13px; cursor: pointer; transition: all 0.2s;}
.autosave_close:hover{background: var(--bd-bg); color: var(--bd-color);}
.autosave_content{display: none;}
.autosave_del{background: none; text-indent: -999px; overflow: hidden; height: 20px; width: 20px; border: 0;}

/* 내용 에디터 */
#bo_w .write_div:has(.wr_content){margin-bottom: 20px;}
.wr_content{border: 1px solid var(--bd-border); border-radius: 12px; overflow: hidden; background: #fff; transition: border-color 0.25s;}
.wr_content:focus-within{border-color: var(--bd-border);}
.wr_content textarea{width: 100%; min-height: 320px; border: 0; border-radius: 0; padding: 20px; font-size: 15px; font-family: inherit; resize: vertical; line-height: 180%; color: var(--bd-text);}
.wr_content textarea:focus{outline: none; box-shadow: none;}
#char_count_desc{font-size: 13px; color: var(--bd-sub); margin-bottom: 8px;}
#char_count_wrap{text-align: right; font-size: 13px; color: var(--bd-sub); margin-top: 8px; padding: 0 4px;}
#char_count{font-weight: 600; color: var(--bd-color);}

/* 링크 */
#bo_w .bo_w_link{margin: 8px 0 0 !important;}
#bo_w .bo_w_link label{position: absolute; top: 0; left: 0; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; font-size: 16px; color: var(--bd-sub);}
#bo_w .bo_w_link .frm_input{padding-left: 48px;}

/* 파일 첨부 — 커스텀 업로드 버튼 */
#bo_w .bo_w_flie{margin: 8px 0 0 !important; border: 0;}
#bo_w .bo_w_flie .file_wr{display: flex; align-items: center; gap: 12px; border: 1px solid var(--bd-border); border-radius: 10px; padding: 0; margin: 0; background: #fff; overflow: hidden;}
#bo_w .bo_w_flie .lb_icon{display: none;}
#bo_w .bo_w_flie .frm_file{width: 100%; font-size: 14px; color: var(--bd-sub); padding: 12px 16px;}
#bo_w .bo_w_flie .frm_file::file-selector-button{padding: 6px 16px; border: 1px solid var(--bd-border); border-radius: 6px; background: var(--bd-bg); color: var(--bd-text); font-size: 13px; font-family: inherit; cursor: pointer; margin-right: 12px; transition: all 0.2s;}
#bo_w .bo_w_flie .frm_file::file-selector-button:hover{background: var(--bd-color); color: #fff; border-color: var(--bd-color);}
#bo_w .bo_w_flie .frm_input{margin-top: 8px;}
#bo_w .bo_w_flie .file_del{display: block; margin-top: 8px; font-size: 13px; color: var(--bd-sub); position: static;}

/* 하단 bo_fx */
.bo_fx{display: flex; align-items: center; justify-content: flex-end; margin-top: 16px;}

/* 하단 버튼 */
.btn_confirm{display: flex; justify-content: center; gap: 12px; margin-top: 40px; padding-top: 24px;}
.btn_confirm a, .btn_confirm button{display: inline-flex; align-items: center; justify-content: center; width: 130px !important; height: 52px !important; padding: 0 !important; border-radius: 12px; font-size: 15px !important; font-family: inherit; cursor: pointer; transition: all 0.25s; text-decoration: none; letter-spacing: -0.2px; line-height: 52px !important;}
.btn_cancel{background: #ebebeb; border: 0; color: var(--bd-text); font-weight: 600;}
.btn_cancel:hover{background: #e0e0e0;}
.btn_submit{background: var(--bd-color); border: 0; color: #fff; font-weight: 600;}
.btn_submit:hover{background: #003d5c;}
.btn_frmline{display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border: 1px solid var(--bd-border); border-radius: 6px; font-size: 12px; color: var(--bd-sub); background: #fff; cursor: pointer;}

/* 캡챠 */
#bo_w .write_div:has(#captcha){margin-top: 20px;}


/* ===================================================================
   반응형
   =================================================================== */
@media screen and (max-width: 768px){
    .tbl_head01 thead{display: none;}
    .tbl_head01 tbody td{display: block; width: 100%; text-align: left; padding: 4px 0; border: 0;}
    .tbl_head01 tbody tr{display: block; padding: 14px 0; border-bottom: 1px solid var(--bd-border);}
    #bo_list .td_num2{display: none;}
    #bo_list .td_chk{position: absolute; right: 0; top: 14px; width: auto; border: 0;}
    #bo_list .td_name{width: auto; text-align: left; font-size: 13px; color: var(--bd-sub); display: inline;}
    #bo_list .td_datetime{width: auto; display: inline; font-size: 13px;}
    #bo_list .td_num{display: none;}
    #bo_v_title .bo_v_tit{font-size: 20px;}
    #bo_v_info{flex-direction: column; align-items: flex-start; gap: 12px;}
    #bo_w{max-width: 100%;}
    #bo_w .bo_w_info .frm_input{width: 100%;}
    .half_input{width: 100%;}
    #bo_w .bo_w_select select{width: 100%;}
    .bo_sch{width: 90%; max-width: 400px;}
    .btn_confirm{padding-top: 20px; margin-top: 24px;}
    .btn_cancel, .btn_submit{height: 44px; padding: 0 28px; font-size: 14px;}

    /* 포트폴리오 view 모바일 */
    .fv_portfolio{padding: 80px 0 60px !important;}
    .fv_title{font-size: 24px;}
}
