@charset "utf-8";

/* 게시판 목록 */
#bo_list {position:relative;margin-bottom:20px; max-width: 1600px; width:100%; margin:0 auto;}
#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 {padding-bottom: 20px;}
#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_cate ul {display:flex; flex-wrap:wrap; align-items:center;}
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
#bo_cate a {display:block;padding:10px 22px!important;font-size: 15px; font-weight:500; line-height:1!important; border-radius:30px!important; border:1px solid #ddd!important;color:#555!important;background: #fff!important; transition:all .3s ease;}
#bo_cate #bo_cate_on {z-index:2;background: #042b70 !important;color:#fff !important;font-weight:600;border-color:#042b70!important; box-shadow: 0 4px 10px rgba(4, 43, 112, 0.2);}
.td_subject img {margin-left:5px}
#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active{background:#f8f9fa !important;color:#042b70 !important;border-color:#042b70!important;}

@media (max-width:564px) {
    #bo_cate a {padding:8px 15px !important; font-size:14px;}
}

/* 게시판 목록 공통 */
.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.gall_chk{position:absolute; top:5px; left:5px;}
.chk_box input[type="checkbox"] + label {position:relative;color:#676e70;display: flex;align-items: center;gap: 4px;}
.chk_box input[type="checkbox"] + label:hover {color:#042b70}
.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% #042b70;border-color:#042b70;border-radius:3px}


#bo_btn_top {position: relative; width: 100%; min-height: 30px; margin:10px 0;}
#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""}
.bo_fx {margin:5px 0;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;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}

/* 💡 관리자 뱃지 네이비 톤 통일 */
.manager{display: block; position: absolute; top: 0; right: 0; padding: 6px 12px; background: #042b70; color: #fff; font-size: 14px; border-radius: 0 10px 0 10px; font-weight: 600;}

.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:#042b70;color:#fff;font-weight:normal !important;line-height:1;padding:5px 12px 8px;border-radius:50px;font-size:0.9em} 
.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:#042b70;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle}

/* 게시판 쓰기/읽기 공통 영역 통과... */
#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}

#bo_v {margin-bottom:20px;background:none;box-sizing:border-box;border-top:solid 2px #222;}
#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; display:none;}
#bo_v_title .bo_v_tit {display:block;font-size:18px;padding:15px 10px;word-break:break-all;background:#fafafa}

/* ==========================================
   💡 멤버 스킨 스타일 (Professor 스타일 완벽 이식)
=========================================== */
#bo_v{border:none;}
#bo_v_title, #bo_v_info{display:none;}
#Member{position:relative; width: 100%; margin: 0 auto;}

/* 멤버 프로필 이미지 라운딩 및 그림자 조율 */
#Member .img{position:relative; width: 180px; height: 230px; overflow:hidden; border-radius: 10px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);}
#Member .img img{width: 100%; height: 100%; object-fit: cover;}

#Member .cont{position:relative; width: calc(100% - 200px); padding-left:25px;}

/* 이름 및 영문 이름 폰트 색상 */
#Member .cont h2.name{font-size: 28px; font-weight:700; line-height:1.2; color: #222; margin-bottom: 0; letter-spacing: -0.5px; word-break: keep-all; padding-bottom: 8px;}
#Member .cont h2.name span.eng{margin-left: 8px; font-size:20px; color: #042b70; font-weight: 500; word-break: keep-all;}
#Member .cont h2.name p {font-size:18px; margin-top:8px; color:#555; font-weight: 500;}

#Member .cont .proc{padding-bottom: 15px; display: flex; flex-direction: column; gap: 10px; padding-bottom: 20px;}
#Member .cont .proc li{font-size: 16px; font-weight: 500; line-height:1.4; color: #555; letter-spacing: -0.3px; word-break: keep-all;}
#Member .cont .proc li.course {color:#042b70; font-weight: 600;}

#Member .cont .rsch {display:flex; flex-direction: column; font-size: 16px; margin-bottom: 20px;}
#Member .cont .rsch p {font-weight:500; color:#555; line-height:1.4;}

/* 💡 교수님 정보박스(dt, dd)와 완벽히 똑같은 Flex 구조 적용 */
#Member .cont dl{position:relative; display: flex; align-items: flex-start; margin-bottom: 8px;}
#Member .cont dl:last-child{margin-bottom: 0;}
#Member .cont dl + dl{margin-top: 8px;}

/* 항목명 (dt) 스타일 고정 */
#Member .cont dl dt{width: 180px; flex-shrink: 0; font-size: 16px; font-weight:700; line-height:1.4; color:#222; letter-spacing:-0.5px; display: block;}
#Member .cont dl dt i{font-size: 15px; margin-right: 6px; color: #042b70;}

/* 항목내용 (dd) 스타일 */
#Member .cont dl dd{flex-grow: 1; font-size: 16px; font-weight: 500; line-height:1.4; color: #444; letter-spacing: -0.3px; word-break: keep-all;}
#Member .cont dl dd a{color:#1b5197; word-break: keep-all; transition:all 0.2s;}
#Member .cont dl dd a:hover{text-decoration:underline;}
#Member .cont dl dd p{word-break: keep-all;}
#Member .cont dl.work{margin-bottom: 10px;}

/* 더보기 버튼 (View More) */
#Member .v_more{position: absolute; bottom: 25px; right: 25px; display: flex; align-items: center; justify-content: center; gap: 5px; width: 110px; padding: 8px; border: 1px solid #042b70; border-radius: 30px; font-weight: 600; font-size: 14px; text-align: center; color: #042b70; transition:all 0.3s ease;}
#Member .v_more:hover{background: #042b70; color: #fff;}

/* 호버 시 링크 레이어 */
#Member .link{position:absolute; font-size:12px; line-height: 50px; text-align: center; width: 50px; height:50px; font-weight:500; letter-spacing: 1px; color:#bbb; border:1px solid #ddd; border-radius:50%; right:20px; top:20px; box-sizing: border-box; overflow:hidden; z-index: 11; transition:all .5s;}
#Member .link::before{position:absolute; content: ''; width:200%; height:200%; top:50%; left:-1px; transform:translate(-100%, -50%); background:#042b70; transition: transform 0.25s cubic-bezier(.7,0,.9,1);}
#Member .link a{position:relative; display:block; color:#999; width:100%; height:100%; z-index: 1; box-sizing: border-box; transition:all .3s;}
#Member > ul > li:hover .link{border-color: #042b70;}
#Member > ul > li:hover .link::before{transform:translate(0, -50%);}
#Member > ul > li:hover .link a{color:#fff;}

/* 멤버 리스트 Grid 레이아웃 */
#Member > ul{position:relative; display: flex; flex-wrap: wrap; gap: 20px; justify-content: space-between;}

/* 💡 리스트 카드 테두리 라운딩 및 배경화면화 */
#Member > ul > li:not(.cate_year){position:relative; display: flex; align-items: flex-start; width: calc(50% - 10px); margin-bottom:20px; padding: 25px; border: 1px solid #eaeaea; border-radius: 12px; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.03); transition: all .3s;}   
#Member > ul > li:not(.cate_year):hover{border-color:#042b70; box-shadow: 0 8px 20px rgba(4, 43, 112, 0.1);}
#Member > ul > li + li.cate_year{margin-top:20px;}

/* 💡 카테고리 (Year / Group 등) 제목 라인 */
#Member > ul > li.cate_year{position:relative; width:100%; margin-bottom:20px; margin-top:30px; line-height: 1;}
#Member > ul > li.cate_year .cateName{color: #042b70; font-size: 28px; font-weight: 700; width: 100%; border-bottom: 2px solid #042b70; padding: 0 0 12px 0; letter-spacing: -0.5px;}

/* 상세 뷰 (View) 페이지용 CSS */
#Member.view_mem{display: flex; flex-direction: column; align-items: stretch; border: 1px solid #eaeaea; background:#fbfbfb; border-radius: 10px; padding: 40px;}
#Member.view_mem .proc{border-bottom: 1px solid #ddd; padding-bottom: 20px; margin-bottom: 20px;}
#Member.view_mem .proc li b {color:#222; margin-bottom: 8px; display: inline-block;}
#Member.view_mem .info {margin: 0 0 20px 0;}
#Member.view_mem .info dl {position:relative;}
#Member.view_mem .info dl dt {position: static; font-size: 16px;}
#Member.view_mem .info dl dd{padding-left: 0; font-size: 16px;}
#Member.view_mem .pub_wr{padding: 30px 0 0; border-top: 1px solid #ddd;}
#Member.view_mem .pub_wr h3.tit{font-size:22px; font-weight:700; line-height:1.2; color:#042b70; margin-bottom:15px; letter-spacing: -0.5px;}
#Member.view_mem .pub_wr .pub_list_wr{display: flex; flex-direction: column; align-items: flex-start;}
#Member.view_mem .pub_wr .pub_list_wr dt{margin-bottom: 10px; font-size: 18px; font-weight: 700; color: #222;}
#Member.view_mem .pub_wr .pub_list_wr dd .pub_list{display: flex; margin-bottom: 12px; line-height:1.5;}
#Member.view_mem .pub_wr .pub_list_wr dd .pub_list li{font-weight: 500; color: #555; font-size:16px;}
#Member.view_mem .pub_wr .pub_list_wr dd .pub_list li.pub_num{margin-right: 15px; font-weight: 700; color:#042b70;}
#Member.view_mem .pub_wr .pub_list_wr dd .pub_list .txtTitle{color: #333; font-weight: 600;}
#Member.view_mem .pub_wr .pub_list_wr dd .pub_list .txtInfo .txtJournal{display: inline-block; color: #042b70; font-weight: 700 !important;}

/* 반응형 모바일 최적화 */
@media (max-width:1354px){
    #Member .cont h2.name{font-size:25px;}
    #Member .cont h2.name{margin-bottom: 15px;}
}

@media (max-width:1100px){
    #Member > ul > li:not(.cate_year){width:100%; padding: 25px;}
    #Member .cont dl dt{font-size:16px}
    #Member .cont dl dd{font-size:16px;}                                                
    #Member > ul > li.cate_year .cateName{font-size:24px;}  
}

@media (max-width:720px){
    #Member > ul > li.cate_year .cateName{font-size:22px;}
    #Member .cont h2.name{font-size:22px;}
    #Member .cont .proc li {font-size:15px;}
    #Member .cont .rsch {font-size:15px;}
    #bo_cate ul {gap: 10px; }
    #bo_cate a {margin-left: 0 !important;}
}

@media (max-width:600px){    
    #Member > ul > li.cate_year .cateName{font-size:20px;}
    #Member > ul > li:not(.cate_year){flex-wrap: wrap; flex-direction: column; align-items: center; padding: 20px;}
    
    #Member .img{text-align:center; margin: 0 auto; width: 150px; height: 190px;}
    #Member .cont{width:100%; margin-top: 15px; padding-left: 0px !important; padding-bottom: 0;}
    
    #Member .cont h2.name{font-size:20px; text-align: center; margin-top: 5px; margin-bottom: 10px;}
    #Member .cont h2.name span.eng{font-size: 16px; display: block; margin-top: 5px;}
    #Member .cont h2.name p{font-size: 15px;}
    
    /* 모바일에서는 좌측 정렬이 더 깔끔함 */
    #Member .cont dl {margin-top: 10px; align-items: flex-start; justify-content: flex-start;}
    #Member .cont .proc {align-items: center; text-align: center;}
    
    #Member .cont dl dt{font-size:14.5px;}
    #Member .cont dl dd{font-size: 14.5px;}
    
    #Member .v_more{position: relative; bottom: auto; right: auto; margin: 20px auto 0; width: 120px; padding: 8px 10px; font-size: 13px;}
    
    #Member.view_mem{padding: 25px 20px;}
    #Member.view_mem .pub_wr h3.tit{font-size: 20px;}
}

/* =========================================
   [복구] 게시판 검색창 (팝업 형태) 기존 스타일 유지
========================================= */
.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; margin:0; font-size:16px; font-weight:bold; color:#333;}
.bo_sch legend {background:red; display:none;}
.bo_sch form {padding:15px;display:block; margin:0;}
.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;background-color:transparent;float:left; text-indent:5px;}
.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px; cursor:pointer;}
.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff; cursor:pointer;}
.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%}

