@charset "utf-8";

#bo_list *:focus, #bo_w *:focus, #bo_v *:focus {
	box-shadow: 0 0 0px #9ed4ff;
}

/* =============================================
   게시판 목록 공통
   ============================================= */
#bo_list { width: 100%; }
#bo_list .tbl_head01 { font-size: 1.3em; }
#bo_list .tbl_head01 caption,
#bo_list .tbl_head01 thead th,
#bo_list .tbl_head01 thead a,
#bo_list .tbl_head01 thead th input,
#bo_list .tbl_head01 tfoot th,
#bo_list .tbl_head01 tfoot td,
#bo_list .tbl_head01 tbody th,
#bo_list .tbl_head01 td { font-size: 1.3em; }
#bo_list .tbl_head01 a { font-size: 1em; }

/* 목록 버튼 영역 */
#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: 30px; font-size: 0.92em; color: #4e546f; padding: 0 10px; border-radius: 5px; }
.btn_bo_user { float: right; margin: 0; padding: 0; list-style: none; }
.btn_bo_user li { float: left; margin-left: 5px; }
.btn_bo_adm { float: left; }
.btn_bo_adm li { float: left; margin-right: 5px; }

/* 버튼 공통 */
a.btn, .btn {
	display: inline-block;
	padding: 6px 12px;
	font-size: 1em;
	font-weight: 400;
	line-height: 1.5;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	cursor: pointer;
	border: 1px solid transparent;
	border-radius: 4px;
	text-decoration: none;
}
a.btn_b01, .btn_b01 { background-color: #555; color: #fff !important; border-color: #555; }
a.btn_b01:hover, .btn_b01:hover { background-color: #333; border-color: #333; }
a.btn_b02, .btn_b02 { background-color: #3497d9; color: #fff !important; border-color: #3497d9; }
a.btn_b02:hover, .btn_b02:hover { background-color: #217dbb; }
a.btn_admin, .btn_admin { background-color: #515ea8; color: #fff !important; border-color: #515ea8; }
a.btn_admin:hover, .btn_admin:hover { background-color: #3a4a8a; }
input.btn, input.btn_b01 {
	padding: 6px 12px;
	background-color: #555;
	color: #fff;
	border: 1px solid #555;
	border-radius: 4px;
	cursor: pointer;
	font-size: 1em;
}

/* 검색 */
#bo_sch { float: left; border: 1px solid #ccc; border-radius: 3px; margin: 10px 0 20px; background: #fff; font-size: 1.1rem; }
#bo_sch:after { display: block; visibility: hidden; clear: both; content: ""; }
#bo_sch legend { position: absolute; margin: 0; padding: 0; font-size: 0; line-height: 0; text-indent: -9999em; overflow: hidden; }
#bo_sch select { border: 0; margin: 9px 5px; height: 20px; float: left; border-right: 1px solid #ddd; }
#bo_sch .sch_input { height: 38px; border: 0; padding: 0; background-color: transparent; float: left; }
#bo_sch .sch_btn { height: 38px; float: left; border: 0; width: 60px; background: #555; color: #fff; cursor: pointer; }

/* =============================================
   게시판 읽기 (view)
   ============================================= */
#bo_v { margin-bottom: 20px; padding-bottom: 20px; }
#bo_v_title { padding: 30px 0 15px; font-size: 1.8em; width: 100%; border-bottom: 1px solid #ddd; }
#bo_v_info { padding: 0 0 10px; }
#bo_v_info h2 { position: absolute; font-size: 0; line-height: 0; overflow: hidden; }
#bo_v_info strong { display: inline-block; margin: 0 15px 0 5px; font-weight: normal; }
#bo_v_atc { min-height: 100px; height: auto; font-size: 1rem; }
#bo_v_atc_title { position: absolute; font-size: 0; line-height: 0; overflow: hidden; }
#bo_v_img { margin: 0 0 10px; width: 100%; overflow: hidden; }
#bo_v_img:after { display: block; visibility: hidden; clear: both; content: ""; }
#bo_v_img img { margin-bottom: 20px; max-width: 100%; height: auto; }
#bo_v_con { width: 100%; margin-bottom: 30px; line-height: 1.7em; word-break: break-all; overflow: hidden; padding: 20px 0; font-size: 1em; }
#bo_v_con a { color: #000; text-decoration: underline; }
#bo_v_con img { max-width: 100%; height: auto; }
#bo_v_file { margin: 10px 0; border: 1px solid #d4d4d4; }
#bo_v_file h2 { padding: 10px; background: #f3f3f3; }
#bo_v_file ul { margin: 0; padding: 5px 0; list-style: none; }
#bo_v_file li { padding: 5px 10px; position: relative; }
#bo_v_file a { display: inline-block; color: #3497d9; text-decoration: underline; word-wrap: break-word; }
.bo_v_file_cnt { position: absolute; top: 5px; right: 10px; color: #888; font-size: 0.92em; }
#bo_v_link { margin: 10px 0; border: 1px solid #d4d4d4; }
#bo_v_link h2 { padding: 10px; border-bottom: 1px solid #e8e8e8; background: #f3f3f3; }
#bo_v_link ul { margin: 0; padding: 5px 0; list-style: none; }
#bo_v_link li { padding: 5px 10px; position: relative; }
#bo_v_link a { display: inline-block; color: #3497d9; text-decoration: underline; word-wrap: break-word; }
.bo_v_link_cnt { position: absolute; top: 5px; right: 10px; color: #888; font-size: 0.92em; }
#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 { list-style: none; word-break: break-all; }
.bo_v_com { margin: 20px 0; float: right; }
.bo_v_com li { float: left; margin-left: 5px; }
.bo_v_left { margin: 20px 0; float: left; }
.bo_v_left li { float: left; margin-right: 5px; }
.bo_v_nb { margin: 20px 0 0; padding: 20px 0 3px; position: relative; overflow: hidden; clear: both; text-align: center; border-top: 1px dashed #ddd; }
.bo_v_nb li { width: 32.5%; display: inline-block; line-height: 1.3em; height: 3.9em; vertical-align: top; }
.bo_v_nb li > a { border: 1px solid #f1f1f1; display: block; width: 100%; height: 100%; }
.bo_v_nb li .cc { display: none; }
.bo_v_nb li .tt { width: 90%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin: 0.1em auto 0; }
.bo_v_nb li .sub { font-weight: 500; text-transform: uppercase; font-size: 1.6em; letter-spacing: 0.9em; }
.bo_v_nb li.btn_list { height: 3.9em; line-height: 3.9em; }
.bo_v_nb li.btn_list > a { background: #f1f1f1; }
.bo_v_nb li.btn_prv a, .bo_v_nb li.btn_next a { padding: 0.38em 0 0; }
.bo_v_nb li:hover .sub { letter-spacing: 0; color: #FFB156; }
.bo_v_nb li:hover > a { border-color: #FFB156; background: #FFF; }
@media all and (max-width: 800px) {
	.bo_v_nb li { line-height: 3.9em; }
	.bo_v_nb li.btn_prv a, .bo_v_nb li.btn_next a { padding: 0; }
}

/* 폼 */
.tbl_frm01 { margin: 0 0 20px; }
.tbl_frm01 table { width: 100%; border-collapse: collapse; }
.tbl_frm01 th { width: 70px; padding: 7px 13px; border: 1px solid #e9e9e9; border-left: 0; background: #f5f8f9; text-align: left; }
.tbl_frm01 td { padding: 7px 10px; border-top: 1px solid #e9e9e9; border-bottom: 1px solid #e9e9e9; }
.frm_input { height: 32px; border: 1px solid #d0d3db; background: #fff; border-radius: 3px; padding: 5px; }
a.btn_frmline, button.btn_frmline { display: inline-block; padding: 0 5px; height: 32px; border: 0; background: #333; color: #fff; text-decoration: none; vertical-align: top; font-size: 15px; }

/* =============================================
   교수 카드 레이아웃
   ============================================= */
.list1_wrap {
	padding-top: 30px;
	border-bottom: 1px solid #e5e5e5;
}

.list1_outer {
	display: flex;
	align-items: flex-start;
	padding-bottom: 20px;
}

/* 사진: 항상 보임 */
.list1_outer .img {
	flex: 0 0 293px;
	width: 293px;
}
.list1_outer .img img {
	width: 100%;
	height: auto;
	display: block;
}

/* 오른쪽 텍스트 */
.list1_right {
	flex: 1;
	padding-left: 50px;
	min-width: 0;
}

/* ★ 핵심: transition 없음 → 크롬 스크롤 버그 없음 */
.desc_clip {
	overflow: hidden;
	max-height: 390px;
	/* transition 절대 쓰지 않음 */
}

.desc_inner { }

/* 이름 */
.pro_tit { padding: 5px 0 0; }
.pro_tit span { display: block; font-weight: 600; font-size: 32px; color: #000; }

/* 연구실/연락처/이메일 */
.info1 {
	display: inline-flex;
	align-items: center;
	margin-top: 20px;
	margin-right: 10px;
	font-size: 18px;
}
.info1_t {
	padding: 6px 20px;
	background-color: #333;
	color: #fff;
	border: 1px solid #333;
	font-size: 16px;
	font-weight: 500;
	border-radius: 15px;
	white-space: nowrap;
}
.info1_v {
	padding: 5px 10px 6px 10px;
	color: #333;
}

/* 학력/경력/수상 */
.info2 { padding-top: 5px; }
.info2_t { padding-top: 10px; }
.info2_title {
	display: inline-block;
	min-width: 110px;
	color: #fff;
	padding: 0 10px;
	font-weight: 500;
	font-size: 20px;
}
.info2_d { padding: 5px 10px; line-height: 160%; font-size: 18px; }

.bgcolor1 { background-color: #da6579; }
.bgcolor2 { color: #000; }
.bradius5 { border-radius: 5px; }

/* 펼쳐보기 버튼 */
.list1-more {
	position: relative;
	padding: 60px 0 20px;
	margin-top: -60px;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 55%);
}
.list1-more.expanded {
	background: transparent;
	padding-top: 15px;
	margin-top: 0;
}
.list1-more .button__detail-more {
	display: block;
	width: 235px;
	background-color: #fff;
	color: #333;
	font-size: 16px;
	font-weight: 400;
	line-height: 40px;
	border: 1px solid #333;
	border-radius: 30px;
}

.mo { display: none !important; }

/* 태블릿 */
@media (max-width: 900px) {
	.list1_outer .img { flex: 0 0 200px; width: 200px; }
	.list1_right { padding-left: 30px; }
}

/* 모바일 */
@media all and (max-width: 600px) {
	.desc_clip { max-height: 320px; }
	.list1_outer { flex-direction: column; align-items: center; }
	.list1_outer .img { flex: none; width: 220px; margin: 0 auto; }
	.list1_right { width: 90%; padding-left: 0; margin: 20px auto 0; }
	.list1-more { padding: 60px 20px 20px; margin-top: -60px; }
	.list1-more .button__detail-more { width: 80%; margin: 0 auto; font-size: 14px; }
	.pro_tit { text-align: center; padding: 15px 0; }
	.pro_tit span { font-size: 1.5em; }
	.info2_title { font-size: 1.2em; }
	.info1_v { font-size: 1.1em; }
	.mo { display: block !important; }
}

.page-wrap img { width: auto !important; }
a.btn, .btn { font-size: 2em; }
.btn_b01 { font-size: 1.3em; }