/* fullcalendar */

/* calendar toolbar */
.fc .fc-toolbar.fc-header-toolbar {
	margin-bottom: 24px;
	position: relative;
	justify-content: center;
}
.fc .fc-button-group{
	/* transform: translateY(17px); */
	z-index: 10;
}
.fc .fc-button-group button.fc-button-primary {
	height: 45px;
	border-color: transparent !important;
}
.fc .fc-toolbar.fc-header-toolbar .fc-myToday-button,
.fc .fc-toolbar.fc-header-toolbar .fc-myToday-button:focus  {
	display: flex;
	width: 62px;
	height: 40px;
	padding: 0 16px;
	justify-content: center;
	align-items: center;
	gap: 4px;
	border-radius: 8px;
	border: 1px solid #C6C6C6;
}
.fc .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk:first-child {
	position: absolute;
	left: 0;
	top: 5px;
}
.fc .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk:first-child > div {
	gap: 8px;
}
.fc .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk:last-child {
	position: absolute;
	right: 0;
	top: 5px;
}
/* 버튼활성화 시 테두리 선 제거 */
.calView .fc .fc-button:focus,
.calView .fc .fc-button:active,
.calView .fc .fc-button.fc-button-active {
	outline: none !important;
	box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 0px 1px !important;
	/* border-color: transparent !important; */
}
.fc .fc-button-group .select{
	width: 119px;
    height: 45px;
}
.calView .fc .fc-toolbar .fc-toolbar-chunk > div {
	display: flex;
	align-items: center;
	gap: 20px;
}
.fc .fc-button-primary{
	border: 0;
}
.calView .fc .fc-button {
	color: #1D1D1D;
	background-color: #fff;
	display: inline-block;
	border-radius: 0;
	padding: 0px;
}
/* select 클릭시 텍스트 사라짐으로인해서 color 고정 */
.calView .fc .fc-button,
.calView .fc .fc-button:focus,
.calView .fc .fc-button:active,
.calView .fc .fc-button.fc-button-active {
	color: #1D1D1D !important;
}
.calView .fc .fc-button.fc-next-button:focus,
.calView .fc .fc-button.fc-prev-button:focus {
	box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 0px 1px !important;
}
.calView .fc .fc-button.fc-next-button,
.calView .fc .fc-button.fc-prev-button {
	width: 40px;
	height: 40px;
	position: relative;

	border-radius: 40px;
	border: 1px solid #D8D8D8;
	background: #FFF;
}
.calView .fc .fc-button .fc-icon {
	width: 20px;
	height: 20px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
.calView .fc .fc-button .fc-icon-chevron-left {
	background-image: url(../images/sub/ico_prev_black.svg);
}
.calView .fc .fc-button .fc-icon-chevron-right{
	background-image: url(../images/sub/ico_next_black.svg);
}
.calView .fc .fc-button .fc-icon::before {
	display: none;
}
.calView .fc .fc-toolbar-title {
	font-size: 32px;
	font-weight: 700;
	/* padding-bottom: 32px; */
}
.calView .fc .fc-button:active{
	background-color: #fff;
	border:none;
}
.calView .fc .fc-button .fc-icon:active{
	background-color: #fff;
	border:none;
}

.calView .select .selectbox > button {
	border-radius: 8px;
	border: 1px solid #C6C6C6;
	background: #FFF;
	height: 40px;
	
	font-size: 19px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
}
.calView .select .selectbox > button > span {
	font-size: 19px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
}
/* calendar toolbar */


/* calendar calendarGuide */
.fc .fc-view-harness {
	order: 3;
}
.calendarGuide {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	order: 5;
	margin-top: 24px;
}
.guideText{
	order: 3;
	margin-bottom: 24px;
}
.calendarGuide .statusList {
	display: flex;
	align-items: center;
	gap: 8px;
	
    padding: 15px 20px;
    border: 1px solid #E4E4E4;
    border-radius: 12px;
}
.calendarGuide .statusList > li {
	padding-left: 20px;
	position: relative;
	color: #1D1D1D;
	font-size: 14px;
}
.calendarGuide .statusList > li::before {
	content: '';
	display: block;
	position: absolute;
	top: 5px; left: 5px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
}
.calendarGuide .statusList > li.comp::before {
	background-color: #97ECDC;
}
.calendarGuide .statusList > li.wait::before {
	background-color: #98DBFF;
}
.calendarGuide .statusList > li.rejected::before {
	background-color: #FFBEBE;
}
.calendarGuide .guideText {
	font-size: 18px;
	color: #1C1C1C;
}
/* calendar calendarGuide */


/* 캘린더  view  */
/* table css */
.calView .guideText {
	transform: initial;
	margin-top: 8px;
	margin-bottom: 0px;
	margin-left: 0px !important;
	margin-right: 0px;
}
.calView .fc .fc-scrollgrid{
	border: 1px solid #E4E4E4;
	border-radius: 12px;
	overflow: hidden;
}
.calView .fc .fc-day-sun .fc-daygrid-day-number {
	color: #EA0000 ;
}
.calView .fc .fc-day-sat .fc-daygrid-day-number {
	color: #0076CC;
}
.fc .fc-day-other .fc-daygrid-day-top .fc-daygrid-day-number {
	color: #1D1D1D;
}

.calView .fc .fc-day-other {
	background: #f8f8f8;
}
.calView .fc .fc-day-other .fc-daygrid-day-top {
	opacity: 0.615 !important;
}

.calView .fc .fc-col-header{
	background-color: #08627D;
}
.fc-theme-standard th{
	border-right: 1px solid #08627D;
}
.calView .fc th:last-child {
	/* border-right: 0; */
	border-right: 1px solid #08627D;
}
.calView .fc .fc-col-header-cell-cushion {
	padding: 8px 16px;
	font-size: 14px;
	font-weight: 500;
	color: #fff;
	line-height: 150%;
}
.fc-theme-standard td{
	background: rgba(217, 217, 217, 0.01);
	border: solid 1px #E4E4E4;
	/* overflow: hidden; */
}
.calView .fc-theme-standard td:hover {
	cursor: pointer;
}
.fc-theme-standard td:last-child{
	border-right: 0;
	border-bottom: 0;
}
.fc-day-sun.fc-daygrid-day,
.fc-day-sat.fc-daygrid-day{
	background: rgba(217, 217, 217, 0.20);
}
/* table css */

/* 주말날짜 */
.fc-day-sun.fc-daygrid-day, .fc-day-sat.fc-daygrid-day {
	background: #FFF;
}
/* 주말날짜 */

/* 오늘날짜 */
.calView .fc .fc-daygrid-day.fc-day-today {
	background-color: #FFF !important;
}
.calView .fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-frame {
	background-color: #FFF;
}
.calView .fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-frame .fc-daygrid-day-number {
	width: 30px;
	height: 30px;
	/* color: #FFF; */
	border-radius: 20px;
	background: #E7F4F0;
	margin-bottom: 12.5px;
}
/* 오늘날짜 */
.calView .fc .fc-daygrid-day .fc-daygrid-day-frame {
	border: none;
	box-sizing: border-box;
	min-height: 122px;
	padding: 10px 10px 20px 10px;
}
.calView .fc .fc-daygrid-day-top {
	flex-direction: initial;
	justify-content: space-between;
}
.calView .fc .fc-day-today .fc-daygrid-day-top {
	justify-content: flex-start;
	align-items: flex-start;
	gap: 8px;
}
.calView .fc .fc-day-today .fc-daygrid-day-top .today-label {
	padding-top: 3px;
}
.calView .fc .fc-daygrid-day-number {
	display: inline-block;
	/* padding: 12px; */
	padding-bottom: 16px;
	text-align: center;
	color: #1D1D1D;
	font-size: 15px;
	font-weight: 400;
	line-height: 150%;
}
/* .calView .fc .fc-daygrid-event-harness + .fc-daygrid-event-harness {
	padding-top: 10px;
} */
.calView .fc .fc-daygrid-day-events {
	margin-top: 0;
	/* overflow: hidden; */
	padding: 0 12px;
	margin-bottom: 0px;
}
.calView .fc .fc-daygrid-day-events .custom-cell-content {
	height: 30px;
}
.calView .fc .fc-daygrid-day-events .custom-cell-content + .custom-cell-content {
	margin-top: 8px;
}
.calView .fc .fc-daygrid-day-events .custom-cell-content > span {
	display: -webkit-inline-box;
	text-overflow: ellipsis;
	overflow: hidden;
	word-break: break-word;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	text-align: center;
	color: #1D1D1D;
	font-size: 14px;
	font-weight: 500;
	line-height: 150%; /* 21px */
	letter-spacing: -0.7px;
	border-radius: 8px;
	padding: 4px 8px;
	background: #97ECDC;
	max-width: 100%;
}
.calView .fc .fc-daygrid-day-bg {
	padding: 0 14px;
}
.calView .fc .fc-daygrid-day-bg .fc-day-count-badge {
	color: #003985;
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 150%;
	letter-spacing: -0.7px;

	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events {
	min-height: unset;
}
.calView  .fc .fc-daygrid-day-frame {
	/* cursor: pointer; */
}
.calView .fc .fc-event-count {
	display: none;
}
a.fc-event {
	position: relative;
	padding-left: 31px;
}
a.fc-event:hover,
a.fc-event:focus-visible {
	background-color: initial;
}
.calView .fc .fc-daygrid-event-harness:has(.koHolidays) {
	position: absolute;
	top: -38px;
	left: 20px;
	display: none;
}
.calView .fc .fc-daygrid-event-harness:has(.koHolidays) + .fc-daygrid-event-harness {
	padding-top: 0;
}
.calView .fc .fc-daygrid-event-harness:has(.koHolidays):nth-of-type(n+2) {
	display: none;
}

.calView .fc .fc-daygrid-event-harness .koHolidays {
	background-color: initial;
	padding-left: 0;
	border: 0;
}
.calView .fc .fc-daygrid-event-harness .koHolidays .fc-event-main {
	font-size: 0;
}
.calView .fc .fc-daygrid-event-harness:has(.koHolidays) .fc-event-list {
	position: relative;

}
.calView .fc .fc-daygrid-event-harness:has(.koHolidays) .fc-event-list::before {
	content: '공휴일';
	display: block;
	color: #FF0000;
	font-size: 14px;
}
.calView .fc .fc-daygrid-event-harness .koHolidays::before {
	display: none;
}
.fc .fc-daygrid-event-harness{
	/* padding-left: 12px; */
	height: 26px;
}
.calView .fc .fc-event{
	color: #1D1D1D;
	font-size: 14px;
	font-weight: 500;
	line-height: 150%; /* 21px */
	letter-spacing: -0.7px;
	display: inline-block;
	padding: 0px 0px;
	/* border-radius: 8px; */
	margin-top: 0px;

	width: 100%;
	white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.calView .fc .fc-event span {
	overflow: hidden;
	color: #FFF;
	text-align: center;
	text-overflow: ellipsis;
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
	
	padding: 0 10px;
	border-radius: 5px;
	background: #3C8C8C;
}
.calView .fc .fc-event:hover,
.calView .fc .fc-event:focus-visible{
	color: #FFF;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.calView .fc .fc-event:hover span {
	background: #245454;
}
.calView .fc .fc-event:has(.fc-event-main):hover{
	background-color: #3788d8;
}
.calView .fc .fc-daygrid-event-harness + .fc-daygrid-event-harness{
	/* padding-top: 4px; */
}
.calView .fc .fc-event:has(.wait){
	/* background-color: #98DBFF; */
}
.calView .fc .fc-event:has(.comp){
	/* background-color: #97ECDC; */
}
.calView .fc .fc-event:has(.rejected){
	/* background-color: #FFBEBE; */
}
.calView .fc .fc-event-list {
	position: relative;
	display: block;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}
.fc-daygrid-event-harness:has(.wait) ~ .fc-daygrid-event-harness:has(.wait){
	display: none;
}
.fc-daygrid-event-harness:has(.comp) ~ .fc-daygrid-event-harness:has(.comp){
	display: none;
}
.fc-daygrid-event-harness:has(.rejected) ~ .fc-daygrid-event-harness:has(.rejected){
	display: none;
}

.fc .fc-daygrid-day.fc-day-today {
	/* background: unset; */
}

/* 캘린더 팝업 */
.calView .calendarDate {
	position: fixed;
	top: 50%; left: 50%;
	transform: translate(calc(-50% + 200px),-50%);
	z-index: 1000;
	width: 500px;
	height: auto;
	padding: 24px;
	border-radius: 16px;
	border: 1px solid #E4E4E4;
	background: #FFF;
	flex-direction: column;
	box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.3);
}
.calView .calendarDate .cal_tit_box{
	display: flex;
	align-items: center;
	justify-content: space-between;
    padding-bottom: 16px;
    border-bottom: 1px solid #C6C6C6;
}
.calView .calendarDate .cal_tit_box > span{
	display: inline-block;
}
.calView .calendarDate .cal_tit_box .day {
	color: #1D1D1D;
	font-size: 24px;
	font-weight: 500;
	line-height: 40px;
}
.calView .calendarDate .cal_tit_box .close_btn{
	width: 40px;
	height: 40px;
	background-image: url(../images/sub/board/ico_close.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	cursor: pointer;
}
.calView .calendarDate .statusList {
	margin-top: 16px;
	display: flex;
	flex-direction: column;

	height: 300px;
    overflow: auto;
	padding: 0px 7px 0px 0px;
}
.calView .calendarDate .statusList::-webkit-scrollbar {
	width: 4px;
}
.calView .calendarDate .statusList::-webkit-scrollbar-thumb {
	background: #8E8E8E;
	border-radius: 10px;
}
.calView .calendarDate .statusList::-webkit-scrollbar-thumb:hover {
	background: #8E8E8E;
}

.calView .calendarDate .statusList li:first-child .reservationList li:first-child {
	margin-top: 0px;
}
.calView .calendarDate .reservationList{
	display: flex;
	flex-direction: column;
}
.calView .calendarDate .reservationList > li{
	display: flex;
	align-items: flex-start;
	margin-top: 8px;
}
.calView .calendarDate .reservationList > li.title_m{
	display: none;
}
.calView .calendarDate .reservationList > li > span{
	color: #1D1D1D;
	font-size: 16px;
	font-weight: 400;
	line-height: 150%; /* 24px */
}
.calView .calendarDate .reservationList > li > span:not(.status){
	padding-top: 2px;
}
.calView .calendarDate .reservationList > li > span + span{
	margin-left: 18px;
	position: relative;
}
.calView .calendarDate .reservationList > li > span + span::before {
	content: '';
    display: inline-block;
	width: 1px;
	height: 12px;
	position: absolute;
    top: 9px;
	left: -9px;
	background: #C6C6C6;
}
.calView .calendarDate .reservationList > li > span.status{
	display: inline-block;
	padding: 4px 8px;
	border-radius: 8px;
}
.calView .calendarDate .reservationList > li > span.title{
	/* width: calc(100% - 180px); */
	font-weight: 700;
}
.calView .calendarDate .comp .reservationList > li > span.status{
	background: #97ECDC;
}
.calView .calendarDate .wait .reservationList > li > span.status{
	background: #98DBFF;
}
.calView .calendarDate .rejected .reservationList > li > span.status{
	background: #FFBEBE;
}
.calView .fc .fc-daygrid-day-bg .fc-row-count {
	display: none;
}
/* tablet */
@media screen and (max-width: 1279px) {
	/* 캘린더 팝업 */
	.calView .calendarDate {
		transform: translate(-50% ,-50%);
	}
}
@media screen and (max-width: 1000px) {
	.fc .fc-toolbar.fc-header-toolbar {
		flex-wrap: wrap;
		gap: 16px;
	}
	.fc .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk:first-child,
	.fc .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk:last-child {
		position: relative;
		top: 0;
		right: 0;
		left: 0;
	}
	.fc .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk {

	}
	.fc .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk:first-child {
		order: 2;
	}
	.fc .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk:last-child {
		order: 3;
	}
	.fc .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk:first-child .fc-button-group {
		margin-top: 5px;
	}
	.fc .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk:nth-child(2) {
		width: 100%;
	}
	.fc .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk:nth-child(2) > div {
		justify-content: center;
	}
}
/* mobile */
@media screen and (max-width: 767px) {
	/* 20241011 */
	.calendarGuide{
		margin-top: 16px;
	}
	.calView .fc .fc-col-header-cell-cushion{
		padding: 8px 0;
	}
	.calView .fc .fc-daygrid-day .fc-daygrid-day-frame{
		/* height: 81px; */
		padding: 4px;
		min-height: 97px;
	}
	.calView .fc .fc-event span {
		padding: 0 4px;
	}
	.calView .fc .fc-daygrid-day-number{
		padding: 4px;
	}
	.calView .fc .fc-event-status{
		padding: 0 8px;
	}
	.calView .fc .fc-event-status > li span{
		color: rgba(217, 217, 217, 0.01);
	}
	.calView .fc .fc-day-today .fc-daygrid-day-top .today-label {
		display: none;
	}
	.calView .fc .fc-event > span{
		/* display: none; */
	}
	.calView .fc .fc-event{
		/* line-height: 12px;
		margin: 0;
		padding: 0;
		width: 12px;
		height: 12px;
		border-radius: 50%;
		display: block; */
	}
	.calView .fc .fc-daygrid-event-harness:has(.koHolidays) .fc-event-list::before{
		display: none;
	}
	.fc .fc-daygrid-event-harness{
		/* padding-left: 8px; */
	}
	.calView .calendarDate .cal_tit_box .day{
		line-height: 36px;
	}
	/* .calView .calendarDate .reservationList > li:not(.title_m) > span.title{
		display: none;
	}
	.calView .calendarDate .reservationList > li.title_m{
		display: block;
		padding-left: 50px;
		margin-top: 0;
	} */
	.calView .fc .fc-daygrid-day-events:has(.custom-cell-content) {
		padding: 0 4px;
	}
	.calView .fc .fc-daygrid-day-events .custom-cell-content {
		height: 22px;
	}
	.calView .fc .fc-daygrid-day-events .custom-cell-content > span {
		padding: 2px 4px;
		border-radius: 4px;
		font-size: 12px;
	}
	.calView .fc .fc-daygrid-day-events .custom-cell-content + .custom-cell-content {
		margin-top: 4px;
	}

	.calView .fc .fc-toolbar-title {
		font-size: 24px;
	}
	.calView .cont_box p {
		font-size: 14px;
	}
	.calView .select .selectbox > button,
	.calView .select .selectbox > button span {
		font-size: 14px;
	}
	.calView .select .selectbox .option ul > li button,
	.calView .select .selectbox .option ul > li button span {
		font-size: 14px;
	}

	.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events {
		/* display: none; */
		padding: 0;
	}
	.calView .fc .fc-daygrid-day-bg {
		padding: 0 8px;
	}
	.calView .fc .fc-daygrid-day-bg .fc-row-count {
		display: block;
	}

}

@media screen and (max-width: 767px) {

}
.hidden {
	/* display: none !important; */
}
.calView .fc .fc-button.fc-yearSelect-button,
.calView .fc .fc-button.fc-monthSelect-button{
	width: 119px;
	height: 45px;
	border-radius: 12px;
	border: 1px solid  #D8D8D8;
	background: #FFF;
	color: #1C1C1C;
	font-size: 14px;
	font-weight: 400;
	line-height: 150%; /* 21px */
	letter-spacing: -0.7px;
	text-align: left;
	background-image: url(../images/sub/board/ico_cal_select.svg);
	background-repeat: no-repeat;
	background-position: center right 12px;
	background-size: 16px;
}
@media screen and (max-width: 767px) {
	.fc .fc-toolbar{
		/* flex-direction: column;
		gap: 16px;
		margin-bottom: 0px; */
	}
	.fc .fc-toolbar.fc-header-toolbar{
		margin-bottom: 16px;
	}
	.fc .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk {
		text-align: center;
	}
	.fc .fc-toolbar.fc-header-toolbar .fc-myToday-button {
		font-size: 14px;
		width: 52px;
        padding: 0 12px;
	}
	.fc .fc-button-group {
		transform: translateY(0px);
	}
	.guideText{
		margin-bottom: 0px;
		transform: translateY(-75px);
		text-align: center;
	}
	.calView .fc .fc-button.fc-yearSelect-button,
	.calView .fc .fc-button.fc-monthSelect-button{
		width: 134px;
	}
}

/** type1 */
.calView.type1 .gh_span,
.calView.type1 .gh_span_cal {
	padding-left: 0px;
}
.calView.type1 .gh_span.comp::before,
.calView.type1 .gh_span_cal.comp::before {
	background-color: unset;
}
.calView.type1 .gh_span.wait::before,
.calView.type1 .gh_span_cal.wait::before {
	background-color: unset;
}
.calView.type1 .gh_span.rejected::before,
.calView.type1 .gh_span_cal.rejected::before {
	background-color: unset;
}
.calView.type1 .fc .fc-event span.wait {
	color: #8E8E8E;
}
.calView.type1 .calendarDate .reservationList > li > span.wait {
	color: #8E8E8E;
}
/** type1 */

/* fullcalendar */