.scroll-no {
  overflow: hidden; /* 기본 설정: 스크롤 막기 */
}

.scroll-no.modal-active-auto {
  overflow: auto; /* 페이지 스크롤 가능 */
}

/*모달크기(modal-dialog쪽에 사용)*/
.modal-sm {
  width: 45rem !important;
}
.modal-lg {
  width: 80rem !important;
}
.modal-xlg {
  width: 100rem !important;
}
.modal-xxlg {
  width: 120rem !important;
}

.modal-back,
.modal {
  display: none;
  visibility: hidden;
  z-index: -1;
}
.modal-back {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.75);
}
.modal-back.in {
  display: block;
  z-index: 1000;
}
.modal-back.in,
.modal.in {
  visibility: visible;
}
/* 전체 스크롤바 트랙 (배경) */
.modal-conts::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

/* 스크롤바 Thumb (움직이는 부분) */
.modal-conts::-webkit-scrollbar-thumb {
  background-color: #c6c6c6;
  border-radius: 10px;
  border: 2px solid transparent;
  background-clip: content-box;
}

/* 스크롤바 트랙 (Thumb이 움직이는 영역) */
.modal-conts::-webkit-scrollbar-track {
  background-color: transparent;
  border-radius: 10px;
}
.modal {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  visibility: hidden;
  overflow-x: hidden;
  overflow-y: auto;
  width: 100%;
  height: 100%;
  opacity: 0;
  font-family: var(--krds--fz-body-md);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  transition: visibility 0.1s 0.15s, z-index 0s 0.15s, opacity 0.15s;
}
.modal > * {
  width: 100%;
}

.modal.shown {
  display: block;
}
.modal.in {
  z-index: 1010;
  transition-delay: 0s;
  opacity: 1;
}
.modal .modal-dialog {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  position: relative;
  z-index: 1020;
  width: 60rem;
  height: calc(100% - 8rem * 2);
  min-height: calc(100% - 8rem * 2);
  margin: 8rem auto;
}
.modal .modal-dialog .modal-content {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  width: 100%;
  max-height: 100%;
  background-color: #fff;
  border-radius: 1.2rem;
  outline-color: transparent;
  transition: outline-color 0.1s;
  padding: 4rem 3.2rem;
}
.modal .modal-dialog .modal-content > * {
  width: 100%;
}
.modal .modal-dialog .modal-header {
  border-bottom: 1px solid #cecece;
  padding-bottom: 1rem;
}
.modal .modal-dialog .modal-header .modal-title {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  font-weight: 700;
}
.modal .modal-dialog .modal-conts {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: 3.2rem;
  position: relative;
  overflow-y: auto;
  width: 100%;
  margin: 3.2rem 0;
}
.modal .modal-dialog .modal-conts > * {
  width: 100%;
}
.modal .modal-dialog .modal-conts .conts-tit {
  font-size: 1.9rem;
  font-weight: 700;
}
.modal .modal-dialog .modal-conts .conts-area {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-direction: column;
}
.modal .modal-dialog .modal-btn {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: row;
  gap: 0.8rem;
  width: 100%;
}
.modal .modal-dialog .modal-btn .btn {
  min-width: 8rem;
}
.modal .modal-dialog .btn-close {
  position: absolute;
  top: 6px;
  right: 50px;
  z-index: 901;
  width: 3.6rem;
  height: 3.6rem;
  background: url('../../images/new/edu/i_close_b40.png') no-repeat center;
  background-size: 2rem;
}

/* ========================================================
 * 모달안의 슬라이드...
======================================================== */
.modal-ofw-hidden {
  overflow: hidden;
}

.modal-swiper {
  margin: 3.2rem auto;
}

.modal-swiper .swiper-slide {
  max-height: 42rem;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ========================================================
 * 메인 페이지 - 검색창에서 사용
======================================================== */
.modal .modal-dialog .modal-header.border-b-none {
  border-bottom: none;
}

/* ========================================================
 * 반응형
======================================================== */
@media (max-width: 1200px) {
  .modal-xxlg {
    width: 95% !important;
  }
}
@media (max-width: 999px) {
  .modal-xlg,
  .modal-lg {
    width: 95% !important;
  }
}
@media (max-width: 600px) {
  .modal-dialog {
    width: 95% !important;
  }
  
  .modal .modal-dialog .modal-content{
  	padding: 2rem 1.6rem;
  }
  
  .modal .modal-dialog .btn-close{
  	top: 3px;
    right: 37px;
  }
}
