@charset "utf-8";

/*메인슬라이드 애니*/
.serV-wrap { position: relative; }
.serV {position: relative; width: 100%;min-height: 950px;background: url(/theme/uriwon/img/serV-img6.png) center top no-repeat;background-size: cover; }
.serV img { width: 100%;height: 100%;}
.khwrap.container { padding: 100px 0;}

.serBrand-wrap { position: relative;background: url(../../../../img/ser6-back.png) center top no-repeat;width: 100%;height: auto;}
.subVT-wrap.serBrand-Top { position: absolute; left: 13% !important;}
.subVT-wrap img { width: 100%;height: 100%;}
.serBrand-Top h2 { font-size: 20px;color: #fff;font-family: 'Paperlogy';font-weight: 600;letter-spacing: 0;}
.serBrand-Top h3 { color: #fff;}
.serBrand-Top .subVT-title { color: #fff;}

.subTblank { margin-top: 50px; }
.serV-form { position: absolute; left: 50%; top: 88%; transform: translateX(-50%); display: flex; gap: 15px; width: auto;}
.serV-form a {  display: inline-block; background: #111; border-radius: 30px; font-size: 16px; color: #39D66D; font-weight: 600; height: 45px; line-height: 45px; padding: 0 25px;
    text-align: center; text-decoration: none; transition: all 0.3s ease; box-shadow: 0px 4px 10px rgba(0,0,0,0.05);  min-width: 170px;}
.serV-form a:hover {  background: #000; color: #39D66D; transform: translateY(-8px);box-shadow: 0px 10px 30px rgba(0,255,84,0.4);}

/*내용*/
.serWeb-title {font-size: 24px;color:#39D66D;font-family: 'Paperlogy';font-weight: 700;letter-spacing: 0;text-transform: uppercase;}
.serExhibition { margin: 0 auto;padding: 20px 0 90px;}
.serExhibition-arrow { position: relative;padding-bottom: 0;}
.serExhibition-arrow::after { content: '';position: absolute;left: 50%;bottom:-103px;width: 156px;height: 108px;background: url(/theme/uriwon/img/ser6-img9.png) center no-repeat;z-index: 1000;margin-left: -75px;filter: drop-shadow(0px 14px 10px rgba(0, 0, 0, 0.1));}
.serWUI-title { font-size: 34px;font-weight: 800;letter-spacing: -0.5px;margin-bottom: 64px;color: #101828;}
.ser6box-wrap {position: relative;margin-bottom: 40px;}
.ser6box-wrap::after { content: '';position: absolute;left: 52%;bottom:-40px;width: 156px;height: 40px;background: url(/theme/uriwon/img/ser6-img4.png) center no-repeat;z-index: 1000;}
.ser6box-wrap:last-child::after { content: '';position: absolute;left: 52%;bottom:-40px;width: 156px;height: 40px;background:none;}
.ser6box-wrap:last-of-type { margin-bottom: 0; }
/* 상단 라벨 태그 */
.ser6box-title {position: absolute;top: 0;width: 40%;background: #111;border-radius: 40px;padding: 7px 26px;font-size: 28px;font-weight: 500;white-space: nowrap;z-index: 3;color: #fff;z-index: 100;text-align:right; }
/* 홀수 박스(1,3,5) = 텍스트가 왼쪽 → 태그도 왼쪽 */
.ser6box-wrap:nth-child(odd) .ser6box-title { right: 140px; }
/* 짝수 박스(2,4,6) = 텍스트가 오른쪽 → 태그도 오른쪽 */
.ser6box-wrap:nth-child(even) .ser6box-title { left: 140px;}
.ser6-left { padding-left: 25%;}
.ser6-left .ser6box-conts { width: 100%;}
.ser6-left .ser6box-title { text-align: left; }
.ser6-left.ser6box-wrap::after { content: '';position: absolute;left: 35%;bottom:-40px;width: 156px;height: 40px;background: url(/theme/uriwon/img/ser6-img4.png) center no-repeat;}
.ser6-left .left { padding-left: 8% !important;}
.serpackage-bottom {text-align: center;font-size: 50px;color: #111;}
.package-link { clear: both; display: flex;gap: 50px;margin: 40px 0;justify-content: center;}
.package-link a { font-size: 20px;font-weight: 600;}
.packagelink-call { display: inline-block; height: 65px;line-height: 65px;background: #fff;border: 2px solid #E9E9E9;min-width:420px;border-radius: 20px;}
a.packagelink-call:hover { background: #F5F5F5;}
.packagelink-detail {display: inline-block; height: 65px;line-height: 65px;background: #29E868;border: 2px solid #00FF54;min-width:420px;border-radius: 20px;color: #fff;}
a.packagelink-detail:hover { background: #22c55e;color: #fff;}
/* 알약(pill) 형태의 카드 */
.ser6box-conts {display: flex;align-items: stretch;min-height: 230px;overflow: hidden;background: #ffffff;border-radius: 150px;width: 75%;z-index: 100; position: relative;box-shadow: 0 0 16px rgba(0, 0, 0, 0.1);}
.ser6box-conts .left,
.ser6box-conts .right {flex: 1 1 50%;display: flex;align-items: center;justify-content: flex-end;position: relative;min-width: 0;}
.ser6box-conts .left {justify-content: flex-start;}
/* 텍스트가 들어있는 쪽 (이미지가 없는 div) */
.ser6box-conts .left:not(:has(img)),
.ser6box-conts .right:not(:has(img)) {padding: 46px 40px;flex: 1 1 0; min-width: 0; flex-direction: column;align-items: flex-start;justify-content: center;text-align: left;}
.ser6box-conts p:first-of-type {font-size: 24px;font-weight: 700;line-height: 1.2;color: #39D66D;margin: 0 0 14px;}
.ser6box-conts p:nth-of-type(2) {font-size: 16px;color: #8a8f9c;margin: 0 0 20px;font-weight: 500;}
.ser6box-conts ul {list-style: none;display: flex;flex-wrap: wrap;gap: 8px;margin: 0;padding: 0;}
.ser6box-conts ul li span {display: inline-block;background: #f2f3f6;color: #545a6a;font-size: 16px;font-weight: 600;padding: 7px 16px;border-radius: 20px;}
/* 이미지가 들어있는 쪽 */
.ser6box-conts .left:has(img),
.ser6box-conts .right:has(img) { padding: 20px; flex: 0 0 540px;flex-shrink: 0; width:540px; }
.ser6box-conts img { max-width: 100%; max-height: 240px; width: auto; object-fit: contain; }
.ser6-lastarrow {text-align: center; margin-top: 70px; opacity: 0.6; }
.ser6-lastarrow img { max-width: 40px; }

/* ===== 전시/박람회 패키지 ===== */
.serExhibition-package {display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px;margin: 0 auto; padding: 90px 0;}
.package-title {flex: 0 0 100%; text-align: center; font-size: 50px; font-weight: 700; color: #101828; margin-bottom: 60px;}
/* 카드 공통 */
.serpackage-wrap { flex: 1 1 340px; background: #fff;border-radius: 300px;padding: 20px; border: 1px solid #e6e8ec;  overflow: hidden;border: 1px solid #F5F5F5;}
.serpackage-wrap.serpackage02 {background: #ecfbf1;border: 2px solid #39D66D;}
.serpackage-wrap.serpackage03 {background: #39D66D;border: 2px solid #39D66D;}
.serpackage-wrap.serpackage03 .serpackage-conts ul { padding-left: 0;padding-right: 0;}
.serpackage-conts { display: flex; flex-direction: column; align-items: center; height: 640px; padding-top: 46px;}
/* 번호 + 타이틀 + 가격 */
.serpackage-num {display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; padding: 0 30px;}
.serpackage-num span:first-child { font-size: 26px; font-weight: 800; color: #22c55e;font-family: 'Paperlogy';}
.serpackage-num span:nth-child(2) { background: #22c55e; color: #fff; font-size: 24px; font-weight: 700; padding: 9px 22px; border-radius: 30px; white-space: nowrap;}
.serpackage-num span:last-child { font-size: 20px; color: #666; margin-top: 2px;}
/* 리스트 */
.serpackage-conts ul { width: 100%; margin: 26px 0 0; padding: 24px 0 0 50px; border-top: 1px solid rgba(0, 0, 0, 0.08); display: flex; flex-direction: column;height: 165px;
  gap: 5px; box-sizing: border-box;}
.serpackage-conts ul li { position: relative; padding-left: 16px; font-size: 20px; color: #333;}
.serpackage-conts ul li::before { content: "•"; position: absolute; left: 0;}
/* 이미지 - 남는 공간 꽉 채움 */
.serpackage-img { flex: 1 1 auto; width: 100%;}
.serpackage-img img { width: 100%; height: 280px; object-fit: cover; display: block;border-radius: 30px 30px 800px 800px;}
/* 01. 기업 영업 패키지 - 화이트 */
.serpackage-wrap:nth-child(2) .serpackage-conts { background: #ffffff; border-color: #e6e8ec;}
/* 02. 기업 브랜드 패키지 - 연그린 */
.serpackage-wrap:nth-child(3) .serpackage-conts {  border-color: #bdeacb;}
.serpackage-wrap:nth-child(3) .serpackage-num span:first-child { color: #16a34a;}
/* 03. 박람회 올인원 패키지 - 진그린 (풀 배경) */
.serpackage-wrap:nth-child(4) .serpackage-conts { }
.serpackage-wrap:nth-child(4) .serpackage-num span:first-child {color: #ffffff;}
.serpackage-wrap:nth-child(4) .serpackage-num span:nth-child(2) { background: #ffffff; color: #16a34a;}
.serpackage-wrap:nth-child(4) .serpackage-num span:last-child { color: rgba(255, 255, 255, 0.9);}
.serpackage-wrap:nth-child(4) .serpackage-conts ul { border-top-color: rgba(255, 255, 255, 0.35);}
.serpackage-wrap:nth-child(4) .serpackage-conts ul li { color: #ffffff;}
/* 03번만 리스트 2단 구성 (항목이 6개라서) */
.serpackage-wrap:nth-child(4) .serpackage-conts ul { display: grid; grid-template-columns: 1fr 1fr; align-content: start;padding-left: 20px; }

@keyframes rollingLoop {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-50% - 10vw)); 
    }
}

/*포트폴리오*/
.serPortf-wrap { clear: both;width: 100%;height: auto;background: #F5F5F5;}
.serPortf-body { width: 100%; margin: 0 auto; padding: 50px 0 0;}
.serPortf-inner { display: flex; gap: 20px; margin-bottom: 80px;align-items: stretch;}
.serPortf-half { flex: 2;min-width: 0; }
.serPortf-quarter { flex: 1;min-width: 0; }
.serPortf-half, .serPortf-quarter { display: flex; flex-direction: column; cursor: pointer;}
.serPortf-img {  width: 100%; flex: 1; background: #111; border-radius: 15px; overflow: hidden; margin-bottom: 15px; transition: transform 0.4s ease, box-shadow 0.4s ease;}
.serPortf-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease;}
.serPortf-wrap a.link { font-size: 20px; background: #39D66D;color:#fff; border-radius: 30px;padding: 15px 35px;height: 30px;line-height: 30px;font-weight: 400;}
.serPortf-wrap a.link:hover { scale: calc(1.02);background: #111;color: #39D66D;}
.serPortf-wrap .mcontent-title p span {vertical-align: sub;}
.serPortf-body dl { margin: 0; padding-left: 5px; }
.serPortf-body dt { font-size: 24px; font-weight: 700; color: #111; margin-bottom: 0;overflow:hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp:1; }
.serPortf-body dd { font-size: 16px; color: #888; margin: 0; }

/* 4. 호버 애니메이션: 이미지 살짝 올라가면서 확대 */
.serPortf-half:hover .serPortf-img,
.serPortf-quarter:hover .serPortf-img { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0,0,0,0.1);}
.serPortf-half:hover .serPortf-img img,
.serPortf-quarter:hover .serPortf-img img { transform: scale(1.05); }


/* serBenef-wrap */
.serBenef-wrap { clear: both;background: #fff;}
.serBenef-roll { width: 100%; overflow: hidden; position: relative; padding: 50px 0 50px 15%; }
.serBenef-inner { display: flex; width: fit-content; animation: rollingLoop 40s linear infinite;}
/* 마우스 호버 시 정지 */
.serBenef-roll:hover .serBenef-inner { animation-play-state: paused;}
.serBenef-card { flex-shrink: 0; width: 400px; margin-right: 30px; border-radius: 20px; overflow: hidden; position: relative; height: 550px; box-shadow: 0 10px 30px rgba(0,0,0,0.1);
 transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease; cursor: pointer;}
.serBenef-card:hover { transform: translateY(-15px); box-shadow: 0 20px 40px rgba(0,0,0,0.2); z-index: 10;}
.serBenef-card img { width: 100%; height: 100%; object-fit: cover;}
.serBenef-card:hover img { transform: scale(1.03); }
.serBenef-roll:hover .serBenef-inner { animation-play-state: paused;}
.serBenef-card span { position: absolute; bottom: 0; left: 0; width: 100%; padding: 35px 0; background: rgba(0, 0, 0, 0.25); backdrop-filter: blur(8px); color: #fff;
    text-align: center; font-size: 20px; font-weight: 500; z-index: 1000;}



/****************************************************************************************/
/****************************************************************************************/
/*Media Query*/
/****************************************************************************************/
/****************************************************************************************/

@media (max-width: 1400px) {
    .serDetailView .serWeb-left p,
    .serDetailView .serWeb-left p b { font-size: 28px;}
    
    .proDT-img .layerWrap p.txt, .proDT-img2 .layerWrap p.txt {font-size: 45px;}

    .ser6box-wrap:nth-child(odd) .ser6box-title { right: 0px; }
    .ser6box-wrap:nth-child(even) .ser6box-title { left: 0px;}
    .ser6box-conts { width: 85%;}
    .ser6-left { padding-left: 15%;}
    .ser6box-title { font-size: 24px;}
    .ser6box-conts .left:not(:has(img)), .ser6box-conts .right:not(:has(img)) { padding-right: 0;}
}

@media (max-width: 1200px) {
    .serWepApp {margin-left: 15%;}
    .serDashBoard {margin-left: 10%;}
    .serDetailView .serWeb-right {margin-left: 10%; width: 90%;}

    .serWeb-uiux { display: block;}
    .serWeb-uiux .serWUI-title { margin-bottom: 10px;font-size: 24px;}

    .serExhibition div.tac p img { width: 100%;}
    .ser6-left { padding-left: 0;}    
    .ser6box-wrap:nth-child(even) .ser6box-title { position: absolute; z-index: 1000;width: auto;  left: 75px; }
    .ser6box-conts { width: 100%;}
    .ser6box-wrap:nth-child(odd) .ser6box-title { z-index: 1000;width: auto;right: 80px;}
    .ser6box-title { font-size: 24px;top: -20px;}
    .ser6box-title br { display: none;}
}

@media (max-width: 1024px) {
    .serPortf-inner {  flex-wrap: wrap; }
    .serPortf-half, .serPortf-quarter {  flex: 1 1 calc(32% - 10px); }

    .serV { width: 100%;min-height: 550px;}
    .subVT-wrap h3 { font-size: 45px;}
    .subVT-wrap .subVT-title { font-size: 24px;padding-top: 50px;}
    .subVT-txt { line-height: 120%;padding-top: 5px;font-size: 16px;}
    .serVT-wrap { left: 50px;}

    .serWeb-title {font-size: 20px;}

    .serDetailView .serWeb-left p,
    .serDetailView .serWeb-left p b { font-size: 40px;}
    .serDetailView .serWeb-left { position: relative;width: 100%;padding-bottom: 20px;}
    .proDT-img {height: 250px;}
    .proDT-img .layerWrap p.txt, .proDT-img2 .layerWrap p.txt {font-size: 30px;}

    .ser6box-conts { min-height: 200px; }
    .ser6box-conts .left:not(:has(img)),
    .ser6box-conts .right:not(:has(img)) { padding: 36px 10px 3px 20px; }
    .serpackage-conts { height: auto; min-height: 560px; }
    .ser6box-conts p:first-of-type { font-size: 20px;}
    .package-title,
    .serpackage-bottom {font-size: 35px;}
    .serpackage-wrap { margin: 15px 0;}
}

@media (max-width: 768px) {    
    .subVT-wrap .subVT-title { padding-top: 0;}
    .serV-wrap .subTblank { margin-top: 30px;width:100%;}
    .subVT-wrap.serWeb-Top { width: 100%;left: 50% !important; top: 50%; transform: translate(-50%, -50%);text-align: center;}
    .serPortf-half, .serPortf-quarter {  flex: 1 1 calc(50% - 10px); }

    .serWeb-title {font-size: 16px;}

    .serWepApp,
    .serUiUx,
    .serDashBoard,
    .serDetailView .serWeb-right {margin-left: 0%;}
    .serDetailView .serWeb-right { display: block; width:100%;}
    .serWUI-box {padding: 20px;}
    .serWUI-box h4 { font-size: 20px;}
    .serWUI-img { left: 200px;width: calc(100% - 200px);border-radius: 12px;}
    .serWUI-box::before { border-radius: 12px;width: 250px;}
    .viewlink-btn {left: 174px;width: 45px;height: 45px;line-height: 45px;}

    .serBenef-card {width: 300px;height: 400px;}

    .serPortf-wrap .mcontent-title p span { display: block;margin-bottom: 5px;}
    .proDT-img {height: 200px;border-radius: 12px;}
    .proDT-img .layerWrap p.txt, .proDT-img2 .layerWrap p.txt {font-size: 24px;}
    .proDT-img .layerWrap p, .proDT-img2 .layerWrap p { padding: 0 40px; }

    .serWUI-title {text-align: left;}
    .serWUI-title { font-size: 26px; margin-bottom: 44px; }
    .ser6box-wrap { margin-bottom: 40px; }
    .ser6box-conts { flex-direction: column; border-radius: 32px; min-height: auto;}
    .package-title { font-size: 26px; margin-bottom: 40px; }
    .serpackage-wrap { flex: 1 1 100%; max-width: 460px; }
    .serpackage-conts { border-radius: 40px; padding-top: 34px; min-height: auto; }
    .serpackage-conts ul { padding: 20px 26px 0; }
    .serpackage-img { min-height: 220px; }
    .serpackage-wrap:nth-child(4) .serpackage-conts ul { grid-template-columns: 1fr; display: block;height: 200px;}

    /* 이미지 항상 위, 텍스트 항상 아래로 순서 고정 */
    .ser6box-conts .left:has(img),
    .ser6box-conts .right:has(img) { order: 1; }
    .ser6box-conts .left:not(:has(img)),
    .ser6box-conts .right:not(:has(img)) { order: 2; }

    .ser6box-conts .left:has(img),
    .ser6box-conts .right:has(img) { padding: 28px; }
    .ser6box-conts img { max-height:100%; max-width: 100%; }
    .ser6box-conts .left:not(:has(img)),
    .ser6box-conts .right:not(:has(img)) { padding: 30px 28px 34px; align-items: center; text-align: center; }
    .ser6box-conts ul { justify-content: center; }

    /* 태그를 상단 중앙으로 고정 */
    .ser6box-wrap:nth-child(odd) .ser6box-title,
    .ser6box-wrap:nth-child(even) .ser6box-title { left: 50%; right: auto; transform: translateX(-50%); top: 15px; font-size: 20px; padding: 9px 20px; }
    .serExhibition-package { display: block;}
    .ser6box-conts .left:has(img), .ser6box-conts .right:has(img) {flex: 0 0 0;width: 100%; justify-content: center;padding-bottom: 0;padding-top: 70px;}
    .ser6-left.ser6box-wrap::after { left: 50%;margin-left: -75px;}
    .ser6box-wrap::after { left: 50%;margin-left: -75px;}
    .ser6box-conts p:first-of-type { font-size: 24px;}
    .packagelink-call {width: 100%;}
    .package-link {gap: 20px;display: block;margin-top: 10px;}
    .packagelink-call,
    .packagelink-detail { min-width: 100%;margin: 5px 0;}
    .package-title, .serpackage-bottom { font-size: 24px;}
}

@media (max-width: 640px) {
    .serPortf-half, .serPortf-quarter { flex: 1 1 100%; }
    .serPortf-img {aspect-ratio: 16 / 9; }
    .serPortf-body dt { font-size: 20px; }

    .serPortf-inner { margin-bottom: 35px;}
}


@media (max-width: 480px) {   

    .subVT-wrap { left: 10px;}
    .subVT-wrap h3 {font-size: 36px;}
    .subVT-h3 { font-size: 14px;}
    .subVT-wrap .subVT-title {font-size: 20px; padding-top: 20px;}

    .serWUI-img {display: block; top: 140px;left: 10px;width: calc(100% - 20px); height: 260px;}
    .serWUI-box::before { width: 100%;}

    .viewlink-btn {left: auto; width: 40px; height: 40px; line-height: 40px; right: 15px; top: 40px;font-size: 14px;}
    .serDetailView .serWeb-left p,
    .serDetailView .serWeb-left p b { font-size: 26px;}

    .serBenef-card {width: 250px;height: 300px;margin-right: 15px; border-radius: 12px;}
    .serBenef-card span {padding: 20px 0;}

    .service04-col1 .serWUI-img { top: 170px;height: 230px;}
    .service04-col4 .serWUI-img { top: 100px;}

    .serWepApp { padding: 50px 16px 70px; }
    .ser6box-conts p:first-of-type { font-size: 18px; }
    .package-title, .serpackage-bottom { font-size: 20px;}
}

@media (max-width: 360px) {   

    .serV-form {gap: 5px;} 
    .serV-form a {padding: 0 10px;min-width: 150px;}
    .subVT-wrap .subVT-title span { font-size: 16px;}
    
    .mcontent-title p {font-size: 22px;}
}