@import url("/common/css/layout.css");
@import url("/common/css/con_com_test.css");
@import url("layout_ctm.css");

/* 교수소개 */
.profInfo{overflow:hidden; font-size:0; line-height:0; word-break: break-all;}
.profInfo .box{position:relative; display:inline-block; vertical-align: top; font-size:.8rem; line-height:1.6; border:1px solid #ddd; overflow:hidden;}
.profInfo .box:before,
.profInfo .box:after{content:""; position:absolute; right:0; top:0; z-index:1;}
.profInfo .box:before{width:40%; height:2px; min-width:13rem; background:#009699;}
.profInfo .box:after{width:2px; height:50%; max-height:6rem; background:#009699;}
.profInfo .inner{position:relative; background:#fff; border:7px solid #f7f7f7; padding:2.5rem 1rem;} 
.profInfo .inner:after{display:block; clear: both; content:"";}
.profInfo .prof{width:7rem; text-align:center; float:left; }/*20250411 JH*/
.profInfo .prof > p{width:6.5rem; height:7.8rem; border-radius:0; margin:0; border:none; overflow:hidden;}
/*.profInfo .prof > p{width:5rem; height:6.5rem; border-radius:0 0 1rem 0; margin:0 auto .5rem; border:3px solid #009699; overflow:hidden;}*/
.profInfo .prof > p img{width:auto; height:100%;}
.profInfo .name{ display:block; font-family: 'SCDream'; font-size:1rem; font-weight:600; letter-spacing: -.5px; margin-bottom:.5rem;}
.profInfo .name strong{color:#01aeb2; font-size:1.1rem; -webkit-box-shadow: inset #e5f7f7 0 -0.5rem 0; box-shadow: inset #e5f7f7 0 -0.5rem 0; }
.profInfo .cnt{width:calc(100% - 7rem); padding-left:1rem; float:left;}
.profInfo .cnt > ul{font-size:0; line-height:0;}
.profInfo .cnt > ul > li{width:50%; display:inline-block; vertical-align: top; font-size:.85rem; line-height:1.6; padding-right:.5rem;}
.profInfo .cnt > ul > li > strong{font-weight: 600; color:#333;}
/** 교수소개 : type1 **/
.profInfo.type1{width:102%; margin-left:-1%;}
.profInfo.type1 .cnt > ul > li{width:100%; padding-right:0;}
.profInfo.type1 .name{font-size:.85rem; margin-bottom:0;}
.profInfo.type1 .name strong{font-size:.95rem;}
.profInfo.type1 .name span{display:block; margin-top:.25rem;}
.profInfo.type1 .box{width:48%; margin:.5rem 1%;}
/** 교수소개 : type2 **/
.profInfo.type2 .box{width:100%; margin:.5rem 0;}
.profInfo.type2 .cnt .more{display:none;}
.profInfo.type2 .inner{padding:2.75rem 1rem;}
.profInfo.type2 .inner > a{display:none; position:absolute; color:#444; font-family: .8rem;}
.profInfo.type2 .inner > a:before{position:absolute; width:2.5rem; height:2.5rem; padding-right:.4rem; font-family: 'xeicon'; text-align:right; color:#fff; font-weight: 600;}
.profInfo.type2 .inner > a.infoOpen{right:-7px; top:-7px; padding:1rem 1.75rem 0 0;}
.profInfo.type2 .inner > a.infoOpen:before{content:"\e913"; right:0; top:0; line-height:1.5rem; background:url('/images/web/russia/sub/profInfo_btn_bg01.png') no-repeat right top/cover;}
.profInfo.type2 .inner > a.infoClose{right:-7px; bottom:-7px; padding:0 1.75rem 1rem 0;}
.profInfo.type2 .inner > a.infoClose:before{content:"\e91a"; right:0; bottom:0; line-height:3.25rem; background:url('/images/web/russia/sub/profInfo_btn_bg02.png') no-repeat right bottom/cover;}
.profInfo.type2 .cnt .more h3.detail span {color:#01aeb2; font-size:1.1rem; -webkit-box-shadow: inset #e5f7f7 0 -0.5rem 0; box-shadow: inset #e5f7f7 0 -0.5rem 0; } /* 210910추가 */
/* 교수소개_에디터 210910추가 */
.profInfo.type2 .cnt .more b, .profInfo.type2 .cnt .more strong {font:revert;}
.profInfo.type2 .cnt .more ul {margin-left:20px; list-style-type:disc; }
.profInfo.type2 .cnt .more ul li {list-style-type:disc; }
.profInfo.type2 .cnt .more ul.list_st1 {margin-left:0;list-style-type:none;}
.profInfo.type2 .cnt .more ul.list_st2 {margin-left:0;list-style-type:none;}
.profInfo.type2 .cnt .more ul.list_st1 li {list-style-type:none;}
.profInfo.type2 .cnt .more ul.list_st2 li {list-style-type:none;}
.profInfo.type2 .cnt .more ol{margin-left:20px; list-style-type:decimal; }
.profInfo.type2 .cnt .more ol li {list-style-type:decimal; }
.profInfo.type2 .cnt .more b,
.profInfo.type2 .cnt .more strong {font-weight:bold; }
.profInfo.type2 .cnt .more i,
.profInfo.type2 .cnt .more em { font-style:italic; }
/* //210910추가 */
.profInfo.type2 .cnt .more ul.list_st2 li > ul > li {position:relative; padding-left:0.6rem;}
.profInfo.type2 .cnt .more ul.list_st2 li > ul > li:before{ position:absolute; left:0; top:0; content:"\e91b"; font-family:"xeicon"; color:#01aeb2; }
/** 교수소개 : type3 **/
.profInfo.type3 .box{width:100%; margin:.5rem 0;}
.profInfo.type3 .inner{padding:1.25rem 1rem;}
.profInfo.type3 .cnt .txt{border-top:1px dashed #ccc; padding-top:1rem; margin-top:1rem;}
/** 교수소개 : active **/
.profInfo.type2 .cnt .more.active,
.profInfo.type2 .inner > a.active{display:block;}

/* 타이틀 */
.titWrap { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; margin-bottom: 1.5rem; }
.titWrap:first-child { margin-top: 0 !important; }
.titWrap ~ .titWrap { margin-top: 3.5rem; }
.titWrap h3 { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #111; font-size: 1.5rem; line-height: 1.5rem; font-weight: bold; }
.titWrap.inline { margin-bottom: 2rem; padding-bottom: 1.1rem; border-bottom: 1px solid #000000; }
.semiTit { margin: 1.2rem 0 0.75rem; }
.semiTit span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #000000; font-size: 1rem; line-height: 1.5rem; font-weight: bold; }

/* 체크박스 커스텀 스타일 */
.chkBox ul { display: flex; flex-wrap: wrap; gap: 0.5rem 1.2rem; }
.chkBox input[type="checkbox"] { position: absolute; width: 1px; height: 1px; margin: -1px; border: 0; padding: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; }
.chkBox label { width: 100%; display: flex; gap: 0.3rem; line-height: 0.85rem; margin: 0; }
.chkBox .custom_checkbox { width: 0.8rem; height: 0.8rem; display: inline-flex; align-items: center; justify-content: center; position: relative; cursor: pointer; font-size: 0.65rem; border-radius: 0.2rem; background: #fff; border: 1px solid #DDDDDD; }
.chkBox .txt_lb { color: #555555; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 0.85rem; }
.chkBox input[type="checkbox"]:checked ~ .txt_lb { font-weight: 600; }
.chkBox input[type="checkbox"]:checked + .custom_checkbox { background: #000; color: #fff; border-color: #000; }
.chkBox input[type="checkbox"]:checked + .custom_checkbox::before { position: absolute; content: "\eb7a"; color: #fff; left: 50%; top: 50%; transform: translate(-50%, -50%); line-height: 1; font-family: 'remixicon'; }
.chkBox.w_100 ul li { width: 100%; }

.phWrap { display: flex; flex-wrap: wrap; gap: 0.25rem; align-items: center; }

.scdTbl { margin-top: 0 !important; border-top: 2px solid #D4D6E2 !important; }

/* 라디오 박스 스타일 */
.rdoBox label { display: flex; align-items: center; line-height: 1rem; gap: 0.3rem; padding-left: 1.15rem; position: relative; color: #333; margin: 0; font-size: 0.85rem; }
.rdoBox ul { display: flex; flex-wrap: wrap; gap: 0.5rem 1.2rem; }
.rdoBox input[type="radio"] { min-width: auto !important; padding: 0 !important; line-height: normal !important; -webkit-appearance: none; -moz-appearance: none; appearance: none;  width: 0.8rem; height: 0.8rem !important; border: 1px solid #DDDDDD; border-radius: 50%; outline: none; cursor: pointer; border-radius: 50% !important; position: absolute; left: 0; top: 0.1rem; background: #fff; margin: 0; }
.rdoBox.ac ul { justify-content: center; }
.rdoBox.ar ul { justify-content: end; }
.rdoBox input[type="radio"] + label { color: #333; }
.rdoBox input[type="radio"]::before { position: absolute; content: ""; border-radius: 50%; background: #000; width: 0.45rem; height: 0.45rem; left: 50%; top: 50%; transform: translate(-50%, -50%); opacity: 0; }
.rdoBox input[type='radio']:checked { border-color:#000; }
.rdoBox input[type='radio']:checked::before { opacity: 1; }
.rdoBox input[type="radio"]:focus { outline: 1px solid #000; outline-offset: 1px; }
table td .rdoBox.inTxt { justify-content: start !important; gap: 0.5rem !important; margin: 0 !important; }
table td .rdoBox.inIpt,
table td .chkBox.inIpt { display: flex; flex-wrap: wrap; gap: 0.5rem 0.8rem; align-items: center; }
table td .chkBox.inIpt > input:not([class^="InpSel_"]),
table td .rdoBox.inIpt > input:not([class^="InpSel_"]) { flex: 1; min-width: auto !important; width: 1rem; }

.inTxtArea > li { font-weight: 600; }
.inTxtArea .list_st2 > li { font-weight: 400; }
.inTxtArea textarea { margin-top: 0.8rem; height: 10rem; }

/* 서브 모달 팝업 */
.popLyr { position: fixed; width: 100vw; height: 100vh; background: rgba(0,0,0,0.3); left: 0; top: 0; z-index: 1000; display: none; }
.popLyr.active { display: block; }
.popWrap { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 50rem; padding: 2rem; background: #fff; word-break: keep-all; }
.popWrap .tit2,
.popWrap .btns { margin: 0 !important; }
.popWrap .popBox { border: 1px solid #CCCCCC; padding: 1.25rem 2rem 1.25rem 1.5rem; overflow-y: auto; height: 25rem; margin: 1.2rem 0 2.5rem; }
.popWrap .popBox::-webkit-scrollbar { background: #EEEEEE; width: 0.5rem; }
.popWrap .popBox::-webkit-scrollbar-thumb { background: #00897B; }
.popWrap .popBox .dtl_Lst01 li { position: relative; line-height: 1.8; }
.popWrap .popBox .dtl_Lst01 > li { padding-left: 0.6rem; color: #3A3A3A; font-size: 0.85rem; font-weight: bold; }
.popWrap .popBox .dtl_Lst01 > li + li { margin-top: 0.75rem; }
.popWrap .popBox .dtl_Lst01 > li::before { position: absolute; content: ""; width: 0.3rem; height: 0.3rem; background: #009699; border-radius: 50%; left: 0; top: 0.6rem; }
.popWrap .popBox .dtl_Lst02 { margin-top: 0.5rem; }
.popWrap .popBox .dtl_Lst02 > li { padding-left: 0.55rem; color: #111111; font-size: 0.8rem; font-weight: 200; }
.popWrap .popBox .dtl_Lst02 > li + li { margin-top: 0.5rem; }
.popWrap .popBox .dtl_Lst02 > li::before { position: absolute; content: ""; border-radius: 50%; width: 0.25rem; height: 0.25rem; background: #B4B4B4; left: 0; top: 0.55rem; }

/* 신청내역 조회 팝업 */
.detail .popBox { padding: 0 !important; margin: 0 0 2rem 0 !important; max-height: calc(100vh - 10rem) !important; height: auto !important; }
.detail .popBox .tbl_st table { border: none; margin: 0 0 0 -1px; border-top: 2px solid #505C78; }
.detail .popBox .tbl_st table .dateTime { margin-left: -0.5rem; }
.popBox .tbl_st table tbody th { padding: 0.75rem 0.35rem; }
.popBox .tbl_st table td { padding: 0.5rem; }

/* 시설예약 목록 */
.fcltyWrap .bbs_srch { padding: 1.6rem 11.95rem; }
.fcltyWrap .bbs_srch .inptWrap { display: flex; flex-wrap: wrap; }
.fcltyWrap .bbs_srch .inptWrap > li { width: 50%; display: flex; flex-wrap: wrap; padding: 0.8rem 0; padding-left: 5rem; position: relative; align-items: center; min-height: 3.5rem; }
.fcltyWrap .bbs_srch .inptWrap > li:nth-child(3) { border-bottom: 1px solid #D9D9D9; border-top: 1px solid #d9d9d9; }
.fcltyWrap .bbs_srch .inptWrap > li.w_100 { width: 100%; }
.fcltyWrap .bbs_srch .inptWrap > li.typeB {  padding-left: 0; }
.fcltyWrap .bbs_srch .inptWrap > li > span { position: absolute; left: 0; top: 50%; transform: translateY(-50%); color: #1B1B1B; font-size: 0.85rem; font-weight: bold; }
.fcltyWrap .bbs_srch .inptWrap > li .dateBox { display: flex; flex-wrap: wrap; gap: 0.25rem; align-items: center; }

.fcltyWrap .bbs_srch .inptWrap > li .dateBox input { min-width: auto; width: 9.4rem; }

input.hasDatepicker { height: 1.9rem; border: 1px solid #D0D0EB; background: #fff url('/common/images/board/datePicker.png')no-repeat right 0.5rem center; }
.fcltyWrap .bbs_srch .inptWrap > li .srchbox { display: flex; align-items: center; flex-wrap: wrap; gap: 0.4rem; width: 100%; }
.fcltyWrap .bbs_srch .inptWrap > li .srchbox input { flex: 1; height: 2.5rem; border: 1px solid #D0D0EB; color: #999999; font-size: 0.85rem; font-weight: 400; padding: 0 0.8rem; }
.fcltyWrap .bbs_srch .inptWrap > li .srchbox .btnSearch { position: relative; padding: 0 1rem 0 2.25rem; line-height: 2.5rem; color: #fff; vertical-align: middle; background: #3A3A3A url('/common/images/board/ico_bbs_srch.png') no-repeat 1rem center; overflow: hidden; transition: all 0.2s ease-out 0.1s; border-radius: 0.4rem; }
.fcltyWrap .bbs_srch .inptWrap > li .srchbox .btnSearch:hover,
.fcltyWrap .bbs_srch .inptWrap > li .srchbox .btnSearch:focus { background-color: #044ca4; }
.fcltyWrap.Info .box_st1 .inner { display: flex; flex-wrap: wrap; gap: 2rem; }
.fcltyWrap.Info .box_st1 .inner .img { display: inline-flex; align-items: center; justify-content: center; font-size: 0; line-height: 0; width: 20rem; height: 12.5rem; }
.fcltyWrap.Info .box_st1 .inner .img img { max-width: 100%; object-fit: cover; }
.fcltyWrap.Info .box_st1 .inner .txt_box { width: calc(100% - 22rem); } 
.fcltyWrap.Info .box_st1 .inner .txt_box .tit2 { font-size: 1.1rem; line-height: 1.8; }
.fcltyWrap.Info .box_st1 .inner .txt_box .list_st1 li { position: relative; display: flex; }
.fcltyWrap.Info .box_st1 .inner .txt_box .list_st1 li + li { margin-top: 0.35rem; }
.fcltyWrap.Info .box_st1 .inner .txt_box .list_st1 li > span { color: #333; font-weight: 500; margin-right: 0.8rem; }
.fcltyWrap.Info .fcltyCal { background: #fff; padding: 1.6rem; border: 1px solid #D9D9D9; margin-top: 1.2rem; }
.fcltyWrap.Info .date_view_box .date_view { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.fcltyWrap.Info .date_view_box .date_view .date { color: #3A3A3A; font-size: 1.1rem; font-weight: bold; }
.fcltyWrap.Info .date_view_box .date_view button { border: 1px solid #999999; color: #999; display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; background: #fff; border-radius: 50%; font-size: 0.85rem; }
.fcltyWrap.Info .date_view_box .date_view button:hover,
.fcltyWrap.Info .date_view_box .date_view button:focus { color: #fff; border-color: #009599; background: #009599; }
.fcltyWrap.Info .calendar_wrap { border-top: 1px solid #009599; }
.fcltyWrap.Info .calendar_wrap table thead th { padding: 0.5rem; font-size: 0.85rem; font-weight: bold; color: #3A3A3A; border-bottom: 1px solid #009599; }
.fcltyWrap.Info .calendar_wrap table thead th.sat { color: #2668B4; }
.fcltyWrap.Info .calendar_wrap table thead th.sun { color: #DB2A01; }
.fcltyWrap.Info .calendar_wrap table tbody td { border-left: 1px solid #EBECF6; border-bottom: 1px solid #EBECF6; border-right: 1px solid #EBECF6; height: 6rem; text-align: start !important; padding: 0.8rem; vertical-align: top; }
.fcltyWrap.Info .calendar_wrap table tbody tr td + td { border-left: none; }
.fcltyWrap.Info .calendar_wrap table tbody tr td > em { font-size: 0.85rem; display: block; }
.fcltyWrap.Info .calendar_wrap table tbody tr td .calFontWeek {color: #3A3A3A; }
.fcltyWrap.Info .calendar_wrap table tbody tr td .calFontWeek > span { font-size: 0.8rem; }
.fcltyWrap.Info .calendar_wrap table tbody tr td .calFontSun { color: #DB2A01; }
.fcltyWrap.Info .calendar_wrap table tbody tr td .calFontSat { color: #2668B4; }
.fcltyWrap.Info .calendar_wrap table tbody tr td.closed { background-color: #E6E6E6; color: #888 !important; }
.fcltyWrap.Info .calendar_wrap table tbody tr td.closed > em > span, 
.fcltyWrap.Info .calendar_wrap table tbody tr td.closed > em { color: #888 !important; }
.fcltyWrap.Info .calendar_wrap table tbody tr td.chk { background: #009599; }
.fcltyWrap.Info .calendar_wrap table tbody tr td.chk > em { color: #fff !important; } 
.fcltyWrap.Info .reser_view { margin-top: 2rem; }
.fcltyWrap.Info .reser_view .reser_tab { display: flex; align-items: center; flex-wrap: wrap; border-bottom: 2px solid #009699; }
.fcltyWrap.Info .reser_view .reser_tab li { flex: 1; }
.fcltyWrap.Info .reser_view .reser_tab li a { display: block; padding: 0.75rem; line-height: 1.2; font-size: 0.9rem; text-align: center; border-top: 1px solid #dfe3ef; border-right: 1px solid #dfe3ef; border-left: 1px solid #dfe3ef; background: #f8fafa; transition: 0.3s ease-in-out; }
.fcltyWrap.Info .reser_view .reser_tab li a.on { color: #009699; border: 1px solid #009699; border-bottom: 0; background: #fff; font-weight: 600; }


/* 사용자 기능 캘린더 */
.calWrap .calTit { display: flex; align-items: center; justify-content: space-between; gap: 0 1rem; margin-bottom: 1.35rem; }
.calWrap .calTit .date { color: #000000; font-weight: bold; font-size: 1.9rem; }
.calWrap .calTit > button { display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid #CCCCCC; color: #000; font-size: 1.25rem; width: 3.5rem; height: 3.5rem; background: #fff; }
.calWrap .calMain table { border: 1px solid #CCCCCC; }
.calWrap .calMain table thead th,
.calWrap .calMain table tbody td { text-align: center; vertical-align: middle; }
.calWrap .calMain table thead th { color: #000000; font-weight: bold; font-size: 1rem; padding: 0.75rem; border-left: 1px solid #ccc; border-bottom: 3px solid #000000; }
.calWrap .calMain table thead th.sun { border-bottom-color: #E80000; }
.calWrap .calMain table thead th.sat { border-bottom-color: #2A64FF; }
.calWrap .calMain table thead tr th:first-child { border-left: none; }
.calWrap .calMain table tbody td { border-left: 1px solid #ccc; border-bottom: 1px solid #ccc; color: #222222; font-weight: 500; font-size: 0.9rem; }
.calWrap .calMain table tbody td.done { background: #F5F5F5 !important; }
.calWrap .calMain table tbody td.chk { background-color: #246FC0; color: #fff; } 
.calWrap .calMain table tbody td a { display: block; width: 100%; padding: 0.75rem; }
.calWrap .calMain table tbody tr td:first-child { border-left: none; }
.calWrap .calMain table tbody tr:last-child td { border-bottom: none; }
.calWrap .calMain table tbody td.done a,
.calWrap .calMain table tbody td.none a { cursor: unset; pointer-events: none; }
.chkDateBox { border: 1px solid #CCCCCC; border-radius: 0.25rem; padding: 0.5rem 1.5rem; }
.chkDateBox p { color: #000000; font-size: 0.85rem; font-weight: bold; line-height: 1.5rem; }
.chkDateBox p span { color: #246FC0; }

/* 인풋 공통 레이아웃 */
.infoWrap { display: flex; flex-wrap: wrap; gap: 2rem 3.2rem; }
.infoWrap .inputWrap { width: calc((100% - 3.2rem) / 2); }
.inputWrap { display: flex; flex-wrap: wrap; gap: 0.7rem 1rem; }
.inputWrap .inputBox { width: 100%; display: flex; flex-wrap: wrap; gap: 0.25rem; }
.inputWrap .inputBox.w_50 { width: calc((100% - 1rem) / 2); }
.inputWrap .inputBox > span { display: inline-block; position: relative; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #000000; font-size: 1rem; line-height: 1.5rem; font-weight: bold; }
.inputWrap .inputBox > span.estl { padding-right: 0.85rem; }
.inputWrap .inputBox > span.estl::before { position: absolute; content: "*"; right: 0; top: 0.25rem; color: #E20000; line-height: 1; }
.inputWrap .inputBox > input,
.inputWrap .inputBox > select,
.inputWrap .inputBox > textarea { width: 100%; border: 1px solid #CCCCCC; border-radius: 0.25rem; }
.inputWrap .inputBox > input,
.inputWrap .inputBox > select { height: 2.5rem; padding: 0 1rem; }
.inputWrap .inputBox > input::placeholder,
.inputWrap .inputBox > select::placeholder,
.inputWrap .inputBox > textarea::placeholder { color: #444444; }
.inputWrap .inputBox > textarea { height: 12.5rem; width: 100%; padding: 1.5rem; }

/* 시설예약 */
.fcltLst { margin-bottom: 6.85rem; }
.fcltLst ul { display: flex; flex-wrap: wrap; gap: 1.55rem; }
.fcltLst ul li { flex: 1; }
.fcltLst ul li a { display: block; width: 100%; }
.fcltLst ul li a .img { display: flex; align-items: center; justify-content: center; overflow: hidden; position: relative; border-radius: 1rem; height: 10rem; background: #e1e1e1; }
.fcltLst ul li a .img > span { position: absolute; top: 1rem; right: 1rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 5rem; background: #246fc0; height: 1.5rem; padding: 0 0.85rem; font-size: 0.7rem; color: #fff; font-weight: bold; z-index: 1; }
.fcltLst ul li a .img > span.done { background: #EA455B; }
.fcltLst ul li a .img img { max-width: 100%;  height: 100%; }
.fcltLst ul li a .txt { margin-top: 1rem; text-align: center; }
.fcltLst ul li a .txt p { white-space: nowrap; display: block; text-align: center; overflow: hidden; text-overflow: ellipsis; color: #111111; font-size: 1rem; line-height: 1.5rem; font-weight: bold; }
/* 시설예약 : active */
.fcltLst ul li a .img img { transition: 0.2s ease-in-out; }
.fcltLst ul li a:hover .img img,
.fcltLst ul li a:focus .img img { transform: scale(1.2); }

/* 전문가와 상담 신청 */
.RqFcnt .topBox { background: #4185E6; position: relative; padding: 0.5rem; overflow: hidden; }
.RqFcnt .topBox > img { position: absolute; bottom: -4.25rem; right: 4.15rem; max-width: 27.2rem; }
.RqFcnt .topBox .inBox { border: 1px solid rgba(255,255,255,0.2); border-radius: 1.5rem; padding: 2.8rem 31rem 2.8rem 3.5rem; min-height: 14rem; }
.RqFcnt .topBox .inBox > span { color: #FFFFFF; display: block; font-size: 1.5rem; font-weight: bold; }
.RqFcnt .topBox .inBox > p { color: #fff; font-size: 1rem; line-height: 1.8; font-weight: 400; margin-top: 1.2rem; }
.RqFcnt .box_st1 { position: relative; }
.RqFcnt .box_st1 p { color: #333; font-size: 0.85rem; line-height: 1.8; }
.RqFcnt .box_st1 .inner { padding: 1.5rem 12.5rem 1.5rem 1.25rem; }
.RqFcnt .box_st1.noBtn .inner { padding: 1.5rem 1.25rem; }
.RqFcnt .box_st1 .btns { position: absolute; margin: 0 !important; right: 1.5rem; bottom: 1.5rem; z-index: 1; }
.rqfClndr { display: flex; flex-wrap: wrap; gap: 1.6rem; justify-content: space-between; margin-top: 2rem; }
.rqfClndr .calWrap { flex: 1; border: 1px solid #D9D9D9; padding: 1.6rem; }
.rqfClndr .calWrap .calTit { margin-bottom: 1rem; }
.rqfClndr .calWrap .calTit .date { color: #111111; font-size: 1.1rem; line-height: 1.8; }
.rqfClndr .calWrap .calTit button { width: 2rem; height: 2rem; font-size: 1rem; border: 1px solid #999999; color: #999; }
.rqfClndr .calWrap .calMain table { border: none; }
.rqfClndr .calWrap .calMain table thead th { border-left: none !important; border-top: 1px solid #009599; border-bottom: 1px solid #009599 !important; color: #111111; font-size: 0.85rem; padding: 0.45rem; line-height: 1.8; }
.rqfClndr .calWrap .calMain table thead th.sun { color: #DB2A01; }
.rqfClndr .calWrap .calMain table thead th.sat { color: #2668B4; }
.rqfClndr .calWrap .calMain table tbody td { border-left: 1px solid #EBECF6 !important; color: #111111; line-height: 1.8; font-size: 0.85rem; font-weight: 400; background: #fff; border-bottom: 1px solid #EBECF6; height: 3rem; }
.rqfClndr .calWrap .calMain table tbody td a { padding: 0.7rem 0.5rem; height: 100%; }
.rqfClndr .calWrap .calMain table tbody tr td:last-child { border-right: 1px solid #ebecf6; }
.rqfClndr .calWrap .calMain table tbody tr:last-child td { border-bottom: 1px solid #ebecf6; }
.rqfClndr .calWrap .calMain table tbody td.sun { color: #DB2A01; }
.rqfClndr .calWrap .calMain table tbody td.sat { color: #2668B4; }
.rqfClndr .calWrap .calMain table tbody td.done { background: #E6E6E6 !important; color: #888888 !important; }
.rqfClndr .calWrap .calMain table tbody td.chk { background: #009599; color: #fff; }
.rqfClndr .calDetail { width: 46.4rem; display: flex; flex-direction: column; gap: 1.2rem; }
.rqfClndr .calDetail .dtlBox { width: 100%; border: 1px solid #D4D6E2; }
.rqfClndr .calDetail .dtlBox .top { padding: 0 1rem; height: 2.55rem; background: #F7F9FD; display: flex; align-items: center; justify-content: center; width: 100%; gap: 0.5rem; border-bottom: 1px solid #D4D6E2; }
.rqfClndr .calDetail .dtlBox .top p { color: #111111; font-weight: bold; font-size: 0.85rem; line-height: 1.8; }
.rqfClndr .calDetail .dtlBox .top span { color:#D90156; font-size: 0.7rem; font-weight: 500; line-height: 1.8; }
.rqfClndr .calDetail .dtlBox .bot .timeLst { padding: 0.8rem; }
.rqfClndr .calDetail .dtlBox .bot .tbl_st table { border-left: none; border-right: none; }
.rqfClndr .calDetail .dtlBox .bot .timeLst .chkBox { gap: 0.5rem; display: flex; overflow: hidden; overflow-x: auto; }
.rqfClndr .calDetail .dtlBox .bot .timeLst .chkBox li { width: calc((100% - 3rem) / 7); min-width: 5.9rem; }
.rqfClndr .calDetail .dtlBox .bot .timeLst .chkBox li label { width: 100%; justify-content: center; border: 1px solid #D9D9D9; height: 2.55rem; background: #fff; align-items: center; color: #111111; font-size: 0.85rem; line-height: 1.8; padding: 0.25rem; }
.rqfClndr .calDetail .dtlBox .bot .timeLst .chkBox input:disabled ~ .txt_lb { color: #C9C9C9; }
.rqfClndr .calDetail .dtlBox .bot .timeLst .chkBox li label:has(input:disabled) { border-color: #c9c9c9; }
.rqfClndr .calDetail .dtlBox .bot .timeLst .chkBox li label:has(input:checked) { border-color: #009599; background: #009599; }
.rqfClndr .calDetail .dtlBox .bot .timeLst .chkBox li label:has(input:checked) .txt_lb { color: #fff; }
.rqfClndr .calDetail .dtlBox:last-child { height: calc(100% - 8rem); }
.rqfClndr .calDetail .dtlBox .bot .tbl_st table { margin: 0; border-top: none !important; }
.rqfClndr .calDetail .dtlBox .bot .tbl_st thead th { color: #111111; font-weight: bold; font-size: 0.85rem; background: #F7F9FD; border-color: #D4D6E2; padding: 0.5rem 0.75rem; }
.rqfClndr .calDetail .dtlBox .bot .tbl_st tbody td { color: #111111; font-size: 0.85rem; font-weight: 400; border-color: #D4D6E2; padding: 0.5rem 0.75rem; }
.rqfClndr .calDetail .dtlBox .bot .tbl_st thead tr th:first-child,
.rqfClndr .calDetail .dtlBox .bot .tbl_st tbody tr td:first-child { border-left: none; }
.RqFcnt .box_st_info .inner { padding: 0; background: #f7f7f7; padding: 1.25rem 1.5rem; }
.RqFcnt .box_st_info .inner p { color:#333333; line-height: 1.8; font-size: 0.85rem; }
.RqFcnt .rdoBox.inTxt { display: flex; align-items: center; justify-content: end; gap: 1rem 2rem; flex-wrap: wrap; margin-top: 0.9rem; } 
.RqFcnt .rdoBox.inTxt > p { color: #111111; font-size: 0.85rem; }
.RqFcnt .reactTbl { margin-top: 2rem; }
.RqFcnt > .btns { margin: 2.5rem 0 2rem; }

.rqfCDetail { margin: 1.5rem 0 0; }
.rqfCDetail li { line-height: 1.5 !important; display: flex; align-items: center; gap: 0.25rem 0.5rem; flex-wrap: wrap; }
.rqfCDetail li.pc_red { color: #e33d65 !important; }
.rqfCDetail li:before { top: 0.48rem; }
.rqfCDetail li strong { font-weight: bold; display: inline-block; min-width: 5rem; color: #3a3a3a !important; }
.rqfCDetail + .tbl_st { margin-top: 1rem !important; }

/* 전문가와 상담 신청 : active */
.rqfClndr .calWrap .calTit button { transition: 0.2s ease-in-out; }
.rqfClndr .calWrap .calTit button:hover,
.rqfClndr .calWrap .calTit button:focus { color: #fff; background: #009599; border-color: #009599; }

/* 모달창 */
.modalPopup { display: none; }
.modalPopup .modalPopup_wrap { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.3); display: flex; justify-content: center; align-items: center; z-index: 999; padding: 1rem; }
.modalPopup .modalPopup_wrap > .inner { background: #fff; max-width: 100%; width: 50rem; padding: 2rem; }
.modalPopup .modalPopup_wrap > .inner .btns { margin: 2rem 0 0; }

/* 학생정보 상세 */
.AtdcSttus { display: flex; gap: 0.5rem 0; justify-content: center; flex-wrap: wrap; }
.AtdcSttus li { color: #3A3A3A; font-size: 0.85rem; line-height: 1.8; position: relative; padding: 0 0.5rem; }
.AtdcSttus li::before { position: absolute; content: ""; width: 1px; height: 0.8rem; background: #BDCBDE; right: 0; top: 50%; transform: translateY(-50%); } 
.AtdcSttus li:last-child:before { display: none; }
.AtdcSttus li > span { font-weight: 600; margin-left: 0.5rem; }
.lastSttus { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem 0; justify-content: center; }
.lastSttus li { color: #3A3A3A; font-size: 0.85rem; line-height: 1.8; position: relative; font-weight: 600; }
.lastSttus li + li { margin-left: 0.8rem; }
.lastSttus li > span { margin-left: 0.5rem; color: #097F81; }
.lastSttus li.perNum { margin-left: 0.6rem; padding-left: 0.6rem; }
.lastSttus li.perNum:before { position: absolute; content: ""; width: 1px; height: 0.8rem; background: #BDCBDE; left: 0; top: 50%; transform: translateY(-50%); }
.titInSel { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; margin: 2.5rem 0 0.5rem; gap: 0.5rem; }
.titInSel .tit1 { margin: 0 !important; }

@media print {
    .AtdcSttus { gap: 0.35rem 0; }
    .AtdcSttus li { font-size: 0.8rem; padding: 0 0.35rem; }
    .AtdcSttus li > span { margin-left: 0.35rem; }
}

/* 중도탈락 예상 시스템 */
.outDtl { margin-top: 2rem; padding-bottom: 2rem; border-bottom: 1px dashed #DDDDDD; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; }
.outDtl .lft ul { display: flex; flex-wrap: wrap; gap: 1.5rem 2.2rem; }
.outDtl .lft ul li { display: flex; align-items: center; gap: 1.2rem; }
.outDtl .lft ul li .ico { border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #F1F0FF; font-size: 0; line-height: 0; width: 3.5rem; height: 3.5rem; }
.outDtl .lft ul li:last-child .ico { background: #E9F4FF; }
.outDtl .lft ul li .txt span { color: #888888; font-size: 0.9rem; font-weight: 500; display: block; line-height: 1.5; }
.outDtl .lft ul li .txt p { color: #888888; font-size: 0.9rem; font-weight: 500; }
.outDtl .lft ul li .txt p em { font-size: 1.1rem; color: #121212; font-weight: 600; }
.outDtl .rgt { border: 1px solid #DFE3E5; background: #F6F6F6; padding: 1.2rem 2rem; border-radius: 0.5rem; display: flex; align-items: center; gap: 1rem 2.7rem; flex-wrap: wrap; }
.outDtl .rgt > span { color: #097F81; font-size: 0.9rem; font-weight: bold; }
.outDtl .rgt ul { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem 1.2rem; color: #333; font-size: 0.85rem; }
.outDtl .rgt ul li { position: relative; padding-left: 0.6rem; }
.outDtl .rgt ul li:before { position: absolute; content: ""; border-radius: 50%; left: 0; top: 50%; transform: translateY(-50%); background: #009699; width: 6px; height: 6px; }
.outDtl .rgt ul li > span { font-weight: 600; }
table td.outStte span { position: relative; padding: 0.25rem 0.6rem 0.25rem 1.75rem; border-radius: 0.2rem; border: 1px solid transparent; display: inline-flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: bold; line-height: 1.5; text-align: start; }
table td.outStte span::before { position: absolute; content: ""; border-radius: 50%; left: 0.6rem; top: 50%; transform: translateY(-50%); width: 0.75rem; height: 0.75rem; }
table td.outStte span.okay { color: #3AA700; background: #F2FFEF; border-color: #CFEDC8; }
table td.outStte span.okay::before { background: #459A17; }
table td.outStte span.row { color: #E07000; background: #FFF8F2; border-color: #F2DBC5; }
table td.outStte span.row::before { background: #F47B10; }
table td.outStte span.high { color: #FF3033; background: #FFEFEF; border-color: #F0D7D7; }
table td.outStte span.high::before { background: #FF3033; }

/* 설문조사 설문 참여 */
.chkLst { padding: 0 1.2rem; }
.chkLst > ul > li { position: relative; padding: 1.2rem 0 1.2rem 3.3rem; border-bottom: 1px solid #EAECF1; }
.chkLst > ul > li > span { position: absolute; left: 0; top: 1.2rem; background: #3A3A3A; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 0.85rem; font-weight: bold; padding: 0 0.75rem; line-height: 1.8; }
.chkLst > ul > li > .txt > p { color: #1B1B1B; font-size: 0.85rem; line-height: 1.8; margin-bottom: 0.8rem; } 
.chkLst > ul > li > .txt > .rdoBox ul { gap: 0.5rem 2rem; }
.chkLst > ul > li > .txt > .chkBox label { line-height: 1.5; align-items: center; }

.qrspBtn { min-width: auto !important; padding: 0.35rem 0.5rem !important; }

/* 계약학과 설명회 신청 */
.rqfClndr.typeB .calDetail .dtlBox { height: auto; }
.rqfClndr.typeB .calDetail { width: 18rem; }
.rqfClndr.typeB .calDetail .chkTime { padding: 1.2rem; display: flex; flex-wrap: wrap; gap: 1rem 1.2rem; }
.rqfClndr.typeB .calDetail .chkTime .box { flex: 1; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0.5rem; } 
.rqfClndr.typeB .calDetail .chkTime .box select{ width:100%;}
.rqfClndr.typeB .calDetail .chkTime .box > span { color: #111111; font-size: 0.85rem; line-height: 1.8; font-weight: bold; }
.rqfClndr.typeB .calDetail .chkTime .box > input { width: 100%; height: 2rem; border: 1px solid #D9D9D9; padding: 0 1rem; }
.RqFcnt .chkBox.inTxt { display: flex; align-items: center; flex-wrap: wrap; gap: 0.35rem 0.5rem; }
.RqFcnt .chkBox.inTxt > p { color: #555555; font-size: 0.85rem; }

/* 파일 첨부 */
.file-upload { width: 100%; background: #F2F2F2; border: 1px dashed #d9d9d9; padding: 0.8rem 1rem; display: flex; gap: 0.5rem 0.8rem; align-items: center; justify-content: center; flex-wrap: wrap; }
.file-upload .btn-file { display: inline-flex; align-items: center; justify-content: center; background: #fff; color: #1B1B1B; border: 1px solid #1B1B1B; height: 2rem; width: 5.65rem; gap: 0.4rem; font-size: 0.85rem; }
.file-upload p.txt { color: #333; font-size: 0.85rem; }
.fileLst { margin-top: 0.8rem; }
.fileLst ul { display: flex; flex-direction: column; gap: 0.5rem; }
.fileLst ul li { display: flex; justify-content: space-between; border: 1px solid #D9D9D9; align-items: center; padding: 0.8rem; }
.fileLst ul li > a { display: inline-flex; padding-left: 1.25rem; color: #555555; font-size: 0.85rem; position: relative; text-align: start; }
.fileLst ul li > a > i { position: absolute; left: 0; top: 50%; transform: translateY(-50%); }
.fileLst ul li > .fileDelte { color: #777; font-size: 0.8rem; }

/* 계약학과 공동 커리큘럼 개발 요구 신청 */
.noticeTxt { display: flex; flex-direction: column; gap: 2rem; justify-content: center; align-items: center; color: #3A3A3A; font-size: 0.85rem; margin-top: 2.5rem; text-align: center; }
.noticeTxt p.date { display: flex; align-items: center; gap: 2rem; }

/* 계약학과 전문가와 상담_학생 */
.surveyBox .inner p[class*='bu_wnrn'],
.RqFcnt .box_st_info .inner p[class*='bu_wnrn'] { color:#D90156; line-height: 1.5; font-size: 0.85rem; margin-top: 1.2rem; }
.surveyBox .inner p[class*='bu_wnrn']:before,
.RqFcnt .box_st_info .inner p[class*='bu_wnrn']:before { line-height: 1; top: 0.16rem; }
.rdoBox.inTxtCnt { display: flex; flex-direction: column; gap: 0.8rem; padding-top: 1.2rem; border-top: 1px dashed #DFE3E5; margin-top: 1.2rem; } 
.rdoBox.inTxtCnt > p { margin: 0 !important; }

/* 대시보드 레이아웃 */
#sub_content.dashboard { padding: var(--fixdTop) 0 0 0; background: #EDF6F8; }
#sub_content.dashboard .subCntBody { border-radius: 2rem; padding: 0; }
.dashboardGrid { padding: 2.7rem 3rem; }
.dashboardGrid canvas { width: auto !important; max-width: 100%; }

/* 대시보드 : 사용자정보 */
.dashboardGrid .userInfo .userBox { display: flex; gap: 1.2rem; }
.dashboardGrid .userInfo .userCard { position: relative; display: flex; align-items: center; justify-content: space-between; width: 27.5rem; border-radius: 1.2rem; background: #4973FA; padding: 2rem; gap: 2.5rem;}
.dashboardGrid .userInfo .userCard .imgArea { width: 6.9rem; }
.dashboardGrid .userInfo .userCard .imgArea .img { border-radius: 50%; background: #fff; overflow: hidden; }
.dashboardGrid .userInfo .userCard .imgArea .img img { max-width: 100%; }
.dashboardGrid .userInfo .userCard .infoArea { flex: 1; width: calc(100% - 9.35rem); color: #fff; }
.dashboardGrid .userInfo .userCard .infoArea .name { font-size: 1.2rem; }
.dashboardGrid .userInfo .userCard .infoArea .name span { font-weight: 600;}
.dashboardGrid .userInfo .userCard .infoArea .lst { margin: 0.7rem 0; }
.dashboardGrid .userInfo .userCard .infoArea .lst li { display: flex; gap: 1rem; font-size: 0.85rem; word-break: break-all; } 
.dashboardGrid .userInfo .userCard .infoArea .lst li span { width: 2.2rem; font-weight: 600; white-space: nowrap; }
.dashboardGrid .userInfo .userCard .infoArea .accDate { font-size: 0.75rem;}
.dashboardGrid .userInfo .userCard .infoArea .accDate span { font-weight: 600; margin-right: 0.2rem; }
.dashboardGrid .userInfo .userCard .infoArea .accDate em { color: #BAFCFD; }
.dashboardGrid .userInfo .link { display: flex; gap: 1.2rem; width: calc((100% - 28.7rem)) }
.dashboardGrid .userInfo .link li { flex: 1; }
.dashboardGrid .userInfo .link li a { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; border-radius: 1.25rem; padding: 1rem; }
.dashboardGrid .userInfo .link li:nth-child(1) a { background: #D7EEE9; }
.dashboardGrid .userInfo .link li:nth-child(2) a { background: #E9F4FF; }
.dashboardGrid .userInfo .link li:nth-child(3) a { background: #FFEBF1; }
.dashboardGrid .userInfo .link li a .img { display: flex; justify-content: center; align-items: center; width: 6.5rem; height: 6.5rem; border-radius: 2.5rem; background: #fff; margin-bottom: 1.2rem; padding: 1rem; }
.dashboardGrid .userInfo .link li a .img img { max-width: 100%; }
.dashboardGrid .userInfo .link li a .txt { font-size: 1rem; font-weight: 700; text-align: center; word-break: keep-all; line-height: 1.2rem; }
.dashboardGrid .userInfo .link li .no_data { background: rgba(233, 233, 233, 0.9) !important; cursor: default; }

/* 대시보드 : 차트 */
.dashboardGrid .heading { font-size: 1rem; font-weight: 700; color: #000; margin-bottom: 1.2rem; }
.dashboardGrid .btn_more { position: absolute; display: flex; gap: 0.6rem; align-items: center; color: #333; font-weight: 700; }
.dashboardGrid .btn_more i { display: flex; justify-content: center; align-items: center; border-radius: 50%; width: 1.5rem; height: 1.5rem; background: #71747C; color: #fff; font-weight: 500; font-size: 1.1rem; transition: 0.3s; }
.dashboardGrid .btn_more:hover i,
.dashboardGrid .btn_more:focus i { transform: rotate(180deg); }

/* 대시보드 : 중도 탈락률 차트 */
.statsOverview { display: flex; margin: 2rem 0; gap: 2rem; }
.statsOverview .metricBar { position: relative; width: 50%; border-radius: 1.5rem; border: 1px solid #ccc; background: #fff; padding: 1.5rem; }
.statsOverview .metricBar .heading { width: calc(100% - 8.5rem); }
.statsOverview .metricBar .titTab { position: absolute; top: 1.7rem; right: 1.5rem; }
.statsOverview .metricBar .titTab ul { display: flex; gap: 1.6rem; }
.statsOverview .metricBar .titTab ul li { position: relative; }
.statsOverview .metricBar .titTab ul li + li::before { position: absolute; top: 50%; left: -0.9rem; transform: translateY(-50%); width: 0.3rem; height: 0.3rem; border-radius: 50%; background: #D9D9D9; content: ""; }
.statsOverview .metricBar .titTab ul li a { position: relative; font-size: 1rem; color: #888; transition: 0.3s; }
.statsOverview .metricBar .titTab ul li a.current { padding-left: 1.2rem; color: #000; font-weight: 600; }
.statsOverview .metricBar .titTab ul li a.current::before { position: absolute; top: 50%; transform: translateY(-50%); left: 0; font-family: 'remixicon'; content: "\eb80"; color: #EA455B; }
.statsOverview .metricBar .tabWrap .barBox { display: none; }
.statsOverview .metricBar .tabWrap .barBox.on { display: block; }
.statsOverview .metricBars li + li { margin-top: 1rem; }
.statsOverview .metricBars li { display: flex; align-items: center; gap: 1rem; }
.statsOverview .metricBars li .year { width: 2.6rem; font-size: 1rem; font-weight: 700; }
.statsOverview .metricBars li .track { flex: 1; height: 1rem; background: #FFDFE3; border-radius: 2.5rem; }
.statsOverview .metricBars li .count { width: 1.6rem; font-size: 0.75rem; font-weight: 600; text-align: right; }
.statsOverview .metricBars li .count span { color: #EA455B; }
.statsOverview .metricBars .trackfill { height: 100%; background: #EA455B; border-radius: 2.5rem; width: 0; transition: width 0.8s ease; }
.statsOverview .metricBars .bubble { position: absolute; top: -2.1rem; transform: translateX(-50%); background: #000; color: #fff; font-size: 0.75rem; padding: 0.25rem 0.5rem; border-radius: 1rem; white-space: nowrap;}
.statsOverview .metricBars .bubble::after { content: ''; position: absolute; left: 50%; bottom: -4px; transform: translateX(-50%); border-width: 4px 4px 0 4px; border-style: solid; border-color: #000 transparent transparent transparent; }

/* 대시보드 : 전년도 대비 탈락률 차트 */
.statsOverview .compareBar { position: relative; display: flex; flex-direction: column; justify-content: space-between; width: 25%; border-radius: 1.5rem; border: 1px solid #ccc; background: #fff; padding: 1.5rem; }
.statsOverview .compareBar .tit_wrap { display: flex; justify-content: space-between; gap: 0.5rem; margin-bottom: 1.2rem; }
.statsOverview .compareBar .tit_wrap .heading { margin-bottom: 0; }
.statsOverview .compareBar .tit_wrap .compare { height: fit-content; display: inline-flex; padding: 0.2rem 0.55rem; font-weight: 600; color: #fff; border-radius: 1.5rem; margin-top: 0; white-space: nowrap; }
.statsOverview .compareBar.typ1 .tit_wrap .compare { background: #EA455B; }
.statsOverview .compareBar.typ2 .tit_wrap .compare { background: #229C9D; }
.statsOverview .compareBars { display: flex; justify-content: center; }
.statsOverview .compareBars ul { display: flex; gap: 1.25rem; }
.statsOverview .compareBars ul li { text-align: center; }
.statsOverview .compareBars ul li .chartBar { display: flex; align-items: flex-end; width: 5rem; height: 10rem; border-radius: 0.5rem 0.5rem 0 0; margin-bottom: 0.4rem; overflow: hidden; }
.statsOverview .compareBar.typ1 .compareBars ul li .chartBar { background: #FFDFE3; }
.statsOverview .compareBar.typ2 .compareBars ul li .chartBar { background: #EAF6F6; }
.statsOverview .compareBars .barFill{ position: relative; width: 100%; height: 0%; display: flex; align-items: center; justify-content: center; border-radius: 0.5rem 0.5rem 0 0; transition: height 0.9s ease; }
.statsOverview .compareBar.typ1 .barFill{ background:#EA455B; }
.statsOverview .compareBar.typ2 .barFill{ background:#1C9A9A; }
.statsOverview .compareBars .barFill.is-zero .chartValue { top: -2rem; }
.statsOverview .compareBar.typ1 .barFill.is-zero .chartValue { color: #EA455B; }
.statsOverview .compareBar.typ2 .barFill.is-zero .chartValue { color: #1C9A9A; }
.statsOverview .compareBars .chartValue { position: absolute; top: 0.5rem; text-align: center; color: #fff; font-size: 0.9rem; }
.statsOverview .compareBars .chartValue span { font-weight: 600; }
.statsOverview .compareBars ul li .year { font-size: 0.9rem; font-weight: 700; }
.statsOverview .compareBars ul li .count { font-size: 0.75rem; }
.statsOverview .compareBars ul li .count em { font-size: 0.9rem; font-weight: 700; color: #229C9D; }

/* 대시보드 : 상담신청 차트 */
.attendance { position: relative; border-radius: 1.5rem; border: 1px solid #ccc; background: #fff; padding: 1.5rem; margin: 2rem 0; } 
.attendance .attendBars { display: flex; gap: 2rem; }
.attendance .attendBars .chartBar-box { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 9.6rem; background: #F9F9F9; border-radius: 1.5rem; }
.attendance .attendBars .chartBar-box .chartBar { position: relative; width: 6rem; height: 6rem; border-radius: 50%; background: #E9E9E9; margin: 0 auto 1.2rem; gap: 2rem; }
.attendance .attendBars .chartBar-box .chartBar .num { position: absolute; width: 3.7rem; height: 3.7rem; border-radius: 50%; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; justify-content: center; align-items: center; background: #fff; color: #000; font-size: 0.7rem; }
.attendance .attendBars .chartBar-box .chartBar .num span { font-weight: 800; font-size: 1.1rem; }
.attendance .attendBars .chartBar-box .txt { font-size: 1rem; font-weight: 600; text-align: center; }
.attendance .attendBars .chart-box { flex: 1; overflow-x: auto; }
.attendance .attendBars .chart-box .chartInner { min-width: 768px; height: 100%; }
.attendance .btn_more { top: 1.7rem; right: 1.5rem; }

.support { display: flex; justify-content: space-between; gap: 2rem; }
.support .record { position: relative; width: 22.5rem; border-radius: 1.5rem; border: 1px solid #ccc; background: #fff; padding: 1.5rem; }
.support .record ul { display: flex; }
.support .record ul li { flex: 1; } 
.support .record ul li + li { padding-left: 0.8rem; margin-left: 0.8rem; border-left: 1px solid #E9E9E9; }
.support .record ul li .badge { border-radius: 2.5rem; background: #1187F5; border: 2px solid rgba(255, 255, 255, 0.2); color: #fff; text-align: center; padding: 0.2rem; font-size: 0.75rem; }
.support .record ul li .num { font-size: 2rem; font-weight: 600; margin-top: 1rem; text-align: center; line-height: 1; }
.support .record .btn_more { top: 1.7rem; right: 1.5rem; }
.support .notice { position: relative; width: calc(100% - 24.5rem); flex: 1; border-radius: 1.5rem; border: 1px solid #ccc; background: #fff; padding: 1.5rem; }
.support .notice ul li:nth-child(n + 3) { display: none; }
.support .notice ul li:nth-child(1) a { padding-top: 0; }
.support .notice ul li:nth-child(2) a { padding-bottom: 0; }
.support .notice ul li + li { border-top: 1px solid rgba(221, 221, 221, 0.6); }
.support .notice ul li a { display: flex; align-items: center; gap: 0.7rem; padding: 1.1rem 0; }
.support .notice ul li .badge { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 1.35rem; border: 1px solid; border-radius: 5px; text-align: center; }
.support .notice ul li .badge.col_skyb { border-color: #00B2FF; color: #00B2FF; background: rgba(61, 199, 254, 0.05); }
.support .notice ul li .badge.col_puple { border-color: #5956FF; color: #5956FF; background: rgba(89, 86, 255, 0.05); }
.support .notice ul li .badge.col_blue { border-color: #006FE9; color: #006FE9; background: rgba(61, 199, 254, 0.05); }
.support .notice ul li .badge.col_gry { border-color: #2F2A2C; color: #2F2A2C; background: rgba(61, 199, 254, 0.05); }
.support .notice ul li .txt { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 0.9rem; }
.support .notice ul li .date { font-size: 0.8rem; color: #555; }
.support .notice .btn_more { top: 1.7rem; right: 1.5rem; }
.support .notice ul li a:hover .txt,
.support .notice ul li a:focus .txt { text-decoration: underline; }


/* 대시보드 : 통계구축 */
.kpiSummary ul { display: flex; gap: 1.2rem; }
.kpiSummary ul li { flex: 1; display: flex; align-items: center; gap: 1.2rem; }
.kpiSummary ul li .icon { display: flex; justify-content: center; align-items: center; width: 3.5rem; height: 3.5rem; border-radius: 50%; padding: 0.5rem; }
.kpiSummary ul li:nth-child(1) .icon { background: #E2FAFF; }
.kpiSummary ul li:nth-child(2) .icon { background: #E9F4FF; }
.kpiSummary ul li:nth-child(3) .icon { background: #F1F0FF; }
.kpiSummary ul li:nth-child(4) .icon { background: #EFF9EF; }
.kpiSummary ul li:nth-child(5) .icon { background: #FFEBF1; }
.kpiSummary ul li .icon img { max-width: 100%; }
.kpiSummary ul li .info { line-height: 1.5rem; width: calc(100% - 4.7rem); }
.kpiSummary ul li .info .tit { font-size: 0.9rem; color: #888; word-break: keep-all; }
.kpiSummary ul li .info .num { font-size: 0.9rem; color: #888; }
.kpiSummary ul li .info .num span { font-size: 1.5rem; color: #121212; font-weight: 600; line-height: 2rem; }

/* 대시보드 : 석박사 통계 */
.deptStats ul { display: flex; gap: 1.2rem; margin: 3rem 0 2rem; }
.deptStats ul li { flex: 1; border-radius: 1.5rem; border: 1px solid #ccc; background: #fff; padding: 1.6rem 2rem; }
.deptStats ul li .badge { display: inline-flex; align-items: center; justify-content: center; padding: 0.2rem 0.8rem; color: #fff; border-radius: 2rem; border: 2px solid rgba(255, 255, 255, 0.2); font-size: 0.75rem; font-weight: 600; }
.deptStats ul li .badge.col_blue { background: #1187F5; }
.deptStats ul li .badge.col_grn { background: #229C9D ; }
.deptStats ul li .tit { font-size: 0.9rem; font-weight: 700; margin: 0.4rem 0 0.8rem; }
.deptStats ul li .metrics { display: flex; justify-content: space-between; padding-top: 0.8rem; border-top: 3px dotted #ddd; }
.deptStats ul li .metrics .item { flex: 1; }
.deptStats ul li .metrics .item .img { display: flex; align-items: center; font-size: 0.75rem; color: #555; }
.deptStats ul li .metrics .item .num { font-size: 0.75rem; color: #121212; margin-top: 0.4rem; }
.deptStats ul li .metrics .item .num span { font-size: 1.2rem; font-weight: 700; }

/* 대시보드 : 학생 통계 */
.studentStats { position: relative; display: flex; border-radius: 1.5rem; border: 1px solid #ccc; background: #fff; padding: 2rem; gap: 2rem; }
.studentStats .gradeChart { width: 18rem; }
.studentStats .gradeChart .tit_wrap { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.studentStats .gradeChart .tit_wrap .heading { margin-bottom: 0; }
.studentStats .gradeChart .tit_wrap .compare { height: fit-content; display: inline-flex; padding: 0.2rem 0.55rem; color: #fff; background: #229C9D; border-radius: 1.5rem; margin-top: 3px; white-space: nowrap; }
.studentStats .gradeChart .tit_wrap .compare span { font-weight: 600; }

/* 대시보드 : 학생 수 통계 */
.studentStats .trendChart { flex: 1; }

/* 대시보드 : 중도탈락 통계 */
.studentStats .dropoutPanel { width: 9.4rem; }
.studentStats ul li { display: flex; align-items: center; justify-content: space-between; background: #F9F9F9; border-radius: 1rem; padding: 1.1rem 1.2rem; }
.studentStats ul li + li { margin-top: 0.8rem; }
.studentStats ul li .grade { white-space: nowrap; }
.studentStats ul li .grade span { font-weight: 700; }
.studentStats ul li .badge { display: flex; justify-content: center; align-items: center; border-radius: 1rem; width: 3.75rem; height: 1.4rem; color: #fff; font-size: 0.75rem; font-weight: 600;}
/* .studentStats ul li .badge span { padding-right: 0.7rem; background: url('/images/web/education/sub/droplist_icon.png') no-repeat right center; } */
.studentStats ul li .badge.red { background: #EA455B; }
.studentStats ul li .badge.org { background: #E86C00; }
.studentStats ul li .badge.blue { background: #1187F5; }

.companyStats { display: flex; gap: 2rem; margin-top: 2rem; }
.companyStats .companyChart { flex: 1; border-radius: 1.5rem; border: 1px solid #ccc; background: #fff; padding: 2rem; }
.companyStats .companyTypeChart { flex: 1; border-radius: 1.5rem; border: 1px solid #ccc; background: #fff; padding: 2rem; }
.companyStats .companyIndustryChart { flex: 1; border-radius: 1.5rem; border: 1px solid #ccc; background: #fff; padding: 2rem; }
 

/* chart 높이 */
.dashboardGrid .chart-box { position: relative; height: 12.5rem; }
.dashboardGrid .chart-box.big { height: 13.5rem; }
.dashboardGrid .chart-box.donut { height: 9rem; }
.dashboardGrid .chart-box .company { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; color: #6F777E; }
.dashboardGrid .chart-box .company span { color: #121212; font-size: 1.5rem; font-weight: 700; line-height: 1; }


/* 범례 UI */
.dashboardGrid .legend { margin-top: 1rem; display: flex; flex-wrap: wrap; gap: 0.55rem; }
.dashboardGrid .legend-item { width: calc((100% - 0.8rem) / 2); display: flex; align-items: center; gap: 0.55rem; }
.dashboardGrid .legend-item .dot { width: 0.6rem; height: 0.6rem; border-radius: 50%; flex: 0 0 0.6rem; }
.dashboardGrid .legend-item p { flex: 1; font-size: 0.85rem; font-weight: 700; color: #111; }
.dashboardGrid .legend-item .muted { font-size: 0.8rem; color: #7a7a88; }
.dashboardGrid .legend-item .muted em { font-weight: 700; color: #111; }


.chartTooltipPill{ position:absolute; transform: translate(-50%, -120%); background:#111; color:#fff; padding:6px 10px; border-radius:14px; font-weight:900; font-size:13px; line-height:1; pointer-events:none; white-space:nowrap; z-index:10; }
.chartTooltipPill::after{ content:''; position:absolute; left:50%; bottom:-6px; transform: translateX(-50%); width:0; height:0; border-left:6px solid transparent; border-right:6px solid transparent; border-top:6px solid #111; }

@media(max-width: 1640px) {
    /* 대시보드 */
    .dashboardGrid { padding: 2rem; }

    /* 시설예약 목록 */
    .fcltyWrap .bbs_srch { padding: 1.5rem 5rem; }
}

@media(max-width: 1440px) {
    /* 시설예약 */
    .fcltLst { margin: 0; }
    .fcltLst ul { gap: 1rem; }
    .fcltLst ul li { flex: none; width: calc((100% - 3rem) / 4); }
    .fcltLst ul li a .img { height: 8.75rem; }
    .fcltLst ul li a .txt { margin-top: 0.75rem; }
    .fcltLst ul li a .txt p { font-size: 0.9rem; line-height: 1.3rem; }

    /* 전문가와 상담 신청 */
    .RqFcnt .topBox .inBox { padding: 2.5rem 28rem 2.5rem 2.5rem; }
    .RqFcnt .topBox > img { max-width: 25rem; right: 2rem; bottom: -3rem; }

    .rqfClndr .calDetail { width: 100%; }
    .rqfClndr .calDetail .dtlBox:last-child { height: auto; }
    .rqfClndr .calDetail .dtlBox .bot .tbl_st tbody tr:last-child td { border-bottom: none; }
    .rqfClndr .calDetail .dtlBox .bot .timeLst .chkBox { flex-wrap: wrap; overflow: hidden; }

    /* 대시보드 */
    .dashboardGrid { padding: 2.7rem 0; }
    .dashboardGrid .chart-box.donut { height: 6.5rem; }
    .dashboardGrid .chart-box .company span { font-size: 1rem; }
    .dashboardGrid .legend-item { width: 100%; }
    /* //대시보드 */

    /* 시설예약 목록 */
    .fcltyWrap .bbs_srch { padding: 1.25rem 2.5rem; }
}

@media(max-width: 1380px) {
    /* 대시보드 */
    .dashboardGrid .userInfo .userCard { width: 25rem; gap: 1.5rem; }
    .dashboardGrid .userInfo .userCard .imgArea { width: 5.5rem; }
    .dashboardGrid .userInfo .userCard .infoArea { width: calc(100% - 7rem) }
    .dashboardGrid .userInfo .link li a .img { width: 5rem; height: 5rem; border-radius: 1.5rem; }

    .deptStats ul li .metrics { flex-direction: column; gap: 0.2rem; }
    .deptStats ul li .metrics .item { display: flex; justify-content: space-between; align-items: center; }
    .deptStats ul li .metrics .item .num { margin-top: 0; }
    /* //대시보드 */
}

@media(max-width: 1240px) {
    .titWrap h3 { font-size: 1.4rem; line-height: 1.4rem; }
    .semiTit span { line-height: 1.4rem; }
    .titWrap.inline { margin-bottom: 1.75rem; padding-bottom: 1rem; }
    
    /* 사용자 기능 캘린더 */
    .calWrap .calTit > button { width: 3rem; height: 3rem; font-size: 1.1rem; }
    .calWrap .calTit .date { font-size: 1.75rem; }   

    .outDtl .lft,
    .outDtl .rgt { width: 100%; }

    /* 인풋 공통 레이아웃 */
    .infoWrap { gap: 2rem; }
    .infoWrap .inputWrap { width: calc((100% - 2rem) / 2); }

    /* 전문가와 상담 신청 */
    .RqFcnt .topBox .inBox { padding: 2rem 22.5rem 2rem 2rem; min-height: auto; }
    .RqFcnt .topBox > img { max-width: 20rem; right: 1rem; bottom: -3rem; }
    .RqFcnt .topBox .inBox > span { font-size: 1.3rem; }
    .RqFcnt .topBox .inBox > p { font-size: 0.95rem; margin-top: 1rem; line-height: 1.6; }

    .rqfClndr .calDetail { width: 100%; }
    .rqfClndr .calDetail .dtlBox:last-child { height: auto; }
    .rqfClndr .calDetail .dtlBox .bot .tbl_st tbody tr:last-child td { border-bottom: none; }

    /* 서브 모달 팝업 */
    .popWrap { width: calc(100% - 2rem); padding: 1.5rem; }
    .popWrap .popBox { margin: 1rem 0 2rem; height: calc(100vh - 12rem); }

    /* 대시보드 */
    .dashboardGrid { padding: 1rem; }
    .dashboardGrid .userInfo .userCard .infoArea .lst { display: flex; flex-wrap: wrap; gap: 0 1rem; }
    .dashboardGrid .userInfo .userCard .infoArea .lst li { width: calc((100% - 2rem) / 3); }
    .dashboardGrid .userInfo .userBox { flex-wrap: wrap; flex-direction: column; }
    .dashboardGrid .userInfo .userCard { width: 100%; }
    .dashboardGrid .userInfo .link { width: 100%; }
    
    .attendance { margin: 1.5rem 0; }

    .support { gap: 1.5rem; }

    .deptStats ul { margin: 1.5rem 0; flex-wrap: wrap; }
    .deptStats ul li { width: calc((100% - 2.4rem) / 3); flex: none; }

    .studentStats { flex-wrap: wrap; gap: 1.5rem; }
    .studentStats .dropoutPanel { width: 100%; }
    .studentStats ul { display: flex; gap: 1rem; }
    .studentStats ul li { flex: 1; padding: 0.8rem;}
    .studentStats ul li + li { margin-top: 0; }

    .kpiSummary ul { flex-wrap: wrap; }
    .kpiSummary ul li { width: calc((100% - 2.4rem) / 3); flex: none; }
    
    .statsOverview { margin: 1.5rem 0; gap: 1.5rem; }
    .statsOverview .metricBar { width: auto; flex: 1; }
    .statsOverview .compareBar { width: 14rem; }
    .statsOverview .compareBars ul li .chartBar { width: 3.5rem; }

    .companyStats { margin-top: 1.5rem; gap: 1.5rem; }
    /* //대시보드 */

    /* 시설예약 목록 */ 
    .fcltyWrap .bbs_srch .inptWrap > li { width: 100%; }
    .fcltyWrap .bbs_srch .inptWrap > li:first-child { border-bottom: 1px solid #D9D9D9; }
    
}

@media(max-width: 1024px) {
    .titWrap h3 { font-size: 1.3rem; line-height: 1.3rem; }
    .titWrap ~ .titWrap { margin-top: 3rem; }
    .semiTit { margin: 1rem 0 0.5rem; }
    .semiTit span { line-height: 1.3rem; }
    .titWrap.inline { margin-bottom: 1.5rem; }
    
    /* 시설예약 목록 */
    .fcltyWrap.Info .box_st1 .inner { gap: 1.5rem; }
    .fcltyWrap.Info .box_st1 .inner .txt_box { width: 100%; }
    .fcltyWrap.Info .box_st1 .inner .img { margin: 0 auto; height: auto; width: auto; max-width: 100%; }

    /* 계약학과 설명회 신청 */
    .rqfClndr.typeB .calDetail { width: 100%; }
    
    /* 사용자 기능 캘린더 */
    .calWrap .calTit > button { width: 2.5rem; height: 2.5rem; font-size: 1rem; }
    .calWrap .calTit .date { font-size: 1.5rem; }   
    .calWrap .calMain table thead th { padding: 0.6rem 0.5rem; font-size: 0.9rem; }
    .calWrap .calMain table tbody td { font-size: 0.8rem; }
    .calWrap .calMain table tbody td a { padding: 0.6rem 0.5rem; }
    .chkDateBox { padding: 0.5rem 1rem; }

    /* 인풋 공통 레이아웃 */
    .infoWrap { gap: 1.5rem; }
    .infoWrap .inputWrap { width: 100%; }
    .inputWrap .inputBox > span { font-size: 0.95rem; line-height: 1.3rem; } 
    .inputWrap .inputBox > span.estl::before { top: 0.1rem; }
    .inputWrap .inputBox > textarea { padding: 1rem; height: 10rem; }

    .noticeTxt { margin: 2rem 0 0 0; font-size: 0.8rem; gap: 1.5rem; }
    .noticeTxt p.date { gap: 1.5rem; }

    /* 대시보드 */
    .dashboardGrid .userInfo .userCard .infoArea .lst li { width: calc((100% - 1rem) / 2); }

    .support { flex-wrap: wrap; flex-direction: column; }
    .support .record { width: 100%; }
    .support .notice { width: 100%; flex: none; }
    .support .notice ul li a {  padding: 0.6rem 0; }

    .statsOverview { flex-wrap: wrap; }
    .statsOverview .metricBar { flex: none; width: 100%; }
    .statsOverview .compareBar { width: calc(50% - 0.75rem); }
    
    .attendance .attendBars { gap: 1.5rem; }

    .companyStats { flex-wrap: wrap; }
    .companyStats .companyChart { flex: none; width: 100%; }
    .companyStats .companyTypeChart { flex: none; width: calc(50% - 0.75rem); }
    .companyStats .companyIndustryChart { flex: none; width: calc(50% - 0.75rem); }
    /* //대시보드 */

}

@media(max-width: 968px) {
    /* 시설예약 */
    .fcltLst ul li { width: calc((100% - 2rem) / 3); }
    .fcltLst ul li a .img > span { top: 0.75rem; right: 0.75rem; }  

    /* 전문가와 상담 신청 */
    .RqFcnt .topBox .inBox { padding: 1.5rem 17rem 1.5rem 1.5rem; }
    .RqFcnt .topBox > img { max-width: 16rem; right: 0; bottom: -2rem; }

    /* 대시보드 */
    .attendance .attendBars { flex-wrap: wrap; flex-direction: column; }
    .attendance .attendBars .chartBar-box { width: 100%; padding: 1rem; }
    .attendance .attendBars .chartBar-box .chartBar { margin: 0 auto 1rem; }
    .attendance .attendBars .chart-box { flex: none; width: 100%; }
    /* //대시보드 */
 
    /* 시설예약 목록 */
    .fcltyWrap.Info .calendar_wrap colgroup,
    .fcltyWrap.Info .calendar_wrap thead { display: none !important; }
    .fcltyWrap.Info .calendar_wrap tbody { display: flex; width: 100%; flex-direction: column; }
    .fcltyWrap.Info .calendar_wrap tbody tr,
    .fcltyWrap.Info .calendar_wrap tbody tr td { width: 100%; }
    .fcltyWrap.Info .calendar_wrap tbody tr td { border-left: 1px solid #EBECF6 !important; height: auto; padding: 0.5rem 0.5rem 1rem; min-height: 4rem; }
    .fcltyWrap.Info .calendar_wrap table tbody tr td > em { font-size: 0.8rem; }
    .fcltyWrap.Info .calendar_wrap tbody tr { display: flex; width: 100%; flex-direction: column; }
} 

@media screen and (max-width: 960px) {

    /* 교수소개 */
    .profInfo .inner{padding:1.5rem 1rem;} 
    .profInfo.type1{width:100%; margin-left:0%;}
    .profInfo.type1 .box{width:100%; margin:.5rem 0;}
}

@media(max-width: 860px) {

    /* 대시보드 */
    .dashboardGrid .heading { margin-bottom: 1rem; font-size: 0.95rem; }

    .studentStats { padding: 1.2rem; }
    .studentStats .gradeChart { width: 100%; }
    .studentStats .gradeChart .tit_wrap .compare { margin-top: 0; }
    .studentStats .trendChart { flex: none; width: 100%; }

    .statsOverview .metricBar { padding: 1.2rem; }
    .statsOverview .metricBar .titTab { top: 1.3rem; }
    .statsOverview .compareBar { padding: 1.2rem; }
    .statsOverview .compareBar .tit_wrap .compare { margin-top: 0; }

    .companyStats .companyChart { padding: 1.2rem; }
    .companyStats .companyTypeChart { padding: 1.2rem; }
    .companyStats .companyIndustryChart { padding: 1.2rem; }

    .kpiSummary ul li .icon { width: 2.8rem; height: 2.8rem; }
    .kpiSummary ul li .info { width: calc(100% - 4rem); }
    .kpiSummary ul li .info .num span { font-size: 1.2rem; }

    .deptStats ul li { padding: 1.2rem; }
    .deptStats ul li .tit { margin: 0.5rem 0; }
    .deptStats ul li .metrics { padding-top: 0.5rem; border-top: 2px dotted #ddd; }
    .deptStats ul li .metrics .item .num span { font-size: 1rem; }

    .attendance { padding: 1.2rem; }
    .attendance .btn_more { top: 1.3rem; right: 1.2rem; }

    .support .record { padding: 1.2rem; }
    .support .record .btn_more { top: 1.3rem; right: 1.2rem; }

    .support .notice { padding: 1.2rem; }
    .support .notice .btn_more { top: 1.3rem; right: 1.2rem; }
    /* //대시보드 */

    /* 교수소개 */
    .profInfo .cnt > ul > li{width:100%; padding-right:0;}
}

@media(max-width: 800px) {
    .RqFcnt .chkBox.inTxt,
    .reactTbl .rdoBox ul { justify-content: center; }

    .fcltyWrap .bbs_srch .inptWrap > li .srchbox .btnSearch,
    .fcltyWrap .bbs_srch .inptWrap > li .srchbox input { height: 2.25rem; }

    .fcltyWrap .bbs_srch .inptWrap > li .srchbox .btnSearch { line-height: 2.25rem; }

    .fcltyWrap .bbs_srch .inptWrap .inSpan > span { flex: 1; }
    .fcltyWrap .bbs_srch .inptWrap .inSpan > span > input { min-width: auto; width: 100%; }

    /* 계약학과 설명회 신청 */
    .rqfClndr.typeB .calDetail .chkTime { padding: 1rem; }

    .outDtl { margin-top: 1.5rem; gap: 1.25rem; }
    .outDtl .lft ul { gap: 1rem 1.5rem; }
    .outDtl .lft ul li .ico { width: 3rem; height: 3rem; }
    .outDtl .lft ul li .ico img { max-width: 1.5rem; }
    .outDtl .lft ul li { gap: 1rem; }
    .outDtl .lft ul li .txt p,
    .outDtl .lft ul li .txt span { font-size: 0.85rem; line-height: 1.3; }
    .outDtl .lft ul li .txt p em { font-size: 0.95rem; }
    .outDtl .rgt { padding: 1rem 1.5rem; gap: 0.5rem 1rem; }
    table td.outStte { width: 100%; margin-top: 0.25rem; }   

    /* 시설예약 목록 */ 
    .fcltyWrap .bbs_srch { padding: 1rem 1.5rem; }
    .fcltyWrap .bbs_srch .inptWrap > li { padding: 0.5rem 0; padding-left: 4.5rem; }
    /* .fcltyWrap .bbs_srch .inptWrap > li > span { top: 1rem; transform: none; } */
    input.hasDatepicker { min-width: auto; flex: 1; }

    .phWrap input { flex: 1; }
}

@media(max-width: 768px) {
    /* 전문가와 상담 신청 */
    .RqFcnt .topBox .inBox { padding: 1.5rem 1.5rem; }
    .RqFcnt .topBox > img { display: none; }
    .RqFcnt .topBox .inBox > span { font-size: 1.1rem; }
    .RqFcnt .topBox .inBox > p { font-size: 0.9rem; margin-top: 0.75rem; }
    .RqFcnt .box_st1 .inner { padding: 1.5rem 1.25rem; }
    .RqFcnt .box_st1 .btns { position: unset; margin-top: 1rem !important; }

    /* 계약학과 전문가와 상담_학생 */
    .surveyBox .inner p[class*='bu_wnrn'],
    .RqFcnt .box_st_info .inner p[class*='bu_wnrn'] { margin-top: 0.5rem; }
    .rdoBox.inTxtCnt { margin-top: 0.85rem; padding-top: 0.85rem; }

    .rqfClndr .calWrap .calMain table tbody td a { padding: 0.5rem; }
    .rqfClndr .calWrap .calMain table tbody td { height: 2.65rem; }
    .rqfClndr .calDetail .dtlBox .bot .timeLst .chkBox li label { height: 2.25rem; font-size: 0.8rem; padding: 0.25rem 0.5rem; line-height: 1.5; }
    .RqFcnt .rdoBox.inTxt { gap: 1rem; margin-top: 0.75rem; }

    /* 서브 모달 팝업 */
    .popWrap { padding: 1.5rem 1rem; }
    .popWrap .popBox { margin: 1rem 0 1.5rem; height: calc(100vh - 11.5rem); padding: 1rem 1.75rem 1rem 1.25rem; }

    /* 대시보드 */
    .dashboardGrid .userInfo .userCard .infoArea .lst li { width: 100%; }
    /* //대시보드 */

    .modalPopup .modalPopup_wrap > .inner { padding: 1.5rem 1rem; max-height: calc(100vh - 3rem); overflow-y: auto; }

    .qrspBtn { padding: 0.2rem 0.5rem !important; } 

}

@media(max-width: 680px) {
    /* 시설예약 */
    .fcltLst ul li { width: calc((100% - 1rem) / 2); }

    /* 파일 첨부 */
    .file-upload .btn-file { height: 1.85rem; width: auto; padding: 0 0.5rem; font-size: 0.8rem; }
    .file-upload p.txt { font-size: 0.8rem; }
    .fileLst ul li { padding: 0.35rem 0.5rem; }
    .fileLst ul li > a { font-size: 0.8rem; }

    /* 대시보드 */
    .dashboardGrid .userInfo .link li a .img { width: 3.5rem; height: 3.5rem; padding: 0.8rem; border-radius: 0.5rem; margin-bottom: 0.5rem; }
    .dashboardGrid .userInfo .link li a .txt { font-size: 0.9rem; }

    .kpiSummary ul li { width: calc((100% - 1.2rem) / 2); }

    .deptStats ul li { width: calc((100% - 1.2rem) / 2); display: flex; flex-wrap: wrap; gap: 0.5rem; }
    .deptStats ul li .badge { width: 2.4rem; padding: 0.2rem 0.6rem; height: min-content; }
    .deptStats ul li .tit { margin: 0.2rem 0 0 0; width: calc(100% - 2.9rem); }
    .deptStats ul li .metrics { width: 100%; }

    .companyStats .companyTypeChart { width: 100%; }
    .companyStats .companyIndustryChart { width: 100%; }

    .studentStats ul li { flex-direction: column; gap: 0.3rem; }
    .studentStats ul li .badge { width: 100%; }

    .support .record ul li .num { font-size: 1.3rem; margin-top: 0.5rem; }

    .dashboardGrid .legend-item { width: calc((100% - 0.8rem) / 2); }
    /* //대시보드 */
}

@media(max-width: 580px) {

    /* 대시보드 */
    .dashboardGrid .userInfo .userCard { padding: 1.5rem; gap: 1rem; }
    .dashboardGrid .userInfo .userCard .imgArea { width: 4rem; }
    .dashboardGrid .userInfo .userCard .infoArea { width: calc(100% - 5rem);}
    .dashboardGrid .btn_more em { display: none; }

    .statsOverview .compareBar { width: 100%; }    
    /* //대시보드 */
    
}

@media screen and (max-width: 560px) {

    /* 교수소개 */
    .profInfo .prof{float:none; margin:0 auto .5rem;}
    .profInfo .name{text-align:center;}
    .profInfo .cnt{width:100%; padding-left:0; float:none;}
}

@media (max-width: 500px) {
    .fcltyWrap .bbs_srch .inptWrap > li .srchbox .btnSearch,
    .fcltyWrap .bbs_srch .inptWrap > li .srchbox input { height: 2rem; }
    .fcltyWrap .bbs_srch .inptWrap > li .srchbox .btnSearch { line-height: 2rem }
}

@media(max-width: 480px) {
    .titWrap { margin-bottom: 1.25rem; }
    .titWrap ~ .titWrap { margin-top: 2.5rem; }
    .titWrap.inline { padding-bottom: 0.75rem; margin-bottom: 1.25rem; }
    .list_ol1 li span.mgr18 { margin-right: 0.35rem !important; }
    .inTxtArea textarea { height: 7.5rem; margin-top: 0.5rem; }

    /* 라디오 박스 */
    .rdoBox label { font-size: 0.8rem; line-height: 0.95rem; }
    .chkBox .txt_lb { font-size: 0.8rem; }

    .outDtl .rgt { padding: 1rem; }
    table td.outStte span { font-size: 0.7rem; padding: 0.2rem 0.5rem 0.2rem 1.5rem; }
    table td.outStte span::before { width: 0.5rem; height: 0.5rem; left: 0.5rem; }

    /* 신청내역 조회 팝업 */
    .detail .popBox { margin: 0 0 1.25rem 0 !important; max-height: calc(100vh - 8rem) !important; }

    /* 시설예약 */
    .fcltLst ul li a .img { height: 7.5rem; }
    .fcltLst ul li a .txt { margin-top: 0.5rem; }
    .fcltLst ul li a .txt p { font-size: 0.85rem; line-height: 1.15rem; }
    .fcltLst ul li a .img > span { height: 1.35rem; font-size: 0.65rem; padding: 0 0.65rem; }

    /* 인풋 공통 레이아웃 */
    .infoWrap { gap: 1.25rem; }
    .inputWrap .inputBox > span { font-size: 0.9rem; line-height: 1.15rem; } 
    .inputWrap .inputBox > span.estl::before { top: 0; }
    .inputWrap .inputBox > textarea { padding: 0.75rem; height: 8.5rem; }
    .inputWrap .inputBox.w_50 { width: 100%; }
    .inputWrap .inputBox > input, .inputWrap .inputBox > select { height: 2.25rem; padding: 0 0.75rem; }

    /* 사용자 기능 캘린더 */
    .calWrap .calTit { gap: 0 0.5rem; margin-bottom: 1rem; }
    .calWrap .calTit > button { width: 2.25rem; height: 2.25rem; font-size: 0.95rem; }
    .calWrap .calTit .date { font-size: 1.3rem; }
    .calWrap .calMain table thead th { padding: 0.5rem 0.35rem; font-size: 0.85rem; }
    .calWrap .calMain table tbody td { font-size: 0.75rem; }
    .calWrap .calMain table tbody td a { padding: 0.5rem 0.35rem; }
    .semiTit span { font-size: 0.95rem; line-height: 1rem; }
    .chkDateBox { padding: 0.5rem 0.75rem; }
    .chkDateBox p { font-size: 0.8rem; line-height: 1.25rem; }

    /* 설문조사 설문 참여 */
    .chkLst { padding: 0 0.5rem; }
    .chkLst > ul > li { padding: 0.95rem 0 0.95rem 2.9rem; }
    .chkLst > ul > li > span { top: 0.95rem; font-size: 0.8rem; padding: 0 0.65rem; line-height: 1.6; }
    .chkLst > ul > li > .txt > p { line-height: 1.6; font-size: 0.8rem; margin-bottom: 0.65rem; } 
    .chkLst > ul > li > .txt > .rdoBox ul { gap: 0.5rem 1.25rem; }

    /* 전문가와 상담 신청 */
    .RqFcnt .topBox .inBox { padding: 1.25rem 1rem; }
    .RqFcnt .box_st1.noBtn .inner,
    .RqFcnt .box_st1 .inner { padding: 1.25rem 1rem; }
    .RqFcnt .box_st1 .btns { margin-top: 0.75rem !important; }

    .RqFcnt .rdoBox.inTxt { gap: 0.5rem 1rem; margin-top: 0.5rem; }
    .rqfClndr .calDetail .dtlBox .tbl_st { overflow-x: auto; }
    .rqfClndr .calDetail .dtlBox .bot .tbl_st table { width: 600px; }
    .rqfClndr .calWrap { padding: 1rem; }
    .rqfClndr .calWrap .calTit .date { line-height: 1.5; font-size: 1rem; }
    .rqfClndr .calDetail .dtlBox .top { flex-wrap: wrap; padding: 0.75rem 0.5rem; height: auto; gap: 0.25rem 0.5rem; }
    .rqfClndr .calDetail .dtlBox .top p,
    .rqfClndr .calDetail .dtlBox .top span { line-height: 1.2; }
    .rqfClndr .calDetail .dtlBox .bot .timeLst .chkBox li label { height: 2rem; }
    .rqfClndr .calWrap .calTit button { width: 1.85rem; height: 1.85rem; font-size: 0.95rem; }
    .rqfClndr .calWrap .calMain table thead th,
    .rqfClndr .calWrap .calMain table tbody td { font-size: 0.8rem; }
    .rqfClndr .calWrap .calMain table thead th,
    .rqfClndr .calWrap .calMain table tbody td a { padding: 0.35rem; }
    .rqfClndr .calWrap .calMain table tbody td { height: 2.25rem; }
    .RqFcnt .box_st_info .inner { padding: 0.75rem 0.5rem; }
    .RqFcnt .box_st_info .inner p { font-size: 0.8rem; }
    .RqFcnt > .btns { margin: 1.5rem 0 1rem; }

    /* 계약학과 설명회 신청 */
    .rqfClndr.typeB .calDetail .chkTime { gap: 0.5rem; }
    .rqfClndr.typeB .calDetail .chkTime .box { flex: none; width: 100%; justify-content: start; }
    .rqfClndr.typeB .calDetail .chkTime .box > span { font-size: 0.8rem; line-height: 1.2; }

    .noticeTxt { margin:1.5rem 0 0 0; gap: 1rem; }
    .noticeTxt p.date { gap: 1rem; }

    /* 서브 모달 팝업 */
    .popWrap { padding: 1.25rem 1rem; }
    .popWrap .popBox { margin: 0.75rem 0 1.25rem; height: calc(100vh - 11rem); padding: 1rem 1.5rem 1rem 1rem; }
    .popWrap .popBox .dtl_Lst01 li { line-height: 1.5 }
    .popWrap .popBox .dtl_Lst01 > li::before { top: 0.4rem; }
    .popWrap .popBox .dtl_Lst02 { margin-top: 0.35rem; }
    .popWrap .popBox .dtl_Lst02 > li::before { top: 0.46rem; }

    /* 대시보드 */
    .dashboardGrid .legend-item { width: 100%; }

    .kpiSummary ul { gap: 1rem; }
    .kpiSummary ul li { width: 100%; gap: 0.5rem; }
    .kpiSummary ul li .icon { width: 2rem; height: 2rem; }
    .kpiSummary ul li .info { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; width: calc(100% - 2.5rem); }
    .kpiSummary ul li .info .num { white-space: nowrap; }
    .kpiSummary ul li .info .num span { font-size: 1rem; }

    .deptStats ul { gap: 1rem; }
    .deptStats ul li { width: 100%; padding: 1rem; }
    .deptStats ul li .metrics { flex-direction: row; gap: 1rem; }
    .deptStats ul li .metrics .item { width: calc((100% - 1rem) / 2); flex: none; }
    .deptStats ul li .metrics .item .num span { font-size: 0.9rem; }
    /* //대시보드 */

    /* 시설예약 목록 */ 
    .fcltyWrap .bbs_srch { padding: 1rem; }
    .fcltyWrap .bbs_srch .inptWrap > li > span { position: relative; left: auto; top: auto; margin-bottom: 0.5rem; display: block; width: 100%; text-align: start; transform: none; }
    .fcltyWrap .bbs_srch .inptWrap > li { padding: 0.75rem 0; justify-content: start; align-items: start; }
    .fcltyWrap .bbs_srch .inptWrap > li:first-child { padding-top: 0; }
    .fcltyWrap .bbs_srch .inptWrap > li.typeB { padding: 0; }

    /* 시설예약 목록 */
    .fcltyWrap.Info .fcltyCal { padding: 1rem; }
    .fcltyWrap.Info .date_view_box .date_view button { width: 1.85rem; height: 1.85rem; }
    .fcltyWrap.Info .date_view_box .date_view .date { font-size: 1rem; }
    .fcltyWrap.Info .reser_view .reser_tab li a { padding: 0.5rem; font-size: 0.85rem; }

     /* 연혁 */
     .historyBox .lst li{padding-left:.75rem;}
     .historyBox .lst li strong{position:relative; left:auto; top:auto; display:block; padding-left:0; }
 
     /* 학과장인사말 */
     .grtWrap .txt h5{font-size:1.05rem;}
     .grtWrap .txt h5 em{font-size:1.25rem;}
     .grtWrap .txt p{font-size:.85rem;}

}

@media(max-width:430px){
    /* 대시보드 */
    .dashboardGrid .userInfo .userCard { flex-wrap: wrap; flex-direction: column; }
    .dashboardGrid .userInfo .userCard .infoArea { width: 100%; }
    .dashboardGrid .userInfo .userCard .infoArea .name { font-size: 1rem; }
    .dashboardGrid .userInfo .link { flex-wrap: wrap; flex-direction: column; gap: 1rem; }
    .dashboardGrid .userInfo .link li { flex: none; width: 100%; }
    .dashboardGrid .userInfo .link li a { flex-direction: row; gap: 1rem; justify-content: start; }
    .dashboardGrid .userInfo .link li a .img { margin-bottom: 0; width: 3rem; height: 3rem; }
    .dashboardGrid .userInfo .link li a .txt { text-align: left; }

    .studentStats ul { flex-direction: column; flex-wrap: wrap; }
    .studentStats ul li { flex-direction: row; }
    .studentStats ul li .badge { width: 5rem; }
    
    .support .record ul li + li { padding-left: 0.2rem; margin-left: 0.2rem; }
    .support .record ul li .badge { border-radius: 0.5rem; }
    .support .record ul li .num { font-size: 1rem; }
    /* //대시보드 */
}

@media(max-width: 380px) {

    /* 시설예약 */
    .fcltLst ul li { width: 100%; }
    .fcltLst ul li a .img { height: 7.5rem; }
    .fcltLst ul li a .txt p { font-size: 0.8rem; line-height: 1.05rem; }
    .fcltLst ul li a .img > span { height: 1.25rem; padding: 0 0.5rem; }

    /* 설문조사 설문 참여 */
    .chkLst > ul > li { padding: 0.95rem 0 0.95rem; }
    .chkLst > ul > li > span { top: auto; left: auto; position: relative; font-size: 0.8rem; padding: 0 0.65rem; line-height: 1.6; }
    .chkLst > ul > li > .txt > p { line-height: 1.5; margin: 0.5rem 0; } 
    .chkLst > ul > li > .txt > .rdoBox ul { gap: 0.5rem 1.25rem; }
    .chkLst > ul > li > .txt > .rdoBox ul li { width: 100%; }

    /* 인풋 공통 레이아웃 */
    .infoWrap { gap: 1.25rem; }
    .inputWrap .inputBox > span { font-size: 0.85rem; line-height: 1.15rem; } 
    .inputWrap .inputBox > span.estl { padding-right: 0.65rem; }
    .inputWrap .inputBox > textarea { padding: 0.7rem; height: 6.5rem; }
    .inputWrap .inputBox > input, .inputWrap .inputBox > select { height: 2rem; padding: 0 0.5rem; font-size: 0.75rem; }

    /* 사용자 기능 캘린더 */
    .calWrap .calTit > button { width: 2rem; height: 2rem; font-size: 0.9rem; }
    .calWrap .calTit .date { font-size: 1.15rem; }
    .calWrap .calMain table thead th {font-size: 0.8rem; }
    .calWrap .calMain table tbody td { font-size: 0.7rem; }
    .semiTit span { font-size: 0.9rem; }

    /* 서브 모달 팝업 */
    .popWrap { padding: 1rem 0.75rem; width: calc(100% - 1.5rem); }
    .popWrap .popBox { margin: 0.5rem 0 1rem; height: calc(100vh - 10.5rem); padding: 1rem 1.25rem 1rem 0.75rem; }
    .popWrap .popBox .dtl_Lst01 li { line-height: 1.5 }
    .popWrap .popBox .dtl_Lst01 > li::before { top: 0.4rem; }
    .popWrap .popBox .dtl_Lst02 { margin-top: 0.35rem; }
    .popWrap .popBox .dtl_Lst02 > li::before { top: 0.46rem; }
    
    /* 대시보드 */
    .dashboardGrid { padding: 1rem 0.75rem; }
    .dashboardGrid .heading { margin-bottom: 0.7rem; }

    .statsOverview .metricBar .titTab { position: relative; top: auto; right: auto; margin-bottom: 0.6rem; }

    .deptStats ul li .metrics { gap: 0.2rem; flex-direction: column; }
    .deptStats ul li .metrics .item { width: 100%; }

    .support .record ul { flex-wrap: wrap; gap: 0.5rem; }
    .support .record ul li { flex: none; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
    .support .record ul li + li { padding-left: 0; margin-left: 0; border-left: none; }
    .support .record ul li .badge { width: 4.5rem; }
    .support .record ul li .num { margin-top: 0; }
    .support .notice ul li .date { display: none; }
    /* //대시보드 */

    /* 시설예약 목록 */ 
    .fcltyWrap .bbs_srch .inptWrap > li .srchbox .btnSearch { width: 100%; }
    .fcltyWrap.Info .reser_view .reser_tab li a { padding: 0.5rem; font-size: 0.8rem; }

    .rqfCDetail { margin: 1rem 0; }
    .rqfCDetail li strong { min-width: auto; width: 100%; }
    .rqfCDetail + .tbl_st { margin-top: 0.5rem !important; }
}
