body{
    font-family: 'Montserrat', sans-serif;
    padding-top: 96px;
}

header {
}


/*banner*/
.banner-div{
    height:100vh;
    background: linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.7)), url(header-image.jpg) no-repeat center center/cover;
}

.banner{   
    position: absolute;
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
    width: 80%;
}

.banner-heading{
    animation-name: anim;
    animation-duration:2s;
}

.banner-par{
    animation-name:ainm;
    animation-duration:2s;
    animation-delay:.5s;
    animation-fill-mode:backwards;
}

/*animation 생성*/

@keyframes anim{
    0%{
        transform: translateX(-100px);
        opacity:0;
    }
    100%{
        transform: translateX(0);
        opacity:1;
    }
}

/*navbar*/

.menu-item{
    color: rgba(244, 248, 252, 0.84);
    font-size: .79rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.nav-menu{
    background: rgba(24, 36, 49, 0.86);
    border-bottom: 1px solid rgba(196, 211, 226, 0.16);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transition: background-color .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.nav-menu.custom-navbar{
    background: rgba(20, 31, 43, 0.96);
    border-bottom-color: rgba(196, 211, 226, 0.22);
    box-shadow: 0 18px 34px rgba(12, 20, 29, 0.22);
}

.nav-shell{
    min-height: 84px;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.nav-brand{
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    text-decoration: none;
}

.nav-brand:hover{
    text-decoration: none;
}

.nav-brand-logo{
    margin: 0;
    color: #f8fbff;
    font-weight: 700;
    letter-spacing: .08em;
}

.nav-brand-mark{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 14px;
    background: linear-gradient(135deg, #89a3b7 0%, #6f8fa8 100%);
    color: #ffffff;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: .04em;
    box-shadow: 0 12px 24px rgba(111, 143, 168, 0.28);
}

.nav-brand-text{
    color: #f8fbff;
    font-size: 1.95rem;
    font-weight: 700;
    letter-spacing: .08em;
}

.nav-links-wrap{
    align-items: center;
    gap: .15rem;
}

.main-nav-link{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: .75rem .95rem !important;
    margin: 0 .12rem;
    border-radius: 999px;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.main-nav-link:hover{
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-1px);
}

.main-nav-link.current{
    color: #ffffff;
    background: rgba(143, 170, 192, 0.18);
    box-shadow: inset 0 0 0 1px rgba(191, 208, 223, 0.2);
}

.nav-account-link{
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    border: 1px solid rgba(191, 208, 223, 0.18);
    text-transform: none;
    letter-spacing: .03em;
}

.nav-account-meta{
    opacity: .72;
    font-size: .9em;
}

.nav-button{
    padding: .45rem .55rem;
    border: 1px solid rgba(191, 208, 223, 0.24);
    border-radius: 12px;
}

.nav-button:focus{
    outline: none;
}

.line1, .line2, .line3{
    width:21px;
    height:2px;
    margin:5px 0;
    background: #f5f8fc;
    transition: all .3s ease;
}

.nav-collapse{
    background: rgba(22, 32, 44, 0.92);
    border: 1px solid rgba(191, 208, 223, 0.14);
    border-radius: 20px;
    padding: .8rem;
    margin-top: .8rem;
    box-shadow: 0 20px 36px rgba(10, 18, 27, 0.2);
}

.change .line1{
    transform: rotate(-45deg) translate(-5px,6px);
}

.change .line2{
    opacity:0;
}

.change .line3{
    transform: rotate(45deg) translate(-5px,-6px);
}   

.nav-acitve{
    color:#70aed2;
}

@media (min-width: 992px){
    .nav-collapse{
        background: transparent;
        border: 0;
        border-radius: 0;
        padding: 0;
        margin-top: 0;
        box-shadow: none;
    }
}

@media (max-width: 991.98px){
    body{
        padding-top: 92px;
    }

    .nav-shell{
        min-height: 76px;
    }

    .nav-brand-text{
        font-size: 1.6rem;
    }

    .nav-links-wrap{
        align-items: stretch;
        gap: .3rem;
    }

    .main-nav-link{
        justify-content: flex-start;
        width: 100%;
        margin: 0;
    }
}

/*mission*/
.mission{
    background: #151f20;
}

.underline {
    width: 160px;
    border: 3px solid #eee;
    margin: auto;
}

span.DICE {
    color:#70aed2;
    font-weight : bold;
}

.nav-link {
    display: flex;
    align-items: center; /* 수직 중앙 정렬 */
    justify-content: center; /* 수평 중앙 정렬 */
    height: 50px;
    text-align: center;
    text-decoration: none;
}

.nav-link.active {
    background-color: #cccccc; /* 원하는 배경색으로 변경 */
    color: white; /* 활성화된 링크의 텍스트 색상 */
    align-items: center; /* 수직 중앙 정렬 */
    justify-content: center; /* 수평 중앙 정렬 */
}

.nav-link h4 {
    margin: 0;
    line-height: 50px; /* 텍스트를 세로로 중앙 정렬 */
}

.form-inline input[type="file"] {
    flex-shrink: 0;
}

textarea {
    width:100%;
}

input[type=submit] {
    margin-top:10px;
}
