* {
    font-family: Pretendard-Regular;
}

@font-face {
    font-family: 'Pretendard-Regular';
    src: url('https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

body {
    margin: 0px;
    padding: 0px;
    height: 100vh; /* 전체 화면 높이를 설정 */
    overflow-x: hidden; /* 가로 스크롤바 숨기기 */
}

.topnav {
    background-color: white;
    display: flex;
    padding-left: 6vw;
    padding-right: 6vw;
    align-items: center; /* 세로 중앙 정렬 */
    justify-content: center; /* 중앙 정렬 */
    height: 100px; /* 높이 설정 */
    justify-content: space-between;
    -webkit-box-shadow: 0px 9px 22px -14px rgba(202, 202, 202, 1);
    -moz-box-shadow: 0px 9px 22px -14px rgba(202, 202, 202, 1);
    box-shadow: 0px 9px 22px -14px rgba(202, 202, 202, 1);
}

.logo {
    width: 250px; /* 너비를 뷰포트 너비의 15%로 설정 */
}


.navright {
    display: flex; /* Flexbox로 설정 */
    gap: 50px; /* a 태그들 사이의 간격 조정 */
    align-items: center; /* a 태그들 세로 중앙 정렬 */
}

.hamburger {
    display: none;
}

.navright a {
    text-decoration: none; /* 링크 밑줄 제거 */
    color: black; /* 링크 색상 설정 */
    font-size: large;
}


.dropdown {
    position: relative; /* 드롭다운 메뉴의 위치를 상대적으로 설정 */
}

.arrow {
    display: inline-block; /* 인라인 블록으로 설정 */
    width: 0;
    height: 0;
    border-left: 5px solid transparent; /* 왼쪽 경계 투명 */
    border-right: 5px solid transparent; /* 오른쪽 경계 투명 */
    border-top: 5px solid black; /* 위쪽 경계 검정색 */
    margin-left: 5px; /* 텍스트와 화살표 간의 간격 조정 */
    transform: rotate(90deg); /* 화살표를 오른쪽으로 회전 */
}

.dropdown-content {
    display: none; /* 기본적으로 드롭다운 메뉴 숨김 */
    position: absolute; /* 드롭다운 메뉴가 부모 요소에 대해 절대적으로 위치하도록 설정 */
    background-color: white; /* 배경색 설정 */
    min-width: 160px; /* 드롭다운 최소 너비 설정 */
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); /* 그림자 효과 */
    z-index: 1; /* 다른 요소 위에 표시되도록 설정 */
    top: 20px; 
    border-radius: 10px;
}

.dropdown:hover .dropdown-content {
    display: block; /* 마우스를 올렸을 때 드롭다운 메뉴 표시 */
}

.dropdown-content a {
    color: black; /* 링크 색상 설정 */
    padding: 12px 16px; /* 패딩 설정 */
    text-decoration: none; /* 밑줄 제거 */
    display: block; /* 블록 요소로 설정 */
}

.dropdown-content a:hover {
    background-color: #f1f1f1; /* 마우스를 올렸을 때 배경색 변경 */
    border-radius: 10px;
}

.dropdown i {
    font-size: small;
}

.bannerimg {
    width: 100vw;
    height: 55vh;
    object-fit: cover;
    filter: brightness(65%);
    position: relative;
}

.main_image_text {
    position: absolute;
    top: 27.5vh;
    left: 50%;
    color: white;
    transform: translate( -50%, -50% );
    font-size: 75px;
    white-space: nowrap;
}

.des_image_text {
    position: absolute;
    top: calc(100px + 27.5vh);
    left: 50%;
    color: white;
    transform: translate( -50%, 0% );
    font-size: 27px;
}

.des_image_text_m {
    display: none;
}

.button-container {
    display: flex; /* 버튼을 가로로 배치 */
    gap: 100px; /* 버튼 간 간격 */
    position: relative; /* 상대 위치 지정 */
    transform: translateY(-50%); /* 세로 중앙 정렬을 위한 변환 */
    margin: 0 auto; /* 가로 중앙 정렬 */
    margin-top: 100px;
    width: fit-content; /* 내용에 맞춰 너비 조정 */
}

.button {
    padding: 15px 25px; /* 버튼 패딩 */
    font-size: 20px; /* 글자 크기 */
    color: white; /* 글자 색상 */
    background-color: rgb(24, 15, 126); /* 버튼 배경색 */
    border: none; /* 테두리 없음 */
    width: 250px;
    border-radius: 5px; /* 모서리 둥글게 */
    cursor: pointer; /* 커서 모양 변경 */
    transition: background-color 0.3s; /* 배경색 변화에 애니메이션 추가 */
}

.button:hover {
    background-color: rgb(15, 10, 80); /* 호버 시 색상 변화 */
}

.midtitle {
    margin-top: 100px;
    width: 100%; /* 가로 너비를 100%로 설정 */
    box-sizing: border-box; /* 패딩과 테두리를 포함한 너비 계산 */
}

.title {
    display: inline-block; /* 제목을 인라인 블록으로 설정 */
    border-bottom: 2px solid #000; /* 밑줄 설정 (두께: 2px, 색상: 검정) */
    padding-bottom: 3px; /* 밑줄과 텍스트 간격 조정 */
}

.project {
    padding-left: 80px;
    padding-right: 80px;
}
.project span{
    color: #180F7E;
}
.section {
    scroll-snap-align: start;
    scroll-snap-stop: always;
}
.description {
    display: flex;
    margin-top: 5%;
}
.description img {
    border-radius: 10px;
    width: 65%;
}
.description span {
    color: black;
}
.repim {
    margin-left: 30px;
    margin-right: 30px;
}
.repim img {
    width: 55%;
}
.repim h1 {
    font-size: 25pt;
}
.repim span {
    font-size: 12.5pt;
}
.repim input {
    background-color: rgb(24, 15, 126);
    color: white;
    border-radius: 5px;
    width: 170px;
    height: 50px;
    font-size: 12.5pt;
    margin-right: 20px;
    cursor: pointer;
    border: none;
    margin-top: 50px;
    transition: background-color 0.3s;
}

.repim input:hover {
    background-color: rgb(15, 10, 84);
    transition: background-color 0.3s;
}

footer {
    background-color: #0e0e0e;
    padding-top: 50px;
    padding-bottom: 50px;
    padding-left: 6vw;
    padding-right: 6vw;
}

.contact {
    padding-left: 40px;
    padding-right: 40px;
    display: flex;
}

.inquiry {
    flex: 1;
    width: calc(50vw - 80px);
    padding: 20px;
    height: 450px;
}

footer p {
    color: white;
    font-size: 12pt;
}

label {
    display: block;
    margin: 10px 0 5px;
}

input[type="text"],
textarea {
    width: 40vw;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 3px;
    box-sizing: border-box;
}

.contactinfo {
    flex: 1;
    width: calc(50vw - 80px);
    padding: 20px;
}

.box {
    border: 2px solid;
    padding: 30px;
    border-color: rgb(24, 15, 126);
    height: 300px;
}

.phone {
    font-size: 45px;
}

.submitbtn {
    background-color: rgb(24, 15, 126);
    color: white;
    border-radius: 5px;
    width: 170px;
    height: 35px;
    font-size: 12.5pt;
    margin-right: 20px;
    cursor: pointer;
    border: none;
}

.container {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    text-align: center;
    background-color: white;
    border-radius: 8px;
}


h1 {
    font-size: 24px;
    margin-bottom: 20px;
}


.chat-button {
    display: inline-block;
    padding: 10px 20px;
    background-color: rgb(24, 15, 126);
    color: white;
    text-decoration: none;
    border-radius: 5px;
    margin: 20px 0;
    transition: background-color 0.3s;
}


.chat-button:hover {
    background-color: rgb(15, 10, 84);
}
p {
    font-size: 14px;
    color: #666;
}

.container h1 {
    font-size: xx-large;
}

.ceo_m {
    display: none;
}

.ceo_pc {
    display: block;
}

.image-container {
    position: relative;
    display: inline-block; /* 이미지 크기에 맞게 컨테이너 크기 조정 */
}

.image-container img {
    width: 100vw;
    height: 20vh;
    object-fit: cover;
    filter: brightness(65%);
    position: relative;
}

.text-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white; /* 텍스트 색상 */
    font-size: 40px; /* 텍스트 크기 */
    font-weight: bold;
    text-align: center;
}

@media all and (max-width:479px) {
    .navright {
        display: none;
    }
    .hamburger {
        cursor: pointer;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 30px;
        height: 20px;
    }
    
    .line {
        height: 4px;
        background-color: #000000;
        border-radius: 1px;
    }
    .main_image_text {
        position: absolute;
        top: 27.5vh;
        left: 50%;
        color: white;
        transform: translate( -50%, -50% );
        font-size: 60px;
    }
    .des_image_text_m {
        display: block;
        position: absolute;
        top: calc(100px + 27.5vh);
        left: 50%;
        width: 70%;
        color: white;
        transform: translate( -50%, 0% );
        font-size: 20px;
    }
    .des_image_text {
        display: none;
    }
    
    .button-container {
        display: flex; /* 버튼을 가로로 배치 */
        flex-direction: column; /* 세로 방향으로 배치 */
        gap: 20px; /* 버튼 간 간격 */
        position: relative; /* 상대 위치 지정 */
        transform: translateY(-50%); /* 세로 중앙 정렬을 위한 변환 */
        margin: 0 auto; /* 가로 중앙 정렬 */
        margin-top: 150px;
        width: fit-content; /* 내용에 맞춰 너비 조정 */
        margin-bottom: -90px;
    }



    .midtitle {
        margin-top: 100px;
        width: 100%; /* 가로 너비를 100%로 설정 */
        box-sizing: border-box; /* 패딩과 테두리를 포함한 너비 계산 */
    }
    
    .title {
        display: inline-block; /* 제목을 인라인 블록으로 설정 */
        border-bottom: 2px solid #000; /* 밑줄 설정 (두께: 2px, 색상: 검정) */
        padding-bottom: 3px; /* 밑줄과 텍스트 간격 조정 */
    }
    
    .project {
        padding-left: 40px;
        padding-right: 40px;
    }
    .project span{
        color: #180F7E;
    }
    .description {
        display: block;
        margin-top: 5%;
    }
    .description img {
        border-radius: 10px;
        width: 100%;
    }
    .description span {
        color: black;
    }
    .repim {
        margin-left: 0px;
        margin-right: 0px;
    }
    .repim img {
        width: 80%;
    }
    .repim h1 {
        font-size: 20pt;
    }
    .repim span {
        font-size: 12.5pt;
    }
    .repim input {
        background-color: rgb(24, 15, 126);
        color: white;
        border-radius: 5px;
        width: 170px;
        height: 50px;
        font-size: 12.5pt;
        margin-right: 20px;
        cursor: pointer;
        border: none;
        margin-top: 50px;
        transition: background-color 0.3s;
    }
    
    .repim input:hover {
        background-color: rgb(15, 10, 84);
        transition: background-color 0.3s;
    }

    .menu {
        position: fixed;
        top: 0;
        right: 100%; /* 메뉴를 화면 밖으로 숨김 */
        width: 100%;
        height: 100%;
        background-color: #333;
        color: white;
        transition: right 0.3s ease;
        padding: 20px;
        box-shadow: -2px 0 5px rgba(0, 0, 0, 0.5);
    }
    
    .menu ul {
        list-style: none;
        padding: 0;
    }
    
    .menu li {
        margin: 20px 0;
    }

    .ceo_m {
        display: block;
    }
    
    .ceo_pc {
        display: none;
    }
}