/* index.css */

/* 폰트 정의 */
@font-face {
    font-family : '김정철 명조 bold';
    src : url(KimjungchulMyungjo-Bold.otf);
}
@font-face {
    font-family : '김정철 고딕 bold';
    src : url(KimjungchulGothic-Bold.otf);
}
@font-face {
    font-family : '김정철 명조 light';
    src : url(KimjungchulMyungjo-Light.otf);
}
@font-face {
    font-family : '김정철 고딕 light';
    src : url(KimjungchulGothic-Light.otf);
}
@font-face {
    font-family : '나눔스퀘어';
    src : url(NanumSquare-Regular.ttf);
}
/* 기본 스타일링 */
body {
  font-family: '김정철 명조 light', sans-serif;
  color: #EDDD9A;
  background-color: #1E3E59;
  line-height: 1.6;
  margin: 0 ;
  padding: 0;
  text-align: center;
  overflow-x: hidden; /* 추가적인 마진 방지 */
  max-width: 100%;
  box-sizing: border-box; /* 패딩과 보더를 포함한 너비 계산 */
}

/* 헤더 스타일 */
header {
  background: #1E3E59;
  color: #EDDD9A;
  padding: 3rem 0;
  text-align: center;
  position: relative;
  width: 100%;
  max-width: 100%;
}

header h1 {
  font-family: '김정철 고딕 bold', sans-serif;
  margin: 0;
}

/* 메뉴바 스타일 */
.menu-icon {
  font-size: 2rem;
  cursor: pointer;
  position: fixed; /* 화면의 고정된 위치에 배치 */
  left: 1rem; /* 화면의 왼쪽에서 1rem만큼 떨어진 위치에 배치 */
  top: 1rem; /* 화면의 상단에서 1rem만큼 떨어진 위치에 배치 */
  z-index: 1000; /* 메뉴가 다른 요소 위에 나타나도록 z-index 설정 */
  color: #EDDD9A; /* 텍스트 색상 */
  padding: 10px; /* 클릭 가능한 영역을 넓히기 위한 패딩 */
  border-radius: 5px; /* 모서리를 둥글게 */
}

#sidebar {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  background-color: #EDDD9A;
  color: #1E3E59;
  overflow-x: hidden;
  transition: transform 0.3s ease-out;
  padding-top: 60px;
  font-family: '김정철 명조 bold', sans-serif;
  box-shadow: 2px 0 5px rgba(0,0,0,0.5); /* 그림자를 추가하여 시각적인 분리 */
  z-index: 15;
}

#sidebar .close-btn {
  position: absolute;
  top: 20px;
  right: 25px;
  font-size: 36px;
  margin-left: 50px;
  cursor: pointer;
}

#sidebar ul {
  list-style-type: none;
  padding: 0;
}

#sidebar ul li {
  padding: 8px 8px 8px 32px;
  text-align: left;
}

#sidebar ul li a {
  color: #1D3144;
  text-decoration: none;
  font-size: 1.25rem;
}

#sidebar ul li a:hover {
  color: #fff;
}

/* 섹션 스타일 */
section {
  background-color: #1E3E59;
  color: #EDDD9A;
  padding: 15px;
  margin: 10px;
  text-align: center;
  font-family: '김정철 명조 bold', sans-serif;
  font-size: 10px;
  max-width: 100%;
  box-sizing: border-box; /* 패딩과 보더를 포함한 너비 계산 */
}

/* about 섹션 스타일 수정 */
#about h2 {
  margin-bottom: 2rem; /* 제목과 special-text 간의 간격을 줄임 */
}

#about .special-text {
  margin-top: 4rem; /* special-text의 상단 간격을 제거 */
}

/* 특별 텍스트 스타일링 */
.special-text {
  font-size: 180px;
  font-family: '김정철 명조 bold', serif;
  color: #EDDD9A;
  text-align: center;
  position: relative; /* 연기 이미지를 정확히 위치시키기 위해 필요 */
  z-index: 10; /* "빵" 텍스트가 연기보다 위에 표시되도록 설정 */
}

.special-text-container {
  position: relative;
  display: inline-block; /* 텍스트가 중앙에 위치하도록 하기 위해 추가 */
}

.poster-image {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  padding-top: 20px;
}

/* 제목 스타일링 */
#details h3, #director h3, #baker h3, #specialthanksto h3, #producer h3, #Inoven h3,#subdirector h3 {
  font-size: 2rem;
  font-family: '김정철 명조 bold', serif;
  color: #EDDD9A;
  margin-bottom: 2rem;
}

/* 내용 스타일링 */
#director p, #specialthanksto p, #producer , #subdirector p {
  font-size: 0.7rem;
  font-family: '김정철 고딕 light', serif;
  color: #EDDD9A;
  margin-top: 1rem;
  margin-bottom: 1rem;
  line-height: 1.8;
}

/* 소제목 스타일링 */
#characterintroduce h4 {
  font-size: 1.2rem;
  font-family: '김정철 명조 bold', serif;
  color: #EDDD9A;
  margin-bottom: 2rem;
}

#characterintroduce h5 {
  font-size: 0.85rem;
  font-family: '김정철 명조 bold', serif;
  color: #EDDD9A;
  margin-bottom: 2rem;
}

#baker p {
  font-size: 0.9rem;
  font-family: '김정철 고딕 bold', serif;
  color: #EDDD9A;
  margin-top: 0;
  margin-bottom: 1rem;
  line-height: 2.0;
}

#details p {
  font-size: 0.9rem;
  font-family: '김정철 고딕 light', serif;
  color: #EDDD9A;
  margin-top: 0;
  margin-bottom: 1rem;
  line-height: 2.0;
}
#characterintroduce p {
  font-size: 0.7rem;
  font-family: '김정철 고딕 light', serif;
  color: #EDDD9A;
  margin-top: 0;
  margin-bottom: 0.6rem;
  line-height: 1.4;
}

/* 특정 텍스트 왼쪽 정렬 */
.align-left {
  text-align: left;
  margin-left: 0;
}

/* 특정 텍스트 볼드 */

.bold-font {
  font-family: '김정철 고딕 bold', sans-serif; /* 원하는 글씨체로 변경 */
  font-weight: bold;
  text-align: left;
}

.basic-font {
  font-family: '김정철 고딕 light', sans-serif; /* 원하는 글씨체로 변경 */
  font-size: 0.7rem;
  color: #EDDD9A;
}

.schedule-table {
  margin: 0 auto; /* 테이블을 페이지 중앙에 정렬 */
  border-collapse: collapse; /* 셀 간의 간격을 제거 */
}

.schedule-table td {
  padding-left: 2px 0; /* "회차 |" 이후 간격 */
  font-size: 0.7rem;
  vertical-align: top;
}

/* 이미지 및 설명 스타일링 */
.image-one {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

.image-one figure {
  margin: 0 2px;
  text-align: center;
}

.image-one img {
  display: block;
  margin: 0 auto;
}

.image-one figcaption {
  font-size: 0.6rem;
  font-family: '김정철 고딕 light', serif;
  color: #EDDD9A;
  margin-top: -7px;
}

.img {
  width: 100px;
  max-width: 120px;
  height: auto;
}

.imgcast {
  width: 110px;
  max-width: 160px;
  height: auto;
}

.imgstaff {
  width: 100px;
  max-width: 120px;
  height: auto;
}

.imgstaffking {
  width: 110px;
  height: auto;
}

.imgdirector {
  width: 140px;
  height: auto;
}

.Teatherapy {
  width : 60px;
  height : auto;
  margin: 0 auto; 
}

/* 지도 스타일링 */
.map-container {
  display: flex;
  justify-content: center;
  height: 250px;
  width: 100%;
  max-width: 100%;
}

.root_daum_roughmap {
  width: 240px;
  height: 160px;
  max-width: 100%;
  border: none;
}

/* 연기 애니메이션 스타일 */
.smoke-wrap {
  position: absolute;
  bottom: 60%; /* "빵" 텍스트의 가운데에 맞추기 위해 하단 기준으로 50% 설정 */
  left: 50%;
  transform: translate(-50%, 50%); /* 연기의 하단부가 중앙에 맞춰지도록 설정 */
  width: 100px; /* 연기의 크기 조정 */
  height: auto;
  pointer-events: none; /* 연기 이미지가 클릭 이벤트를 막지 않도록 설정 */
  z-index: 5; /* "빵" 텍스트 뒤에 배치되도록 설정 */
}

.smoke,
.smoke2 {
  filter: blur(5px);
  transform-origin: 50% 50%;
  animation-delay: 0.5s;
  max-width: 100%;
}

.smoke {
  animation: smoke 2s linear infinite;
  animation-delay: 1.5s;
}

.smoke2 {
  animation: smoke2 2s linear infinite;
  animation-delay: 2.5s;
}


@keyframes smoke1 {
  0% {
      filter: blur(0px);
      transform: translateY(0px) scale(-1, 1);
      opacity: 0;
  }
  25% {
      filter: blur(3px);
      transform: translateY(-15px) scale(-1, 1.05);
      opacity: 0.5;
  }
  50% {
      filter: blur(5px);
      transform: translateY(-30px) scale(-1, 1.1);
      opacity: 1;
  }
  75% {
      filter: blur(5px);
      transform: translateY(-45px) scale(-1, 1.15);
      opacity: 0.5;
  }
  100% {
      filter: blur(7px);
      transform: translateY(-60px) scale(-1, 1.2);
      opacity: 0;
  }
}

@keyframes smoke2 {
  0% {
      filter: blur(0px);
      transform: translateY(0px) scale(1);
      opacity: 0;
  }
  25% {
      filter: blur(3px);
      transform: translateY(-15px) scale(1.05);
      opacity: 0.5;
  }
  50% {
      filter: blur(5px);
      transform: translateY(-30px) scale(1.1);
      opacity: 1;
  }
  75% {
      filter: blur(5px);
      transform: translateY(-45px) scale(1.15);
      opacity: 0.5;
  }
  100% {
      filter: blur(7px);
      transform: translateY(-60px) scale(1.2);
      opacity: 0;
  }
}

@keyframes smoke3 {
  0% {
      filter: blur(0px);
      transform: translateY(0px) scale(1);
      opacity: 0;
  }
  25% {
      filter: blur(3px);
      transform: translateY(-30px) scale(1.05);
      opacity: 0.5;
  }
  50% {
      filter: blur(5px);
      transform: translateY(-60px) scale(1.1);
      opacity: 1;
  }
  75% {
      filter: blur(5px);
      transform: translateY(-90px) scale(1.15);
      opacity: 0.5;
  }
  100% {
      filter: blur(7px);
      transform: translateY(-120px) scale(1.2);
      opacity: 0;
  }
}
@keyframes smoke4 {
  0% {
      filter: blur(0px);
      transform: translateY(0px) scale(1);
      opacity: 0;
  }
  25% {
      filter: blur(3px);
      transform: translateY(-30px) scale(1.05);
      opacity: 0.5;
  }
  50% {
      filter: blur(5px);
      transform: translateY(-60px) scale(1.1);
      opacity: 1;
  }
  75% {
      filter: blur(5px);
      transform: translateY(-90px) scale(1.15);
      opacity: 0.5;
  }
  100% {
      filter: blur(7px);
      transform: translateY(-120px) scale(1.2);
      opacity: 0;
  }
}

@media screen and (max-width: 600px) {
  body {
    padding: 0;
    font-size: 14px;
  }
  
  .special-text {
    font-size: 100px; /* 큰 텍스트를 줄임 */
  }

  section {
    margin: 5px auto;
  }

  .menu-icon {
    font-size: 1.5rem;
  }
  #sidebar {
    width: 100%;
  }
}

.photo-album {
  display: flex; /* Flexbox로 변경 */
  flex-wrap: wrap; /* 여러 줄로 감싸기 */
  justify-content: center; /* 중앙 정렬 */
  width: 100%;
  height: auto; /* 필요에 따라 높이 조정 */
  margin: 20px auto;
  position: relative;
  padding: 10px; /* 내부 여백 추가 */
  box-sizing: border-box; /* 패딩 포함 너비 계산 */
}

.album-photo {
  flex: 1 1 calc(33.333% - 20px); /* 이미지 크기 조정 및 칼럼간 여백 */
  max-width: calc(33.333% - 20px);
  height: auto;
  object-fit: cover;
  border-radius: 0; /* 이미지 모서리를 둥글게 */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 그림자 효과 추가 */
}

/* 마우스를 올리면 약간 확대되고 회전이 초기화되는 효과 */
.album-photo:hover {
  transform: scale(1.1) rotate(0deg);
  z-index: 10;
}

/* 이미지별 회전각 조정 */
.album-photo:nth-child(1) {
  transform: rotate(-10deg);
}

.album-photo:nth-child(2) {
  transform: rotate(8deg);
}

.album-photo:nth-child(3) {
  transform: rotate(-15deg);
}

.album-photo:nth-child(4) {
  transform: rotate(5deg);
}

.album-photo:nth-child(5) {
  transform: rotate(5deg);
}

.album-photo:nth-child(7) {
  transform: rotate(12deg);
}

.album-photo:nth-child(8) {
  transform: rotate(-9deg);
}

.album-photo:nth-child(9) {
  transform: rotate(-2deg);
}

/* 마우스를 올리면 약간 확대되고 회전이 초기화되는 효과 */
.album-photo:hover {
  transform: scale(2.0) rotate(0deg);
  z-index: 10; /* 이미지가 겹칠 때 맨 위로 올라오도록 설정 */
}

.reservation-container {
  text-align: center; /* 버튼을 중앙에 배치 */
}

.reservation-button {
  background-color: #EDDD9A; /* 버튼 배경색 */
  color: #1E3E59; /* 버튼 텍스트 색상 */
  font-family: '김정철 고딕 bold', sans-serif; /* 버튼 텍스트에 사용할 폰트 */
  font-size: 1rem;
  padding: 10px 20px; /* 버튼의 패딩 */
  text-decoration: none; /* 링크의 밑줄 제거 */
  border-radius: 5px; /* 버튼의 둥근 모서리 */
  transition: background-color 0.3s ease; /* 배경색 전환 애니메이션 */
}

.reservation-button:hover {
  background-color: #D4C482; /* 버튼에 마우스를 올렸을 때 배경색 */
}


.easter-egg-message {
  display: none; /* 초기 상태에서는 보이지 않도록 설정 */
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(0, 0, 0, 0.8); /* 반투명 배경 */
  color: #EDDD9A;
  padding: 10px 20px;
  border-radius: 5px;
  z-index: 100; /* 상위 레이어에 표시 */
  text-align: center;
  font-family: '김정철 명조 bold', serif;
  font-size: 1.5rem;
}