/* 모든 요소에 box-sizing 적용 */
*,
*::before,
*::after {
  box-sizing: border-box;
}



.social-links {
  list-style: none;
  padding: 0;
  margin-top: 8px;
  display: flex;
  gap: 10px; /* 아이콘 간격 */
}

.social-links li {
  display: inline-block;
}

.social-icon {
  width: 24px; /* 아이콘 크기 조절 */
  height: 24px;
  transition: transform 0.2s ease-in-out;
}

.social-icon:hover {
  transform: scale(1.2); /* 마우스를 올리면 확대 */
}

/* 모든 페이지에 스크롤 생성 */
html {
  overflow-y: scroll;
}
/* 스크롤바 전체 너비 */
::-webkit-scrollbar {
  width: 10px;
}
/* 스크롤바 트랙(배경) */
::-webkit-scrollbar-track {
  background: #ffffff;
  border-radius: 6px;
}
/* 스크롤바 썸 (실제 드래그 가능한 부분) */
::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 6px;
}
/* 썸 호버 시 색상 변경 */
::-webkit-scrollbar-thumb:hover {
  background: #aaa;
}


/* 전체 페이지 기본 스타일 */
body {
  margin: 0;
  font-family: Arial, sans-serif;
  line-height: 1.6;
  color: #333;
}

a {
  text-decoration: none;
  color: #333;
}

/* 헤더 */
header {
  background-color: #f5f5f5;
  padding: 10px 20px;
  position: relative;
  z-index: 10;
}

/* 헤더 내 로고 영역 스타일 */
.logo {
  display: flex;
  align-items: center;
}

.logo-img {
  width: 40px;       /* 원하는 크기로 조절 */
  height: auto;
  margin-right: 10px;
  background-color: transparent; /* 이미지 배경을 투명하게 지정 */
}

/* 텍스트를 강제로 볼드체로 지정 */
.logo span {
  font-size: 1.2rem; /* 원하는 크기로 조절 */
  font-weight: bold; /* 필요하다면 볼드체로 */
  color: #333; /* 필요 시 색상도 조절 */
}

/* 상단 네비게이션 바 */
nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
}

.nav-left, .nav-right {
  display: flex;
  gap: 15px;
}

.nav-left a, .nav-right a {
  font-weight: 500;
  color: #333;
}

/* 내비게이션 기본 스타일 */
.nav-right {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
}

.nav-right > li {
  position: relative;
  padding: 10px 15px;
}

.nav-right > li > a {
  text-decoration: none;
  color: #333;
  font-weight: normal;
}

/* 드롭다운 메뉴 기본 스타일 - display 대신 opacity와 visibility 사용 */
.dropdown-content {
  position: absolute;
  top: 100%; /* 부모 요소 바로 아래에 위치 */
  left: 0;
  background-color: #f5f5f5;
  min-width: 150px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.2);
  z-index: 11;  /* header보다 한 단계 높게 설정 */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 부모와 드롭다운 영역에 마우스가 있으면 항상 표시 */
.dropdown:hover .dropdown-content,
.dropdown-content:hover {
  opacity: 1;
  visibility: visible;
}

/* 드롭다운 메뉴 항목 스타일 */
.dropdown-content li {
  padding: 8px 12px;
}

.dropdown-content li a {
  color: #333;
  text-decoration: none;
  display: block;
}

.dropdown-content li a:hover {
  background-color: #ddd;
}


/* Hero Banner 영역 */
#hero-banner {
  position: relative;
  width: 100%;
  height: 400px;
  overflow: hidden;
}

/* 슬라이드들을 겹치게 배치 */
#hero-banner .slides {
  position: absolute;
  width: 100%;
  height: 100%;
}

#hero-banner .slide {
  position: absolute;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  /* 5초 주기로 애니메이션 반복 (5장의 이미지이므로 5 x 1초 = 5초) */
  animation: fade 10s infinite;
}

/* 각 슬라이드별로 애니메이션 시작 시점을 다르게 지정 */
#hero-banner .slide:nth-child(1) {
  animation-delay: 0s;
}
#hero-banner .slide:nth-child(2) {
  animation-delay: 2s;
}
#hero-banner .slide:nth-child(3) {
  animation-delay: 4s;
}
#hero-banner .slide:nth-child(4) {
  animation-delay: 6s;
}
#hero-banner .slide:nth-child(5) {
  animation-delay: 8s;
}

/* 애니메이션 keyframes: 슬라이드 페이드인/아웃 */
@keyframes fade {
  0% { opacity: 0; }
  4% { opacity: 1; }
  20% { opacity: 1; }
  24% { opacity: 0; }
  100% { opacity: 0; }
}

/* hero-text 및 텍스트 박스 */
.hero-text {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 20px;
}

.hero-text .text-box {
  display: inline-block;
  background-color: rgba(0, 0, 0, 0.7); /* 투명도를 낮춰서 더 불투명하게 (0.8) */
  padding: 20px;
  border-radius: 5px;
  margin-top: 50px;  /* 텍스트 박스를 아래로 내림 */
}

.hero-text .text-box h1 {
  margin: 0;
  color: #fff;
  font-size: 2.5rem;  /* 글씨 크기 확대 */
}

.hero-text .text-box p {
  margin: 0;
  color: #fff;
  font-size: 1.5rem;  /* 글씨 크기 확대 */
}

/* 이미지 크레딧 (오른쪽 아래) */
.image-credit {
  position: absolute;
  bottom: 10px;
  right: 10px;
  font-size: 0.8rem;
  color: #fff;
  background: rgba(0, 0, 0, 0.5);
  padding: 2px 4px;
  border-radius: 3px;
  z-index: 2;
}
/* 메인 컨테이너 */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
}

/* 섹션 헤더 */
section h2 {
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 2.0rem;
  border-bottom: 2px solid #24232377;
  padding-bottom: 10px;
}

/* Who We Are (기존) */
#who-we-are .content {
  margin-bottom: 10px;
}

#who-we-are p {
  margin: 10px 0;
  line-height: 1.8;
}

#who-we-are a {
  margin: 10px 0;
  line-height: 1.8;
  font-size: 1.3rem;
  color: #333;
  font-weight: bold;
  font-style: italic;
}

/* 분홍색 배경 섹션 공통 스타일 */
.pink-section {
  background-color: #efefef; /* 연한 분홍색 배경 (원하는 색상으로 변경) */
  border-radius: 8px;       /* 모서리를 둥글게 */
  padding: 30px;           /* 안쪽 여백 */
  margin-bottom: 40px;     /* 섹션 간격 */
  font-size: 1.1rem;
}

/* We Work On 섹션 */
#we-work-on .work-content {
  display: flex;
  flex-wrap: wrap;     /* 화면이 좁아지면 줄바꿈 */
  gap: 20px;
  align-items: center; /* 수직 가운데 정렬 */
}

#we-work-on .work-text {
  flex: 1 1 400px; /* 최소 너비 400px */
}

#we-work-on .work-text p {
  margin-bottom: 15px;
}

.topics-list {
  list-style-type: disc;
  margin-left: 20px;
  margin-bottom: 0;
}

#we-work-on .work-image {
  flex: 1 1 380px; /* 최소 너비 400px */
  text-align: center; /* 이미지 가운데 정렬 */
}

#we-work-on .work-image img {
  max-width: 100%;
  height: auto;
  border: 0px solid #ccc;
}

/* Latest News 섹션 */
.latest-news-list {
  list-style-type: square;
  margin-left: 20px;
  margin-bottom: 0;
}

.latest-news-list li {
  margin-bottom: 10px;
}

.latest-news-list strong {
  color: #333; /* 날짜 강조 색상 (원하는 색으로 변경) */
  margin-right: 5px;
}





/* News 페이지 배너 섹션 */
#news-banner {
  position: relative;
  width: 100%;
  height: 250px; /* 배너 높이 (원하는 크기로 조절) */
  background: url("../images/news.webp") no-repeat center center;
  background-size: cover; /* 섹션 크기에 맞춰 이미지 확대/축소 */
  display: flex;
  align-items: center;    /* 수직 중앙 정렬 */
  justify-content: center;/* 수평 중앙 정렬 */
  margin-bottom: 30px;    /* 아래 컨텐츠와 간격 */
}

/* 배너 위 텍스트 */
#news-banner .banner-text {
  background-color: rgba(0, 0, 0, 0.7); /* 반투명 배경 */
  color: #fff;
  padding: 10px 20px;
  border-radius: 5px;
}

#news-banner .banner-text h1 {
  margin: 0;
  font-size: 2.5rem;
}

/* 뉴스 섹션 제목 스타일 */
#news h2 {
  font-size: 1.8rem;
  margin-bottom: 20px;
  border-bottom: 2px solid #ccc;
  padding-bottom: 10px;
}

#news h3 {
  font-size: 1.5rem;
  margin-top: 40px;
  margin-bottom: 10px;
  color: #333;
  border-bottom: 2px solid #ccc;
  padding-bottom: 5px;
}

/* 뉴스 목록 스타일 */
.news-list {
  list-style-type: square;  /* 불릿 모양: disc, circle, square 등 변경 가능 */
  color: #333;
  font-size: 1.1rem;
  margin-left: 20px;      /* 불릿이 본문에서 약간 들여쓰기되도록 */
  margin-bottom: 30px;
}

.news-list li {
  color: #333;
  margin-bottom: 10px;    /* 항목 간 간격 */
  line-height: 1.5;       /* 줄 간격 */
}

/* 예: 이탤릭/볼드된 부분을 더 돋보이게 하고 싶다면 추가 스타일 가능 */
.news-list em {
  font-style: italic;
  color: #555;
}

.news-list strong {
  font-weight: bold;
  color: #333;
}





/* Research 페이지 배너 섹션 */
#research-banner {
  position: relative;
  width: 100%;
  height: 250px; /* 배너 높이 (원하는 크기로 조절) */
  background: url("../images/research.webp") no-repeat center center;
  background-size: cover; /* 섹션 크기에 맞춰 이미지 확대/축소 */
  display: flex;
  align-items: center;    /* 수직 중앙 정렬 */
  justify-content: center;/* 수평 중앙 정렬 */
  margin-bottom: 30px;    /* 아래 컨텐츠와 간격 */
}

/* 배너 위 텍스트 */
#research-banner .banner-text {
  background-color: rgba(0, 0, 0, 0.7); /* 반투명 배경 */
  color: #fff;
  padding: 10px 20px;
  border-radius: 5px;
}

#research-banner .banner-text h1 {
  margin: 0;
  font-size: 2.5rem;
}

#research-banner .banner-text p {
  margin: 5px 0 0;
  font-size: 1.1rem;
}

/* 연구 분야 row (가로 2열) */
.research-row {
  display: flex;
  align-items: center; /* 수직 가운데 정렬 */
  margin-bottom: 40px; /* 각 연구 분야 간 간격 */
}

/* 왼쪽 텍스트 영역 */
.research-text {
  flex: 1;
  padding-right: 20px; /* 텍스트와 이미지 사이 간격 */
}

.research-text h3 {
  font-size: 1.5rem; /* 원하는 크기로 조절 */
  margin-bottom: 10px;
}

.research-text p {
  font-size: 1.1rem; /* 원하는 크기로 조절 */
  line-height: 1.5;  /* 줄 간격 늘리기 (옵션) */
  margin-bottom: 10px;
}

/* 오른쪽 이미지 영역 */
.research-image {
  flex: 1;
  text-align: center; /* 이미지 가운데 정렬 */
}

.research-image img {
  max-width: 100%;
  height: auto;
  border: 1px solid #ccc; /* 필요 시 테두리 */
  border-radius: 5px;     /* 모서리 둥글게 (옵션) */
}






/* Project 페이지 배너 섹션 */
#project-banner {
  position: relative;
  width: 100%;
  height: 250px; /* 배너 높이 (원하는 크기로 조절) */
  background: url("../images/project.webp") no-repeat center center;
  background-size: cover; /* 섹션 크기에 맞춰 이미지 확대/축소 */
  display: flex;
  align-items: center;    /* 수직 중앙 정렬 */
  justify-content: center;/* 수평 중앙 정렬 */
  margin-bottom: 30px;    /* 아래 컨텐츠와 간격 */
}

/* 배너 위 텍스트 */
#project-banner .banner-text {
  background-color: rgba(0, 0, 0, 0.7); /* 반투명 배경 */
  color: #fff;
  padding: 10px 20px;
  border-radius: 5px;
}

#project-banner .banner-text h1 {
  margin: 0;
  font-size: 2.5rem;
}

/* 페이지 제목 */
#projects h2 {
  font-size: 1.8rem;
  margin-bottom: 20px;
  border-bottom: 2px solid #ddd;
  padding-bottom: 10px;
}

/* 섹션 소제목(연구/교육/이전 프로젝트) */
#projects h3 {
  font-size: 1.5rem;
  margin-top: 40px;
  margin-bottom: 10px;
  color: #333;
  border-bottom: 2px solid #ccc;
  padding-bottom: 5px;
  text-align: center;   /* 가운데 정렬 */
}

/* 프로젝트 리스트 스타일 */
.project-list {
  list-style-type: square;   /* 불릿 모양: disc/circle/square 등 */
  margin-left: 20px;       /* 불릿이 본문에서 약간 들여쓰기되도록 */
  margin-bottom: 30px;
  line-height: 1.6;        /* 줄 간격 넉넉하게 */
}

.project-list li {
  margin-bottom: 8px;      /* 항목 간 간격 */
  font-size: 1.1rem;
}





/* People 페이지 배너 섹션 */
#people-banner {
  position: relative;
  width: 100%;
  height: 250px; /* 배너 높이 (원하는 크기로 조절) */
  background: url("../images/people.webp") no-repeat center center;
  background-size: cover; /* 섹션 크기에 맞춰 이미지 확대/축소 */
  display: flex;
  align-items: center;    /* 수직 중앙 정렬 */
  justify-content: center;/* 수평 중앙 정렬 */
  margin-bottom: 30px;    /* 아래 컨텐츠와 간격 */
}

/* 배너 위 텍스트 */
#people-banner .banner-text {
  background-color: rgba(0, 0, 0, 0.7); /* 반투명 배경 */
  color: #fff;
  padding: 10px 20px;
  border-radius: 5px;
}

#people-banner .banner-text h1 {
  margin: 0;
  font-size: 2.5rem;
}


/* 교수 프로필 컨테이너 */
.professor-profile {
  display: flex;         /* 사진과 텍스트를 가로로 배치 */
  align-items: flex-start;
  justify-content: center;  /* 수평 가운데 정렬 */
  gap: 60px;             /* 사진과 텍스트 사이 간격 */
  margin-top: 40px;
}

.photo-container {
  width: 280px;
  height: 280px;
  border-radius: 50%;
  overflow: hidden; /* 원형 영역을 넘어가는 이미지는 숨김 */
  position: relative;
  background-size: cover;   /* 배경 이미지가 컨테이너를 꽉 채움 */
  background-position: center;
  /* 필요하다면 box-shadow도 여기 적용 */
}


.photo-container img { /* 호버이미지, 두번째 이미지용 */
  width: 100%;
  height: 100%;
  object-fit: cover;        /* 이미지 비율 유지하면서 채움 */
  transition: opacity 0.5s ease; /* 부드러운 페이드 효과 */
  display: block;
}

.photo-container:hover img {
  opacity: 0;  /* hover 시 기본 이미지를 서서히 숨김 */
}

.photo-container .professor-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%; /* 중앙 기준 */
  transform: scale(1.2);    /* 1.2배 확대 */
}

.professor-info h2 {
  margin: 0 0 10px;
  font-size: 1.8rem;
  border-bottom: 2px solid #ccc;
}

.professor-info p {
  margin: 0 0 10px;
  line-height: 1.4;
  font-size: 1.1rem;
}

.professor-contact {
  list-style-type: none;
  padding: 0;
  margin: 0;
  font-size: 1.1rem;
}

.professor-contact li {
  margin-bottom: 5px;
}

/* 추가 정보(학력/경력) 섹션 */
.professor-details {
  margin-top: 30px;
}

.professor-details h3 {
  margin-top: 30px;
  margin-bottom: 10px;
  font-size: 1.5rem;
  border-bottom: 2px solid #ccc;
  padding-bottom: 5px;
}

.professor-details ul {
  list-style-type: square;
  padding-left: 20px;
  margin-top: 0;
  margin-bottom: 20px;
}

.professor-details li {
  margin-bottom: 8px;
  font-size: 1.1rem;
}



/* Ph.D. Students 섹션 */
#students {
  text-align: center; /* 섹션 제목(h2) 등을 가운데 정렬 */
  margin-bottom: 40px;
}

#students h2 {
  font-size: 1.8rem;
  border-bottom: 2px solid #ccc;
}

/* 2열 그리드 (가로 배치) */
.student-grid {
  display: flex;
  flex-wrap: wrap;        /* 화면이 좁아지면 자동 줄바꿈 */
  justify-content: center;/* 전체 카드 묶음을 가운데 정렬 */
  gap: 50px;              /* 카드 간 간격 (원하는 만큼 늘릴 수 있음) */
  margin-top: 20px;
}

/* 개별 학생 카드 */
.student-profile {
  display: flex;          /* 사진과 텍스트를 가로로 배치 */
  flex-direction: row;
  align-items: flex-start;/* 상단 맞춤. 필요하면 center로 조정 */
  width: 480px;           /* 카드 너비 (원하는 값으로 조절) */
  padding: 20px;
  border-radius: 8px;
  background-color: #fff;
  text-align: left;       /* 카드 내부 텍스트는 왼쪽 정렬 */
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* 학생 사진 컨테이너: 원래 크기 */
.student-photo-container {
  width: 180px;             /* 학생 사진은 180px */
  height: 180px;
  flex: 0 0 auto;           /* flex-grow, shrink, basis 설정 */
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  background-size: cover;
  background-position: center;
}

.student-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.5s ease;
  display: block;
}

.student-photo-container:hover img {
  opacity: 0;
}

/* 학생 정보 텍스트 */
.student-info h3 {
  margin-left: 20px;
  margin-top: 0;
  margin-bottom: 8px;
  font-size: 1.5rem;
}

/* 사각형 불릿 + 기본 여백 조정 */
.info-list {
  list-style-type: square; /* 사각형 불릿 */
  margin: 0;              /* 위아래 기본 마진 제거 */
  padding-left: 20px;     /* 불릿이 본문에서 약간 들여쓰기되도록 */
  margin-left: 20px;
}

.info-list li {
  margin-bottom: 5px;     /* 항목 간 간격 */
  font-size: 1.1rem;      /* 기존 paragraph와 비슷한 폰트 크기 */
  line-height: 1.5;
}

.student-info .social-links {
  margin-left: 40px;
}



/* Publication 페이지 배너 섹션 */
#publication-banner {
  position: relative;
  width: 100%;
  height: 250px; /* 배너 높이 (원하는 크기로 조절) */
  background: url("../images/publication.webp") no-repeat center center;
  background-size: cover; /* 섹션 크기에 맞춰 이미지 확대/축소 */
  display: flex;
  align-items: center;    /* 수직 중앙 정렬 */
  justify-content: center;/* 수평 중앙 정렬 */
  margin-bottom: 30px;    /* 아래 컨텐츠와 간격 */
}

/* 배너 위 텍스트 */
#publication-banner .banner-text {
  background-color: rgba(0, 0, 0, 0.7); /* 반투명 배경 */
  color: #fff;
  padding: 10px 20px;
  border-radius: 5px;
}

#publication-banner .banner-text h1 {
  margin: 0;
  font-size: 2.5rem;
}

.pub-year-heading {
  text-align: center;   /* 가운데 정렬 */
  font-size: 1.5rem;    /* 글자 크기 (원하는 만큼 키우세요) */
  margin: 20px 0 20px;  /* 위/아래 여백 조절 (예시) */
  font-weight: bold;    /* 좀 더 두껍게 보이도록 (옵션) */
  border-bottom: 2px solid #ccc;
  padding-bottom: 10px;
}


/* 논문 목록 불릿 */
.pub-list {
  list-style-type: square;
  margin-left: 20px;
  margin-bottom: 50px;
}

.pub-list li {
  margin-bottom: 30px;
  line-height: 1.6;
  font-size: 1.1rem;
}

/* PDF 링크 스타일 */
.pdf-link {
  color: #007bff;
  text-decoration: none;
}

.pdf-link:hover {
  text-decoration: underline;
}







/* Course 페이지 배너 섹션 */
#course-banner {
  position: relative;
  width: 100%;
  height: 250px; /* 배너 높이 (원하는 크기로 조절) */
  background: url("../images/course.webp") no-repeat center center;
  background-size: cover; /* 섹션 크기에 맞춰 이미지 확대/축소 */
  display: flex;
  align-items: center;    /* 수직 중앙 정렬 */
  justify-content: center;/* 수평 중앙 정렬 */
  margin-bottom: 30px;    /* 아래 컨텐츠와 간격 */
}

/* 배너 위 텍스트 */
#course-banner .banner-text {
  background-color: rgba(0, 0, 0, 0.7); /* 반투명 배경 */
  color: #fff;
  padding: 10px 20px;
  border-radius: 5px;
}

#course-banner .banner-text h1 {
  margin: 0;
  font-size: 2.5rem;
}


/* Course 페이지 레이아웃 */
.course-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2열 */
  gap: 50px;
  max-width: 1000;
  margin: auto;
  padding: 20px;
}

/* 각 학기 박스 스타일 */
.semester {
  background: #f9f9f9;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  text-align: left;
}

/* 학기 제목 스타일 */
.semester h2 {
  font-size: 1.5rem;
  color: #333;
  margin-bottom: 10px;
  border-bottom: 2px solid #aaa;
}

/* 과목 리스트 스타일 */
.semester ul {
  list-style: square;
  padding-left: 20px;
}

.semester li {
  font-size: 1.1rem;
  padding: 3px 0;
  color: #333;
}

/* 반응형: 화면이 작을 때 1열 */
@media (max-width: 768px) {
  .course-container {
      grid-template-columns: 1fr;
  }
}


/* 세부 과목 페이지 설정 */
/* 섹션 제목 스타일 */
#course-info h1 {
  font-size: 1.8rem;
  margin-bottom: 20px;
  border-bottom: 2px solid #ccc;
  padding-bottom: 10px;
}

#announcements h2, #course-schedule h2 {
  font-size: 1.4rem;
  margin-top: 30px;
  margin-bottom: 10px;
  color: #333;
  padding-bottom: 5px;
  border-bottom: 2px solid #ccc;
}

/* 공지 목록 */
#announcements ul {
  list-style-type: disc;
  margin-left: 20px;
  margin-bottom: 20px;
}

#course-info p, #announcements p, li, #course-schedule p {
  font-size: 1.1rem;
}

/* 테이블 스타일 */
.course-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
  margin-bottom: 30px;
  font-size: 1.0rem;
}

.course-table thead {
  background-color: #f5f5f5;
}

.course-table th,
.course-table td {
  border: 1px solid #ddd;
  padding: 8px 10px;
  vertical-align: top;
}

.course-table th {
  font-weight: bold;
  text-align: left; /* 필요 시 center로 바꿀 수도 있음 */
}





/* Gallery 페이지 배너 섹션 */
#gallery-banner {
  position: relative;
  width: 100%;
  height: 250px; /* 배너 높이 (원하는 크기로 조절) */
  background: url("../images/gallery.webp") no-repeat center center;
  background-size: cover; /* 섹션 크기에 맞춰 이미지 확대/축소 */
  display: flex;
  align-items: center;    /* 수직 중앙 정렬 */
  justify-content: center;/* 수평 중앙 정렬 */
  margin-bottom: 30px;    /* 아래 컨텐츠와 간격 */
}

/* 배너 위 텍스트 */
#gallery-banner .banner-text {
  background-color: rgba(0, 0, 0, 0.7); /* 반투명 배경 */
  color: #fff;
  padding: 10px 20px;
  border-radius: 5px;
}

#gallery-banner .banner-text h1 {
  margin: 0;
  font-size: 2.5rem;
}

/* 페이지 제목 */
h1 {
  font-size: 1.8rem;
  margin-bottom: 20px;
  border-bottom: 2px solid #ddd;
  padding-bottom: 10px;
}

/* 2열 갤러리 그리드 */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(500px, 1fr));
  gap: 20px;
}

/* 이벤트 슬롯 */
.event-slot {
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 15px;
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.event-slot h3 {
  margin-top: 0;
  font-size: 1.3rem;
  margin-bottom: 10px;
  border-bottom: 1px solid #ddd;
  padding-bottom: 5px;
}


/* 전체 갤러리 레이아웃 */
.gallery-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2열 */
  gap: 50px;
  padding: 20px;
  max-width: 1200px;
  margin: auto;
}

/* 각 이벤트 박스 */
.gallery-event {
  background: #fff;
  padding: 15px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  text-align: center;
}

/* 제목 스타일 */
.gallery-event h2 {
  font-size: 20px;
  margin-bottom: 10px;
  font-size: 1.5rem
}

/* 캐러셀 스타일 */
.gallery-carousel {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 10px;
}

.gallery-wrapper {
  display: flex;
  transition: transform 0.5s ease-in-out;
}

.gallery-item {
  min-width: 100%;
  transition: transform 0.5s;
}

.gallery-item img {
  width: 100%;
  border-radius: 10px;
}

/* 버튼 스타일 */
.prev-btn, .next-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  padding: 10px 15px;
  cursor: pointer;
  font-size: 20px;
  border-radius: 50%;
}

.prev-btn { left: 10px; }
.next-btn { right: 10px; }

.prev-btn:hover, .next-btn:hover {
  background: rgba(0, 0, 0, 0.8);
}

/* 반응형 설정 (작은 화면에서 1열) */
@media (max-width: 768px) {
  .gallery-container {
      grid-template-columns: 1fr;
  }
}





/* 푸터 */
footer {
  background-color: #f5f5f5;
  padding: 20px;
  text-align: center;
  font-size: 0.9rem;
  color: #666;
}
