
.header-logo img{
    width: 195px;
    height: 45px;
}

/*
견적문의
*/
.contact-form {
    height: 500px;
}
.contact-button {
    justify-content: center;
    height: 70px;
}

.form-check-input {
    padding: 15px 15px;
}

.contact-next-btn{
    padding: 22px 28px;
    border-radius: 10px;

    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 15px;
    font-size: 20px;
    font-weight: 500;
    -webkit-transition: all 0.4sease-in-out !important;
    transition: all 0.4sease-in-out !important;
}

.contact-radio {
    display: block;
    padding: 12px;
    border: 2px solid #ddd;
    border-radius: 8px;
    text-align: left;
    cursor: pointer;
    font-weight: 500;
    background-color: #fff;
    transition: all 0.2s ease-in-out;
    border-radius: 10px;

    align-content: center;
    text-align: center;
    font-size: 20px;
}

.contact-radio:hover {
    border-color: var(--point200);
}

.contact-radio input {
    display: none;
}

.contact-radio.active {
    border-color: var(--point200);
    background-color: var(--point100);
}
  
.contact-background {
    background: url(./img/contact-last.jpg) center/cover no-repeat;
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    filter: blur(2px);
    filter: blur(5px);       /* 배경에만 블러 적용 */
}

.contact-complete-content {
    position: absolute; 
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%);
}

.h-33 {
    height: 33.3333% !important;
}

.h-50 {
    height: 50% !important;
}

.form-check-input:checked {
    background-color: var(--primary);
    border-color: var(--primary);
}


/**
 Header css
 */

/* a 태그는 원하는 padding을 유지 */
.header-nav ul li a {
    text-decoration: none;
    padding: 10px 15px; /* 예시 padding, 필요에 따라 조정 */
    position: relative;
}

/* 내부 텍스트를 감싼 span 설정 */
.header-nav ul li a .nav-text {
    display: inline-block;
    position: relative;
}

/* span에 가상 요소로 underline 효과 적용 */
.header-nav ul li a .nav-text::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -15px; /* 텍스트와 밑줄 사이 간격 */
    height: 2px;  /* 밑줄 두께 */
    background: currentColor; /* 텍스트 색상과 동일 */
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
    color: var(--primary);
}

/* hover 및 active 상태에서 글씨 볼드 및 underline 표시 */
.header-nav ul li a:hover .nav-text,
.header-nav ul li a.active .nav-text {
    font-weight: bold;
    color: var(--primary);
}

.header-nav ul li a:hover .nav-text::after,
.header-nav ul li a.active .nav-text::after {
    transform: scaleX(1);
    color: var(--primary);
}

/* main news slide up */
/* 초기 상태: 아래쪽으로 50px 이동, 투명 */
.slide-up {
    opacity: 0;
    transform: translateY(100px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* in-view 클래스가 추가되면 원위치 및 완전 불투명 */
.slide-up.in-view {
    opacity: 1;
    transform: translateY(0);
}

/* 포트폴리오 css */
.portfolio-section .portfolio-img {
    aspect-ratio: 263 / 200;
    height: auto;
    object-fit: cover;
}

.portfolio-section .portfolio-img img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 이미지가 컨테이너를 가득 채우면서 비율 유지 */
}

.portfolio-section .portfolio-items .portfolio-item {
    aspect-ratio: 22 / 26;
    height: auto;
}

.portfolio-section .portfolio-title {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;

    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* main ourProjects 이미지 */
.team-img {
    height: 300px; /* 원하는 고정 높이 값 */
    overflow: hidden;
}

.team-img img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 이미지 비율을 유지하며 컨테이너를 꽉 채우도록 잘라냄 */
}

@media (max-width: 768px) {
    .portfolio-items .wv-mt-80 {
        margin-top: 0 !important;
    }

    .portfolio-items .portfolio-item {
        aspect-ratio: 0;
    }
}

/*
지도
*/
#map{overflow: hidden;height: 640px;}
@media all and (max-width: 1200px){
    #map{height: 300px;}
}
