/* 달력 */
.rsv_top_area {overflow:hidden; margin: 1.5rem 0; }
.rsv_top_area .calendar_wrap{ width:45%; float:left; border:1px solid #d2d2d2; border-radius:.25rem;}
.rsv_top_area .calendar_wrap .nowcal {position:relative; border-bottom:1px solid #d2d2d2; height:3rem; }
.rsv_top_area .calendar_wrap .nowcal span {display:inline-block; text-indent:-9999px; content:''}
.rsv_top_area .calendar_wrap .currunt_month {width:100%; font-size:.95rem; font-weight:700; text-align:center; line-height:3rem; }
.rsv_top_area .calendar_wrap .prev_month {position:absolute; top:.5rem; left:0}
.rsv_top_area .calendar_wrap .next_month {position:absolute; top:.5rem; right:0}
.rsv_top_area .calendar_wrap .prev_month a {display:block; width:2.25rem; height:2.25rem; background:url('/images/dgedu/web/jinhak/sub/arr_prv.png') no-repeat 50% 42% ; }
.rsv_top_area .calendar_wrap .next_month a {display:block; width:2.25rem; height:2.25rem; background:url('/images/dgedu/web/jinhak/sub/arr_nxt.png') no-repeat 50% 42%; }
.rsv_top_area .calendar{width:100%; border-bottom:1px solid #d2d2d2; }
.rsv_top_area .calendar thead th {height:2rem; border-bottom:1px solid #d2d2d2; font-weight:500; }
.rsv_top_area .calendar tbody td {text-align:center; height:2.2rem; cursor:pointer; border-left:1px solid #ebebeb; border-top:1px solid #ebebeb; color:#555; }
.rsv_top_area .calendar tbody td:first-child{border-left:none; }
.rsv_top_area .calendar tbody td:hover {background:#d5eded; }
.rsv_top_area .calendar .sun > p{color:#d23a3a; }
.rsv_top_area .calendar .sat > p{color:#2667ab; }
.rsv_top_area .calendar .select { background: #9ad0f4!important; font-weight:600; }
.rsv_top_area .calendar .select:hover{background:#007dbd; }
.rsv_top_area .calendar .select > p {color:#fff; }
.rsv_top_area .calendar .full{cursor:default; background: #f6cece; }
.rsv_top_area .calendar .rev_no{cursor:default; background: #ebf2f6; }
.rsv_top_area .calendar .rev_no:hover {background: #f8f8f8; } 
.rsv_top_area .calendar .rev_no p span { font-size:11px; }
.rsv_top_area .calendar .day_no:hover{ background:none; cursor:default; }
.rsv_top_area .fa_select{ position:relative; width:53%; min-height:16.5rem; border-radius:.25rem; float:right; border:1px solid #ddd; }
.rsv_top_area .fa_select .s_tit {font-weight:600; height: 3rem; line-height: 3rem; font-size:.9rem; padding:0 1rem; border-bottom:1px solid #ddd; background:#528fed; color:#fff; }
.rsv_top_area .fa_select .rev_cont {position:relative; padding:1rem; height: 14.5rem; overflow: auto; margin-bottom: .75rem; }
#rev_cont::-webkit-scrollbar{width: 12px;}  /* 231128 gsjeong 추가 */

.cal_sort {padding:10px; }
.cal_sort > span {display:inline-block; font-size:.75rem; padding-right:5px; }
.cal_sort > span:before {content:''; display:inline-block; width:.7rem; height:.7rem; background:#fff; border:1px solid #d2d2d2; vertical-align:middle; margin-right:.2rem; font-size:.6rem; text-align:center}
.cal_sort > span.type2:before {background: #ebf2f6; content:''; } /* 181212 수정 */
.cal_sort > span.type3:before {background: #f6cece; content:''; } /* 2021 기능개선 jsl 수정 */



/* 대입특강 */
.spec_lecture {overflow:hidden;}
.spec_lecture > li {position:relative; float:left; width:48%; min-height:16rem; margin:1.5rem 2% .25rem 0; }
.spec_lecture > li div {position:relative; min-height:23rem; margin:.25rem 0; padding:.75rem 1rem 1rem 8.5rem; border:1px solid #c9d7e5; border-radius:.5rem;  background:#f5faff;}
.spec_lecture > li div h5 {margin-bottom:.5rem; font-size:.85rem; font-weight:700;}
.spec_lecture > li div p.img {position:absolute; left:1rem; top:1rem; height:7.5rem; border-radius:.5rem; overflow:hidden;}
.spec_lecture > li div p.img img {width:100%;}
.spec_lecture > li div .spec_lectBtn {padding-top:.5rem; margin-top:.5rem; border-top:1px dotted #c9d7e5; text-align:center;}

.con_Tsrch {position:relative; margin-bottom:.5rem;}
.con_Tsrch .Tsrch_info {position:absolute; left:1rem; top:1.75rem; }

/* 대입특강 : 이미지 없을경우 */
.spec_lecture.spec_noImg > li div { min-height:15.5rem; padding:.75rem 1rem 1rem;}
.spec_lecture.spec_noImg > li div p.img {display:none;}

/* 대학정보관 */
.college_TInfo {position:relative; padding:.5rem 1rem .5rem 28%; border:1px solid #c5c9d6; background:#f7f7f7;}
.college_TInfo p.img {position:absolute; left:0; top:0; width:25%; height:100%; padding:1rem; text-align:center; border-right:1px dotted #c5c9d6; background:#fff;}
.college_TInfo p.img img {max-width:100%;}
.college_TInfo dl dt {font-size:1rem; font-weight:700; color:#002956;}

/* 오시는길 */
.map_wrap { height:23rem; border-radius:0.5rem; border:1px solid #ddd; overflow:hidden; margin-top:1rem; }
.map_info { display:flex; margin:1rem -0.5rem 0; }
.map_info p { position:relative; padding-left:2rem; flex:1; border:1px solid #ccc; padding:1rem 1rem 1rem 4rem; border-radius:0.5rem; margin:0 0.5rem; }
.map_info p i { position:absolute; left:1rem; top:calc(50% - 1.1rem); width:2.2rem; height:2.2rem; background:#f6f6f6; border-radius:50%; text-align:center; line-height:2.2rem; font-size:1rem; }
.map_info p strong { font-weight:700; margin-right:0.5rem;}
.transport_list { display:flex; margin-top:1rem; border-top:1px solid #ddd; border-bottom:1px solid #ddd; }
.transport_list > li { position:relative; flex:1; padding:1.8rem 1.5rem 1.8rem 4.5rem; }
.transport_list > li i { position:absolute; left:0; top:1.5rem; width:2.9rem; height:2.9rem; border-radius:50%; color:#fff; line-height:2.9rem; font-size:1.5rem; text-align:center; }
.transport_list > li i.blue { background:#045ba6;}
.transport_list > li i.red { background:#d53c03;}
.transport_list > li i.yellow { background:#fed652; color:#000;}
.transport_list > li + li { border-left:1px solid #ddd; padding-left:6rem; }
.transport_list > li + li i { left:1.5rem;}
.transport_list > li dl { display:flex; word-break:keep-all; }
.transport_list > li dl dt { width:4.25rem; font-size:0.85rem; font-weight:700; margin-right:1rem;}

/* 캘린더 */
.sc_calender .control{ position: relative; width: 100%; display: flex; justify-content:  center; align-items: center; margin-bottom: 1rem;}
.sc_calender .control a:not(.btn_re){width: 1.9rem; height: 1.9rem; line-height: 1.9rem; border-radius: 50%; background-color: #a7aeb3; text-align: center; color: #fff; font-size: 0.95rem; box-shadow: 4px 4px 4px rgba( 167, 174, 179, 0.25);}
.sc_calender .control .date{margin: 0 1.5rem; font-size: 1.25rem; color: #222; font-weight: 700;}
.sc_calender .control a.btn_re{ display: block; position: absolute; right: 0; line-height: 1.9rem; font-size: 0.7rem; font-weight: 600; padding: 0 0.75rem; background-color: #2b6ddb; color: #fff; border-radius: 1rem;}
.sc_calender .control a i{transition: all 0.15s; -webkit-transition: all 0.15s; -ms-transition: all 0.15s;}
.sc_calender .control a.prev:hover i,
.sc_calender .control a.prev:focus i{ transform: translateX(-0.2rem);}
.sc_calender .control a.next:hover i,
.sc_calender .control a.next:focus i{ transform: translateX(0.2rem);}
.sc_calender .table{border: 1px solid #98a0a6; border-top: none; border-radius: 10px; box-shadow: 4px 4px 7px rgba(48, 86, 147, 0.2); background-color: #fff;}
.sc_calender table{height: 600px; border-spacing: 0; padding: 0; border-style: none; table-layout: fixed; position: relative; }
.sc_calender table tr:not(:last-child){border-bottom: 1px solid #98a0a6;}
.sc_calender table tr th{border-bottom: none; background-color: #a7aeb3; height: 3rem; color: #fff; border-right: 1px solid #fff; font-weight: 600; font-size: 0.9rem;}
.sc_calender table tr th:first-child {border-radius: 10px 0 0 0 ;}
.sc_calender table tr th:last-child {border-radius: 0 10px 0 0 ; border-right: none;}
.sc_calender table tr td{ vertical-align: top; position: relative; border-bottom: 1px solid #98a0a6;}
.sc_calender table tr td:not(:last-child){border-right: 1px solid #98a0a6;}
.sc_calender table tr td > p{ height: 1.5rem; padding-left: 0.75rem; padding-top: 0.25rem; padding-bottom: 0.25rem;}
.sc_calender table tr td .info{ height: calc(100% - 1.7rem); overflow-y: auto; overflow-x: hidden; width: 100%; cursor:pointer; padding: 0 0.25rem} /* 20231205 jeongWook 수정*/
.sc_calender table tr td .info::-webkit-scrollbar{width: 4px; position: absolute;}
.sc_calender table tr td .info::-webkit-scrollbar-thumb{background-color: rgb(158, 158, 158); border-radius: 2px;}
.sc_calender table tr td .info::-webkit-scrollbar-track{background-color: rgb(231, 231, 231);}
.sc_calender table tr td .info li{text-align: center; font-size: 0.65rem; color: #222; line-height: 1; width: 100%;} /* 20231205 jeongWook 수정*/
.sc_calender table tr td .info li span{ display: block; max-width: 100%; overflow: hidden; word-break: keep-all; padding: 0.15rem 0.25rem;  line-height: 0.85rem;}
.sc_calender table tr td .info li:not(:last-child){margin-bottom: 4px;}
.sc_calender table tr:last-child td:first-child {border-radius: 0 0 0 10px;}
.sc_calender table tr:last-child td:last-child  {border-radius: 0 0 10px 0; border-right: none;}
/* 토, 일 색상 */
.sc_calender table tr th:first-child{background-color: #e3313e;}
.sc_calender table tr th:last-child{background-color: #305693;}
.sc_calender table tr td:first-child{color: #e3313e; background-color: #fafafa;}
.sc_calender table tr td .info li .info_red {background-color: #ffc1c2;}
.sc_calender table tr td .info li .info_bl {background-color: #c2d5f3;}
.sc_calender table tr td .info li .info_green {background-color: #c1e9e0;}
.sc_calender table tr td .info li .info_gray {background-color: #f2eeef;}
.sc_calender table tr td .info li .info_pink {background-color: #ffcbdd;}
.sc_calender table tr td .info li .info_purple {background-color: #f2d2f9;}
.sc_calender table tr td .info li .info_org {background-color: #ffdecd;}
.sc_calender table tr td.dayOff > p:first-child{color: #e3313e; display: flex; align-items: center;} /* 20231205 jeongWook 추가 */
.sc_calender table tr td.dayOff > p:first-child > span.dayOff_type {font-size: 0.6rem; font-weight: 600; margin-left: 0.25rem; padding-top: 0.1rem; line-height: 1;} /* 20231205 jeongWook 추가 */  
.sc_calender table tr td:last-child { color: #305693;}/* 20231205 jeongWook 추가 */

/* 캘린더 layer */
.sc_calender .layer_infoWrap{position: absolute; top: -7.5rem; height: 8rem; left: calc(50% - 8.5rem); width: 17rem; border: 2px solid #ff8346; border-radius: 0.75rem; background-color: #fff; z-index: 98; padding: 1rem; display: block; }
.sc_calender .layer_infoWrap.active{display: block;}     
.sc_calender .layer_infoWrap::after{content: ""; width: 0; height: 0; position: absolute; left: calc(50% - 4px); bottom: -8px; border-bottom: 0 solid transparent; border-top: 8px solid #ff8346; border-left: 8px solid transparent; border-right: 8px solid transparent; }
.sc_calender .layer_infoWrap .tit{ color: #6f6f6f; font-size: 0.7rem; padding-bottom: 0.5rem; border-bottom: 1px dashed  #c8c8c8; margin-bottom: 0.5rem;}
.sc_calender .layer_infoWrap .layer_info {height: 4rem;  line-height: 1.25rem; font-size: 0.8rem; color: #222; overflow-y: auto; overflow-x: hidden;}
.sc_calender .layer_infoWrap .layer_info span {display: block; padding-left: 0.8rem; position: relative; word-break: break-all;}
.sc_calender .layer_infoWrap .layer_info span::after{content: ""; width: 0.3rem; height: 0.6rem; position: absolute; left: 0; top: 0.3rem; border-radius: 4px;}
.sc_calender .layer_infoWrap .pop_close{display: block; position: absolute; top: -1rem; right: 0.85rem; width: 2rem; height: 2rem; line-height: 2rem; text-align: center; color: #fff; background-color: #ff8346; border-radius: 0.4rem 0.4rem 0.4rem 0; }
.sc_calender .layer_infoWrap .layer_info::-webkit-scrollbar{width: 4px; position: absolute;}
.sc_calender .layer_infoWrap .layer_info::-webkit-scrollbar-thumb{background-color: #ff8346; border-radius: 2px;}
.sc_calender .layer_infoWrap .layer_info::-webkit-scrollbar-track{background-color: #ffebe2;}
.sc_calender .layer_infoWrap .layer_info span.info_red::after {background-color: #d51e1e;}
.sc_calender .layer_infoWrap .layer_info span.info_bl::after {background-color: #3283eb;}
.sc_calender .layer_infoWrap .layer_info span.info_green::after {background-color: #2da881;}
.sc_calender .layer_infoWrap .layer_info span.info_gray::after {background-color: #f0eded;}
.sc_calender .layer_infoWrap .layer_info span.info_pink::after {background-color: #ff2975;}
.sc_calender .layer_infoWrap .layer_info span.info_purple::after {background-color: #c551de;}
.sc_calender .layer_infoWrap .layer_info span.info_org::after {background-color: #ff7633;}
.sc_calender .layer_infoWrap .layer_info a:hover,
.sc_calender .layer_infoWrap .layer_info a:focus{ text-decoration: underline;}

/* 캘린더 하단 util 스타일 */
.calender_util{ display: flex; align-items: flex-start; flex-wrap: wrap; margin-top: 1rem;}
.calender_util .btn_bl{ display: inline-block; margin: 0 0 0 auto; padding: 0.4rem 0.9rem; vertical-align: middle; line-height: 1rem; font-weight: 400; -webkit-transition: background-color .2s, border-radius .2s; transition: background-color .2s, border-radius .2s; color: #fff; background: #0085d8; border: 2px solid #0085d8;}

.calender_util .color_info {display: flex; flex-wrap: wrap; gap: 8px; max-width: calc(100% - 6rem); padding-top: 10px;}
.calender_util .color_info li {display: flex; align-items: center;}
.calender_util .color_info li div{width: 24px; height: 1rem; border: 1px solid #e1e1e1; margin-right: 4px; border-radius: 4px;}

.calender_util .color_info .info_red {background-color: #ffc1c2;}
.calender_util .color_info .info_bl {background-color: #c2d5f3;}
.calender_util .color_info .info_green {background-color: #c1e9e0;}
.calender_util .color_info .info_pink {background-color: #ffcbdd;}
.calender_util .color_info .info_purple {background-color: #f2d2f9;}
.calender_util .color_info .info_org {background-color: #ffdecd;}

/*개인정보처리방침*/
.privacy_wrap .pri_img img{width: 4rem;}
.privacy_wrap img.pri_ico {width: 2rem; vertical-align: middle;}
.list_ol2 > li { position:relative; min-height:1.25rem; padding-left:1.6rem; margin-top:0.35rem; color:#333; line-height:1.2rem; }
.list_ol2 > li > span.num { position:absolute; left:0; top:0; width:1.25rem; height:1.25rem; line-height:1.25rem; font-size:.7rem; border-radius:50%; color:#fff; text-align:center; font-weight:700; color:#1f64b2; background-color:#e8f3ff; letter-spacing: -1px;} 

/*250704*/
.h32 {display:flex;align-items: center; word-break:keep-all;}
.h32 > div:first-of-type {width:6rem;}
.h32 > div:last-of-type span {font-size:.72rem;}

@media (min-width: 768px) {
	.sc_calender .layer_infoWrap{ display: none;}
	
	/* 요일에 따른 layer 위치변화*/
	.sc_calender table tr td:first-child .layer_infoWrap {left: 1rem;} /* 일요일 */
	.sc_calender table tr td:first-child .layer_infoWrap::after{left: 1rem;}
	.sc_calender table tr td:nth-child(2) .layer_infoWrap {left: -2rem;} /* 월요일 */
	.sc_calender table tr td:nth-child(2) .layer_infoWrap::after{left: 4rem;}
	.sc_calender table tr td:nth-child(6) .layer_infoWrap {left: -7rem;} /* 목요일 */
	.sc_calender table tr td:nth-child(6) .layer_infoWrap::after{left: 10rem;}
	.sc_calender table tr td:nth-child(7) .layer_infoWrap {left: -12rem;} /* 일요일 */
	.sc_calender table tr td:nth-child(7) .layer_infoWrap::after{left: 15rem;}
}

@media (max-width:1400px) {
	
	/* 오시는길 */
	.map_info p strong { display:block; }
		
}

@media (max-width: 1160px) { 
	/* 캘린더 */
	.sc_calender table { height: 585px;}
}

@media screen and (max-width:960px){ 

	/* 대입특강 */
	.spec_lecture > li {position:relative; float:none; width:100%; min-height:auto; margin:1.5rem 0 .25rem 0; }

	/*250704*/
	.h32 {flex-wrap:wrap;}

}

@media screen and (max-width:910px){ 
	
	/* 대입특강 */
	.con_Tsrch .Tsrch_info {position:relative; left:auto; top:auto; text-align:left;}

	/* 캘린더 */
	.sc_calender table tr td > p { padding-left: 0.25rem; padding-top: 0.25rem;}
	.sc_calender table { height: 560px; }
}

@media (max-width:768px) {

	/* 달력 */
	.rsv_top_area .calendar_wrap{ width:100%; float:none; margin-bottom:1rem;}
	.rsv_top_area .fa_select{ width:100%; float:none; min-height:6rem; }
	.rsv_top_area .fa_select .rev_cont{ height:auto;}
	
	/* 오시는길 */
	.transport_list { display:block; }
	.transport_list > li { padding:1rem 1rem 1rem 3rem; }
	.transport_list > li + li { padding-left:3rem; border-left:none; border-top:1px solid #ddd; }
	.transport_list > li + li i { left:0; }
	.transport_list > li i { width:2.2rem; height:2.2rem; top:0.7rem; line-height:2.2rem; }
	.map_info { display:block; }
	.map_info p + p { margin-top:0.5rem; }
	.map_info p strong { display:inline-block; }
	
	/* 캘린더 */
	.sc_calender table { height: auto; border-collapse: separate;} /* 20231206 jeongWook 수정*/
	.sc_calender table thead tr{background-color: #0d4fa3;}
	.sc_calender table tr th p em {display: none;}
	.sc_calender table tr:not(:last-child) { border-bottom: none; }
	.sc_calender table tr th { border: none; background-color: transparent;}
	.sc_calender table tr th:first-child { background-color: transparent; color: #ff4646;}
	.sc_calender table tr th:last-child { background-color: transparent; color: #b8d7ff;}
	.sc_calender table tr td{ border: none; padding: 1.15rem 0;} /* 20231206 jeongWook 수정*/ 
	.sc_calender table tr td:not(:last-child) { border-right: none; }
	.sc_calender table tr td:first-child { color: #ff4646; background-color: transparent; }
	.sc_calender table tr td:last-child { color: #1559af; }
	.sc_calender table tr td > p { height: 100%; display: flex; align-items: center; justify-content: center;  padding: 0; text-align: center; font-weight: 600;}
	.sc_calender table tr td .info{ display: none;}
	.sc_calender .table { border: 1px solid #305693; padding-bottom: 0.5rem;}
	.sc_calender .control .date { margin: 0 0.75rem; font-size: 1.1rem;}
	.sc_calender .control a:not(.btn_re) { width: 1.66rem; height: 1.66rem; line-height: 1.66rem; font-size: 0.95rem;}
	.sc_calender .control a.btn_re { line-height: 1.66rem; font-size: 0.65rem; padding: 0 0.5rem;}
	/* 캘린더 : layer */
	.sc_calender { padding-bottom: 7.5rem;}
	.sc_calender table tr td { position: static; }
	.sc_calender .layer_infoWrap{position: absolute; top: auto; bottom: -8rem;  height: 6.83rem; left: 0; width: 100%; padding: 0.75rem 1rem; border-width: 1px; display: none;}
	.sc_calender td.event.active .layer_infoWrap{display: block;}
	.sc_calender .layer_infoWrap::after{content: none;}
	.sc_calender .layer_infoWrap .tit { font-size: 0.7rem; padding-bottom: 0; border-bottom: none; margin-bottom: 0.5rem; }
	.sc_calender .layer_infoWrap .tit span {display: none;}
	.sc_calender .layer_infoWrap .tit em { display: inline-block; background-color: #3e7fe8; color: #fff; font-size: 0.8rem; padding: 0 0.5rem; border-radius: 10px; line-height: 1.22rem;}
	.sc_calender .layer_infoWrap .pop_close{display: none;}
	
	/* dayOff, event 표시 */
	.sc_calender table tr td.dayOff > p{z-index: 1; position: relative;}
	.sc_calender table tr td.dayOff > p::before{content: ""; width: 23px; height: 23px; background-color: #f0eded; border-radius: 50%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: -1;} 
	.sc_calender table tr td.event > p{z-index: 1; position: relative; color: #fff;}
	.sc_calender table tr td.event > p::before{content: ""; width: 23px; height: 23px; background-color: #3e7fe8; border-radius: 50%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: -1;}
	.sc_calender table tr td.dayOff > p:first-child > span.dayOff_type {display: none;} /* 20231205 jeongWook 추가 */ 
}

@media (max-width:640px){

	/* 대학정보관 */
	.college_TInfo {padding:1rem;}
	.college_TInfo p.img {position:relative; left:auto; top:auto; width:100%; height:auto; margin-bottom:.5rem; border-right:none;}

}

@media (max-width:480px){

	/* 캘린더 */
	.sc_calender table { height: 206px;}
	.sc_calender table tr th { height: 45px;}

}



@media screen and (max-width:580px){ 

	/* 대입특강 */
	.spec_lecture > li div {padding:.75rem 1rem 1rem 1rem;}
	.spec_lecture > li div h5 {margin-bottom:.5rem; font-size:.85rem; font-weight:700;}
	.spec_lecture > li div p.img {position:relative; left:auto; top:auto; width:6.25rem; margin:0 auto .5rem;}

}

@media screen and (max-width:360px){ 

	/* 오시는길 */
	.transport_list > li dl { display:block; }
	.map_info p strong { display:block; }

	/* 캘린더 */
	.sc_calender .control { justify-content: flex-start;}
}	




