@charset "UTF-8";
/* *********************************** *
* modal
* *********************************** */
[class*=cm_modal] { position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; overflow: hidden; z-index: 100; display: none; }
[class*=cm_modal] .modal_container { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); background: #F7F7F7; width: calc(100% - 3rem); }
[class*=cm_modal] .dim { background: rgba(0, 0, 0, 0.60); width: 100%; height: 100%; }
[class*=cm_modal] .btn_close { z-index: 1; position: absolute; right: 2.4rem; top: 2.4rem; width: 3.2rem; height: 3.2rem; background: url(../../images/common/icon_close.svg) no-repeat center / contain; }
[class*=cm_modal].active { display: block; }

.cm_modal1.search_layer .modal_container { max-width: 90%; width: 92rem; }
.cm_modal1.search_layer .modal_body { position: relative; padding: 8rem 4rem; text-align: center; }
.cm_modal1.search_layer .modal_body .title { font-size: 2.8rem; font-weight: 700; margin-bottom: 4rem; line-height: 1.2; word-break: keep-all; }
.cm_modal1.search_layer .modal_body .search_wrap { display: flex; justify-content: center; width: 100%; max-width: 568px; margin-left: auto; margin-right: auto; }
.cm_modal1.search_layer .modal_body .search_wrap input[type=text] { flex: 1 1 0; min-width: 0; }
.cm_modal1.search_layer .modal_body .search_wrap .btn_search { display: inline-flex; align-items: center; padding: 0 2.4rem; background: #000; color: #fff; font-size: 1.9rem; font-weight: 600; }

.cm_modal2 .modal_container { max-width: 90%; width: 120rem; }
.cm_modal2 .modal_head { width: 100%; min-height: 9.3rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; background-color: #00975b; padding: 2.4rem 4rem; }
.cm_modal2 .modal_head .head_title { font-weight: 700; font-size: 3.2rem; color: #fff; line-height: 1.4; }
.cm_modal2 .modal_head .btn_close { width: 2.4rem; height: 2.4rem; position: unset; background: url('../../images/common/icon_close2.svg') no-repeat center / contain; }
.cm_modal2 .modal_body { height: 75vh; background-color: #fff; padding: 4rem; overflow: auto; }
.cm_modal2 .modal_body .calendar_box { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cm_modal2 .modal_body .calendar_box .calendar { min-width: 800px; }

/* *********************************** *
* schedule
* *********************************** */
/* 헤더 툴바 숨김 */
.fc .fc-toolbar { display: none; }

/* 테두리 */
.fc-direction-ltr { border: 1px solid #8A8A8A; }
.fc .fc-scrollgrid { overflow: hidden; }
.fc .fc-scrollgrid td, .fc .fc-scrollgrid th { border-color: #CACACA; }

/* 구분 세팅 */
.fc thead .fc-timegrid-axis { width: 20rem; height: 5.9rem; }
.fc thead .fc-timegrid-axis::before { content: "구분"; width: 100%; height: 100%; display: block; background: #F3F5F7; font-weight: 600; font-size: 1.9rem; padding: 1.6rem 1.2rem; }
.fc .fc-timegrid-axis-frame { display: none; }

/* 요일 헤더 */
.fc .fc-col-header-cell { background: #F3F5F7; font-weight: 600; font-size: 1.9rem; padding: 1.6rem 1.2rem; }

/* 시간 슬롯 */
.fc colgroup col:first-child { width: 20rem !important; }
.fc .fc-timegrid-slot { height: 7.7rem; }
.fc .fc-timegrid-slot-label { font-size: 1.9rem; vertical-align: middle; }
.fc-direction-ltr .fc-timegrid-slot-label-frame { text-align: center; }

/* 오늘 */
.fc .fc-timegrid-col.fc-day-today { background-color: unset; }

/* 이벤트 공통 */
.fc-direction-ltr .fc-timegrid-col-events { margin: 0; }
.fc .fc-timegrid-event { height: auto !important; }
.fc .fc-timegrid-event.fc-event { box-sizing: border-box; border-radius: 0; cursor: default; padding: 1.6rem; margin: 0; }
.fc .fc-v-event .fc-event-main { display: flex; justify-content: center; align-items: flex-start; color: #000; padding: 0; overflow-x: hidden; overflow-y: auto; }
.fc .fc-v-event .fc-event-main .fc-event-custom { width: 100%; height: 100%; text-align: center; align-content: center; }
.fc .fc-timegrid-event .fc-event-title { font-weight: 700; font-size: 1.7rem; word-break: keep-all; white-space: normal; margin-bottom: 2.4rem; overflow: unset; }
.fc .fc-timegrid-event .fc-event-time { font-size: 1.7rem; margin: 0; word-break: keep-all; white-space: normal; overflow: unset; }

/* 이벤트 색상 테마 */
.fc .event_green { background: #A2E9C9; border: 1px solid #00975b; }
.fc .event_orange { background: #F9DCD4; border: 1px solid #EB8B70; }
.fc .event_purple { background: #E5DBF4; border: 1px solid #724CAC; }
.fc .event_yellow { background: #FFFDC8; border: 1px solid #B3AF41; }

/* *********************************** *
* 반응형
* *********************************** */
@media all and (max-width: 1600px){

}

.fc-daygrid-day-frame {
    min-height: 7.7rem; /* 원하는 최소 높이 설정 */
}