@charset "utf-8";

/* 게시판 목록 */

#bo_list {position:relative;margin-bottom:20px; padding:20px 20px; margin-top:5px; border-radius:7px; padding-bottom:40px;min-height:1100px;}
#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:60px;text-align:center}
#bo_list .td_datetime {width:60px;text-align:center}
#bo_list .td_group {width:100px;text-align:center}
#bo_list .td_mb_id {width:100px;text-align:center}
#bo_list .td_mng {width:80px;text-align:center}
#bo_list .td_name {width:90px;text-align:left;padding:10px 0}
#bo_list .td_nick {width:100px;text-align:center}
#bo_list .td_num {width:50px;text-align:center}
#bo_list .td_num2 {width:50px;text-align:center}
#bo_list .td_numbig {width:80px;text-align:center}
#bo_list .txt_active {color:#5d910b}
#bo_list .txt_expired {color:#ccc}
#bo_list tbody tr {border-left:2px solid transparent}
#bo_list tbody tr:hover {border-left:2px solid #253dbe}
#bo_list tbody .even td {background:#fbfbfb}

#bo_cate {margin:14px 0; margin-top:20px;}
#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_cate ul {zoom:1; margin-left:-4px; margin-top:4px}
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
#bo_cate li {display:inline-block;padding:2px}
#bo_cate a {display:block;line-height:28px;padding:5px 13px;border-radius:30px;border:1px solid #525bf4;color:#525bf4; font-weight:400; font-size:13px; width:84px; display:flex; justify-content:center; transition: background-color 0.2s, color 0.2s, border-color 0.2s;}
#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#486bff;color:#fff}
#bo_cate #bo_cate_on {
    z-index: 2;
    background: #486bff;
    color: #fff;
    font-weight: 500;
    border: 1px solid #486bff;
    -webkit-box-shadow: inset 0 2px 5px rgba(82, 91, 244, 0.5);
    -moz-box-shadow: inset 0 2px 5px rgba(82, 91, 244, 0.5);
    box-shadow: inset 0 2px 5px rgba(82, 91, 244, 0.5);
}
.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:-2px 0; align-items: center; display:flex; align-items: center; font-size:14px; color:#777; font-weight:400;}
#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; position: absolute; left: 30px; margin-top: 58px;}

.btn_bo_user {float:right;margin:0;padding:0;list-style:none}
.btn_bo_user li {
    float: left;
    width: 200px;
    text-align: center;
    margin-left: 5px;
    background: #fff;
    border-radius: 30px;
    padding: 2px 20px;
    height: 40px;
    font-size: 14px;
    color: #777;
    display: flex;
    align-items: center;
    position: absolute;
    right: 24px;
    margin-top:-1px;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    border: 2px solid #f0f1f3
}

.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; position:relative}
.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} /* 글제목줄 분류스타일 */
.bo_cate_link:hover {text-decoration:none}
.bo_tit {display:block;color:#000;font-weight:bold}
.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}

#bo_list .bo_tit .title_icon {margin-right:2px}
#bo_list .bo_tit .fa-heart {color:#ff0000}
#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle}
#bo_list .bo_tit .new_icon {display:inline-block;width:16px;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}

.new_img22 {
    width: 15px;
    height: 15px;
    margin-top: 4px;
}

/* 검색 팝업 전체 배경 */
.bo_sch_wrap {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.37);
    z-index: 9999;
}

/* 검색 팝업 박스 */
.bo_sch {
    position: absolute;
    top: 40%;
    left: 50%;
    width: 80%;
    max-width: 400px;
    background: #fff;
    transform: translate(-50%, -50%);
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    padding: 32px 28px;
    box-sizing: border-box;
}

/* 제목 */
.bo_sch h3 {
    font-size: 17px;
    padding-bottom: 10px;
    margin-bottom: 22px;
    color: #333;
    text-align: left;
    font-weight: 600;
    border-bottom: 2px solid #525bf4;
}

/* 폼 행 구성 */
.form_row {
    width: 100%;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.form_label {
    display: block;
    font-size: 14px;
    margin-bottom: 6px;
    color: #555;
    width: 80px;
}

/* 셀렉트박스, 인풋 공통 스타일 */
.form_control select,
.sch_input {
    width: 100%;
    height: 44px;
    padding: 0 12px;
    font-size: 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #f9f9f9;
    box-sizing: border-box;
    transition: border 0.3s;
}

.sch_input:focus,
.form_control select:focus {
    border-color: #007bff;
    outline: none;
}

/* 인풋 + 버튼 감싸는 래퍼 */
.input_wrap {
    position: relative;
    width: 100%;
}

/* 검색 인풋 */
.input_wrap .sch_input {
    width: 100%;
    height: 44px;
    padding: 0px 18px; /* 오른쪽 버튼 공간 확보 */
    align-items:center;
    font-size: 14px;
    border: solid 1px #e8e8e8;
    border-radius: 8px;
    background: #f9f9f9;
    box-sizing: border-box;
    transition: border 0.3s;
    background:#fff
}

/* 인풋 내부 검색 버튼 */
.input_wrap .sch_btn {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    background: #fff;
    border: none;
    border-radius: 6px;
    color: #fff;
    font-size: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: background 0.3s;
}

.input_wrap .sch_btn i {
    pointer-events: none;
    font-size: 19px;
}

/* 닫기 버튼 */
.bo_sch_cls {
    position: absolute;
    top: 31px;
    right: 31px;
    background: none;
    border: none;
    font-size: 18px;
    color: #aaa;
    cursor: pointer;
}

.bo_sch_cls:hover {
    color: #333;
}

/* Nice Select 넓이 강제 적용 */
.nice-select.ns-sfl {
    width: 100% !important;
    border-radius:8px;
}

.nice-select.ns-sfl:focus {
    border: 2px solid !important;
    outline: none;
}

.bo_sch_close_img {
    width: 15px;
    height: 15px;
    display: block;
}

/* 게시판 쓰기 */
#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} /* overflow 미지원 기기 대응 */
#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden}
#autosave_pop div {text-align:center;margin:0 !important}
#autosave_pop button {margin:0;padding:0;border:0}
#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8}
#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1}
#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""}
#autosave_pop a {display:block;float:left}
#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999}
.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em}
.autosave_close:hover {background:#f3f3f3;color:#3597d9}
.autosave_content {display:none}
.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px}

/* 게시판 읽기 */
#bo_v {margin-bottom:30px;background:#fff;box-sizing:border-box;}

#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em}

#bo_v_title {text-align:center;}
#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;color:#486bff;border-radius:3px;font-size:15px;font-weight:400}
#bo_v_title .bo_v_tit {display:flex;font-size:21px;margin:0 auto; margin-top:4px; word-break:break-all; width:72%;align-items: center; justify-content: center; text-align: left;}

#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_file ul {margin:0;list-style:none}

#bo_v_link li {
    background: linear-gradient(#2c2c2c, #2c2c2c) padding-box,
                linear-gradient(to right, #2979FF, #8E2DE2) border-box;
    border: 3px solid transparent;
    margin: 20px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    box-shadow: 1px 1px 5px 0px hsl(232, 36%, 96%);
    transition: all 0.3s ease;
    cursor: pointer;
    color: #fff;
}

#bo_v_link li a {
    display: block;
    padding: 15px;
    width: 100%;
    height: 100%;
}


#bo_v_link li:hover {
    transform: scale(1.01);
    box-shadow: 0 4px 10px rgba(41, 121, 255, 0.7);
    background: linear-gradient(#2c2c2c, #2c2c2c) padding-box,
                linear-gradient(to right, #8E2DE2, #2979FF) border-box; /* 그라디언트 반전 */
}

#bo_v_link li i {float:left;color:#b2b2b2;font-size:17px;margin-right:0px;margin-top:3.4px;}
#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:13px; margin-top:2px;}

#bo_v_link li a:hover i {
    color: #3a8afd;
}

#bo_v_link li a:hover .bo_v_link_cnt {
    color: #99c2fc !important;
}

.go_to_severlink {
    font-weight: 600;
    font-size: 20px;
}

#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}

.back-to-list {
    margin: 2rem 0;
    text-align: right; /* 오른쪽 정렬으로 변경 */
}

.btn-list {
    display: inline-block;
    padding: 10px 26px;
    background-color: #fafafa; /* 아주 연한 회색 */
    color: #444; /* 조금 진한 텍스트 */
    font-weight: 500;
    font-size: 14.5px;
    border-radius: 6px;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.btn-list:hover {
    background-color: #f0f0f0;
    color: #222;
}

.btn-list2 {
    background-color: #2f2f2f; /* 다크 그레이 */
    color: #fff; /* 흰색 텍스트 */
    font-weight: 500;
    font-size: 14.5px;
    padding: 12px 26px;
    border-radius: 6px;
    text-decoration: none;
    display: inline-block;
    transition: background-color 0.3s ease, color 0.3s ease;
    text-align: center;
}

.btn-list2:hover {
    background-color: #444444; /* 살짝 밝은 다크 그레이 */
    color: #f0f0f0;
}

.bo_v_nb {
    display: flex;
    justify-content: space-between;
    margin: 20px 0;
    padding: 0;
    list-style: none;
    border: 1px solid #eee;
    border-radius: 6px;
    background: transparent; /* 배경 제거 */
    box-shadow: none; /* 그림자 제거 */
    overflow:hidden;
}

.bo_v_nb li {
    flex: 1;
    padding: 16px 20px;
    border-top: none;
    border-bottom: none;
    border-radius: 0; /* 모서리 둥글게 없앰 */
    border-right: 1px solid #eee; /* 오른쪽 구분선 */
    transition: background-color 0.3s ease;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: transparent; /* 배경 없앰 */
    color: #444;
}

.bo_v_nb li:last-child {
    border-right: none; /* 마지막 항목은 오른쪽 보더 없음 */
}

.bo_v_nb li.btn_prv {
    margin-right: 0;
    text-align: right;
    width:50%
}

.bo_v_nb li.btn_next {
    margin-left: 0;
    text-align: left;
    width:50%
}

.bo_v_nb li:hover {
    background-color: #f9f9f9; /* 아주 연한 배경으로 약간 구분 */
}

.nb_tit {
    font-weight: 400;
    font-size:13px;
    color: #777;
}

.bo_v_nb a {
    color: #222;
    font-weight: 500;
    text-decoration: none;
    font-size: 1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size:14.3px;
}

.bo_v_nb a:hover {
    text-decoration: underline;
    color: #0078d4;
}

.no-prev .no-schedule,
.no-next .no-schedule {
    color: #9ca3af;
    font-size: 14.3px;
    font-weight: 400;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    margin-top: 2px;
}

.bo_v_nb li .nb_subject {
    font-weight: 500;
    font-size: 14.3px;
    color: #222;
    text-decoration: none; /* 텍스트 데코 제거 */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    margin-top: 2px;
}

.bo_v_nb li.no-prev,
.bo_v_nb li.no-next {
    cursor: default; /* 클릭 안되는 경우 포인터 제거 */
}

.view_writerinfo {
    margin-top: 3px;
    margin-bottom:7px;
    color: #666; /* 너무 튀지 않는 중간 회색 */
    text-align: center;
    font-size: 13px;
    line-height: 1.5;
}

.view_writerinfo .post-separator {
    margin: 0 4px;
    color: #aaa;
}

#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 {margin:15px 0 30px; margin-top:20px; width:91%;line-height:1.7em;min-height:300px;word-break:break-all;overflow:hidden; font-size:16.4px; padding:0px 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;width:80px;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}

.server_info_section {
    background: #f9f9f9;
    padding: 20px;
    margin-bottom: 20px;
}

.server_info_section h2 {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 1.25rem;
    color: #333;
}

.server_info_dl {
    display: grid;
    grid-template-columns: 120px 1fr;
    row-gap: 12px;
    column-gap: 20px;
    margin: 0;
}

.server_info_dl dt {
    font-weight: 500;
    color: #272727;
    font-size:13px;
    align-self: center;
}

.server_info_dl dd {
    margin: 0;
    color: #333;
    word-break: break-word;
    text-align: left;
    font-size:15px;
}

.server_info_dl dd a {
    color: #007bff;
    text-decoration: underline;
    transition: color 0.2s;
}

.server_info_dl dd a:hover {
    color: #0056b3;
}

/* 게시판 댓글 */
.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:0px 0 0px;padding:0 0 14px; padding-left:10px; padding-right:10px;cursor: default;}
.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:16px;color:#525bf4}
.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:17px;color:#2c2c2c;font-weight:600}
#bo_vc {padding:0px 20px;}
#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%;padding-left:10px;}
#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:500; font-size:14px;}
.bo_vc_hdinfo {color:#666; margin-left:4px;}
#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc .cmt_contents {line-height:1.5;padding:0 0 20px; padding-top:5px; color:#000; font-size:14px;}
#bo_vc p a {text-decoration:underline}
#bo_vc p a.s_cmt {text-decoration:underline;color:#486bff}
#bo_vc_empty {margin:0;padding:70px 0 !important;color:#a5a8ae;text-align:center;font-size:14px; font-weight:300}
#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:62px;text-align:center;border:1px solid #ddd;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999;border-radius:8px;}
.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;font-size:12.5px;}
.bo_vc_act li a:hover {color:#3a8afd}

.bo_vc_w {position:relative;margin:15px 0;display:block;padding:0px 20px;}
.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 #ddd;background:#fff;color:#000;vertical-align:middle;border-radius:8px;padding:12px;width:100%;height:120px; font-size:14px;}
#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:50px;padding:0 20px;border-radius:6px;font-weight:bold;font-size:13px; transition: background-color 0.2s ease;}
.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important; margin-top:-4px;}
.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""}
.secret_cm {display:inline-block;float:left;padding-left:5px;font-size:13px;}

#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:22px 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; width:35% !important}
#bo_w .btn_cancel {border-radius:3px;font-size:1.167em; width:35% !important;}

.title_wrapper {
    position: relative;
    z-index: 1;
    padding: 24px 30px; /* 상하 패딩 약간 증가 */
    background: rgba(251, 251, 251, 0.77);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    color: #000; /* 밝은 텍스트 색상으로 대비 */
    font-weight: 600; /* 조금 더 굵게 */
    font-size: 1.25rem; /* 적당히 커진 제목 크기 */
    transition: all 0.3s ease;
    border-left:3px solid #525bf4
}

.title_icon {
    width: 50px;
    height: 50px;
    object-fit: contain;
    display: inline-block;
    vertical-align: middle;
    margin-top:-17px;
    margin-left:-7px;
}

.sub_nav {
    width: 100%;
    padding: 0 10px;
    display: flex;
    align-items: center;
    gap: 7px;
    background-color: #fff;
    border-radius: 8px;
    font-size: 14px;
    color: #222; /* 진한 차콜 그레이 */
    user-select: none;
    margin-bottom: 12px;
    margin-top:2px;
}

.sub_nav a.freegg_home {
    text-decoration: none;
    color: #2e2e2e; /* 진한 연한 검정 느낌 */
    font-weight: 400;
    font-size: 13.2px;
}

.sub_nav a.freegg_home:hover,
.sub_nav a.current.list:hover {
    text-decoration: underline;
}

.sub_nav a.current.list {
    font-weight: 400;
    font-size: 13.2px;
    color: #2e2e2e; /* 약간 연한 회색 */
    text-decoration: none;
}
.calendar-container {
    max-width: 100%;
    margin: 24px auto 30px;
    padding: 20px 0px;
    padding-bottom:10px;
    margin-bottom:0px;
    transition: height 0.3s ease;
    box-shadow: rgba(0, 0, 0, 0.07) 0px 8px 24px;
    border-radius:7px;
}

.calendar-header { display: flex; justify-content: center; align-items: center; margin-bottom: 15px; }
.nav-group {
    display: flex;
    align-items: center;
    gap: 20px;
    width: 1120px;
    justify-content: space-between;
    padding: 10px 0px;
}
.nav-btn { background: rgb(235 235 235 / 53%); color: #2c2c2c; padding: 6px 12px; border-radius: 20px; font-weight: 500; text-decoration: none; border: none; cursor: pointer; font-size: 14px; }
.nav-btn_guide2 { color: #2e2e2e; padding: 0px 12px; border-radius: 4px; font-weight: 500; text-decoration: none; border: none; cursor: pointer; font-size: 14px; height: 37px;  line-height: 37px;  padding: 0px 12px; }
.write-btn {
    background: #486bff; 
    font-size: 15px;
    font-weight: 500;
    transition: transform 0.2s ease;
    color: #fff;
    border-radius: 20px;
    height: 37px;  
    line-height: 37px;  
    padding: 0 14px;
    display: inline-flex;       
    align-items: center;         
    gap: 6px;                    
}

.write-btn .circle {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: linear-gradient(to right, #5a97ff, #ae52ff); 
    flex-shrink: 0;               
}
.write-btn:hover {
    transform: translateY(-3px);
    text-decoration: none;
}
.current-range {font-weight: 600; color: #080808; font-size:19px;}
table.calendar { width: 100%; border-collapse: collapse; table-layout: fixed; margin-bottom: 20px; }
table.calendar th, table.calendar td {padding: 10px; vertical-align: top; height: auto; border:1px solid #eee }
table.calendar th {background: rgb(231 231 231 / 53%); color: #3e3e3e; font-weight: 600; text-align: center; height:50px; vertical-align: middle;}
table.calendar td.today { background: #f5f8ff; }
.date_num { font-weight: 500; color: #525bf4; margin-bottom: 10px; font-size:13px;}

.post_list a {
    position: relative;
    display: inline-block;
    color: #fff;  /* 흰색 글자 추천 */
    text-decoration: none;
    margin-bottom: 7px;
    padding: 4px 10px;  /* 요청하신 패딩 */
    border-radius: 2px;
    font-weight: 400;
    font-size:14.7px;
    transition: background-color 0.2s ease, font-size 0.2s ease, transform 0.2s ease;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

/* 기본 상태 글자색 흰색 유지, hover 시 밝기 조절 */
.post_list a:hover {
    transform: scale(1.1);
    z-index: 50;
}

/* wr_3 값에 따른 배경색 */
.post_list a.purple {
    background-color: #525bf4;
}

.post_list a.pink {
    background-color: #da22f5;
}

.post_list a.green {
    background-color: #00a664;
}

.counselor-slider { overflow: hidden; width: 1140px; margin: auto; }
.slides { display: flex; transition: transform 0.4s ease; width: calc(1140px * 7); }
.calendar-slide { width: 1140px; flex-shrink: 0; box-sizing: border-box; padding: 0 10px; }
.date_update { display: flex; justify-content: flex-end; gap: 7px; padding: 0px 0px 10px; position: absolute; right: 24px; top: 70px; z-index:9}
.h2_p { font-size: 13.5px; color: #555; padding-left:0px; font-weight:400;  }
#container { width: 930px; margin-top: 0px;}
#container_title { font-size: 18px; }
#container_title span { margin-bottom: 2px; padding-left:0px; }
/* 게시글 없는 경우에만 높이 부여 */
table.calendar td.only-date .date_num {
    min-height: 130px;
    display: flex;
}
/* wr_4 = 사이즈업일 때 ID 스타일 */
#post_list_sizeup {
    font-size: 17px;
    padding: 4px 9px;
    font-weight:500;
    color:#fff700
}

/* 일요일 th에만 스타일 적용 */
table.calendar th.sunday_th {
    background: #ffe8e8; /* 연한 붉은 배경 예시 */
    color: #d10000;      /* 진한 빨강 글자 */
    font-weight: 700;
}

  .cupon_wrapper {
    width: 100%;
    max-width: 610px;
  }

   .cupon_title_area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
  }

    .cupon_link {
    font-size: 13px;
    color: #555;
    text-decoration: underline;
    cursor: pointer;
  }

  .cupon_title {
    font-size: 16px;
    font-weight: 600;
    color: #222;
    text-align: left;
  }

  .cupon_we {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-bottom:8px;
  }

  .cupon_item {
    flex: 1 1 293px;
    background: #fafafa;
    border-radius: 12px;
    padding: 16px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0,0,0,0.04);
    transition: transform 0.2s ease;
  }

  .cupon_item:hover {
    transform: translateY(-4px);
  }

  .cupon_item img {
    width: 100%;
    max-width: 140px;
    height: auto;
    object-fit: contain;
    margin-bottom: 10px;
  }

  .cupon_text {
    font-size: 15px;
    color: #555;
    font-weight: 500;
  }

  .bo_list_h2_wrap .cap_span {
    font-size: 20px;
    font-weight: bold;
    line-height: 30px;
    margin-bottom:2px;
    margin-top:0px;
    display:block;
    text-align: center;
}

.bo_list_h2_wrap .event_cap_h2 {
    font-size: 13.5px;
    color: #9ca3af;
    padding-left: 0px;
    font-weight: 400;
    text-align: center;
}

.empty-posts {
    color: #9ca3af;          
    font-weight: 400;        
    width: 930px;         
    height: 200px;          
    
    display: flex;           
    justify-content: center; 
    align-items: center;  

    margin: 0 auto;         
    text-align: center;      
    font-size:14px;
    flex-direction: column;
    gap:10px;
}

.post-card {
    position: relative;
    display:flex;
    align-items: center;
    gap:30px;
}

.post-category {
    display: inline-block; /* 텍스트 길이만큼 너비 설정 */
    color: #486bff;
    font-size: 13px;
    margin-bottom: -2px;
    text-decoration: none;
}

.post-category:hover {
    color: #293fcb; /* 동일 색상 유지 */
    text-decoration: none !important; /* 밑줄 제거 */
}

.post-title_event a {
    color: inherit; /* 기본 색상은 상속 */
    text-decoration: none; /* 기본 밑줄 제거 */
    transition: color 0.2s ease;
}

.post-title_event a:hover {
    color: #525bf4; /* hover 시 강조 색상 */
    text-decoration: none; /* 밑줄 유지 제거 */
    }

    .post-sub {
    font-size: 13.5px;
    color: #333;
    font-weight: 400;
}


.post-title-row {
    display: flex;
    color:#080808;
    font-size:14.5px;
    font-weight:500;
    flex-direction: column;
    justify-content: flex-start;
}

.post-title {
    flex: 1;
}

.post-card:hover {
    background:#fbfbfb;
}

.post-card:hover .post-title_event a {
    color: #525bf4; /* 링크 색상 변경 */
}

/* 색상 플래그 표시 */
.color-flag {
    display: inline-block;
    width: 8px;
    height: 12px;
    border-radius: 6px;
    margin-right: 4px;
    flex-shrink: 0;
}

.post-metadate {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.post-date {
    border: none;
    padding: 4px 14px;
    padding-right:0px;
    font-size: 13px;
    font-weight: 400;
    color: #7e7e7e;
    line-height: 1;
    display: inline-block;
    transition: background 0.3s, color 0.3s;
    position:absolute;
    right:24px;
    top:40.5%
}

.post-card a:hover h3 {
    color: #525bf4 !important; 
}

.input_wrap .sch_input:focus {
    border: 2px solid #000; /* 원하는 색상으로 변경 가능 */
    outline: none; /* 브라우저 기본 아웃라인 제거 (선택 사항) */
}
