/*Research*/

/* 연구 주제 카드 섹션 */
.research-topics {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 20px;
    padding: 20px 0;
}

/* 연구 주제 개별 카드 */
.topic-card {
    position: relative;
    width: 600px;
    height: 300px;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s ease-in-out;
}

.topic-card:hover {
    transform: scale(1.05);
}

/* 카드 배경 이미지 */
.topic-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 반투명 오버레이 */
.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
}

/* 카드 안의 제목 */
.topic-card h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.8rem;
    color: white;
    z-index: 2;
}

/* Research 상세 섹션 */
#research-section {
    padding: 50px;
    background: white;
    color: black;
}



/* 전체 페이지 기본 스타일 */
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: 100px;       /* 원하는 크기로 조절 */
  height: auto;
  margin-right: 10px;
  background-color: transparent; /* 이미지 배경을 투명하게 지정 */
}

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

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

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

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

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

.nav-right > li {
  position: relative;
  padding: 10px 15px;
  font-weight: 500;
  height: 100%;
}

.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: 120%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  /* 5초 주기로 애니메이션 반복 (5장의 이미지이므로 5 x 1초 = 5초) */
  animation: fade 9s infinite;
}

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

/* 애니메이션 keyframes: 슬라이드 페이드인/아웃 */
@keyframes fade {
  0% { opacity: 0; }
  30% { opacity: 1; }
  40% { opacity: 1; }
  60% { 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 #fff;
  padding-bottom: 10px;
}

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

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

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

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

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

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

.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; /* 이미지 가운데 정렬 */
  color: #333;
}

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

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

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

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





/* News 페이지 배너 섹션 */
#news-banner {
  position: relative;
  width: 100%;
  height: 250px; /* 배너 높이 (원하는 크기로 조절) */
  background: url("../images/news3.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.5); /* 반투명 배경 */
  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 #7f7f7f;
  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/main_4.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 30px;
  border-radius: 5px;
}

/* 연구 페이지 배너 */
#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 30px;
  border-radius: 5px;
  text-align: center;
}

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

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

/* 연구 영역 섹션 */
#research-areas {
  margin-bottom: 40px;
}

#research-areas h2 {
  font-size: 1.8rem;
  margin-bottom: 20px;
  border-bottom: 2px solid #ddd;
  padding-bottom: 10px;
}

/* 연구 카드 레이아웃 */
.research-cards {
  display: grid; /* 카드형 레이아웃 */
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 20px;
}

.research-card {
  border: 1px solid #ddd;
  border-radius: 5px;
  overflow: hidden; /* 이미지가 모서리를 넘어가지 않도록 */
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out
}

.research-card img {
  width: 100%;
  height: 40%;
  object-fit:cover;
  display: block;
}

.research-card:hover {
  transform: scale(1.05);
  box-shadow: 0px 10px 20px rgba(0,0,0,0.3);
}

.research-card h3 {
  margin: 10px 15px 5px;
  font-size: 1.2rem;
}

.research-card p {
  margin: 5px 15px 15px;
  line-height: 1.5;
}






/* Project 페이지 배너 섹션 */
#project-banner {
  position: relative;
  width: 100%;
  height: 250px; /* 배너 높이 (원하는 크기로 조절) */
  background: url("../images/project2.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.3rem;
  margin-top: 40px;
  margin-bottom: 10px;
  color: #333;
  border-bottom: 1px solid #ddd;
  padding-bottom: 5px;
}

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

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




/* 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;
}

/*research html*/
.photo-container2 {
  width:800px;
  height: auto;
  border-radius: 50%;
  position: relative;
  margin-left:40px;
  /* 필요하다면 box-shadow도 여기 적용 */
}

.research-description-box {
  background-color: #f0f0f0;
  padding: 16px;
  margin-top: 16px;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.research-description-box h4 {
  margin-top: 0;
  color: #333;
}

.research-description-box p {
  margin: 8px 0 0;
  color: #555;
  line-height: 1.6;
}

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

/* 교수 프로필 컨테이너 */
.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;
  /* 필요하다면 box-shadow도 여기 적용 */
}

.photo-container .professor-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 2%; /* 중앙 기준 */
  transform: scale(1.0);    /* 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;
}


#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: 60px;              /* 카드 간 간격 (원하는 만큼 늘릴 수 있음) */
  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 {
  width: 360px;     /* 원하는 크기로 조절 */
  height: 180px;
  border-radius: 50%;
  object-fit: cover;
  margin-right: 30px; /* 사진과 텍스트 사이 간격 */
}

/* 학생 정보 텍스트 */
.student-info h3 {
  margin-top: 0;
  margin-bottom: 8px;
  font-size: 1.5rem;
}
.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); /* 마우스를 올리면 확대 */
}

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

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





/* 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;
}

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

/* 논문 목록 테이블 */
.pub-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 30px;
  font-size: 1.1rem;
}

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

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

.pub-table tbody tr:nth-child(even) {
  background-color: #fafafa;
}

/* 첫 번째 열(No.)와 두 번째 열(Conference)을 전체적으로 가운데 정렬하고 싶다면:*/
.pub-table th:nth-child(1),
.pub-table td:nth-child(1),
.pub-table th:nth-child(2),
.pub-table td:nth-child(2) {
  text-align: center;       /* 수평 가운데 정렬 */
  vertical-align: middle;   /* 수직 가운데 정렬 */
}

/* 저자명 스타일 */
.authors {
  font-size: 1.0rem;
  color: #555;
}

.pub-title {
  font-size: 1.1rem;
  color: #333;
  line-height: 1.00; /* 원하는 줄 간격 값 (기본값보다 좁게) */
  font-weight: normal;
}

/* 링크 버튼(또는 아이콘) */
.pub-link {
  display: inline-block;
  margin-top: 6px;
  margin-left: 10px;
  padding: 0px 5px;
  background-color: #4a4a4a; /* 버튼 색상 */
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  font-size: 0.9rem;
}
.pub-link:hover {
  background-color: #0056b3;
}






/* Course 페이지 배너 섹션 */
#course-banner {
  position: relative;
  width: 100%;
  height: 250px; /* 배너 높이 (원하는 크기로 조절) */
  background: url("../images/course4.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: 1000px;
  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.3rem;
  margin-top: 30px;
  margin-bottom: 10px;
  color: #333;
  padding-bottom: 5px;
}

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

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

.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.5); /* 반투명 배경 */
  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;
}
