@charset "utf-8";

/* 리셋 & 베이스 */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; padding: 0; background-color: #f9f9f9; color: #333; font-family: "Malgun Gothic", sans-serif; }


/* 타이포그래피 베이스 */
h1 { font-size: 2rem; margin: 1.5rem 0; line-height: 1.2; }
h2 { font-size: 1.75rem; margin: 1.4rem 0; line-height: 1.25; }
h3 { font-size: 1.5rem; margin: 1.3rem 0; line-height: 1.3; }
h4 { font-size: 1.25rem; margin: 1.2rem 0; line-height: 1.35; }
h5 { font-size: 1rem; margin: 1rem 0; line-height: 1.4; }
h6 { font-size: 0.875rem; margin: 0.8rem 0; line-height: 1.45; }

p  { margin: 1rem 0; line-height: 1.6; }
span { display: inline; }

/* 목록 기본 여백 */
ul, ol { margin: 1rem 0 1rem 1.5rem; padding: 0; }
li { margin: 0.5rem 0; }

/* 인용문, 코드 등은 필요 시 추가 정의 */
blockquote { margin: 1rem 0; padding-left: 1rem; border-left: 4px solid #ddd; }
pre, code { font-family: Consolas, monospace; }

/* 링크 기본 스타일 */
a { color: #04AA6D; text-decoration: underline; }
a:hover { color: #e60073; }



/* 컨테이너 */
.container { width: 100%; max-width: 1200px; margin: 60px auto 0; padding: 0 0.5rem; background: #fff; min-height: 100vh; border-radius: 6px; box-shadow: 0 0 5px rgba(0,0,0,0.1); overflow: hidden; }


/* 메인 콘텐츠 */
.main-content { padding: 0px;  display: flex; flex-direction: column; align-items: center; text-align: center; }


/* 상단 내비게이션 */
.navigation { position: fixed; top: 0; left: 0; width: 100%; display: flex; align-items: center; padding: 0.5rem 1rem; background: black; height: 50px; z-index: 1000; }
.navigation a { text-decoration: none; color: #fff; font-size: 1.0625rem; }
.navigation a.icon { display: flex; align-items: center; justify-content: center; padding: 0 0.75rem; height: 100%; }
.logo { flex: 0 0 auto; }
.logo-img { height: 2.0rem; }

/* 빛나는 텍스트 */
.glow { font-size: 1.8rem; color: #fff; text-align: center; animation: glow 1s ease-in-out infinite alternate; }

@-webkit-keyframes glow {
  from {
    text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 10px #e60073, 0 0 20px #e60073, 0 0 10px #e60073, 0 0 20px #e60073, 0 0 10px #e60073;
  }
  
  to {
    text-shadow: 0 0 10px #fff, 0 0 20px #ff4da6, 0 0 10px #ff4da6, 0 0 20px #ff4da6, 0 0 10px #ff4da6, 0 0 20px #ff4da6, 0 0 10px #ff4da6;
  }
}
/* 빛나는 텍스트 */ 

/* 로그인 영역 */
/* Header-right container */
.header-right { position: relative; display: flex; align-items: center; margin-left: auto; font-size: 0.875rem; white-space: nowrap; }

/* Username (클릭 가능한 텍스트) */
.header-right .username { font-weight: bold; margin-right: 0.5rem; color: aliceblue; cursor: pointer; }

/* 숨겨진 로그아웃 팝업 */
.header-right .logout { display: none; position: absolute; top: 100%; left: 0; background-color: #fff; border: 1px solid #ccc; border-radius: 4px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); padding: 0.5rem; z-index: 100; }

/* 팝업이 활성화되었을 때 */
.header-right .logout.visible { display: block; }

/* 팝업 내부의 링크 스타일 */
.header-right .logout a { color: #000; text-decoration: none; }
.header-right .logout a:hover { text-decoration: underline; }
/* 로그인 영역 */


/* 검색 토글 & 박스 */
.search-toggle { background: none; border: none; cursor: pointer; color: #fff; font-size: 1.2rem; flex: 0 0 auto; margin-left: 0.5rem; }
.search-box { display: none; position: absolute; top: 50%; right: 1rem; transform: translateY(-50%); width: 100%; max-width: 200px; }
.search-box.active { display: block; }
.search-box input, .search-input { width: 100%; padding: 0.4rem 0.6rem; border: none; border-radius: 4px; font-size: 0.875rem; }

/* 햄버거 메뉴 */
.menu-toggle { background: none; border: none; cursor: pointer; padding-right: 0.2rem; padding-left: 1.5rem; }
.menu-toggle .hamburger-icon { font-size: 24px; color: #fff;  }


/* 오버레이 메뉴 */
/* curtain_menu.css */
.overlay { height: 0; width: 100%; max-width: 1200px; position: fixed; z-index: 1000; top: 0; left: 0; right: 0; margin: 0 auto; background-color: rgba(0,0,0,0.8); overflow-y: hidden; transition: height 0.5s ease; }

.overlay-content { position:relative; top:15%; width:100%; text-align:center; margin-top:30px; }
.overlay-content a, .overlay-content button { display:block; width:100%; padding:8px; font-size:25px; color:#fff; background:none; border:none; text-decoration:none; cursor:pointer; transition:0.3s; }
.overlay-content a:hover, .overlay-content button:hover { color:#ccffff; }
.overlay .closebtn { position:absolute; top:20px; right:30px; font-size:50px; cursor:pointer; color:#fff; text-decoration:none; }
.submenu { display:none; }
/* 모교소식 하위 메뉴 배경색 변경 */
#mogyoSub { background-color: rgba(0,0,0,0.9); }

.submenu a { font-size:24px; padding-left:30px; }
@media screen and (min-width:768px) {
  .overlay-content { top:20%; }
  .overlay-content a, .overlay-content button { font-size:24px; }
  .overlay .closebtn { font-size:40px; top:30px; right:40px; font-weight: bold;}
}
  

/* 검색창 */
.search-toggle { display: inline-flex; align-items: center; padding: 0.5rem 1rem; font-size: 1rem; background-color: #007BFF; color: #fff; border: none; border-radius: 4px; cursor: pointer; transition: background-color 0.3s ease; }

.search-toggle i { margin-right: 0.5rem; font-size: 1.2rem; }

.search-toggle:hover { background-color: #0056b3; }

.search-form { display: none; width: 100%; max-width: 1000px; margin: 1rem auto; padding: 0.5rem 1rem; background-color: #fff; border: 1px solid #ccc; border-radius: 4px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); transition: opacity 0.3s ease, transform 0.3s ease; opacity: 0; transform: translateY(-10px); }

.search-form input[type="text"] { width: 100%; padding: 0.5rem; font-size: 1rem; border: 1px solid #ccc; border-radius: 4px; outline: none; margin-bottom: 0.75rem; }

.search-form button[type="submit"] { display: inline-block; padding: 0.5rem 1rem; background-color: #28a745; color: #fff; border: none; border-radius: 4px; font-size: 1rem; cursor: pointer; transition: background-color 0.2s ease; }

.search-form button[type="submit"]:hover { background-color: #218838; }

.search-toggle[aria-expanded="true"] + .search-form { display: block; opacity: 1; transform: translateY(0); }

@media screen and (min-width: 768px) {
  .search-toggle { font-size: 0.9rem; padding: 0.5rem 0.75rem; }
  .search-form { max-width: 500px; }
  .search-form input[type="text"] { font-size: 0.9rem; padding: 0.4rem; }
  .search-form button[type="submit"] { font-size: 0.9rem; padding: 0.4rem 0.8rem; }***
}

/* 검색창 */



/* 서브메뉴 */
.submenu { display: none; }
.submenu a { display: block; padding-left: 2rem; font-size: 1.5rem; }

/* 토글 링크 메뉴 */
#myLinks { display: none; background: #e7e7e7; width: 100%; padding: 0.5rem 0; box-sizing: border-box; }
#myLinks a { display: block; padding: 0.75rem 1.25rem; color: #333; background: #fff; border-bottom: 1px solid #ddd; }
#myLinks a:hover { background: #ddd; }

/* 드롭다운 메뉴 */
.dropdown { position: relative; }
.dropdown-btn { display: block; width: 100%; padding: 0.75rem 1.25rem; color: #333; background: #fff; border: none; text-align: left; cursor: pointer; }
.dropdown-btn:hover { background: #ddd; }
.dropdown-btn::after { content: ' ▼'; font-size: 0.75rem; float: right; }
.dropdown-content { display: none; background: #f9f9f9; }
.dropdown-content a { display: block; padding: 0.625rem 1.875rem; font-size: 0.9375rem; color: #333; text-decoration: none; }
.dropdown-content a:hover { background: #e0e0e0; }

/* 서브 드롭다운 */
.sub-dropdown-content { background: #e6e6e6; }
.sub-dropdown-content a:hover { background: #ccc; }

/* 메뉴 색상 */
.menu-domestic { background: #e6f2ff; }
.menu-domestic:hover { background: #cce6ff; }
.menu-foreigns { background: #fff0e6; }
.menu-foreigns:hover { background: #ffd9b3; }
.menu-universe { background: #f9e6ff; }
.menu-universe:hover { background: #f0ccff; }
.menu-board1 { background: #e6ffe6; }
.menu-board1:hover { background: #ccffcc; }
.menu-gallery { background: #ffffcc; }
.menu-gallery:hover { background: #fff799; }
.menu-notice { background: #ffe6f0; }
.menu-notice:hover { background: #ffccdf; }


/* 사이트 푸터 */
.site-footer { margin-top: 2rem; width: 100%; background-color: #222; color: #fff; text-align: center; padding: 1rem; }
.site-footer p { margin: 0.5rem 0; font-size: 0.875rem; }
.site-footer a { color: #fff; text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }

/* 하단 배너 푸터 */
.footer { margin-top: 2.5rem; background-color: #04AA6D; color: #fff; text-align: center; padding: 1.25rem 0.625rem; font-size: 0.875rem; border-top: 1px solid #e0e0e0; }
.footer-content { max-width: 100%; margin: auto; }
.footer-logo { height: 1.875rem; margin-bottom: 0.625rem; }
.footer-text { margin: 0.3125rem 0; }
.footer-links { margin-top: 0.625rem; }
.footer-links a { color: #fff; text-decoration: none; margin: 0 0.3125rem; font-size: 0.8125rem; }
.footer-links a:hover { text-decoration: underline; }


/* 페이지네이션 */
.pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 1.5rem 0; }
.pagination a, .pagination span { padding: 0.4rem 0.75rem; border: 1px solid #ccc; border-radius: 4px; background-color: #f8f8f8; color: #333; text-decoration: none; font-size: 0.95rem; transition: background-color 0.2s; }
.pagination a:hover { background-color: #007bff; color: white; border-color: #007bff; }
.pagination .active { background-color: #007bff; color: white; border-color: #007bff; pointer-events: none; }

/* 유틸 */
.show { display: block; }
/* 스크린리더 전용 숨김 */
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* 반응형 레이아웃 */
@media (min-width: 600px) { .container { max-width: 600px; } }
@media (min-width: 768px) { .container { max-width: 720px; } .overlay-content { top: 20%; } .overlay-content a, .overlay-content button { font-size: 1.5rem; } .overlay .closebtn { font-size: 2rem; } }
@media (min-width: 992px) { .container { max-width: 960px; } }
@media (min-width: 1200px) { .container { max-width: 1140px; } }
@media (max-width: 767px) { .container { padding: 0.5rem; } }
