 .reveal {
  width: 100%;
  height: 100vh; /* 기존 100%에서 고정된 뷰포트 기준으로 변경 */
  position: relative; /* absolute -> relative로 변경 */
  top: 0;
  font-family: "twayair", serif;
  font-size: 22px;
  font-weight: normal;
  color: #363636;
}
/* .reveal{width:100%;position:absolute;top:0;font-family:twayair,serif;font-size:32px;font-weight:400;color:#363636;bottom:12%} */

/* 섹션의 최소 높이를 고정 */
.reveal .slides section {
  min-height: 100vh; /* 화면 높이만큼 최소 높이 설정 */
  display: flex;
  justify-content: center;
  align-items: center;
}

.reveal section pre {
  box-shadow: none;
  margin-top: 25px;
  margin-bottom: 25px;
  border: 1px solid lightgrey;
}
.reveal section pre:hover {
  border: 1px solid grey;
  transition: border 0.3s ease;
}
.reveal section pre > code {
  padding: 10px;
}
.reveal table {
  font-size: 0.65em;
}
 
.reveal section.side-by-side h1 {
  position: absolute;
}
.reveal section.side-by-side h1:first-of-type {
  left: 25%;
}
.reveal section.side-by-side h1:nth-of-type(2) {
  right: 25%;
}
/* .reveal section[data-background-image] a,
.reveal section[data-background-image] p,
.reveal section[data-background-image] h2 {
  color: white;
} */
.reveal section[data-background-image] a {
  text-decoration: underline;
}


.reveal section.slide700x700 img {
  max-width: 65%;
  max-height: auto;
}

 
.reveal section.slide960x700 img {
  max-width: 90%;
  max-height: auto;
}
 
.reveal section.side-by-side h3 {
  position: absolute;
}
.reveal section.side-by-side h3:nth-of-type(1) {
  left: 15%;
}
.reveal section.side-by-side h3:nth-of-type(2) {
  left: 40%;
}
.reveal section.side-by-side h3:nth-of-type(3) {
  left: 60%;
}
 
.reveal section.keyword h2 {
  color: #CC3D3D;
}
 

.reveal section img{
    margin: 15px 0px;
    background: rgba(255, 255, 255, 0.12);
    border: 4px solid #363636;
    box-shadow: 0 0 10px rgb(0 0 0 / 15%);
}

.reveal section.img-large-half img {
  width: 50%;
  height: auto;
}
.reveal section.img-large-3quarter img {
  width: 75%;
  height: auto;
}
.reveal section.img-large-full img {
  width: 100%;
  height: auto;
}

.reveal section.pre-large-full pre {
  width: 100%;
  height: auto;
}

.reveal section.text-align-right h1,
.reveal section.text-align-right h2,
.reveal section.text-align-right h3,
.reveal section.text-align-right h4,
.reveal section.text-align-right h5,
.reveal section.text-align-right h6 {
  margin-left: 7em;
}


/*	SLIDE TITLE HIDDEN	*/
.slide-title-hidden {
	display:none
}

.reveal.has-dark-background .line {
  display: none; }


.reveal section .detail-title {
  font-size: 26px;
}
.reveal section .detail-desc {
  font-size: 20px;
}

.reveal section .border-line {
  border-color:cadetblue;
  border-width: 3px;
}

/* --- Overview 모드 (ESC) 시각화 보정 --- */

/* 개요 모드일 때는 100vh 강제 설정을 해제하여 슬라이드가 그리드에 맞게 축소되도록 함 */
.reveal.overview .slides section {
  min-height: auto !important;
  height: 700px !important; /* 기본 슬라이드 높이로 일시적 고정 */
  display: block !important; /* Flex 레이아웃이 축소 시 깨질 수 있으므로 기본값 복구 */
  opacity: 1 !important;
  visibility: visible !important;
  background: #ffffff !important; /* 배경이 투명해지는 현상 방지 */
  border: 1px solid rgba(0,0,0,0.1) !important; /* 슬라이드 간 경계선 추가 */
  box-sizing: border-box;
}

/* 현재 보고 있는 슬라이드를 파란색 테두리로 강조 */
.reveal.overview .slides section.present {
  outline: 6px solid #3b82f6 !important;
  outline-offset: 3px;
}

/* 개요 모드에서 슬라이드 내부의 이미지와 텍스트가 잘 보이도록 강제 가시성 부여 */
.reveal.overview .slides section * {
  opacity: 1 !important;
  visibility: visible !important;
}