@charset "utf-8"; /* 게시판 목록 */
#bo_list {
    position: relative;
    margin-bottom: 20px
}

#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;
    border-top: 1px solid #ecf0f1;
    border-bottom: 1px solid #ecf0f1
}

#bo_list .td_date { /* 데스크톱용 날짜 컬럼 너비 */
    width: 80px; /* 필요시 조정 */
    text-align: center;
}

#bo_list .td_datetime { /* 데스크톱용 날짜 컬럼 너비 */
    width: 80px; /* 필요시 조정 */
    text-align: center;
    font-size: 1.2em;
}


#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 {
    border-left: 2px solid transparent
}

#bo_list tbody tr:hover {
    /* border-left: 2px solid #cdcdcd; */ /* 모바일에서는 이 효과가 어색할 수 있음 */
}
#bo_list tbody tr.desktop_row_content:hover { /* 데스크톱 행에만 호버 효과 적용 */
    border-left: 2px solid #cdcdcd;
}


#bo_list tbody .even td {
    background: #fbfbfb
}

/* 데스크톱용 정보 셀 스타일 */
#bo_list .td_info_region,
#bo_list .td_info_gender,
#bo_list .td_info_pay {
    text-align: center;
    /* width: 100px; */ /* 필요에 따라 너비 지정 */
}


#bo_list tbody td.td_pay {
    padding-right: 20px;
}

#bo_list tbody td.td_pay .pay-wrap {
    display: flex;
    justify-content: space-between;
}

#bo_list tbody td.td_pay .pay-wrap .loc-wrap {
    font-size: 1.3em;
    display: flex;
    word-break: auto-phrase;
}

#bo_list tbody td.td_pay .pay-wrap .info-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
}

#bo_list tbody td.td_pay .pay-wrap .info-wrap > span {
    /* margin-right: 1px; */
}

#bo_list tbody td.td_pay .pay-wrap .info-wrap .pay {
    font-size: 1.3em;
    /* margin-left: 5px; */
}

#bo_list tbody td .sex:after {
    display: inline-block ;
    color: white;
    padding: 1px 2px;
}

#bo_list tbody td .sex.female:after {
    content: "여";
    background: #FF9800;
}

#bo_list tbody td .sex.male:after {
    content: "남";
    background: #2196F3;
}

#bo_list tbody td .sex.all:after {
    content: "모";
    background: #8BC34A;
}

#bo_list tbody td .pay_term:after {
    display: inline-block ;
    color: white;
    padding: 1px 2px;
}

#bo_list tbody td .pay_term.percent:after {
    content: "능";
    background: #CDDC39;
}

#bo_list tbody td .pay_term.promise:after {
    content: "보";
    background: #be79ec;
}

#bo_list tbody td .pay_term.discuss:after {
    content: "협";
    background: #CDDC39;
}

#bo_list tbody td .pay_term.month:after {
    content: "월";
    background: #FFC107;
}

#bo_list tbody td .pay_term.week:after {
    content: "주";
    background: #FFEB3B;
}

#bo_list tbody td .pay_term.day:after {
    content: "일";
    background: #4CAF50;
}

#bo_list tbody .even td.td_thumb {
    width: 10.3rem;
}

#bo_list tbody .even td.td_thumb img {
}

.testmode #bo_list tbody td.td_thumb img {
    filter: blur(13px);
}

.testmode #bo_list tbody td.td_thumb .img-item:after {
    content: "모집중";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 1.5em;
    font-weight: bold;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 5px 10px;
    border-radius: 5px;
    text-align: center;
    pointer-events: none;
    min-width: 140px;
    z-index: 1;
}

.img-wrap {
    display: block;
    position: relative;
    height: 0;
    overflow: hidden;
    padding-bottom: 48.25%;
}

.img-wrap .img-item {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.img-wrap .img-item img, .img-wrap .img-item video {
    display: block;
    border: 0;
    width: 100%;
    height: 100%;
    margin: 0px auto;
    object-fit: cover;
}

#bo_cate {
    margin: 25px 0 10px 0;
}

#bo_cate h2 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden
}

.sly_wrap {
    /* background: #e1e1e1; */
}

#bo_cate ul {
    zoom:1; border-bottom: 1px solid #e1e1e1;
}

#bo_cate ul:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

#bo_cate li {
    display: inline-block;
}

#bo_cate a {
    display: block;
    padding: 7px 10px;
    border: 1px solid #e1e1e1;
    color: #535353;
    border-right-width: 0;
    border-bottom: 0 !important;
    background: #f7f7f7;
    font-size: 1.2em;
}

#bo_cate li:last-child a {
    border-right-width: 1px;
}

#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {
    text-decoration: none;
    background: #535353;
    color: #fff;
}

#bo_cate #bo_cate_on {
    z-index: 2;
    background: #535353;
    color: #fff;
    font-weight: bold;
    border: 1px solid #535353;
    -moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202);
}

.td_subject img {
    margin-left: 5px
}

.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;
    color: #676e70
}

.chk_box input[type="checkbox"] + label:hover {
    color: #2172f8
}

.chk_box input[type="checkbox"] + label span {
    float: left;
    width: 15px;
    height: 15px;
    display: block;
    background: #fff;
    border: 1px solid #d0d4df;
    border-radius: 3px
}

.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {
    padding-left: 20px
}

.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {
    position: absolute;
    top: 2px;
    left: 0;
    width: 15px;
    height: 15px;
    display: block;
    margin: 0;
    background: #fff;
    border: 1px solid #d0d4df;
    border-radius: 3px
}

.chk_box input[type="checkbox"]:checked + label {
    color: #000
}

.chk_box input[type="checkbox"]:checked + label span {
    background: url(./img/chk.png) no-repeat 50% 50% #3a8afd;
    border-color: #1471f6;
    border-radius: 3px
}

#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;
    line-height: 34px;
    font-size: 0.92em;
    color: #4e546f
}

.btn_bo_user {
    float: right;
    margin: 0;
    padding: 0;
    list-style: none
}

.btn_bo_user li {
    float: left;
    width: 40px;
    text-align: center;
    margin-left: 5px;
    background: #fff
}

.btn_bo_user > li {
    position: relative
}

.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: #fff6fa !important;
    border-bottom: 1px solid #f8e6ee
}

.bo_notice td a {
    font-weight: bold
}

.bo_notice .notice_icon {
    display: inline-block;
    line-height: 25px;
    border-radius: 5px;
    font-weight: bold;
    color: #f9267f
}

.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: 90px;
    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 {
    float: left;
    display: inline-block;
    margin-right: 10px;
    background: #e2eaf6;
    color: #3a8afd;
    font-weight: normal !important;
    height: 20px;
    line-height: 10px;
    padding: 5px 8px;
    border-radius: 5px;
    font-size: 0.95em;
    /* display: none; */ /* 데스크톱에서는 보이도록 할 수 있음 */
}

.bo_tit {
    display: block;
    color: #000;
    font-weight: bold;
    font-size: 1.2em;
}

.bo_current {
    color: #e8180c
}

#bo_list .profile_img img {
    border-radius: 50%
}

#bo_list .cnt_cmt {
    background: #e9eff5;
    color: #3a8afd;
    font-size: 11px;
    height: 16px;
    line-height: 16px;
    padding: 0 5px;
    border-radius: 3px;
    vertical-align: middle;
    margin-left: 5px;
}

#bo_list .bo_tit .title_icon {
    margin-right: 2px
}

#bo_list .bo_tit .fa-heart {
    color: #ff0000
}

#bo_list .bo_tit .fa-lock,
.mobile_full_title .title_text .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 #cbe3e8;
    vertical-align: middle;
    margin-right: 3px;
}

#bo_list .bo_tit .new_icon,
.mobile_full_title .title_text .new_icon_mobile { /* 모바일용 새글 아이콘 */
    display: inline-block;
    /* width: 16px; */ /* 내용에 따라 자동 조절 */
    padding: 0 3px;
    line-height: 16px;
    font-size: 0.833em;
    color: #23db79;
    background: #b9ffda;
    text-align: center;
    border-radius: 2px;
    margin-left: 2px;
    font-weight: bold;
    vertical-align: middle;
}


#bo_list .bo_tit .hot_icon {
    display: inline-block;
    width: 16px;
    line-height: 16px;
    font-size: 0.833em;
    color: #ff0000;
    background: #ffb9b9;
    text-align: center;
    border-radius: 2px;
    vertical-align: middle
}

#bo_list .bo_tit .fa-caret-right {
    color: #bbb
}

#bo_list .bo_tit .fa-download {
    display: inline-block;
    width: 16px;
    line-height: 16px;
    font-size: 0.833em;
    color: #daae37;
    background: #ffefb9;
    text-align: center;
    border-radius: 2px;
    margin-left: 5px;
    vertical-align: middle
}

#bo_list .bo_tit .fa-link {
    display: inline-block;
    width: 16px;
    line-height: 16px;
    font-size: 0.833em;
    color: #b451fd;
    background: #edd3fd;
    text-align: center;
    border-radius: 2px;
    margin-left: 5px;
    vertical-align: middle
}

.bo_sch_wrap {
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999
}

.bo_sch {
    position: absolute;
    top: 50%;
    left: 50%;
    background: #fff;
    text-align: left;
    width: 330px;
    max-height: 300px;
    margin-left: -125px; /* 원본값 유지, 필요시 조정 */
    margin-top: -180px; /* 원본값 유지, 필요시 조정 */
    overflow-y: auto;
    border-radius: 5px;
    -webkit-box-shadow: 1px 1px 18px rgba(0,0,0,0.2);
    -moz-box-shadow: 1px 1px 18px rgba(0,0,0,0.2);
    box-shadow: 1px 1px 18px rgba(0,0,0,0.2);
    border: 1px solid #dde7e9;
    background: #fff;
    border-radius: 3px
}

.bo_sch:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

.bo_sch h3 {
    padding: 15px;
    border-bottom: 1px solid #e8e8e8
}

.bo_sch legend {
    background: red
}

.bo_sch form {
    padding: 15px;
    display: block
}

.bo_sch select {
    border: 0;
    width: 100%;
    height: 40px;
    border: 1px solid #d0d3db;
    border-radius: 2px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)
}

.bo_sch .sch_bar {
    display: inline-block;
    width: 100%;
    clear: both;
    margin-top: 15px;
    border: 1px solid #d0d3db;
    border-radius: 2px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)
}

.bo_sch .sch_input {
    width: 250px;
    height: 38px;
    border: 0;
    padding: 0 10px; /* 패딩 추가 */
    background-color: transparent;
    float: left
}

.bo_sch .sch_btn {
    height: 38px;
    float: right;
    color: #656565;
    background: none;
    border: 0;
    width: 40px;
    font-size: 15px
}

.bo_sch .bo_sch_cls {
    position: absolute;
    right: 0;
    top: 0;
    color: #b5b8bb;
    border: 0;
    padding: 12px 15px;
    font-size: 16px;
    background: #fff
}

.bo_sch_bg {
    background: #000;
    background: rgba(0,0,0,0.1);
    width: 100%;
    height: 100%
}

/* 데스크톱 기본: 모바일 행 숨김 */
.mobile_only_row {
    display: none;
}


/* --- 이하 기존 스타일 유지 --- */
/* 게시판 쓰기 */
#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: 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 }
#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; background: #fff; box-sizing: border-box; font-size: 1rem; }
#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: 20px; background: #e2eaf6; color: #3a8afd; padding: 0 10px; border-radius: 3px; }
#bo_v_title .bo_v_tit { display: block; font-size: 2em; margin: 5px 0 0; word-break: break-all }
#bo_v_info { margin: 0; border-bottom: 1px solid #f1f1f1; 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 .profile_info { margin: 20px 0 10px; display: inline-block; float: left }
#bo_v_info .profile_info .pf_img { float: left; margin-right: 10px }
#bo_v_info .profile_info .pf_img img { border-radius: 50%; width: 50px; height: 50px }
#bo_v_info .profile_info .profile_info_ct { float: left; padding: 5px 0; line-height: 18px }
#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 { display: none }
#bo_v_info .sv_member { color: #000 }
#bo_v_info .if_date { margin: 0; color: #888 }
#bo_v_file h2 { position: absolute; font-size: 0; line-height: 0; overflow: hidden }
#bo_v_file ul { margin: 0; list-style: none }
#bo_v_file li { padding: 15px; position: relative; margin: 10px 0; border: 1px solid #dfdfdf; border-radius: 5px; -webkit-box-shadow: 1px 1px 5px 0px hsl(232, 36%, 96%); -moz-box-shadow: 1px 1px 5px 0px hsl(232, 36%, 96%); box-shadow: 1px 1px 5px 0px hsl(232, 36%, 96%) }
#bo_v_file li i { float: left; color: #b2b2b2; font-size: 2.35em; margin-right: 20px }
#bo_v_file a { float: left; display: block; text-decoration: none; word-wrap: break-word; color: #000 }
#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active { text-decoration: underline; color: #3a8afd }
#bo_v_file img { float: left; margin: 0 10px 0 0 }
#bo_v_file .bo_v_file_cnt { color: #b2b2b2; font-size: 0.92em }
#bo_v_file li:hover { border-color: #bed4f4; color: #bed4f4 }
#bo_v_file li:hover i { color: #3a8afd }
#bo_v_file li:hover .bo_v_file_cnt { color: #99c2fc }
#bo_v_link h2 { position: absolute; font-size: 0; line-height: 0; overflow: hidden }
/* #bo_v_file ul { margin: 0; list-style: none } */ /* 중복 제거 */
#bo_v_link ul { margin:0; padding:0; list-style:none; } /* 추가 */
#bo_v_link li { padding: 15px; position: relative; margin: 10px 0; border: 1px solid #dfdfdf; border-radius: 5px; -webkit-box-shadow: 1px 1px 5px 0px hsl(232, 36%, 96%); -moz-box-shadow: 1px 1px 5px 0px hsl(232, 36%, 96%); box-shadow: 1px 1px 5px 0px hsl(232, 36%, 96%) }
#bo_v_link li i { float: left; color: #b2b2b2; font-size: 2.35em; margin-right: 20px }
#bo_v_link a { float: left; display: block; text-decoration: none; word-wrap: break-word; color: #000 }
#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active { text-decoration: underline; color: #3a8afd }
#bo_v_link .bo_v_link_cnt { color: #b2b2b2; font-size: 0.92em }
#bo_v_link li:hover { border-color: #bed4f4; color: #bed4f4 }
#bo_v_link li:hover i { color: #3a8afd }
#bo_v_link li:hover .bo_v_link_cnt { color: #99c2fc }
#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; background: #fff }
#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 { position: relative; float: left; margin-left: 5px }
.bo_v_nb { position: relative; margin: 20px 0; clear: both; text-align: left }
.bo_v_nb:after { display: block; visibility: hidden; clear: both; content: "" }
.bo_v_nb li { border-top: 1px solid #f1f1f1; padding: 13px }
.bo_v_nb li:last-child { border-bottom: 1px solid #f1f1f1 }
.bo_v_nb li:hover { background: #f6f6f6 }
.bo_v_nb li i { font-size: 13px; color: #b3b3b3 }
.bo_v_nb li .nb_tit { display: inline-block; padding-right: 20px; color: #b3b3b3 }
.bo_v_nb li .nb_date { float: right; color: #b3b3b3 }
#bo_v_atc { min-height: 200px; height: auto !important; height: 200px }
#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 .view-title { font-size: 1.3em; padding: 10px; font-weight: bold; color: cornflowerblue; }
#bo_v_con { margin: 10px 0 30px; width: 100%; line-height: 1.7em; min-height: 200px; word-break: break-all; overflow: hidden; font-size: 1em; border: 1px solid #dfdfdf; border-radius: 4px; padding: 10px; }
#bo_v_con a { color: #000; text-decoration: underline }
#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; color: #4a5158 }
#bo_v_act a:hover { background-color: #fff; color: #ff484f; border-color: #ff484f }
#bo_v_act i { font-size: 1.4em; margin-right: 5px }
#bo_v_act_good, #bo_v_act_nogood { display: none; position: absolute; top: 30px; left: 0; z-index: 9999; padding: 10px 0; width: 165px; background: #ff3061; color: #fff; text-align: center }
#bo_v_act .bo_v_good { display: inline-block; border: 1px solid #dedede; width: 70px; line-height: 46px; border-radius: 30px }
#bo_v_act .bo_v_nogood { display: inline-block; border: 1px solid #dedede; width: 70px; line-height: 46px; border-radius: 30px }
#bo_v_sns { padding: 0; list-style: none; zoom:1;float: left; display: inline-block }
#bo_v_sns:after { display: block; visibility: hidden; clear: both; content: "" }
#bo_v_sns li { float: left; width: 135px; margin-right: 5px; text-align: left }
#bo_v_sns li a { height: 35px; line-height: 35px; text-align: center; border-radius: 5px; color: #fff; font-size: 0.95em }
#bo_v_sns li img { vertical-align: middle; margin-right: 5px }
#bo_v_sns li .sns_f { display: block; background: #3b5997 }
#bo_v_sns li .sns_t { display: block; background: #09aeee }
#bo_v_sns li .sns_g { display: block; background: #ea4026 }
#bo_v_sns li .sns_k { display: block; background: #fbe300 }
#bo_v_share { position: relative; padding: 20px 0 }
#bo_v_share:after { display: block; visibility: hidden; clear: both; content: "" }
#bo_v_share .btn { padding: 0 10px; color: #555; font-weight: normal; font-size: 1em; line-height: 35px; height: 35px; border-color: #d5d5d5; border-radius: 5px }
#bo_v_share .btn:hover { background: #fff }
#bo_v_share .btn i { margin-right: 5px; color: #4b5259; vertical-align: middle }

/* 게시판 댓글 */
.cmt_btn { width: 100%; text-align: left; border: 0; border-bottom: 1px solid #f0f0f0; background: #fff; font-weight: bold; margin: 30px 0 0px; padding: 0 0 15px }
.cmt_btn span.total { position: relative; display: inline-block; margin-right: 5px; font-size: 1em; color: #3a8afd }
.cmt_btn span.cmt_more { float: right; display: inline-block; width: 15px; height: 10px; background: url(./img/btn_cmt.png) no-repeat right 2px; margin-top: 5px }
.cmt_btn_op span.cmt_more { background-position: right -8px }
.cmt_btn b { font-size: 1.2em; color: #000 }
.cmt_btn span.total:after { position: absolute; bottom: -17px; left: 0; display: inline-block; background: #3a8afd; content: ""; width: 100%; height: 2px }
#bo_vc {}
#bo_vc h2 { position: absolute; font-size: 0; line-height: 0; overflow: hidden }
#bo_vc article { margin: 20px 0; position: relative; border-bottom: 1px solid #f0f0f0 }
#bo_vc article:after { display: block; visibility: hidden; clear: both; content: "" }
#bo_vc article .profile_img img { border-radius: 50% }
#bo_vc article .pf_img { float: left; margin-right: 10px }
#bo_vc article .pf_img img { border-radius: 50%; width: 50px; height: 50px }
#bo_vc article .cm_wrap { float: left; max-width: 870px; width: 90% }
#bo_vc header { position: relative; width: 100% }
#bo_vc header:after { display: block; visibility: hidden; clear: both; content: "" }
#bo_vc header .profile_img { display: none }
#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 { color: #777 }
#bo_vc h1 { position: absolute; font-size: 0; line-height: 0; overflow: hidden }
#bo_vc .cmt_contents { line-height: 1.8em; padding: 0 0 20px }
#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 .bo_vl_opt { position: absolute; top: 0; right: 0 }
.bo_vc_act { display: none; position: absolute; right: 0; top: 40px; width: 58px; text-align: right; border: 1px solid #b8bfc4; margin: 0; list-style: none; background: #fff; zoom:1;z-index: 9999 }
.bo_vc_act:before { content: ""; position: absolute; top: -8px; right: 5px; width: 0; height: 0; border-style: solid; border-width: 0 6px 8px 6px; border-color: transparent transparent #b8bfc4 transparent }
.bo_vc_act:after { content: ""; position: absolute; top: -6px; right: 5px; width: 0; height: 0; border-style: solid; border-width: 0 6px 8px 6px; border-color: transparent transparent #fff transparent }
.bo_vc_act li { border-bottom: 1px solid #f0f0f0 }
.bo_vc_act li:last-child { border-bottom: 0 }
.bo_vc_act li a { display: inline-block; padding: 10px 15px }
.bo_vc_act li a:hover { color: #3a8afd }
.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 { clear: both; 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: 45px; padding: 0 20px; border-radius: 3px; font-weight: bold; font-size: 1.083em }
.bo_vc_w .btn_confirm .secret_cm label { font-size: 1em !important }
.bo_vc_w_wr:after { display: block; visibility: hidden; clear: both; content: "" }
.secret_cm { display: inline-block; float: left }
#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 .bo_v_option li { display: inline-block; float: left; text-align: left; margin: 0 5px 0 0 }
#bo_w .bo_v_option li label { vertical-align: baseline }
#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span { margin-left: 0; margin-right: 5px }
#bo_w .write_div { margin: 10px 0; position: relative }
#bo_w .write_div:after { display: block; visibility: hidden; clear: both; content: "" }
#bo_w .bo_w_info:after { display: block; visibility: hidden; clear: both; content: "" }
#bo_w .bo_w_info .frm_input { float: left; margin-bottom: 1% }
#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_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: 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_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; font-size: 1.2em; text-align: center; color: #b2b2b2 }
#bo_w .bo_w_flie .frm_file { padding-left: 50px; margin-top: 3px }
#bo_w .bo_w_flie .file_wr { position: relative; 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 }
#bo_w .bo_w_select select { border: 1px solid #d0d3db; width: 100%; height: 40px; border-radius: 3px }
#bo_w .btn_submit { padding: 0 20px; font-size: 1.167em }
#bo_w .btn_cancel { border-radius: 3px; font-size: 1.167em }

.fotorama { background: #1f1f1f; width: fit-content; margin: 0 auto; }
#bo_v_atc .company_info_warp { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; margin-top: 10px; margin-bottom: 10px; gap: 10px; }
#bo_v_atc .company_info_warp > .item { width: 50%; border: 1px solid #dfdfdf; border-radius: 4px; padding: 10px; }
#bo_v_atc .company_info_warp .title { font-size: 1.4em; font-weight: bold; margin-bottom: 10px; color: cornflowerblue; }
#bo_v_atc .company_info_warp .item-wrap { display: flex; padding: 7px 0; font-size: 1em; flex-wrap: nowrap; flex-direction: row; }
#bo_v_atc .company_info_warp .item-wrap .explain { width: 100px; font-weight: bold; }
#bo_v_atc .company_info_warp .item-wrap .value { width: calc(100% - 100px); }
#bo_w .add_info_wrap { display: flex; flex-wrap: wrap; flex-direction: column; }
#bo_w .bo_add_info { display: flex; }
#bo_w .bo_add_info label { width: 100px; text-align: right; }
#bo_w .bo_add_info label > span { display: block; height: 100%; width: 100%; font-size: 1.2em; line-height: 40px; padding: 0px 11px; }
.list-main.addr-list { display: inline-flex; gap: 5px; flex-wrap: wrap; margin-top: 0px; }
.list-main.addr-list .item { padding: 7px 11px; outline: 1px solid #000000; color: #000000; border-radius: 1px; font-size: 1.2em; }
.list-main.addr-list .item.active { outline-color: rgb(0 0 0 / 50%); color: white; background-color: #000000; }
.list-main.addr-list .item:hover { outline-color: rgb(0 0 0 / 50%); color: white; background-color: #000000; }
/* .list-main.addr-list { display: inline-flex; gap: 5px; flex-wrap: wrap; margin-top: 0px; } */ /* 중복 제거 */
.addr-sub-list { margin-top: 10px; display: flex; gap: 5px; flex-wrap: wrap; }
.addr-sub-list .item { padding: 7px 13px; outline: 1px solid #a3a3a3; color: #595959; border-radius: 1px; }
.addr-sub-list .item.active { outline-color: rgb(0 0 0 / 50%); color: white; background-color: #4687f9; }
.addr-sub-list .item:hover { outline-color: rgb(0 0 0 / 50%); color: white; background-color: #4687f9; }

/* .mobile-subject { display: none; } */ /* 이전 모바일 제목 스타일은 사용하지 않음 */

.custom-btn-group { display: inline-flex; overflow: hidden; box-shadow: 0 1px 2px rgba(0,0,0,0.05); }
.custom-btn-check { display: none; }
.custom-btn { padding: 0.5rem 1rem; font-size: 1rem; font-weight: 400; line-height: 1.5; text-align: center; cursor: pointer; border: 1px solid transparent; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, color 0.15s ease-in-out; user-select: none; }
.custom-btn-on { background-color: #e9ecef; border-color: #ced4da; color: #495057; }
.custom-btn-off { background-color: #e9ecef; border-color: #ced4da; color: #495057; }
.custom-btn-group .custom-btn:last-of-type { border-left-width: 0; }
.custom-btn-check:checked + .custom-btn-on { background-color: #28a745; border-color: #28a745; color: #fff; }
.custom-btn-check:not(:checked) + .custom-btn-on { background-color: #e9ecef; border-color: #ced4da; color: #495057; }
.custom-btn-check:checked + .custom-btn-off { background-color: #dc3545; border-color: #dc3545; color: #fff; }
.custom-btn-check:not(:checked) + .custom-btn-off { background-color: #e9ecef; border-color: #ced4da; color: #495057; }
.custom-btn-check:focus + .custom-btn { box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); z-index: 1; }
#switchOn:checked ~ #switchOff + .custom-btn-off {}
#switchOff:checked ~ #switchOn + .custom-btn-on {}

.job_search_write { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; background-color: #fff; color: #333; line-height: 1.6; max-width: 700px; margin: 40px auto; padding: 30px; border: 1px solid #e0e0e0; border-radius: 8px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); font-size: 1.2em; }
.job_search_write .write-input-group { margin-bottom: 30px; }
.job_search_write .write-input-group:last-child { margin-bottom: 0; }
.job_search_write .group-title { font-size: 1.4em; font-weight: 600; color: #007bff; padding-bottom: 10px; margin-bottom: 20px; border-bottom: 2px solid #007bff; }
.job_search_write .input-wrap { display: flex; align-items: center; margin-bottom: 18px; }
.job_search_write .input-wrap .label { width: 120px; font-size: 0.95em; font-weight: 500; color: #495057; padding-right: 15px; flex-shrink: 0; }
.job_search_write .input-wrap .input { flex-grow: 1; display: flex; align-items: center; }
.job_search_write .input-wrap .input .wr_content { width: 100%; }
.job_search_write .input-wrap .input .wr_content textarea { min-width: 100%; }
.job_search_write select.age, .job_search_write input[type="text"].frm_input { width: 100%; padding: 10px 12px; font-size: 1em; border: 1px solid #ced4da; border-radius: 5px; box-sizing: border-box; transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out; }
.job_search_write select.age { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.75rem center; background-size: 16px 12px; padding-right: 2.5rem; }
.job_search_write input[type="text"][name="phone"] { flex-grow: 1; margin-right: 10px; }
.job_search_write select.age:focus, .job_search_write input[type="text"].frm_input:focus { border-color: #80bdff; outline: 0; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
.job_search_write .custom-btn-group { display: inline-flex; overflow: hidden; flex-shrink: 0; }
.job_search_write .custom-btn-check { display: none; }
.job_search_write .custom-btn { padding: 10px 15px; font-size: 0.9em; font-weight: 500; line-height: 1.5; text-align: center; cursor: pointer; border: 1px solid #ced4da; background-color: #f8f9fa; color: #495057; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, color 0.15s ease-in-out; user-select: none; }
.job_search_write .custom-btn-group .custom-btn:last-of-type { border-left-width: 0; }
.job_search_write .custom-btn-check:checked + .custom-btn.custom-btn-on { background-color: #2196F3; border-color: rgb(0 0 0 / 16%); color: #fff; }
.job_search_write .custom-btn-check:not(:checked) + .custom-btn.custom-btn-on { background-color: #f8f9fa; border-color: #ced4da; color: #495057; }
.job_search_write .custom-btn-check:checked + .custom-btn.custom-btn-off { background-color: #28a745; border-color: #28a745; color: #fff; }
.job_search_write .custom-btn-check:not(:checked) + .custom-btn.custom-btn-off { background-color: #f8f9fa; border-color: #ced4da; color: #495057; }
.job_search_write .custom-btn-check:focus + .custom-btn { box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); z-index: 1; }
.file-dropzone { border: 2px dashed #ccc; border-radius: 8px; padding: 25px; text-align: center; cursor: pointer; background-color: #f9f9f9; transition: background-color 0.2s ease, border-color 0.2s ease; width: 100%; margin-bottom: 15px; }
.file-dropzone.dragover { background-color: #e9e9e9; border-color: #aaa; }
.file-dropzone p { margin: 0; color: #555; font-size: 0.95em; }
.file-preview-container { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; width: 100%; }
.file-preview-item { position: relative; width: 120px; height: 120px; border: 1px solid #ddd; border-radius: 4px; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; background-color: #fff; padding: 5px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.file-preview-item img { max-width: 100%; max-height: 70%; object-fit: cover; border-radius: 3px; }
.file-preview-item .file-name { font-size: 0.8em; color: #333; margin-top: 5px; text-align: center; word-break: break-all; line-height: 1.2; max-height: 2.4em; overflow: hidden; }
.file-preview-item .remove-file-btn { position: absolute; top: 2px; right: 2px; background-color: rgba(255, 0, 0, 0.7); color: white; border: none; border-radius: 50%; width: 20px; height: 20px; font-size: 12px; line-height: 18px; text-align: center; cursor: pointer; font-weight: bold; transition: background-color 0.2s ease; }
.file-preview-item .remove-file-btn:hover { background-color: rgba(200, 0, 0, 0.9); }
.file-preview-item.loading p { font-size: 0.9em; color: #777; }
.write-input-group .input-wrap .input.file-upload-area { flex-direction: column; align-items: flex-start; }
.job_search_write .input-wrap .label {}
.job_search_write .input-wrap > .input > .wr_content {}
.job_search_write .input-wrap > .input#fileDropzoneContainer {}


/* 모바일 화면 (650px 이하) */
@media(max-width: 650px) {
    #bo_list thead {
        display: none; /* 테이블 헤더 숨김 */
    }

    .desktop_row_content {
        display: none; /* 데스크톱용 행 전체 숨김 */
    }

    .mobile_only_row {
        display: table-row; /* 모바일용 행을 테이블 행으로 표시 */
    }

    .mobile_only_row.bo_notice { /* 공지사항 배경색 유지 */
        background: #fff6fa !important;
    }
    .mobile_only_row.even { /* 짝수 행 배경색 (필요시) */
       /* background: #fbfbfb; */ /* 테이블 전체가 한 줄로 보이므로 굳이 필요 없을 수 있음 */
    }


    .mobile_only_row td {
        display: block; /* 셀을 블록 요소로 만들어 전체 너비 사용 */
        width: 100%;
        padding: 12px 10px; /* 내부 여백 */
        border-bottom: 1px solid #f0f0f0; /* 각 아이템 구분선 */
        box-sizing: border-box;
    }
    .mobile_only_row.bo_notice td { /* 공지사항 구분선 색상 */
        border-bottom-color: #f8e6ee;
    }


    .mobile_full_title {
        display: block;
        text-decoration: none;
        color: #333; /* 기본 텍스트 색상 */
    }

    .mobile_full_title .title_text {
        font-size: 1.15em; /* 모바일 제목 폰트 크기 */
        font-weight: 600; /* 제목 굵기 */
        color: #222;
        margin-bottom: 8px;
        white-space: normal; /* 제목 줄바꿈 허용 */
        word-break: break-word; /* 단어 단위로 줄바꿈 */
        line-height: 1.4;
    }
    .mobile_only_row.bo_notice .mobile_full_title .title_text { /* 공지사항 제목 스타일 */
        font-weight: bold;
        color: #f9267f;
    }


    .mobile_full_title .details_mobile {
        font-size: 0.85em; /* 상세 정보 폰트 크기 */
        color: #555; /* 상세 정보 텍스트 색상 */
        display: flex;
        flex-wrap: wrap; /* 내용이 길면 다음 줄로 */
        align-items: center;
        gap: 4px 10px; /* 수직, 수평 간격 */
        line-height: 1.5;
    }

    .mobile_full_title .details_mobile .region_mobile,
    .mobile_full_title .details_mobile .pay_mobile,
    .mobile_full_title .details_mobile .gender_mobile { /* 성별 스타일 공통 적용 */
        background-color: #f0f0f0;
        padding: 2px 6px;
        border-radius: 3px;
        font-size: 0.9em;
        color: #333; /* 기본 태그 글자색 */
    }

    .mobile_full_title .details_mobile .gender_male_mobile {
        background-color: #e0efff; /* 연한 파랑 배경 */
        color: #0056b3; /* 진한 파랑 글씨 */
    }
    .mobile_full_title .details_mobile .gender_female_mobile {
        background-color: #ffe0e0; /* 연한 빨강 배경 */
        color: #b30000; /* 진한 빨강 글씨 */
    }

    .mobile_full_title .details_mobile .pay_mobile {
        color: #007bff; /* 급여 정보 강조 */
        background-color: #e6f2ff; /* 급여 정보 배경색 */
    }


    .mobile_full_title .details_mobile .comment_mobile {
        color: #3a8afd;
        font-size: 0.9em;
    }
     .mobile_full_title .details_mobile .comment_mobile i {
        margin-right: 3px;
    }

    .mobile_full_title .details_mobile .date_mobile {
        color: #777;
        font-size: 0.9em;
        margin-left: auto; /* 날짜를 오른쪽으로 밀기 */
    }

    .list-main.addr-list {
        padding: 5px;
    }

    #bo_v_atc .company_info_warp {
        flex-direction: column;
    }

    #bo_v_atc .company_info_warp > .item {
        width: 100%;
    }

    /* 검색창 너비 조정 */
    .bo_sch {
        width: 90%;
        margin-left: -45%;
        max-width: 330px; /* 최대 너비는 유지 */
    }
    .bo_sch .sch_input {
        width: calc(100% - 50px); /* 버튼 너비 제외 */
    }

}
