﻿#detailImgWrap {
    width: 100%;
    height: 100%;
    position: relative; /* ← 컨테이너에 추가 */
}

    #detailImgWrap .item {
        width: 100%;
        height: 500px;
    }

        #detailImgWrap .item img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

.homepage-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
figure.has-overlay-hover.hover-container.m-0 {
    padding: 20px;
}
img.zoom-in-hover-item {
    border: 1px #ddd solid;
}

.team-hover .team-extra {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.3s ease, margin 0.4s ease;
}

.team-hover:hover .team-extra {
    max-height: 200px;
    opacity: 1;
}


#testimonials-slider-1512324 .px-20,
#testimonials-slider-1512324 .px-30 {
    text-align: center; /* 부모(박스)는 중앙 정렬 유지 */
}

#testimonials-slider-1512324 q {
    display: block;
    max-width: 600px; /* 박스 너비 - 상황에 맞게 조절 */
    margin: 0 auto; /* 박스를 화면 중앙에 배치 */
    text-align: left; /* 박스 안 텍스트는 왼쪽 정렬 */
}
#testimonials-slider-1512324 .slick-slide > div {
    display: flex;
    align-items: center;
    height: 100%;
}


.bg-slider,
#featured-works-slider .slick-list {
    width: 100%!important;
}
.bg-slider,
#featured-works-slider .slick-track {
    width: 100% !important;
}



@media (min-width: 992px) {
    .col-lg-3 {
        flex: 0 0 auto;
        width: 33%;
    }
}
/**/


#page-content .wpb_row {
    background-position: 50% 0;
}
section > .wpb_row {
    background-size: cover;
}
.vc_custom {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background-color: #1f1f1f !important;
}

.vc_row {
    margin-left: -15px;
    margin-right: -15px;
}
/*.wpb_row .inner {
    z-index: 2;
}*/
.wpb_row > .inner {
    max-width: 1200px;
}
.inner {
    width: 100%;
    height: auto;
    max-width: 1170px;
    position: relative;
    margin: 0 auto;
    padding-bottom: 0;
}
.vc_column_container {
    padding-left: 0;
    padding-right: 0;
}

@media (min-width: 768px) {
    .vc_col-sm-1, .vc_col-sm-10, .vc_col-sm-11, .vc_col-sm-12, .vc_col-sm-2, .vc_col-sm-3, .vc_col-sm-4, .vc_col-sm-5, .vc_col-sm-6, .vc_col-sm-7, .vc_col-sm-8, .vc_col-sm-9 {
        float: left;
    }
}
@media (min-width: 768px) {
    .vc_col-sm-12 {
        width: 100%;
    }
}
.vc_column_container > .vc_column-inner {
    box-sizing: border-box;
    padding-left: 15px;
    padding-right: 15px;
    width: 100%;
}
.wpb_wrapper {
    z-index: 3;
}
.vntd-cta.vntd-cta-style-default {
    padding: 20px 0;
    overflow: hidden;
}
/**/




.js-detail-trigger {
    cursor: pointer;
}

/* 오버레이 배경 */
.about-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 9999;
}

    .about-modal-overlay.active {
        opacity: 1;
        visibility: visible;
    }

/* 모달 박스 */
.about-modal-box {
    background: #F3F3F3;
    border-radius: 8px;
    max-width: 900px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    transform: scale(0.92);
    transition: transform 0.3s ease;
}



.about-modal-overlay.active .about-modal-box {
    transform: scale(1);
}

.about-modal-inner {
    position: relative;
    padding: 80px 40px 40px;
    text-align: center;
}

.about-modal-close {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #FF5334;
    color: #fff;
    border: none;
    font-size: 22px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    z-index: 2;
}

.about-modal-title {
    font-size: 26px;
    font-weight: 700;
    margin-top: 10px;
}

.about-modal-body {
    max-width: 850px;
    margin: 0 auto;
}

.detail-img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.mxauto {
    margin-left: auto;
    margin-right: auto;
}

/* 모달 열려있을 때 배경 스크롤 잠금 */
body.modal-open {
    overflow: hidden;
}



.js-feature-trigger {
    cursor: pointer;
}

/* 오버레이 배경 */
.about-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 9999;
}

    .about-modal-overlay.active {
        opacity: 1;
        visibility: visible;
    }

/* 모달 박스 */
.about-modal-box {
    background: #fff;
    border-radius: 8px;
    max-width: 900px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    transform: scale(0.92);
    transition: transform 0.3s ease;
}

.about-modal-overlay.active .about-modal-box {
    transform: scale(1);
}

.about-modal-inner {
    position: relative;
    padding: 80px 40px 40px;
    text-align: center;
}

.about-modal-close {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #FF5334;
    color: #fff;
    border: none;
    font-size: 22px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    z-index: 2;
}

.about-modal-title {
    font-size: 26px;
    font-weight: 700;
    margin-top: 10px;
}

.about-modal-body {
    max-width: 850px;
    margin: 0 auto;
}

.detail-img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.mxauto {
    margin-left: auto;
    margin-right: auto;
}

body.modal-open {
    overflow: hidden;
}


.client-logo-img {
    max-height: 30px; /* 원하는 로고 최대 높이로 조정 */
    width: auto;
    object-fit: contain;
}


.hover-container .list li {
    align-items: flex-start;
}

    .hover-container .list li > span[data-bg] {
        flex-shrink: 0;
        margin-top: 6px;
    }





.font-notos.medium.gray4.bl-1.b-gray9.px-15.py-15 {
    display: flex;
    flex-direction: column;
    height: 100%; /* 부모(col)가 늘어난 만큼 꽉 채움 */
}

    /* 리스트가 남는 공간을 먹도록 */
    .font-notos.medium.gray4.bl-1.b-gray9.px-15.py-15 .list {
        flex-grow: 1;
    }

    /* 버튼을 항상 맨 아래로 밀어줌 */
    .font-notos.medium.gray4.bl-1.b-gray9.px-15.py-15 > a {
        margin-top: auto !important; /* 기존 mt-30을 덮어쓰기 위해 필요할 수 있음 */
    }

/*
.full-bleed {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}
body {
    overflow-x: hidden;
}*/

@media (max-width: 767px) {

    /* 본문 텍스트도 왼쪽 정렬 */
    #home-box-slider p {
        margin-left: 60px;
    }
    #home-box-slider ul {
        margin-left: 60px;
    }
    /* 화살표 버튼 wrapper 가운데 정렬 */
    .slider-arrows-wrap {
        justify-content: center !important;
    }
}
@media (max-width: 767px) {

    /* 본문 텍스트도 왼쪽 정렬 */
    #home-box-slider p {
        margin-left: 60px;
    }

    #home-box-slider ul {
        margin-left: 60px;
    }
    /* 화살표 버튼 wrapper 가운데 정렬 */

}
@media (max-width: 767px) {
    .vntd-cta {
        justify-content: center !important;
   
        text-align: center;
    }

        .vntd-cta .content-left,
        .vntd-cta .content-right {
            width: 100%;
            justify-content: center;
        }
}


/* 데스크톱 기본값 */
.msg-si {
    max-width: 100%;
}

.msg-erp {
    max-width: 100%;
}

.msg-booktech {
    max-width: 100%;
}

.msg-consulting {
    max-width: 100%;
}

.msg-maintenance {
    max-width: 100%;
}

/* 모바일에서만 개별 조정 */
@media (max-width: 768px) {
    .msg-si {
        max-width: 60%;
    }

    .msg-erp {
        max-width: 72%;
    }

    .msg-booktech {
        max-width: 67%;
    }

    .msg-consulting {
        max-width: 100%;
    }

    .msg-maintenance {
        max-width: 100%;
    }
}
@media (max-width: 767px) {
    .fs-22 {
        font-size: 20px !important;
    }
}
@media (max-width: 767px) {
    .fs-18 {
        font-size: 15px !important;
    }
}
@media (max-width: 767px) {
    .fs-17 {
        font-size : 15px !important;
    }
}
@media (max-width: 767px) {
    .fs-16 {
        font-size: 14px !important;
    }
}
@media (max-width: 767px) {
    .fs-14 {
        font-size: 12px !important;
    }
}

@media (max-width: 767px) {
    .lh-10 {
        line-height: 23px !important;
    }
}

@media (max-width: 767px) {
    .fs-15 {
        font-size: 13px !important;
    }
}
.fs--xl {
    /*font-size: 45px !important;*/
    font-size: clamp(24px, 4.1vw, 60px) !important;
}
.fs--4xl {
    /* font-size: 80px !important; */
    font-size: clamp(36px, 5.9vw, 100px) !important;
}



.detail-img-full {
    width: 100%;
    height: auto;
}
@media only screen and (max-width: 992px) {
    .fs-40-sm {
        font-size: 35px !important;
    }
}
@media only screen and (max-width: 992px) {
    .fs-20 {
        font-size: 18px !important;
    }
}


@media only screen and (max-width: 992px) {
    .fs-13 {
        font-size: 11px !important;
    }
}

@media (max-width: 991px) {
    .tab-container.t-justify {
        text-align: left !important;
    }
}
@media (max-width: 991px) {
    .pl-30, .px-30 {
        padding-left: 20px !important;
    }
}

@media (max-width: 991px) {
    .pr-30, .px-30 {
        padding-right: 20px !important;
    }
}


.mobile-only-break {
    display: none;
}

@media (max-width: 991px) {
    .mobile-only-break {
        display: block; /* br은 기본 inline이라, block으로 바꿔야 줄바꿈 효과가 남 */
    }
}



.pl-61 {
    padding-left: 61px !important;
}


.fs--custom {
    font-size: 60px !important;
    font-size: clamp(32px, 6.4vw, 130px) !important;
}


.bg-orange-hover-item {
    background-color:#FF5534 !important;
}


/* fslightbox 좌우 화살표를 이미지 쪽으로 붙이기 */
/*.fslightbox-slide-btn-container-previous,
.fslightbox-slide-btn-container-next {
    width: 12%;*/ /* 기본은 훨씬 넓게 잡혀있음. 값을 줄일수록 화살표가 안쪽(이미지 쪽)으로 이동 */
    /*max-width: 180px;*/ /* 큰 화면에서 너무 안쪽으로 붙지 않도록 상한선 */
/*}*/

    /* 화살표 아이콘 자체 여백/크기 조정 (선택사항) */
    /*.fslightbox-slide-btn-container-previous .fslightbox-slide-btn,
    .fslightbox-slide-btn-container-next .fslightbox-slide-btn {
        padding: 15px;
    }


.fslightbox-slide-btn-container-previous {
    left: 300px !important;
}


.fslightbox-slide-btn-container-next {
    right: 300px !important;

}


@media only screen and (max-width: 992px) {
    .fslightbox-slide-btn-container-next {
        right: 0px;
    }
    .fslightbox-slide-btn-container-previous {
        left: 0px !important;
    }


}*/
.team-member {
    position: relative;
    height: auto;
    min-height: 320px; /* 실측 후 조정 */
    overflow: hidden;
}

    .team-member .px-15 {
        display: flex;
        flex-direction: column;
    }

    /* 평소엔 투명하지만 자리는 그대로 차지 */
    .team-member .team-extra {
        opacity: 0;
        transition: opacity 0.3s ease;
        pointer-events: none;
    }

    /* 호버 시 텍스트만 페이드인 */
    .team-member.team-hover:hover .team-extra {
        opacity: 1;
        pointer-events: auto;
    }
.features-modal-tabs {
    /*gap: 10px;*/
    margin-top: 10px;
}

.features-tab-btn {
    padding: 8px 22px;
    border: 1px solid #ddd;
    background: #fff;
    /*border-radius: 4px;*/
    font-size: 14px;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.25s ease;
}

    .features-tab-btn:hover {
        background: #f5f5f5;
    }

    .features-tab-btn.active {
        background: #ff5a3c; /* 사이트 메인 컬러로 교체 */
        color: #fff;
        border-color: transparent;
    }