@charset "utf-8";

body {
    display: flex;
    flex-direction: column;
    height: 100vh; /* 전체 화면 높이 */
    margin: 0; /* 기본 마진 제거 */
}

/* 헤더 시작 */
header {
    height: 150px; 
    flex-shrink: 0; /* 헤더는 고정 크기 유지 */
    background-image: linear-gradient(-225deg, #FFFEFF 0%, #D7FFFE 100%);
    display: flex; /* flex로 변경 */
    flex-direction: column; /* 세로 방향으로 정렬 */
    justify-content: center; 
    align-items: center; 
    padding: 10px 20px; /* 패딩 추가 */
    position: fixed; 
    top: 0; /* 초기 위치 설정 */
    left: 0; /* 왼쪽에 고정 */
    width: 100%; 
    transition: top 0.3s ease-in-out;
    z-index: 1000;
}
.index-logo a{
    text-decoration: none; /* 밑줄 제거 */
     color: inherit;
}

.index-nav {
    text-align: center; /* 중앙 정렬 */
    padding: 10px 0; /* 상하 패딩 */
    font-size: 18px;
}

.nav {
    list-style-type: none; /* 기본 리스트 스타일 제거 */
    padding: 0; /* 패딩 제거 */
    margin: 0; /* 마진 제거 */
    display: flex; /* flex로 변경하여 수평 정렬 */
    justify-content: center; /* 중앙 정렬 */
}

.nav-item {
    display: flex; /* 수평 정렬 */
    position: relative; /* 자식 요소의 위치 기준 */
    margin: 0 10px; /* 양쪽 간격을 10px씩 추가 */
}
.nav-item:hover{
    color: #8A2BE2; /* 마우스 오버 시 색상 변경 */
}

.nav-link {
    color: #333333; /* 기본 텍스트 색상 */
    text-decoration: none; /* 밑줄 제거 */
    padding: 10px 15px; /* 패딩 추가 */
}

.nav-link i {
    font-size: 24px; /* 아이콘 크기 조정 */
    color: #333333; /* 아이콘 색상 조정 */
    margin-right: 5px; /* 아이콘과 텍스트 간의 간격 조정 */
}
.nav-link i:hover{
    color: #8A2BE2; /* 마우스 오버 시 색상 변경 */
}

.nav-item .nav-link {
    display: flex; /* 아이콘과 텍스트를 수평으로 정렬 */
    align-items: center; /* 수직 중앙 정렬 */
}

.nav-link:hover {
    color: #8A2BE2; /* 마우스 오버 시 색상 변경 */
}

.nav-link.active {
    font-weight: bold; /* 활성화된 링크 강조 */
}

header.show {
    top: 0; /* 보일 때의 위치 */
}

header:not(.show) {
    top: -100px; /* 헤더 높이만큼 숨김 */
}
/* 드롭다운 메뉴 스타일 */
.dropdown {
    display: none; /* 기본적으로 드롭다운 숨김 */
    position: relative; /* 드롭다운 위치 설정 */
}

.dropdown-button {
    background-color: #333333; /* 버튼 배경색 */
    color: white; /* 버튼 텍스트 색상 */
    padding: 8px 8px; /* 패딩 추가 */
    border: none; /* 테두리 제거 */
    cursor: pointer; /* 커서 포인터로 변경 */
}

/* 드롭다운 메뉴 항목 스타일 */
.dropdown-content {
    display: none; /* 기본적으로 드롭다운 내용 숨김 */
    position: absolute; /* 절대 위치 설정 */
    background-color: white; /* 배경색 */
    min-width: 160px; /* 최소 너비 */
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); /* 그림자 효과 */
    z-index: 1; /* 다른 요소 위에 표시 */
}

.dropdown-content a {
    color: black; /* 링크 색상 */
    padding: 12px 16px; /* 패딩 추가 */
    text-decoration: none; /* 밑줄 제거 */
    display: block; /* 블록 요소로 설정 */
}

/* 드롭다운 메뉴 항목 호버 효과 */
.dropdown-content a:hover {
    background-color: #f1f1f1; /* 호버 시 배경색 변경 */
}

/* 드롭다운 버튼 클릭 시 드롭다운 내용 표시 */
.dropdown-button:focus + .dropdown-content,
.dropdown-content:hover {
    display: block; /* 드롭다운 내용 표시 */
}
.dropdown-button:hover {
    opacity: 0.8; /* 버튼을 눌렀을 때 투명도 설정 */
}

/* 미디어 쿼리: 화면 크기가 963px 이하일 때 */
@media (max-width: 1250px) {
    .index-nav {
        display: none; /* 기존 nav 숨김 */
    }

    .dropdown {
        display: block; /* 드롭다운 표시 */
    }
}
.index-logo {
    display: flex;
    align-items: center;
    justify-content: center; 
    margin-bottom: 5px;
    border-bottom: solid 1px #333333; /* 기존 1px 선 */
    width: 100%; /* 선을 전체 너비로 늘리기 */
}

.index-logo h1 {
    color: #333333;
    font-size: 50px;
    line-height: normal;
    font-family: "Bagel Fat One", system-ui;
    font-weight: 400;
    font-style: normal;
}

/* 푸터 시작 */
footer {
    height: 80px; 
    flex-shrink: 0; /* 푸터는 고정 크기 유지 */
    background-image: linear-gradient(-225deg, #FFFEFF 0%, #D7FFFE 100%);
    color: #333333;
    width: 100%;
}

footer p {
    margin: 1.2px;
}

.foot-i-school {
    display: flex;
    align-items: center;
    justify-content: center;
}

footer i {
    margin: 5px;
}

.foot-i-circle { /* 푸터 아이콘 설정  */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    margin-bottom: 1.5px;
}

/* 메인 시작 */
main {
    flex: 1; /* 메인 콘텐츠는 남은 공간을 차지 */
    padding-top: 150px; /* 헤더 크기만큼 패딩 추가 */
    display: flex;
    padding : 10%;
    margin-left: 150px;
    margin-right: 70px;
}

.main-section {
    flex: 4; 
    padding: 10px;
}

.main-section h1 {
    font-size: 24px; /* 제목 크기 조정 */
    font-weight: bold; /* 굵은 글씨 */
    color: #333; /* 텍스트 색상 */
    margin-top: 0px;
    margin-bottom: 15px; /* 하단 여백 */
    text-align: left; /* 왼쪽 정렬 */
}

.section-image1 {
    width: 50%; /* 이미지 크기 조정 */
    height: auto; /* 비율에 맞춰 자동으로 높이 조정 */
    margin-top: 40px; /* 이미지 위와 아래에 간격 추가 */
    display: flexbox; /* 이미지가 블록 수준 요소로 다뤄지도록 */
    border-radius: 10px; /* 이미지 모서리 둥글게 처리 (선택 사항) */
    margin-bottom: 40px;
}

.section-image2{
    width: 100%; /* 이미지가 화면 너비를 꽉 채우도록 */
    height: auto; /* 비율에 맞춰 자동으로 높이 조정 */
    margin-top: 40px; /* 이미지 위와 아래에 간격 추가 */
    display: flexbox; /* 이미지가 블록 수준 요소로 다뤄지도록 */
    border-radius: 10px; /* 이미지 모서리 둥글게 처리 (선택 사항) */
}
.main-section h2 {
    font-size: 20px; /* 제목 크기 조정 */
    font-weight: bold; /* 굵은 글씨 */
    color: #333; /* 텍스트 색상 */
    text-align: left; /* 왼쪽 정렬 */
    margin-top: 60px;
    margin-bottom: 30px; /* 하단 여백 */
}

.main-section p {
    font-size: 16px;
    margin-top: 15px;
    margin-bottom: 15px;
    text-align: justify;

}



.sticky-bar {
    flex: 1.2;
    background-color: #ffffff;
    color: white;
    margin-left: 60px;
    position: sticky;
    top: 40%; /* 화면 중앙에 붙도록 설정 */
    transform: translateY(-50%); /* 중앙 정렬을 위해 Y축으로 이동 */
    height: 250px; /* 바의 높이 (필요에 따라 조정 가능) */
    width: 400px; /* 바의 너비 */
    z-index: 1000; /* 다른 요소 위에 표시되도록 */
    font-size: 18px;
    display: flex; /* 아이콘과 텍스트를 수평으로 정렬 */
    flex-direction: column; /* 세로 방향으로 정렬 */
 
   
}
.sticky-list {
    display: block; /* 블록 요소로 설정 */
    padding: 10px 10px; /* 패딩 추가 */
    text-decoration: none; /* 링크의 기본 밑줄 제거 */
    color: #007bff; /* 텍스트 색상을 파란색으로 변경 */
    color: #333;
}

.sticky-list:hover {
    background-color: #e2e6ea; /* 마우스 오버 시 배경색 변경 */
}
.sticky-list:not(:last-child) {
    border-bottom: 0.5px solid gray; /* 마지막 요소를 제외한 각 요소 아래에 회색 선 추가 */
}
.sticky-list i {
    margin-right: 5px; /* 아이콘과 텍스트 사이에 3px 마진 추가 */
}

@media (max-width: 1300px){
    main {
        margin-left: 120px;
        margin-right: 50px;
        padding-top: 150px;
    }
    
}
@media (max-width: 963px) {
    main {
        padding : 5%;
        margin-left: 60px;
        margin-right: 30px;
        padding-top: 130px;
    }
    header {
        height: 130px; 

        padding: 8px 14px; /* 패딩 추가 */
    }
    .dropdown-button {

        padding: 6px 6px; /* 패딩 추가 */

    }header:not(.show) {
        top: -130px; /* 헤더 높이만큼 숨김 */
    }
    
    /* 드롭다운 메뉴 항목 스타일 */
    .dropdown-content {

        min-width: 140px; /* 최소 너비 */

    }
    
    .dropdown-content a {  
        padding: 11.5px 15px; /* 패딩 추가 */

    }
    .index-logo h1 {

        font-size: 35px;

    }
    
}


@media (max-width: 643px){
    header {
        height: 115px; 

        padding: 8px 14px; /* 패딩 추가 */
    }
    header:not(.show) {
        top: -120px; /* 헤더 높이만큼 숨김 */
    }
}

/* 모바일 버전 */
@media (max-width: 480px) {
    .sticky-bar {
        display: none; /* 화면이 480px 이하일 때 스티키바 숨김 */
    }
    main {
        padding : 5%;
        margin-left: 10px;
        margin-right: 7px;
        padding-top: 110px;
    }
    .index-logo h1 {
        font-size: clamp(20px, 3vw + 5px, 30px); /* 제목 크기 조정 */
    }
  
    .nav {
        flex-direction: column; /* 수직 정렬로 변경 */
        align-items: center; /* 중앙 정렬 */
    }
    .dropdown {
        margin-top: 8px;
    }
    .nav-item {
        margin: 5px 0; /* 위아래 간격 조정 */
    }
    
    .nav-link {
        font-size: clamp(14px, 2vw + 2px, 16px); /* 링크 텍스트 크기 조정 */
        padding: 8px 10px; /* 패딩 조정 */
    }
    
    .dropdown-button {
        font-size: clamp(14px, 2vw + 2px, 16px); /* 드롭다운 버튼 크기 조정 */
        padding: 6px 10px; /* 패딩 조정 */
    }
    
    header {
        height: 100px; 
        padding: 8px 10px; /* 패딩 추가 */
    }
    header:not(.show) {
        top: -100px; /* 헤더 높이만큼 숨김 */
    }
    
    .main-section h1 {
        font-size: 24px; /* 제목 크기 조정 */
        margin-bottom: 8px; /* 하단 여백 */

    }
    .main-section h2 {
    border-top: solid 1px #333333;
    padding-top: 20px;
    margin-top: 34px;
 
    }
    .main-section p {
        font-size: 15px;
        margin-top: 14px;

    }
}
@media (max-width: 320px) {
    .index-logo h1 {

        font-size: 27px;

    }
    .main-section h1 {
        font-size: 21px; /* 제목 크기 조정 */
        margin-bottom: 6px; /* 하단 여백 */

    }
    .main-section h2 {
        border-top: solid 1px #333333;
        padding-top: 17px;
        font-size: 18px;
        margin-top: 25px;
        }
        .main-section p {
            font-size: 13px;
            margin-top: 11px;
            margin-bottom: 19px;
        }

}
