.menu-bar {
    position: fixed;
    top: 0;
    left: 0;

    display: flex;
    width: 60%;
    height: 16%;
    padding: 0% 20%;
    justify-content: space-evenly;

    align-items: center;
    align-self: center;
    flex-direction: row;

    flex-shrink: 0;

    transition: all 500ms;

    z-index: 100;
}

.menu-bar.visible-bar:hover {
    height: 20%;
    transition: all 500ms;
}

.menu-bar.hidden-bar {
    background: transparent;
    box-shadow: none;
    transition: all 500ms ease;
}

.menu-bar.visible-bar {
    background: #fff;
    box-shadow: 0rem 0.5rem 2rem 0rem rgba(43, 93, 124, 0.04);
}

/* 로고 전체 컨테이너 */
.menu-bar .logo {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    
    height: 100%;
    overflow: hidden;
    transition: all 500ms ease;
}

/* 홈 텍스트 (초기 표시용) */
.logo-placeholder {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    display: flex;
    
    
    font-size: 1rem;
    font-weight: 500;
    font-family: 'NanumSquareNeoBold';
    color: white;
    
    opacity: 1;
    transition: all 500ms ease;
}

/* 로고 본체 */
.logo-content {
    display: flex;
    align-items: center;
    gap: 1rem;
    
    opacity: 0;
    transform: translateY(-20px);
    transition: all 500ms ease;
}

/* 상태 전환 */
.logo.visible-logo .logo-placeholder {
    opacity: 0;
    transform: translate(-50%, -30%);
}

.logo.visible-logo .logo-content {
    opacity: 1;
    transform: translateY(0);
}

.menu-bar img {
    width: 5rem;
    height: auto;
}

.menu-bar .logo h2 {
    font-size: 1.125rem;
    font-weight: 500;
    padding: 1rem;
    font-family: 'NanumSquareNeoBold';

    max-width: 300px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;

    transition: all 300ms ease;
}

/* 로고 h2 기본 상태 */
.menu-bar h3 {
    color: white;
    transition: color 500ms ease;
}

/* 메뉴바가 활성화되면 로고 h2 텍스트 색상 변경 */
.menu-bar.visible-bar h3 {
    color: #333;

    transition: all 500ms ease;
}


.menu-bar h3 {
    font-size: 1rem;
    font-weight: 500;
    padding: 1rem;
    max-width: 8rem;

    word-break: keep-all;
    font-family: 'NanumSquareNeoBold';

    cursor: pointer;
    transition: all 300ms;
}

.menu-bar h3:hover {
    font-size: 1.25rem;
    max-width: 10rem;
    transition: all 300ms;
}

.logo-placeholder-mobile {
    display: none;
  }
  
  .logo-placeholder-desktop {
    display: block;
  }
  

@media (max-width: 768px) {
    .menu-bar {
        position: fixed;
        top: 0;
        left: 0;

        display: flex;
        width: 90%;
        height: 16%;
        padding: 0% 5%;
        justify-content: space-evenly;
    }

    .menu-bar .logo {
         width: 25vw;
         height: auto;

         padding: 0rem, 1rem;
         margin: 0;
    }

    .menu-bar .logo.logo.visible-logo {
        width: 25vw;
        height: auto;

        padding: 0rem, 1rem;
        margin: 0;
   }

    .menu-bar img {
        width: 4rem;
        height: auto;
    }

    .menu-bar .logo h2 {
        max-width: 0;
        padding: 0;
        margin: 0;
        overflow: hidden;
        white-space: nowrap;
        transition: all 300ms ease;
    }

    .menu-bar h3, .menu-bar h3:hover {
        font-size: 1rem;
        font-weight: 500;
        max-width: 15vw;
        padding: 3vh 3vw;

        cursor: pointer;
        transition: all 200ms;
    }

    .logo-placeholder-mobile {
        display: block;
      }
    
    .logo-placeholder-desktop {
        display: none;
    }
    
}