diff --git a/kngil/bbs/adm_comp.php b/kngil/bbs/adm_comp.php index 29659ea..8b4c42f 100644 --- a/kngil/bbs/adm_comp.php +++ b/kngil/bbs/adm_comp.php @@ -25,6 +25,7 @@ $isAdmin = in_array( ['BS100100','BS100200','BS100300','BS100400'], true ); +$isSuperAdmin = in_array($auth_bc, ['BS100100','BS100200'], true); /* ========================= 입력 diff --git a/kngil/bbs/adm_faq_popup.php b/kngil/bbs/adm_faq_popup.php index 772474d..9e1abfb 100644 --- a/kngil/bbs/adm_faq_popup.php +++ b/kngil/bbs/adm_faq_popup.php @@ -5,23 +5,37 @@ require_once 'db_conn.php'; header('Content-Type: application/json'); try { - // 2. 프로시저 호출 (컬럼명: itm_cd, itm_nm, area, itm_amt 등) - $stmt = $pdo->prepare("SELECT * FROM kngil.sp_fa_comments_r()"); + // 1. 직접 SQL 실행 + // 함수 호출 대신 테이블에 직접 쿼리를 날립니다. + $sql = " + SELECT * FROM kngil.fa_comments + WHERE use_yn = 'Y' + ORDER BY sq_no ASC, fa_id DESC + "; + + $stmt = $pdo->prepare($sql); $stmt->execute(); + $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); - // 3. W2UI를 위해 각 행에 'recid' 필드 강제 주입 + // 2. W2UI 호환성: recid 필드 매핑 $records = []; foreach ($rows as $row) { - $row['recid'] = $row['fa_id']; // 상품코드를 고유 키로 지정 + // fa_id를 그리드의 고유 키(recid)로 사용합니다. + $row['recid'] = $row['fa_id']; $records[] = $row; } - // 4. 순수 JSON만 출력 (다른 echo나 공백이 섞이면 에러 발생) - echo json_encode($records); + // 3. JSON 출력 (한글 깨짐 방지 및 숫자 형변환) + echo json_encode($records, JSON_UNESCAPED_UNICODE | JSON_NUMERIC_CHECK); } catch (PDOException $e) { - // 에러 발생 시 그리드가 이해할 수 있게 JSON으로 출력 - echo json_encode(['status' => 'error', 'message' => $e->getMessage()]); + // 에러 발생 시 로그 기록 및 JSON 에러 메시지 출력 + error_log("Query Error: " . $e->getMessage()); + http_response_code(500); + echo json_encode([ + 'status' => 'error', + 'message' => '데이터 조회 중 오류가 발생했습니다.' + ], JSON_UNESCAPED_UNICODE); } ?> \ No newline at end of file diff --git a/kngil/bbs/adm_faq_popup_delete.php b/kngil/bbs/adm_faq_popup_delete.php index 24edef2..f29d559 100644 --- a/kngil/bbs/adm_faq_popup_delete.php +++ b/kngil/bbs/adm_faq_popup_delete.php @@ -37,8 +37,10 @@ try { $pdo->beginTransaction(); - // 3. 삭제 실행 - $stmt = $pdo->prepare("SELECT kngil.sp_fa_comments_d(:fa_id)"); + // 3. 삭제 실행 (함수 대신 직접 DELETE 쿼리 사용) + // 루프 밖에서 prepare를 한 번만 수행하여 성능을 높입니다. + $sql = "DELETE FROM kngil.fa_comments WHERE fa_id = :fa_id"; + $stmt = $pdo->prepare($sql); foreach ($ids as $code) { $stmt->execute([':fa_id' => $code]); diff --git a/kngil/bbs/adm_faq_popup_save.php b/kngil/bbs/adm_faq_popup_save.php index abd44fc..4a2d8d9 100644 --- a/kngil/bbs/adm_faq_popup_save.php +++ b/kngil/bbs/adm_faq_popup_save.php @@ -37,34 +37,63 @@ try { $pdo->beginTransaction(); - /* ---------- 신규 추가(INSERT) ---------- */ + /* ---------- 신규 추가(INSERT) 직접 쿼리 방식 ---------- */ if ($inserts) { - // 호출 시 파라미터 개수와 이름을 정확히 맞춤 - $stmtI = $pdo->prepare("SELECT kngil.sp_fa_comments_i(:fa_subject, :fa_content, :sq_no, :use_yn, :cid)"); + // 1. 함수 대신 직접 INSERT 쿼리 준비 + // fa_id는 자동 생성이므로 제외, cdt는 DB 함수 사용 + $sqlI = "INSERT INTO kngil.fa_comments ( + fa_subject, + fa_content, + sq_no, + use_yn, + cid, + cdt + ) VALUES ( + :fa_subject, + :fa_content, + :sq_no, + :use_yn, + :cid, + CURRENT_TIMESTAMP + )"; + + $stmtI = $pdo->prepare($sqlI); foreach ($inserts as $r) { $stmtI->execute([ - ':fa_subject' => $r['fa_subject'] ?? '', // 데이터가 없으면 빈 글자라도 보냄 - ':fa_content' => $r['fa_content'] ?? '', - ':sq_no' => $r['sq_no'] ?? 0, - ':use_yn' => $r['use_yn'] ?? 'Y', - ':cid' => $user_id + ':fa_subject' => $r['fa_subject'] ?? '', + ':fa_content' => $r['fa_content'] ?? '', + ':sq_no' => (int)($r['sq_no'] ?? 0), // 숫자형 보장 + ':use_yn' => $r['use_yn'] ?? 'Y', + ':cid' => $user_id ]); } } - /* ---------- 수정(UPDATE) ---------- */ + /* ---------- 수정(UPDATE) 직접 쿼리 방식 ---------- */ if ($updates) { - $stmtU = $pdo->prepare("SELECT kngil.sp_fa_comments_u(:fa_id, :fa_subject, :fa_content, :sq_no, :use_yn, :mid)"); + // 1. 함수 대신 직접 UPDATE 쿼리 준비 + $sqlU = "UPDATE kngil.fa_comments + SET + fa_subject = :fa_subject, + fa_content = :fa_content, + sq_no = :sq_no, + use_yn = :use_yn, + mid = :mid, + mdt = CURRENT_TIMESTAMP + WHERE + fa_id = :fa_id"; + + $stmtU = $pdo->prepare($sqlU); foreach ($updates as $r) { $stmtU->execute([ - ':fa_id' => $r['fa_id'] ?? '', - ':fa_subject' => $r['fa_subject'] ?? '', // 데이터가 없으면 빈 글자라도 보냄 - ':fa_content' => $r['fa_content'] ?? '', - ':sq_no' => $r['sq_no'] ?? 0, - ':use_yn' => $r['use_yn'] ?? 'Y', - ':mid' => $user_id + ':fa_id' => $r['fa_id'], // 필수 조건 + ':fa_subject' => $r['fa_subject'] ?? '', + ':fa_content' => $r['fa_content'] ?? '', + ':sq_no' => (int)($r['sq_no'] ?? 0), + ':use_yn' => $r['use_yn'] ?? 'Y', + ':mid' => $user_id ]); } } diff --git a/kngil/bbs/adm_purch_popup.php b/kngil/bbs/adm_purch_popup.php index 4d1cc5f..c3d2f6b 100644 --- a/kngil/bbs/adm_purch_popup.php +++ b/kngil/bbs/adm_purch_popup.php @@ -5,23 +5,43 @@ require_once 'db_conn.php'; header('Content-Type: application/json'); try { - // 클라이언트(JS)로부터 전달받은 검색 조건 (POST 또는 GET 방식에 맞춰 수정) - $p_member_id = $_POST['member_id'] ?? ''; - $p_member_nm = $_POST['member_nm'] ?? ''; - - // 날짜가 빈 값('')으로 오면 반드시 null로 치환해야 PostgreSQL date 타입 에러가 안 납니다. - $p_fbuy_dt = (!empty($_POST['fbuy_dt'])) ? $_POST['fbuy_dt'] : null; - $p_tbuy_dt = (!empty($_POST['tbuy_dt'])) ? $_POST['tbuy_dt'] : null; + $p_member_id = isset($_POST['member_id']) ? trim($_POST['member_id']) : ''; + $p_fbuy_dt = isset($_POST['fbuy_dt']) ? trim($_POST['fbuy_dt']) : ''; + $p_tbuy_dt = isset($_POST['tbuy_dt']) ? trim($_POST['tbuy_dt']) : ''; - // 2. 프로시저 호출 - 파라미터 자리에 ?를 사용합니다. - $stmt = $pdo->prepare("SELECT * FROM kngil.sp_buy_item_history_r(?, ?, ?, ?)"); - + + if ($p_fbuy_dt === '') { + $p_fbuy_dt = '1999-01-01'; + } + if ($p_tbuy_dt === '') { + $p_tbuy_dt = '2099-12-31'; + } + + $sql = " + SELECT + a.member_id::text, a.sq_no, + b.member_nm::text as user_nm, b.co_nm::text, b.bs_no::text, + a.buy_dt, a.itm_cd::text, c.itm_nm::text, + c.area::NUMERIC as area, a.itm_qty::NUMERIC, + a.itm_area::NUMERIC, a.add_area::NUMERIC, a.sum_area::NUMERIC, + a.itm_amt::NUMERIC, a.dis_rt::NUMERIC, a.buy_amt::NUMERIC, + a.vat_amt::NUMERIC, a.sum_amt::NUMERIC, + a.end_dt, a.ok_yn::text, a.rmks::text + FROM kngil.buy_item a + LEFT JOIN kngil.members b ON a.member_id = b.member_id + LEFT JOIN kngil.item c ON a.itm_cd = c.itm_cd + WHERE (:member_id = '' OR a.member_id = :member_id) + AND (:fbuy_dt = '' OR a.buy_dt >= :fbuy_dt::date) + AND (:tbuy_dt = '' OR a.buy_dt <= :tbuy_dt::date) + ORDER BY a.buy_dt DESC, a.member_id, a.sq_no DESC + "; + + $stmt = $pdo->prepare($sql); // 파라미터 순서대로 배열에 담아 실행합니다. $stmt->execute([ - $p_member_id, - $p_member_nm, - $p_fbuy_dt, - $p_tbuy_dt + ':member_id' => $p_member_id, + ':fbuy_dt' => $p_fbuy_dt, + ':tbuy_dt' => $p_tbuy_dt ]); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); diff --git a/kngil/bbs/adm_use_history.php b/kngil/bbs/adm_use_history.php index 2f770af..370f47c 100644 --- a/kngil/bbs/adm_use_history.php +++ b/kngil/bbs/adm_use_history.php @@ -1,41 +1,76 @@ prepare("SELECT * FROM kngil.sp_use_history(?, ?, ?)"); + if ($p_fuse_dt === '') { + $p_fuse_dt = '1999-01-01'; + } + if ($p_tuse_dt === '') { + $p_tuse_dt = '2099-12-31'; + } + + // 2. 직접 SQL 쿼리 작성 (함수 내부 로직을 그대로 가져옴) + $sql = " + SELECT + b.member_id::character varying, + a.use_dt, -- DATE 타입 + a.user_id::character varying, + a.sq_no, + b.user_nm::character varying, + b.dept_nm::character varying, + b.posit_nm::character varying, + b.use_yn::character varying, + a.use_area, + kngil.fn_base_nm(a.ser_bc)::character varying as ser_bc, + a.cdt + FROM kngil.use_history a + INNER JOIN kngil.users b ON a.user_id = b.user_id + WHERE (:member_id = '' OR b.member_id = :member_id) -- ID가 없어도 나오게 + -- 검색 조건: 값이 있을 때만 필터링 + AND (:user_nm = '' OR b.user_nm LIKE '%' || :user_nm || '%') + AND (:dept_nm = '' OR b.dept_nm LIKE '%' || :dept_nm || '%') + AND a.use_dt::date >= :fuse_dt::date + AND a.use_dt::date <= :tuse_dt::date + ORDER BY a.use_dt DESC, a.sq_no DESC + "; + + $stmt = $pdo->prepare($sql); + // 파라미터 바인딩 (이름 기반 바인딩이 더 직관적입니다) $stmt->execute([ - $p_member_id, - $p_user_nm, - $p_dept_nm + ':member_id' => $p_member_id, + ':user_nm' => $p_user_nm, + ':dept_nm' => $p_dept_nm, + ':fuse_dt' => $p_fuse_dt, + ':tuse_dt' => $p_tuse_dt ]); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); - // 3. W2UI를 위해 각 행에 'recid' 필드 주입 + // 3. W2UI용 recid 가공 $records = []; foreach ($rows as $index => $row) { - // user_id와 sq_no 조합으로 유일키 생성 (권장) - // 만약 데이터가 없을 경우를 대비해 $index를 활용할 수도 있음 - $row['recid'] = ($row['user_id'] ?? 'unknown') . '_' . ($row['sq_no'] ?? $index); + $row['recid'] = $row['user_id'] . '_' . ($row['sq_no'] ?? $index); $records[] = $row; } - // 4. 결과 출력 - echo json_encode($records, JSON_UNESCAPED_UNICODE); // 한글 깨짐 방지 + echo json_encode($records, JSON_UNESCAPED_UNICODE | JSON_NUMERIC_CHECK); } catch (PDOException $e) { + error_log("DB Error: " . $e->getMessage()); http_response_code(500); - echo json_encode(['status' => 'error', 'message' => $e->getMessage()]); + echo json_encode(['status' => 'error', 'message' => $e->getMessage()], JSON_UNESCAPED_UNICODE); } ?> \ No newline at end of file diff --git a/kngil/bbs/oidc_config.php b/kngil/bbs/oidc_config.php index 8fadbd5..d19f4ec 100644 --- a/kngil/bbs/oidc_config.php +++ b/kngil/bbs/oidc_config.php @@ -2,9 +2,9 @@ // /kngil/bbs/oidc_config.php return [ - 'issuer' => 'https://api.descope.com/v1/apps/P2x26KgEwOu0xIwgNZutJjIZc1zz', // 예: https://idp.example.com/auth/realms/master - 'client_id' => 'UDJ4MjZLZ0V3T3UweEl3Z05adXRKaklaYzF6ejpUUEEzOTVtSmx5MXhiczFwZWxrUHdDVFlvU2hiYXc=', - 'client_secret' => 'uTjiKweHYUINalroA1LVu9OacbEEMPtPbfFITfHu3r5', + 'issuer' => 'https://sss.hmac.kr/oidc', // 예: https://idp.example.com/auth/realms/master + 'client_id' => 'cc6f2f41-2705-4c7d-bffc-24c1d6b484f1', + 'client_secret' => 'ebjOE4I-gLnANV5KY623hClSAy', 'redirect_url' => "https://kngil.hmac.kr/kngil/auth/oidc-callback.php", - 'scopes' => ['openid'], + 'scopes' => ['openid', 'profile', 'email'], ]; diff --git a/kngil/css/adm_style.css b/kngil/css/adm_style.css index 6fb2397..930ff06 100644 --- a/kngil/css/adm_style.css +++ b/kngil/css/adm_style.css @@ -530,3 +530,39 @@ button { cursor: pointer; } + + /* 모든 W2UI 그리드 헤더 텍스트와 정렬 아이콘을 중앙으로 */ + .w2ui-col-header, + .w2ui-col-header > div { + display: flex !important; + justify-content: center !important; /* 가로 중앙 */ + align-items: center !important; /* 세로 중앙 */ + text-align: center !important; + } + + /* 정렬 화살표 위치 조정 */ + .w2ui-col-header .w2ui-sort-up, + .w2ui-col-header .w2ui-sort-down { + margin-left: 5px !important; + } + + + /* 1. 팝업 메인 제목 가운데 정렬 */ + .w2ui-popup-title { + text-align: center !important; + padding-left: 0 !important; + } + + + + /* 3. 합계(Summary) 행 문구 정렬 */ + .w2ui-grid-summary td { + text-align: center !important; + } + + /* 숫자 데이터 합계는 우측 정렬 유지 (선택 사항) */ + /* nth-child를 사용하여 면적/금액 컬럼만 오른쪽으로 보낼 수 있습니다. */ + .w2ui-grid-summary td:nth-child(n+9) { + text-align: right !important; + padding-right: 10px !important; + } \ No newline at end of file diff --git a/kngil/css/common.css b/kngil/css/common.css index ff692a7..7552fce 100644 --- a/kngil/css/common.css +++ b/kngil/css/common.css @@ -1153,7 +1153,7 @@ html:has(.sitemap.open).lenis { .floating-menu { width: 80px; position: fixed; - top: 124px; + top: 96px; right: 0px; z-index: 98; padding: 61px 0 61px 8px; @@ -1164,6 +1164,12 @@ html:has(.sitemap.open).lenis { filter: drop-shadow(-4px 4px 10px rgba(0, 0, 0, 0.25)); overflow: hidden; } +@media only screen and (max-width: 1439px) { + .floating-menu { + width: 64px; + padding: 52px 0 52px 6px; + } +} .floating-menu ul { width: 100%; flex-direction: column; @@ -1183,6 +1189,12 @@ html:has(.sitemap.open).lenis { justify-content: center; margin-bottom: 0; } +@media only screen and (max-width: 1439px) { + .floating-menu li { + width: 60px; + height: 62px; + } +} .floating-menu li a { width: 100%; height: 100%; @@ -1216,10 +1228,21 @@ html:has(.sitemap.open).lenis { position: relative; z-index: 10; } +@media only screen and (max-width: 1439px) { + .floating-menu li span { + font-size: 12px; + } +} .floating-menu li i { width: 28px; height: 28px; } +@media only screen and (max-width: 1439px) { + .floating-menu li i { + width: 24px; + height: 24px; + } +} .floating-menu li i.ico-buy { background-color: #fff; -webkit-mask-image: url("../img/ico/ico_floating_buy.svg"); @@ -1426,11 +1449,14 @@ label { [type=checkbox] { width: 16px; - height: 16px; + aspect-ratio: 1/1; cursor: pointer; -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='17' viewBox='0 0 16 17' fill='none'%3E%3Crect x='0.828125' y='1.33093' width='14.3382' height='14.3382' rx='0.642857' stroke='black' stroke-opacity='0.13'/%3E%3Cpath d='M11.6885 6.51624C11.6612 6.57757 11.6218 6.63277 11.5726 6.67855L7.0693 11.1759C6.97555 11.2695 6.84847 11.3221 6.71597 11.3221C6.58346 11.3221 6.45638 11.2695 6.36263 11.1759L4.53263 9.34522C4.44431 9.25043 4.39623 9.12507 4.39852 8.99554C4.4008 8.866 4.45328 8.74241 4.54488 8.6508C4.63649 8.55919 4.76008 8.50672 4.88962 8.50443C5.01915 8.50215 5.14452 8.55023 5.2393 8.63855L6.7173 10.1159L10.866 5.97188C10.9117 5.92276 10.9669 5.88336 11.0283 5.85603C11.0896 5.8287 11.1558 5.81401 11.2229 5.81282C11.2901 5.81164 11.3568 5.82399 11.419 5.84913C11.4813 5.87428 11.5378 5.91171 11.5853 5.95919C11.6328 6.00667 11.6702 6.06323 11.6954 6.12548C11.7205 6.18774 11.7329 6.25443 11.7317 6.32156C11.7305 6.3887 11.7158 6.45491 11.6885 6.51624Z' fill='white'/%3E%3C/svg%3E"); + background-size: cover; + background-repeat: no-repeat; + background-position: center; } [type=checkbox]:checked { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='17' viewBox='0 0 16 17' fill='none'%3E%3Crect x='0.328125' y='0.830933' width='15.3382' height='15.3382' rx='1.14286' fill='%231B7F63'/%3E%3Cpath d='M11.6885 6.51624C11.6612 6.57757 11.6218 6.63277 11.5726 6.67855L7.0693 11.1759C6.97555 11.2695 6.84847 11.3221 6.71597 11.3221C6.58346 11.3221 6.45638 11.2695 6.36263 11.1759L4.53263 9.34522C4.44431 9.25043 4.39623 9.12507 4.39852 8.99554C4.4008 8.866 4.45328 8.74241 4.54488 8.6508C4.63649 8.55919 4.76008 8.50672 4.88962 8.50443C5.01915 8.50215 5.14452 8.55023 5.2393 8.63855L6.7173 10.1159L10.866 5.97188C10.9117 5.92276 10.9669 5.88336 11.0283 5.85603C11.0896 5.8287 11.1558 5.81401 11.2229 5.81282C11.2901 5.81164 11.3568 5.82399 11.419 5.84913C11.4813 5.87428 11.5378 5.91171 11.5853 5.95919C11.6328 6.00667 11.6702 6.06323 11.6954 6.12548C11.7205 6.18774 11.7329 6.25443 11.7317 6.32156C11.7305 6.3887 11.7158 6.45491 11.6885 6.51624Z' fill='white'/%3E%3C/svg%3E"); @@ -1682,6 +1708,7 @@ label { } .popup-in.mypage .pop-body .my-history { padding: 0; + width: 100%; margin-top: 40px; } .popup-in.mypage .pop-body .my-history h5 { @@ -1700,6 +1727,7 @@ label { justify-content: space-between; } .popup-in.mypage .pop-body .my-history table { + min-width: 100%; border: none; border-top: 2px solid #000; border-bottom: 2px solid rgba(0, 0, 0, 0.2); @@ -1769,6 +1797,7 @@ label { gap: 30px; font-size: 18px; font-weight: 500; + margin: 0; display: flex; align-items: center; justify-content: center; @@ -2208,7 +2237,6 @@ label { border-radius: 2px; position: relative; cursor: pointer; - border: 1px solid rgba(0, 0, 0, 0.2); background-color: rgba(255, 255, 255, 0.6666666667); box-shadow: inset 0px 0px 1px rgba(0, 0, 0, 0.1333333333); padding: 0; diff --git a/kngil/css/style.css b/kngil/css/style.css index 076fd01..3ce99ec 100644 --- a/kngil/css/style.css +++ b/kngil/css/style.css @@ -152,7 +152,7 @@ html:has(.wrap.main) { width: 100%; gap: 8px; } -.main-pagination button { +.main-pagination [class*=page-] { width: max-content; cursor: pointer; position: relative; @@ -165,12 +165,12 @@ html:has(.wrap.main) { margin: 0; outline: none; } -.main-pagination button:focus-visible { +.main-pagination [class*=page-]:focus-visible { outline: 2px solid var(--color-yellow); outline-offset: 2px; border-radius: 2px; } -.main-pagination button::after { +.main-pagination [class*=page-]::after { content: ""; display: block; height: 2px; @@ -181,7 +181,7 @@ html:has(.wrap.main) { left: 0; transition: opacity 0.3s ease; } -.main-pagination button img { +.main-pagination [class*=page-] img { height: 1em; vertical-align: middle; display: inline-block; @@ -276,18 +276,23 @@ html:has(.wrap.main) { display: flex; flex-direction: column; gap: 24px; + color: var(--text-base); +} +.intro-wrap .slogan-c img { + width: 298px; + height: auto; } .intro-wrap .txt-mask { overflow: hidden; } .intro-wrap .txt-mask:nth-child(1) span { - animation: txt_mask 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0ss forwards; + animation: txt_mask 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0s both; } .intro-wrap .txt-mask:nth-child(2) span { - animation: txt_mask 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.1ss forwards; + animation: txt_mask 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both; } .intro-wrap .txt-mask:nth-child(3) span { - animation: txt_mask 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.2ss forwards; + animation: txt_mask 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both; } .intro-wrap .txt-mask span { display: block; @@ -295,6 +300,7 @@ html:has(.wrap.main) { text-align: center; position: relative; top: 80px; + opacity: 0; /* 애니메이션 시작 전 숨김, keyframes 0%와 동일 */ } /** @@ -414,6 +420,14 @@ html:has(.wrap.main) { color: #fff; text-align: center; } +@media only screen and (max-width: 767px) { + .value .visual { + background-image: url("../img/value/bg_value_visual_m.jpg"); + background-repeat: no-repeat; + background-position: center; + background-size: cover; + } +} .value .sub-header { background: none; } @@ -470,6 +484,7 @@ html:has(.wrap.main) { } } .value .slogan-box { + width: 72.2222%; max-width: 627px; margin: 0 auto; } @@ -522,7 +537,7 @@ html:has(.wrap.main) { } @media only screen and (max-width: 767px) { .value .summary .logo-c { - width: 160px; + width: 110px; height: 40px; } } @@ -553,11 +568,6 @@ html:has(.wrap.main) { font-size: 24px; line-height: 160%; } -@media only screen and (max-width: 1439px) { - .value .summary dd { - font-size: 2rem; - } -} @media only screen and (max-width: 767px) { .value .summary dd { font-size: 1.6rem; @@ -597,11 +607,7 @@ html:has(.wrap.main) { .value .service { max-width: 1400px; margin: 0 auto; -} -@media only screen and (max-width: 767px) { - .value .service { - padding: 0 16px; - } + width: 100%; } .value .service.aos-animate { transform: none; @@ -636,79 +642,63 @@ html:has(.wrap.main) { border-radius: 4px; background: linear-gradient(180deg, #CCA700 0%, rgba(254, 119, 1, 0.7) 100%); } -.value .service .step-list .step-flow { +.value .service .step-list .step-flow-box { position: relative; - display: flex; - align-items: center; - justify-content: space-between; - gap: 38px; - flex-wrap: wrap; - list-style: none; - padding-right: 38px; + display: grid; + width: 100%; + grid-template-columns: minmax(270px, 269fr) minmax(162px, 1131fr); + gap: 0; margin: 0; + overflow: hidden; } @media only screen and (max-width: 1439px) { - .value .service .step-list .step-flow { + .value .service .step-list .step-flow-box { gap: 24px; padding-right: 0; justify-content: center; } } @media only screen and (max-width: 767px) { - .value .service .step-list .step-flow { - flex-direction: column; + .value .service .step-list .step-flow-box { gap: 16px; padding-right: 0; + grid-template-columns: minmax(174px, 174fr) minmax(162px, 162fr); } } -.value .service .step-list .step-flow:before { - content: ""; - position: absolute; - top: 0; - right: 0; - width: 1164px; - height: 100%; - background: linear-gradient(to left, rgba(217, 217, 217, 0.5) 0%, rgba(115, 115, 115, 0.7) 100%); - opacity: 0.9; - mix-blend-mode: multiply; - border-radius: 0 20px 20px 0; - clip-path: path("M155.018 31.6207C75.8577 31.6207 61 29.1207 18 0L0 242C55.5 227.129 46.5 208 155.018 208L939.5 208.002H941.358H1154.72C1160.24 208.002 1164.72 203.525 1164.72 198.002V41.6208C1164.72 36.0979 1160.24 31.6207 1154.72 31.6208L939.5 31.6224C674.455 31.6224 234.178 31.6207 155.018 31.6207Z"); -} -@media only screen and (max-width: 1439px) { - .value .service .step-list .step-flow:before { - display: none; - } -} -.value .service .step-list .step-flow .step-item { +.value .service .step-list .step-flow-item { position: relative; - min-width: 232px; + min-width: 270px; flex: 0 0 auto; z-index: 1; } @media only screen and (max-width: 1439px) { - .value .service .step-list .step-flow .step-item { - min-width: 200px; + .value .service .step-list .step-flow-item { flex: 1 1 auto; } } @media only screen and (max-width: 767px) { - .value .service .step-list .step-flow .step-item { - width: 100%; - min-width: auto; + .value .service .step-list .step-flow-item { + min-width: clamp(174px, 48.3333%, 260px); } } -.value .service .step-list .step-flow .step-item.active { +.value .service .step-list .step-flow-item.active { border-radius: 21px; background: linear-gradient(180deg, #C9AF00 0%, #FF7700 100%); padding: 6px; box-shadow: 18.559px 0 9.368px 0 rgba(0, 0, 0, 0.25); } -.value .service .step-list .step-flow .step-item.active::after { +.value .service .step-list .step-flow-item.active::after { + content: " "; + position: absolute; + top: 50%; right: -38px; - background: url(../img/value/ico_step_arrow.svg) no-repeat center center; + width: 38px; + height: 64px; + background: url("../img/value/ico_step_arrow.svg") no-repeat center center; + translate: 0 -50%; } -.value .service .step-list .step-flow .step-item.active .step-box { - width: 270px; +.value .service .step-list .step-flow-item.active .step-box { + width: 100%; height: 232px; border-radius: 21px; background: #FFFDF5; @@ -716,22 +706,16 @@ html:has(.wrap.main) { display: flex; align-items: center; justify-content: space-between; -} -@media only screen and (max-width: 1439px) { - .value .service .step-list .step-flow .step-item.active .step-box { - width: 100%; - height: auto; - min-height: 200px; - } + text-align: center; + transition: all 0.3s; } @media only screen and (max-width: 767px) { - .value .service .step-list .step-flow .step-item.active .step-box { + .value .service .step-list .step-flow-item.active .step-box { width: 100%; - max-width: 100%; min-height: 180px; } } -.value .service .step-list .step-flow .step-item.active .step-box .step-title { +.value .service .step-list .step-flow-item.active .step-box .step-title { display: flex; align-items: center; justify-content: center; @@ -746,20 +730,166 @@ html:has(.wrap.main) { background-repeat: no-repeat; } @media only screen and (max-width: 767px) { - .value .service .step-list .step-flow .step-item.active .step-box .step-title { + .value .service .step-list .step-flow-item.active .step-box .step-title { width: 160px; height: 40px; font-size: 1.8rem; background-size: contain; } } -.value .service .step-list .step-flow .step-item:not(:last-child)::after { - content: " "; +.value .service .step-list .step-flow-item.active .step-box .step-subtitle { + font-size: 28px; + color: rgba(21, 21, 21, 0.8); } -.value .service .step-list .step-flow .step-item:not(:last-child):nth-child(4)::after { - right: -48px; +@media only screen and (max-width: 767px) { + .value .service .step-list .step-flow-item.active .step-box .step-subtitle { + font-size: 1.8rem; + } } -.value .service .step-list .step-flow .step-item:not(:last-child)::after { +.value .service .step-list .step-flow-item.active .step-box .step-subtitle strong { + display: block; + font-size: 32px; + font-weight: 900; + color: #151515; +} +@media only screen and (max-width: 767px) { + .value .service .step-list .step-flow-item.active .step-box .step-subtitle strong { + font-size: 2.2rem; + } +} +.value .service .step-list .step-flow-item.active .step-box .step-icon { + max-width: 121px; +} +@media only screen and (max-width: 1439px) { + .value .service .step-list .step-flow-item.active .step-box .step-icon { + max-width: 100px; + } +} +@media only screen and (max-width: 767px) { + .value .service .step-list .step-flow-item.active .step-box .step-icon { + max-width: 80px; + margin: 0 auto 12px; + } +} +.value .service .step-list .step-flow-item.active .step-box .step-icon img { + width: 100%; + height: auto; + object-fit: contain; +} +@media only screen and (max-width: 767px) { + .value .service .step-list .step-flow-item::after { + display: none; + } +} +.value .service .step-list .step-flow { + position: relative; + list-style: none; + padding-right: 0; + margin: 0; + flex: 1 1 auto; + height: 242px; + display: grid; + grid-template-columns: repeat(4, 1fr); + align-items: center; +} +@media only screen and (max-width: 1279px) { + .value .service .step-list .step-flow { + word-break: keep-all; + text-align: center; + } +} +@media only screen and (max-width: 991px) { + .value .service .step-list .step-flow { + display: flex; + flex-direction: column; + flex-wrap: nowrap; + padding: 2rem 0; + gap: 0; + } +} +.value .service .step-list .step-flow::before { + content: ""; + position: absolute; + width: 143px; + height: 242px; + background: rgba(115, 115, 115, 0.7); + opacity: 0.9; +} +@media only screen and (min-width: 1280px) { + .value .service .step-list .step-flow::before { + top: 1px; + left: -36px; + mask-image: url("../img/value/bg_step_flow.svg"); + mask-size: 143px 242px; + mask-position: 0 0; + mask-repeat: no-repeat; + -webkit-mask-image: url("../img/value/bg_step_flow.svg"); + -webkit-mask-size: 143px 242px; + -webkit-mask-position: 0 0; + -webkit-mask-repeat: no-repeat; + mix-blend-mode: multiply; + } +} +@media only screen and (max-width: 1279px) { + .value .service .step-list .step-flow::before { + top: 0px; + left: -56px; + mask-image: url("../img/value/bg_step_flow_m.svg"); + mask-size: 143px 242px; + mask-position: 0 0; + mask-repeat: no-repeat; + -webkit-mask-image: url("../img/value/bg_step_flow_m.svg"); + -webkit-mask-size: 143px 242px; + -webkit-mask-position: 0 0; + -webkit-mask-repeat: no-repeat; + mix-blend-mode: multiply; + } +} +.value .service .step-list .step-flow::after { + content: ""; + position: absolute; + top: 50%; + right: 0; + border-radius: 0 12px 12px 0; + background: linear-gradient(to left, rgba(217, 217, 217, 0.5) 0%, rgba(115, 115, 115, 0.7) 100%); + opacity: 0.9; + mix-blend-mode: multiply; + translate: 0 -50%; + overflow: hidden; +} +@media only screen and (min-width: 1280px) { + .value .service .step-list .step-flow::after { + width: calc(100% - 107px); + height: 176px; + } +} +@media only screen and (max-width: 1279px) { + .value .service .step-list .step-flow::after { + width: calc(100% - 63px); + height: 198px; + } +} +.value .service .step-list .step-flow .step-item { + position: relative; + z-index: 1; +} +@media only screen and (max-width: 1279px) { + .value .service .step-list .step-flow .step-item { + width: 50%; + margin: auto; + } +} +@media only screen and (max-width: 991px) { + .value .service .step-list .step-flow .step-item { + width: 200px; + } +} +@media only screen and (max-width: 767px) { + .value .service .step-list .step-flow .step-item { + width: 14rem; + } +} +.value .service .step-list .step-flow .step-item::after { content: " "; position: absolute; top: 50%; @@ -769,8 +899,36 @@ html:has(.wrap.main) { background: url("../img/value/ico_step_arrow_sub.svg") no-repeat center center; translate: 0 -50%; } -@media only screen and (max-width: 767px) { - .value .service .step-list .step-flow .step-item:not(:last-child)::after, .value .service .step-list .step-flow .step-item::after { +@media only screen and (min-width: 1440px) { + .value .service .step-list .step-flow .step-item:last-child::after { + display: none; + } +} +@media only screen and (max-width: 1439px) and (min-width: 992px) { + .value .service .step-list .step-flow .step-item::after { + right: auto; + left: -19px; + translate: -50% -50%; + } + .value .service .step-list .step-flow .step-item:first-child::after { + display: none; + } +} +@media only screen and (max-width: 991px) { + .value .service .step-list .step-flow .step-item:not(:last-child)::after { + contnet: " "; + position: absolute; + top: 100%; + left: 40%; + width: 1.6rem; + height: 0.9rem; + background: url(../img/value/ico_step_arrow_sub_m.svg) no-repeat center center; + background-size: 100% auto; + background-position: center center; + background-repeat: no-repeat; + translate: -50% 0; + } + .value .service .step-list .step-flow .step-item:last-child::after { display: none; } } @@ -781,28 +939,8 @@ html:has(.wrap.main) { @media only screen and (max-width: 767px) { .value .service .step-list .step-flow .step-item .step-box { width: 100%; - padding: 16px; } } -.value .service .step-list .step-flow .step-item .step-box .step-icon { - max-width: 121px; -} -@media only screen and (max-width: 1439px) { - .value .service .step-list .step-flow .step-item .step-box .step-icon { - max-width: 100px; - } -} -@media only screen and (max-width: 767px) { - .value .service .step-list .step-flow .step-item .step-box .step-icon { - max-width: 80px; - margin: 0 auto 12px; - } -} -.value .service .step-list .step-flow .step-item .step-box .step-icon img { - width: 100%; - height: auto; - object-fit: contain; -} .value .service .step-list .step-flow .step-item .step-box .step-title { font-size: 20px; font-weight: 600; @@ -810,10 +948,11 @@ html:has(.wrap.main) { color: rgba(255, 255, 255, 0.5); text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.1), 1px -1px 0 rgba(0, 0, 0, 0.1), -1px 1px 0 rgba(0, 0, 0, 0.1), 1px 1px 0 rgba(0, 0, 0, 0.1); } -@media only screen and (max-width: 767px) { +@media only screen and (max-width: 991px) { .value .service .step-list .step-flow .step-item .step-box .step-title { font-size: 1.4rem; margin-bottom: 6px; + text-align: left; } } .value .service .step-list .step-flow .step-item .step-box .step-title strong { @@ -821,29 +960,11 @@ html:has(.wrap.main) { font-size: 22px; color: rgba(255, 255, 255, 0.86); } -@media only screen and (max-width: 767px) { +@media only screen and (max-width: 991px) { .value .service .step-list .step-flow .step-item .step-box .step-title strong { - font-size: 1.8rem; - } -} -.value .service .step-list .step-flow .step-item .step-box .step-subtitle { - font-size: 28px; - color: rgba(21, 21, 21, 0.8); -} -@media only screen and (max-width: 767px) { - .value .service .step-list .step-flow .step-item .step-box .step-subtitle { - font-size: 1.8rem; - } -} -.value .service .step-list .step-flow .step-item .step-box .step-subtitle strong { - display: block; - font-size: 32px; - font-weight: 900; - color: #151515; -} -@media only screen and (max-width: 767px) { - .value .service .step-list .step-flow .step-item .step-box .step-subtitle strong { - font-size: 2.2rem; + display: inline-block; + font-size: 1.4rem; + margin-left: 4px; } } @@ -869,35 +990,41 @@ html:has(.wrap.main) { .value .service .data-comparison .bg-line { position: absolute; top: 0; + left: 136px; + width: 2px; + height: 619px; + background: url(../img/value/bg_line.svg) no-repeat center center; } -@media only screen and (min-width: 1440px) { - .value .service .data-comparison .bg-line { - left: 136px; - width: 2px; - height: 619px; - background: url(../img/value/bg_line.svg) no-repeat center center; - } +.value .service .data-comparison .bg-line::before { + content: " "; + position: absolute; + top: 113px; + left: -8px; + width: 16px; + height: 66px; + background: #4A5022; + pointer-events: none; + z-index: 1; +} +@media only screen and (max-width: 1439px) { .value .service .data-comparison .bg-line::before { - content: " "; - position: absolute; - top: 113px; - left: -8px; - width: 16px; - height: 66px; - background: #4A5022; - pointer-events: none; - z-index: 1; + display: none; } +} +.value .service .data-comparison .bg-line::after { + content: " "; + position: absolute; + top: 360px; + left: -8px; + width: 16px; + height: 66px; + background: #52461D; + pointer-events: none; + z-index: 1; +} +@media only screen and (max-width: 1439px) { .value .service .data-comparison .bg-line::after { - content: " "; - position: absolute; - top: 360px; - left: -8px; - width: 16px; - height: 66px; - background: #52461D; - pointer-events: none; - z-index: 1; + display: none; } } .value .service .data-comparison .bg-line .ico-arrow { @@ -920,7 +1047,7 @@ html:has(.wrap.main) { .value .service .data-comparison .comparison-item { display: grid; width: 100%; - grid-template-columns: 360px 522px 522px; + grid-template-columns: 360px 520px 520px; align-items: center; z-index: 1; } @@ -959,18 +1086,29 @@ html:has(.wrap.main) { } @media only screen and (max-width: 1439px) { .value .service .data-comparison .comparison-item .comparison-label { + margin-bottom: 24px; grid-column: span 2; - font-size: 2rem; line-height: 1.4; } } @media only screen and (max-width: 767px) { .value .service .data-comparison .comparison-item .comparison-label { - margin-bottom: 24px; font-size: 2rem; line-height: 1.5; padding: 0 16px; } + .value .service .data-comparison .comparison-item .comparison-label::before { + content: " "; + position: absolute; + top: 50%; + left: 0; + width: 60%; + height: 120%; + background: linear-gradient(to right, #425E24 0%, #3D5625 100%); + filter: blur(10px); + translate: 0 -50%; + z-index: -1; + } } .value .service .data-comparison .comparison-item .data-type-box { position: relative; @@ -993,18 +1131,20 @@ html:has(.wrap.main) { .value .service .data-comparison .comparison-item .data-type-box.analog { background: linear-gradient(90deg, #5E5C20 0%, #60591D 100%); } -.value .service .data-comparison .comparison-item .data-type-box.analog::after { - position: absolute; - top: 0; - right: -5px; - content: ""; - width: 30px; - height: 100%; - border-radius: 0 20px 20px 0; - opacity: 0.2; - background: linear-gradient(90deg, rgba(115, 115, 115, 0) 0%, #737373 100%); - mix-blend-mode: multiply; - pointer-events: none; +@media only screen and (min-width: 992px) { + .value .service .data-comparison .comparison-item .data-type-box.analog::after { + position: absolute; + top: 0; + right: -5px; + content: ""; + width: 30px; + height: 100%; + border-radius: 0 20px 20px 0; + opacity: 0.2; + background: linear-gradient(90deg, rgba(115, 115, 115, 0) 0%, #737373 100%); + mix-blend-mode: multiply; + pointer-events: none; + } } .value .service .data-comparison .comparison-item .data-type-box.analog .data-type-list { color: #CFCDBB; @@ -1031,6 +1171,11 @@ html:has(.wrap.main) { padding: 1px; padding: 2px; } +@media only screen and (max-width: 1023px) { + .value .service .data-comparison .comparison-item .data-type-box.digital { + padding-top: 48px; + } +} .value .service .data-comparison .comparison-item .data-type-box.digital::after { content: " "; position: absolute; @@ -1043,9 +1188,15 @@ html:has(.wrap.main) { background-blend-mode: multiply; mix-blend-mode: multiply; } -@media only screen and (max-width: 767px) { +@media only screen and (max-width: 1023px) { .value .service .data-comparison .comparison-item .data-type-box.digital::after { - display: none; + top: -8px; + left: 50%; + width: 115px; + height: 50px; + opacity: 0.8; + background: url(../img/value/ico_data_arrow_m.svg) no-repeat center center; + translate: -50% 0; } } .value .service .data-comparison .comparison-item .data-type-box.digital .data-type-list span:before { @@ -1096,6 +1247,11 @@ html:has(.wrap.main) { padding: 30px 50px; text-align: center; height: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + gap: 20px; } @media only screen and (max-width: 1439px) { .value .service .data-comparison .comparison-item .work-method-box { @@ -1106,23 +1262,28 @@ html:has(.wrap.main) { .value .service .data-comparison .comparison-item .work-method-box { padding: 20px; width: 100%; + gap: 24px; + display: flex; + flex-direction: column; } } .value .service .data-comparison .comparison-item .work-method-box.manual { background: linear-gradient(90deg, #7D5412 0%, #7C5212 100%); } -.value .service .data-comparison .comparison-item .work-method-box.manual::after { - position: absolute; - top: 0; - right: -5px; - content: ""; - width: 30px; - height: 100%; - border-radius: 0 20px 20px 0; - opacity: 0.2; - background: linear-gradient(90deg, rgba(115, 115, 115, 0) 0%, #737373 100%); - mix-blend-mode: multiply; - pointer-events: none; +@media only screen and (min-width: 992px) { + .value .service .data-comparison .comparison-item .work-method-box.manual::after { + position: absolute; + top: 0; + right: -5px; + content: ""; + width: 30px; + height: 100%; + border-radius: 0 20px 20px 0; + opacity: 0.2; + background: linear-gradient(90deg, rgba(115, 115, 115, 0) 0%, #737373 100%); + mix-blend-mode: multiply; + pointer-events: none; + } } .value .service .data-comparison .comparison-item .work-method-box.manual span { color: #E6DDD0; @@ -1149,6 +1310,11 @@ html:has(.wrap.main) { padding: 1px; padding: 2px; } +@media only screen and (max-width: 1023px) { + .value .service .data-comparison .comparison-item .work-method-box.automated { + padding-top: 48px; + } +} .value .service .data-comparison .comparison-item .work-method-box.automated::after { content: " "; position: absolute; @@ -1161,9 +1327,15 @@ html:has(.wrap.main) { background-blend-mode: multiply; mix-blend-mode: multiply; } -@media only screen and (max-width: 767px) { +@media only screen and (max-width: 1023px) { .value .service .data-comparison .comparison-item .work-method-box.automated::after { - display: none; + top: -8px; + left: 50%; + width: 232px; + height: 50px; + background: url(../img/value/ico_report_arrow_m.svg) no-repeat center center; + translate: -50% 0; + opacity: 0.8; } } .value .service .data-comparison .comparison-item .work-method-box.automated .work-method-list span:before { @@ -1172,14 +1344,12 @@ html:has(.wrap.main) { .value .service .data-comparison .comparison-item .work-method-box .work-method-title { font-size: 28px; font-weight: 400; - margin-bottom: 20px; color: #fff; text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.1), 1px -1px 0 rgba(0, 0, 0, 0.1), -1px 1px 0 rgba(0, 0, 0, 0.1), 1px 1px 0 rgba(0, 0, 0, 0.1); } @media only screen and (max-width: 767px) { .value .service .data-comparison .comparison-item .work-method-box .work-method-title { - font-size: 1.8rem; - margin-bottom: 16px; + font-size: 2rem; } } .value .service .data-comparison .comparison-item .work-method-box .work-method-list { @@ -1201,7 +1371,7 @@ html:has(.wrap.main) { gap: 12px; font-size: 16px; line-height: 1.6; - color: rgba(255, 255, 255, 0.9); + color: #ffffff; margin-bottom: 10px; } @media only screen and (max-width: 1439px) { @@ -1235,7 +1405,8 @@ html:has(.wrap.main) { } @media only screen and (max-width: 767px) { .value .service .data-comparison .comparison-item .work-method-box .work-method-list li .work-image { - height: 80px; + width: 100%; + height: auto; } .value .service .data-comparison .comparison-item .work-method-box .work-method-list li .work-image img { max-width: 100%; @@ -1323,7 +1494,7 @@ html:has(.wrap.main) { } @media only screen and (max-width: 767px) { .value .value-features .feature-card { - padding: 40px 16px 20px 16px; + padding: 94px 16px 2rem 16px; min-height: auto; height: auto; } @@ -1404,6 +1575,7 @@ html:has(.wrap.main) { font-weight: normal; transition: all 1s; text-wrap: balance; + word-break: keep-all; display: flex; align-items: flex-start; font-size: 20px; @@ -2220,7 +2392,7 @@ html:has(.wrap.main) { .provided .process { overflow: visible; /* 조상 overflow:hidden이면 position:sticky 비동작 */ } -@media only screen and (max-width: 767px) { +@media only screen and (max-width: 998px) { .provided .process { flex-direction: column; /* 모바일에서 .left가 min-width:100%면 .right에 공간이 남지 않음 → 세로 배치로 .right 노출 */ } @@ -2239,7 +2411,7 @@ html:has(.wrap.main) { position: sticky; top: 0; left: 0; - z-index: 1; + z-index: 10; overflow: visible; /* _layout-fix overflow: hidden 오버라이드 (hidden이면 sticky 비동작) */ } @media only screen and (max-width: 1439px) { @@ -2248,13 +2420,14 @@ html:has(.wrap.main) { padding-left: 100px; } } -@media only screen and (max-width: 767px) { +@media only screen and (max-width: 998px) { .provided .process .left { - position: relative; min-width: 100%; padding: 20px 16px; min-height: auto; gap: 16px; + background: #fff; + box-shadow: 0 8px 8px rgba(0, 0, 0, 0.07); } } .provided .process .left .bg:nth-child(1) { @@ -2262,38 +2435,81 @@ html:has(.wrap.main) { background-size: cover; background-position: bottom center; } +@media only screen and (max-width: 998px) { + .provided .process .left .bg:nth-child(1) { + background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.5019607843) 100%), url(../img/provided/bg_provided_natural_m.png); + background-size: cover; + background-position: center center; + } +} .provided .process .left .bg:nth-child(2) { background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.5019607843) 100%), url(../img/provided/bg_provided_social.png); background-size: cover; background-position: bottom center; } +@media only screen and (max-width: 998px) { + .provided .process .left .bg:nth-child(2) { + background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.5019607843) 100%), url(../img/provided/bg_provided_social_m.png); + background-size: cover; + background-position: center center; + } +} .provided .process .left .bg.on { transform: scale(1); } -.provided .process .left .mid-tit { +.provided .process .left .js-fixLeft-tit { + list-style: none; + padding: 0; + margin: 0; + display: flex; + flex-direction: column; + gap: 24px; +} +@media only screen and (max-width: 998px) { + .provided .process .left .js-fixLeft-tit { + gap: 0; + height: 8rem; + font-weight: 700; + } +} +.provided .process .left .js-fixLeft-tit li { transform: scale(0.7) translate(-47%, 0%); position: relative; display: block; font-size: 42px; + color: #fff; } @media only screen and (max-width: 1439px) { - .provided .process .left .mid-tit { + .provided .process .left .js-fixLeft-tit li { font-size: 36px; } } -@media only screen and (max-width: 767px) { - .provided .process .left .mid-tit { - font-size: 28px; +@media only screen and (max-width: 998px) { + .provided .process .left .js-fixLeft-tit li { + font-size: 1.8rem; transform: none; text-indent: 0; + cursor: pointer; + padding: 12px 0; + color: #000; + display: none; + } + .provided .process .left .js-fixLeft-tit li.on { + display: flex; + align-items: end; + height: 100%; } } -.provided .process .left .mid-tit .num { - display: none; +.provided .process .left .js-fixLeft-tit li strong { font-weight: 300; margin-right: 8px; } -.provided .process .left .mid-tit::after { +@media only screen and (max-width: 998px) { + .provided .process .left .js-fixLeft-tit li strong { + display: none; + } +} +.provided .process .left .js-fixLeft-tit li::after { position: absolute; content: "●"; top: 24px; @@ -2301,7 +2517,7 @@ html:has(.wrap.main) { font-size: 8px; display: none; } -.provided .process .left .mid-tit::before { +.provided .process .left .js-fixLeft-tit li::before { position: absolute; content: ""; top: 30px; @@ -2311,32 +2527,48 @@ html:has(.wrap.main) { background: linear-gradient(90deg, transparent 50%, #fff 100%); display: none; } -.provided .process .left .mid-tit.on { +.provided .process .left .js-fixLeft-tit li.on { transform: initial; text-indent: -66px; } -@media only screen and (max-width: 767px) { - .provided .process .left .mid-tit.on { - text-indent: 0; +@media only screen and (max-width: 998px) { + .provided .process .left .js-fixLeft-tit li.on { + font-size: 34px; } } -.provided .process .left .mid-tit.on strong { +@media only screen and (max-width: 998px) { + .provided .process .left .js-fixLeft-tit li.on { + text-indent: 0; + font-size: 26px; + } +} +.provided .process .left .js-fixLeft-tit li.on span { + color: var(--color-yellow); +} +.provided .process .left .js-fixLeft-tit li.on strong { font-weight: 700; color: var(--color-yellow); } -.provided .process .left .mid-tit.on .num { +@media only screen and (max-width: 998px) { + .provided .process .left .js-fixLeft-tit li.on strong { + color: #000; + } +} +.provided .process .left .js-fixLeft-tit li.on::after, .provided .process .left .js-fixLeft-tit li.on::before { display: initial; } -.provided .process .left .mid-tit.on::after, .provided .process .left .mid-tit.on::before { - display: initial; +@media only screen and (max-width: 998px) { + .provided .process .left .js-fixLeft-tit li.on::after, .provided .process .left .js-fixLeft-tit li.on::before { + display: none; + } } -@media only screen and (max-width: 767px) { - .provided .process .left .mid-tit.on::after, .provided .process .left .mid-tit.on::before { +@media only screen and (max-width: 998px) { + .provided .process .left .js-fixLeft-tit li::after, .provided .process .left .js-fixLeft-tit li::before { display: none; } } .provided .process .right { - padding: 200px 170px 100px 135px; + padding: 200px clamp(24px, 8.8541vw, 170px) 100px clamp(24px, 7.03125vw, 135px); display: flex; flex-direction: column; gap: 450px; @@ -2413,6 +2645,19 @@ html:has(.wrap.main) { } .provided .process .right .natural .cont-list { grid-template-columns: 1fr 1fr 1fr; + grid-auto-rows: 1fr; +} +@media only screen and (max-width: 1859px) { + .provided .process .right .natural .cont-list { + grid-template-columns: 1fr 1fr; + gap: 16px; + } +} +@media only screen and (max-width: 1279px) { + .provided .process .right .natural .cont-list { + grid-template-columns: 1fr; + gap: 20px; + } } .provided .process .right .natural .cont-list .cont-item { gap: 28px; @@ -2424,49 +2669,40 @@ html:has(.wrap.main) { position: relative; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr 1fr; + grid-auto-rows: 1fr; gap: 12px; } -@media only screen and (max-width: 1439px) { +@media only screen and (max-width: 1859px) { .provided .process .right .cont-list { grid-template-columns: 1fr 1fr; gap: 16px; } } -@media only screen and (max-width: 767px) { +@media only screen and (max-width: 1279px) { .provided .process .right .cont-list { grid-template-columns: 1fr; gap: 20px; } } -.provided .process .right .cont-list::before { - content: ""; - position: absolute; - left: 50%; - bottom: 42%; - width: 437px; - height: 89px; - translate: -50% 0; - background: url(../img/provided/img_arrow_natural.svg) no-repeat center bottom; - background-size: 100% auto; - pointer-events: none; - z-index: 2; -} -@media only screen and (max-width: 1439px) { +@media only screen and (min-width: 1860px) { .provided .process .right .cont-list::before { - width: 300px; - height: 60px; - } -} -@media only screen and (max-width: 767px) { - .provided .process .right .cont-list::before { - display: none; + content: ""; + position: absolute; + left: 50%; + bottom: 38%; + width: 947px; + height: 70px; + translate: -50% 0; + background: url(../img/provided/img_arrow_natural.svg) no-repeat center bottom; + background-size: contain; + pointer-events: none; + z-index: 2; } } .provided .process .right .cont-list .cont-item { position: relative; z-index: 1; /* cont-list::before( wave ) 위에 보이도록 */ flex-direction: column; - gap: 68px; display: flex; align-items: center; justify-content: space-between; @@ -2492,33 +2728,56 @@ html:has(.wrap.main) { box-sizing: border-box; } .provided .process .right .cont-list dl { - padding: 24px 12px; + padding: 24px 0px; width: 100%; - background: linear-gradient(180deg, #EAFFF1 0%, rgba(255, 255, 255, 0) 101.39%); + background: linear-gradient(180deg, #EAFFF1 0%, rgba(255, 255, 255, 0) 51.39%); gap: 18px; flex-direction: column; display: flex; align-items: center; justify-content: center; } +@media only screen and (max-width: 1859px) { + .provided .process .right .cont-list dl { + display: grid; + grid-template-columns: 1fr 1fr; + grid-template-rows: 80px auto; + height: 100%; + row-gap: 20px; + column-gap: 0; + padding: 24px 8px; + } +} @media only screen and (max-width: 767px) { .provided .process .right .cont-list dl { + grid-template-rows: 40px auto; padding: 20px 12px; - gap: 16px; + row-gap: 16px; + column-gap: 0; } } .provided .process .right .cont-list dl dt { font-size: 22px; font-weight: 700; } +@media only screen and (max-width: 1859px) { + .provided .process .right .cont-list dl dt { + grid-column: span 2; + text-align: center; + } +} @media only screen and (max-width: 1439px) { .provided .process .right .cont-list dl dt { font-size: 20px; + gap: 0.8rem; + display: flex; + align-items: center; + justify-content: center; } } @media only screen and (max-width: 767px) { .provided .process .right .cont-list dl dt { - font-size: 18px; + font-size: 1.6rem; } } .provided .process .right .cont-list dl dt i { @@ -2529,67 +2788,84 @@ html:has(.wrap.main) { margin-right: auto; margin-bottom: 4px; } -@media only screen and (max-width: 767px) { +@media only screen and (max-width: 1439px) { .provided .process .right .cont-list dl dt i { + display: inline-block; + margin: 0; width: 40px; height: 40px; } } +@media only screen and (max-width: 767px) { + .provided .process .right .cont-list dl dt i { + width: 2.8rem; + height: 2.8rem; + } +} .provided .process .right .cont-list dl dt i.ico-location { background: url(../img/ico/ico_location.svg) no-repeat center center; + background-size: contain; } .provided .process .right .cont-list dl dt i.ico-weather { background: url(../img/ico/ico_weather.svg) no-repeat center center; + background-size: contain; } .provided .process .right .cont-list dl dt i.ico-eco { background: url(../img/ico/ico_eco.svg) no-repeat center center; + background-size: contain; } .provided .process .right .cont-list dl dt i.ico-city { background: url(../img/ico/ico_city.svg) no-repeat center center; + background-size: contain; } .provided .process .right .cont-list dl dt i.ico-population { background: url(../img/ico/ico_population.svg) no-repeat center center; + background-size: contain; } .provided .process .right .cont-list dl dt i.ico-land { background: url(../img/ico/ico_land.svg) no-repeat center center; + background-size: contain; } .provided .process .right .cont-list dl dt i.ico-building { background: url(../img/ico/ico_building.svg) no-repeat center center; + background-size: contain; } .provided .process .right .cont-list dl dt i.ico-society { background: url(../img/ico/ico_society.svg) no-repeat center center; + background-size: contain; } .provided .process .right .cont-list dl dd { position: relative; width: 100%; - height: 196px; - padding: 16px 12px; - background-color: #fff; + height: 216px; border-radius: 4px; word-break: keep-all; } -@media only screen and (max-width: 1439px) { - .provided .process .right .cont-list dl dd { - height: auto; - min-height: 150px; +.provided .process .right .cont-list dl dd:has(ul) { + width: calc(100% - 24px); + background-color: #fff; + padding: 16px 8px; +} +@media only screen and (min-width: 1860px) { + .provided .process .right .cont-list dl dd:has(ul) { + margin-bottom: 48px; + } + .provided .process .right .cont-list dl dd:has(ul)::before { + background: linear-gradient(180deg, #DADADA 0%, rgba(218, 218, 218, 0) 100%); } } -@media only screen and (max-width: 767px) { - .provided .process .right .cont-list dl dd { - height: auto; - min-height: 120px; - padding: 12px; +@media only screen and (max-width: 1859px) { + .provided .process .right .cont-list dl dd:has(ul)::before { + background: linear-gradient(90deg, #DADADA 0%, #DADADA 40%, rgba(218, 218, 218, 0) 100%); } } -.provided .process .right .cont-list dl dd::before { +.provided .process .right .cont-list dl dd:has(ul)::before { content: " "; position: absolute; top: 0; left: 0; width: 100%; height: 100%; - background: linear-gradient(180deg, #DADADA 0%, rgba(218, 218, 218, 0) 100%); - box-sizing: border-box; inset: 0; mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; @@ -2598,6 +2874,25 @@ html:has(.wrap.main) { border-radius: inherit; padding: 1px; } +@media only screen and (max-width: 1859px) { + .provided .process .right .cont-list dl dd:has(ul)::after { + content: " "; + position: absolute; + top: 0; + right: 4px; + width: 13.1578%; + height: 100%; + background: url(../img/provided/img_arrow_natural_m.svg); + background-size: 100% auto; + background-position: center center; + background-repeat: no-repeat; + } +} +@media only screen and (max-width: 1859px) { + .provided .process .right .cont-list dl dd { + height: 100%; + } +} .provided .process .right .cont-list dl dd ul { list-style: none; padding: 0; @@ -2612,30 +2907,46 @@ html:has(.wrap.main) { @media only screen and (max-width: 767px) { .provided .process .right .cont-list dl dd li { margin: 8px 0; - font-size: 14px; + font-size: 1.4rem; } } .provided .process .right .natural .sub-tit { color: #00832A; } +.provided .process .right .natural .cont-list::before { + bottom: 40%; +} .provided .process .right .natural .cont-list dl dt { color: #00832A; } +@media only screen and (min-width: 1860px) { + .provided .process .right .natural .cont-list dl dd:has(ul) { + margin-bottom: 28px; + } +} .provided .process .right .social .sub-tit { color: #A55500; } -.provided .process .right .social .cont-list::before { - background-image: url(../img/provided/img_arrow_social.svg); +@media only screen and (min-width: 1860px) { + .provided .process .right .social .cont-list::before { + background-image: url(../img/provided/img_arrow_social.svg); + } } .provided .process .right .social .cont-list .cont-item::before { border-color: #A55500; } .provided .process .right .social .cont-list dl { - background: linear-gradient(180deg, #FFF2E5 0%, rgba(255, 255, 255, 0) 101.39%); + background: linear-gradient(180deg, #FFF2E5 0%, rgba(255, 255, 255, 0) 51.39%); } .provided .process .right .social .cont-list dl dt { color: #A55500; } +.provided .process .right .social .cont-list dl dd:has(ul)::after { + background: url(../img/provided/img_arrow_social_m.svg); + background-size: 100% auto; + background-position: center center; + background-repeat: no-repeat; +} .provided .process .right .social .sub-figs .fig-caption { background: linear-gradient(90deg, rgba(165, 85, 0, 0.5) 0%, rgba(165, 85, 0, 0) 100%), #6E412A; } @@ -2645,11 +2956,32 @@ html:has(.wrap.main) { border-radius: 4px; overflow: hidden; } +@media only screen and (max-width: 1859px) { + .provided .process .right .sub-figs { + position: relative; + height: 100%; + } + .provided .process .right .sub-figs img { + position: absolute; + height: auto; + top: 50%; + left: 50%; + translate: -50% -50%; + } + .provided .process .right .sub-figs .fig-caption { + position: absolute; + width: 100%; + left: 0; + bottom: 0; + } +} .provided .process .right .sub-figs .imgs { width: 100%; } .provided .process .right .sub-figs .imgs img { width: 100%; + max-width: auto; + height: 100%; } .provided .process .right .sub-figs .fig-caption { width: 100%; @@ -2771,49 +3103,52 @@ html:has(.wrap.main) { .provided .data-wrap { position: relative; } -.provided .data-wrap .data-core { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - z-index: 10; +.provided .data-wrap .data-inner { + position: relative; } -@media only screen and (max-width: 767px) { - .provided .data-wrap .data-core { - position: relative; - top: auto; - left: auto; - transform: none; +@media only screen and (min-width: 1024px) { + .provided .data-wrap .data-inner .data-core { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + z-index: 10; } } -.provided .data-wrap .data-core .core-oval { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - z-index: 10; +.provided .data-wrap .data-inner .data-core .core-oval { width: max-content; font-size: 22px; color: #0C4B32; line-height: 1.2; text-align: center; + margin: 0 auto 24px auto; } -.provided .data-wrap .data-core .core-oval strong { +@media only screen and (min-width: 1024px) { + .provided .data-wrap .data-inner .data-core .core-oval { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + margin-bottom: 0; + z-index: 10; + } +} +@media only screen and (max-width: 1023px) { + .provided .data-wrap .data-inner .data-core .core-oval { + font-size: 1.6rem; + } +} +.provided .data-wrap .data-inner .data-core .core-oval strong { display: block; font-size: 30px; font-weight: 700; } -@media only screen and (max-width: 1439px) { - .provided .data-wrap .data-core .core-oval strong { - font-size: 24px; +@media only screen and (max-width: 1023px) { + .provided .data-wrap .data-inner .data-core .core-oval strong { + font-size: 2rem; } } -@media only screen and (max-width: 767px) { - .provided .data-wrap .data-core .core-oval strong { - font-size: 20px; - } -} -.provided .data-provision { +.provided .data-wrap .data-inner .data-provision { position: relative; padding: 20px; border-radius: 150px; @@ -2828,7 +3163,7 @@ html:has(.wrap.main) { justify-content: space-between; overflow: visible; } -.provided .data-provision::before { +.provided .data-wrap .data-inner .data-provision::before { content: " "; position: absolute; top: 0; @@ -2845,7 +3180,7 @@ html:has(.wrap.main) { border-radius: inherit; padding: 1px; } -.provided .data-provision .data-bullet { +.provided .data-wrap .data-inner .data-provision .data-bullet { position: absolute; top: 0; left: 0; @@ -2861,42 +3196,90 @@ html:has(.wrap.main) { pointer-events: none; opacity: 0.5; } -.provided .data-provision .data-bullet.bullet-2 { +@media only screen and (max-width: 1023px) { + .provided .data-wrap .data-inner .data-provision .data-bullet { + width: 8px; + height: 8px; + } +} +.provided .data-wrap .data-inner .data-provision .data-bullet.bullet-2 { background: #886018; box-shadow: 0 0 8px rgba(167, 116, 24, 0.6); animation-delay: -5s; } -.provided .data-provision .data-categories { +.provided .data-wrap .data-inner .data-provision .data-categories { display: flex; justify-content: space-between; align-items: center; position: relative; - gap: 220px; width: 100%; } -.provided .data-provision .data-categories .category-item { +@media only screen and (min-width: 1024px) { + .provided .data-wrap .data-inner .data-provision .data-categories { + gap: 220px; + } +} +@media only screen and (max-width: 1023px) { + .provided .data-wrap .data-inner .data-provision .data-categories { + gap: 1.4rem; + } +} +.provided .data-wrap .data-inner .data-provision .data-categories .category-item { display: flex; flex-direction: column; align-items: center; gap: 40px; position: relative; } -.provided .data-provision .data-categories .category-item.spatial .category-circle { +.provided .data-wrap .data-inner .data-provision .data-categories .category-item.spatial .category-circle { background: linear-gradient(90deg, rgba(0, 0, 0, 0) 13.19%, rgba(0, 0, 0, 0.3) 87.92%), linear-gradient(0deg, rgba(26, 84, 61, 0) 15%, #1A543D 100%), linear-gradient(0deg, #1A543D 0%, #1A543D 100%); } -.provided .data-provision .data-categories .category-item.spatial .category-images { - left: -100px; +.provided .data-wrap .data-inner .data-provision .data-categories .category-item.spatial .category-images { + left: -60%; } -.provided .data-provision .data-categories .category-item.statistical .category-circle { +@media only screen and (max-width: 1023px) { + .provided .data-wrap .data-inner .data-provision .data-categories .category-item.spatial .category-images { + left: -46%; + } +} +@media only screen and (max-width: 1279px) { + .provided .data-wrap .data-inner .data-provision .data-categories .category-item.spatial .category-images::before { + left: -8px; + border-top: none; + border-right: none; + } +} +.provided .data-wrap .data-inner .data-provision .data-categories .category-item.statistical .category-circle { background: linear-gradient(90deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 74.74%), linear-gradient(0deg, #654A19 0%, #A77418 100%), linear-gradient(0deg, #1A543D 0%, #1A543D 100%); box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25); } -.provided .data-provision .data-categories .category-item.statistical .category-images { - right: -100px; +.provided .data-wrap .data-inner .data-provision .data-categories .category-item.statistical .category-images { + right: -56%; } -.provided .data-provision .data-categories .category-item .category-circle { - width: 234px; - height: 234px; +@media only screen and (max-width: 1023px) { + .provided .data-wrap .data-inner .data-provision .data-categories .category-item.statistical .category-images { + right: -46%; + } +} +@media only screen and (max-width: 1279px) { + .provided .data-wrap .data-inner .data-provision .data-categories .category-item.statistical .category-images::before { + left: auto; + right: -8px; + border-top: none; + border-left: none; + border-color: #8D6318; + } + .provided .data-wrap .data-inner .data-provision .data-categories .category-item.statistical .category-images:after { + left: auto; + right: -8px; + width: 8px; + height: 1px; + border-top: 1.5px dashed #8D6318; + } +} +.provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-circle { + width: clamp(112px, 31.11vw, 234px); + aspect-ratio: 1/1; border-radius: 50%; display: flex; flex-direction: column; @@ -2906,7 +3289,12 @@ html:has(.wrap.main) { box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2); position: relative; } -.provided .data-provision .data-categories .category-item .category-circle::before { +@media only screen and (max-width: 767px) { + .provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-circle { + gap: 8px; + } +} +.provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-circle::before { content: " "; position: absolute; top: 0; @@ -2925,7 +3313,7 @@ html:has(.wrap.main) { padding: 1px; padding: 4px; } -.provided .data-provision .data-categories .category-item .category-circle .category-icon { +.provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-circle .category-icon { width: 56px; height: 56px; display: flex; @@ -2933,21 +3321,37 @@ html:has(.wrap.main) { justify-content: center; z-index: 2; } -.provided .data-provision .data-categories .category-item .category-circle .category-icon img { +@media only screen and (max-width: 767px) { + .provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-circle .category-icon { + width: 36px; + height: 36px; + } + .provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-circle .category-icon img { + width: 36px; + height: 36px; + } +} +.provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-circle .category-icon img { width: 56px; height: 56px; object-fit: contain; } -.provided .data-provision .data-categories .category-item .category-circle .category-title { +.provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-circle .category-title { font-size: 24px; font-weight: 700; color: #fff; z-index: 2; } -.provided .data-provision .data-categories .category-item .category-images { +@media only screen and (max-width: 767px) { + .provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-circle .category-title { + font-size: 1.6rem; + } +} +.provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-images { position: absolute; top: 50%; height: 270px; + max-height: 122%; display: flex; flex-direction: column; gap: 15px; @@ -2956,7 +3360,54 @@ html:has(.wrap.main) { translate: 0 -50%; z-index: -1; } -.provided .data-provision .data-categories .category-item .category-images .image-item { +@media only screen and (max-width: 1279px) { + .provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-images::before { + content: " "; + position: absolute; + top: 50%; + left: -16px; + width: 65%; + height: 96%; + border: 1.5px dashed #268C64; + z-index: 1; + } +} +@media only screen and (max-width: 1279px) and (max-width: 1023px) { + .provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-images::before { + width: 50%; + height: 100%; + } +} +@media only screen and (max-width: 1279px) and (max-width: 991px) { + .provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-images::before { + height: 100%; + } +} +@media only screen and (max-width: 1279px) and (max-width: 767px) { + .provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-images::before { + left: -8px; + width: 48%; + height: 93.5%; + } +} +@media only screen and (max-width: 1279px) and (max-width: 575px) { + .provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-images::before { + height: 18rem; + } +} +@media only screen and (max-width: 1279px) { + .provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-images:after { + content: " "; + position: absolute; + top: 50%; + left: -8px; + width: 8px; + height: 1px; + border-top: 1.5px dashed #268C64; + z-index: 1; + } +} +.provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-images .image-item { width: auto; overflow: hidden; position: relative; @@ -2966,7 +3417,7 @@ html:has(.wrap.main) { align-items: center; gap: 15px; } -.provided .data-provision .data-categories .category-item .category-images .image-item::before { +.provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-images .image-item::before { content: ""; position: absolute; top: 50%; @@ -2977,191 +3428,196 @@ html:has(.wrap.main) { background: rgba(0, 0, 0, 0.3); z-index: 1; } -.provided .data-provision .data-categories .category-item .category-images .image-item:hover { +.provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-images .image-item:hover { transform: scale(1.05); } -.provided .data-provision .data-categories .category-item .category-images .image-item img { +.provided .data-wrap .data-inner .data-provision .data-categories .category-item .category-images .image-item img { width: 100%; height: 100%; flex-shrink: 0; } -.provided .data-provision .data-categories .category-item .category-images ul { - list-style: none; - padding: 0; - margin: 0; - display: flex; - flex-direction: column; - gap: 15px; - position: absolute; - left: -120px; - right: auto; - top: 0; - height: 100%; - justify-content: space-between; - align-items: flex-start; - z-index: 1; - user-select: text; +@media only screen and (min-width: 1280px) { + .provided .data-wrap .data-categories-list { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + z-index: 10; + width: 100%; + } } -@media only screen and (max-width: 767px) { - .provided .data-provision .data-categories .category-item .category-images ul { +@media only screen and (max-width: 1279px) { + .provided .data-wrap .data-categories-list { position: relative; - left: auto; - right: auto; - top: auto; - height: auto; + display: flex; + justify-content: space-between; + margin-top: 2.4rem; + padding: 0 2rem; + } + .provided .data-wrap .data-categories-list .fix { + position: relative; + display: flex; + flex-direction: column; + gap: 4px; + } + .provided .data-wrap .data-categories-list .fix::before { + content: " "; + position: absolute; + top: 50%; + width: 1.4rem; + height: 1.4rem; + border-radius: 50%; + background-color: #164734; + } + .provided .data-wrap .data-categories-list .fix.spatial::before { + left: 0%; + background-color: #164734; + translate: -50% -50%; + } + .provided .data-wrap .data-categories-list .fix.spatial li { + color: #164734; + background: rgba(22, 71, 52, 0.1); + font-weight: 500; + } + .provided .data-wrap .data-categories-list .fix.statistical::before { + right: 0%; + background-color: #8D6318; + translate: 50% -50%; + } + .provided .data-wrap .data-categories-list .fix.statistical li { + color: #8D6318; + background: rgba(141, 99, 24, 0.1); + font-weight: 500; + } + .provided .data-wrap .data-categories-list .fix li { + width: 180px; + padding: 10px 18px; + border-radius: 2px; + font-size: 20px; + font-weight: 500; + } +} +@media only screen and (max-width: 767px) { + .provided .data-wrap .data-categories-list .fix li { + padding: 6px 8px; + font-size: 1.4rem; + width: 10rem; + } +} +@media only screen and (min-width: 1280px) { + .provided .data-wrap .data-categories-list ul.fix.spatial { + position: absolute; + padding: 0; + margin: 0; + top: 50%; + left: -232px; + display: flex; + flex-direction: column; + gap: 15px; + width: 0; + height: 270px; + translate: 0 -50%; + justify-content: space-between; + align-items: flex-start; + z-index: 1; + user-select: text; + list-style: none; + } + .provided .data-wrap .data-categories-list ul.fix.spatial > li { + display: flex; align-items: center; + position: relative; + opacity: 0; + animation: fadeInRight 0.5s ease forwards; + } + .provided .data-wrap .data-categories-list ul.fix.spatial > li:nth-child(1) { + align-self: flex-start; + margin-left: 28px; + animation-delay: 0.1s; } } -.provided .data-provision .data-categories .category-item .category-images ul li { - position: relative; - padding-left: 20px; - font-size: 16px; - color: #000; - font-weight: 700; - white-space: nowrap; - opacity: 0; - transform: translateX(-10px); - animation: fadeInRight 0.5s ease forwards; - opacity: 0.9; -} -@media only screen and (max-width: 767px) { - .provided .data-provision .data-categories .category-item .category-images ul li { - padding-left: 0; - padding-right: 20px; - font-size: 14px; - white-space: normal; - } -} -.provided .data-provision .data-categories .category-item .category-images ul li:nth-child(1) { - animation-delay: 0.1s; -} -.provided .data-provision .data-categories .category-item .category-images ul li:nth-child(2) { - animation-delay: 0.2s; -} -.provided .data-provision .data-categories .category-item .category-images ul li:nth-child(3) { - animation-delay: 0.3s; -} -.provided .data-provision .data-categories .category-item .category-images ul li:nth-child(4) { - animation-delay: 0.4s; -} -.provided .data-provision .data-categories .category-item .category-images ul li::before { - content: ""; - position: absolute; - top: 50%; - transform: translateY(-50%) skew(-40deg); - width: 40px; - height: 1px; - border-bottom: 1px dashed #268C64; -} -@media only screen and (max-width: 767px) { - .provided .data-provision .data-categories .category-item .category-images ul li::before { - right: 0; - left: auto; - transform: translateY(-50%) skew(40deg); - } -} -.provided .data-provision .data-categories-list .spatial.fix { - padding: 0; - margin: 0; - display: flex; - flex-direction: column; - gap: 15px; - position: absolute; - left: -194px; - right: auto; - top: 50%; - width: 0; - height: 270px; - translate: 0 -50%; - justify-content: space-between; - align-items: flex-start; - z-index: 1; - user-select: text; - list-style: none; -} -.provided .data-provision .data-categories-list .spatial.fix > li { - display: flex; - align-items: center; - position: relative; - opacity: 0; - animation: fadeInRight 0.5s ease forwards; -} -.provided .data-provision .data-categories-list .spatial.fix > li:nth-child(1) { - align-self: flex-start; - margin-left: 40px; - animation-delay: 0.1s; -} -@media only screen and (max-width: 767px) { - .provided .data-provision .data-categories-list .spatial.fix > li:nth-child(1) { +@media only screen and (min-width: 1280px) and (max-width: 767px) { + .provided .data-wrap .data-categories-list ul.fix.spatial > li:nth-child(1) { align-self: center; margin-left: 0; } } -.provided .data-provision .data-categories-list .spatial.fix > li:nth-child(1) .dot { - top: calc(50% + 4px); - transform: skewY(20deg); +@media only screen and (min-width: 1280px) { + .provided .data-wrap .data-categories-list ul.fix.spatial > li:nth-child(1) .dot { + top: calc(50% + 4px); + transform: skewY(20deg); + } + .provided .data-wrap .data-categories-list ul.fix.spatial > li:nth-child(1) .dot::before { + transform: translate(-50%, -50%) skewY(-20deg); + } + .provided .data-wrap .data-categories-list ul.fix.spatial > li:nth-child(2) { + align-self: flex-start; + margin-left: -38px; + animation-delay: 0.2s; + } } -.provided .data-provision .data-categories-list .spatial.fix > li:nth-child(1) .dot::before { - transform: translate(50%, -50%) skewY(-20deg); -} -.provided .data-provision .data-categories-list .spatial.fix > li:nth-child(2) { - align-self: flex-start; - margin-left: -24px; - animation-delay: 0.2s; -} -@media only screen and (max-width: 767px) { - .provided .data-provision .data-categories-list .spatial.fix > li:nth-child(2) { +@media only screen and (min-width: 1280px) and (max-width: 767px) { + .provided .data-wrap .data-categories-list ul.fix.spatial > li:nth-child(2) { align-self: center; margin-left: 0; } } -.provided .data-provision .data-categories-list .spatial.fix > li:nth-child(3) { - align-self: flex-start; - animation-delay: 0.3s; +@media only screen and (min-width: 1280px) { + .provided .data-wrap .data-categories-list ul.fix.spatial > li:nth-child(3) { + align-self: flex-start; + margin-left: -12px; + animation-delay: 0.3s; + } } -@media only screen and (max-width: 767px) { - .provided .data-provision .data-categories-list .spatial.fix > li:nth-child(3) { +@media only screen and (min-width: 1280px) and (max-width: 767px) { + .provided .data-wrap .data-categories-list ul.fix.spatial > li:nth-child(3) { align-self: center; } } -.provided .data-provision .data-categories-list .spatial.fix > li:nth-child(4) { - align-self: flex-start; - margin-left: 4px; - animation-delay: 0.4s; +@media only screen and (min-width: 1280px) { + .provided .data-wrap .data-categories-list ul.fix.spatial > li:nth-child(4) { + align-self: flex-start; + margin-left: -6px; + animation-delay: 0.4s; + } } -@media only screen and (max-width: 767px) { - .provided .data-provision .data-categories-list .spatial.fix > li:nth-child(4) { +@media only screen and (min-width: 1280px) and (max-width: 767px) { + .provided .data-wrap .data-categories-list ul.fix.spatial > li:nth-child(4) { align-self: center; margin-left: 0; } } -.provided .data-provision .data-categories-list .spatial.fix > li:nth-child(4) .dot { - top: -50%; - transform: skewY(-20deg); +@media only screen and (min-width: 1280px) { + .provided .data-wrap .data-categories-list ul.fix.spatial > li:nth-child(4) .dot { + top: -50%; + transform: skewY(-20deg); + } + .provided .data-wrap .data-categories-list ul.fix.spatial > li:nth-child(4) .dot::before { + transform: translate(-50%, -50%) skewY(20deg); + } + .provided .data-wrap .data-categories-list ul.fix.spatial [class^=fix-] { + order: 1; + } } -.provided .data-provision .data-categories-list .spatial.fix > li:nth-child(4) .dot::before { - transform: translate(50%, -50%) skewY(20deg); -} -.provided .data-provision .data-categories-list .spatial.fix [class^=fix-] { - order: 1; -} -@media only screen and (max-width: 767px) { - .provided .data-provision .data-categories-list .spatial.fix [class^=fix-] { +@media only screen and (min-width: 1280px) and (max-width: 767px) { + .provided .data-wrap .data-categories-list ul.fix.spatial [class^=fix-] { order: 2; } } -.provided .data-provision .data-categories-list .spatial.fix [class^=fix-] p { - margin: 0; - padding-right: 12px; - font-size: 16px; - font-weight: 700; - white-space: nowrap; - display: flex; - flex-direction: column; - align-items: flex-start; +@media only screen and (min-width: 1280px) { + .provided .data-wrap .data-categories-list ul.fix.spatial [class^=fix-] p { + margin: 0; + padding-right: 12px; + font-size: 16px; + font-weight: 700; + white-space: nowrap; + display: flex; + flex-direction: column; + align-items: flex-start; + } } -@media only screen and (max-width: 767px) { - .provided .data-provision .data-categories-list .spatial.fix [class^=fix-] p { +@media only screen and (min-width: 1280px) and (max-width: 767px) { + .provided .data-wrap .data-categories-list ul.fix.spatial [class^=fix-] p { padding-right: 0; padding-left: 12px; align-items: flex-end; @@ -3169,150 +3625,168 @@ html:has(.wrap.main) { white-space: normal; } } -.provided .data-provision .data-categories-list .spatial.fix [class^=fix-] p span { - font-size: 11px; - font-weight: 500; - color: #268C64; - opacity: 0.75; - margin-top: 2px; +@media only screen and (min-width: 1280px) { + .provided .data-wrap .data-categories-list ul.fix.spatial [class^=fix-] p span { + font-size: 11px; + font-weight: 500; + color: #268C64; + opacity: 0.75; + margin-top: 2px; + } + .provided .data-wrap .data-categories-list ul.fix.spatial .dot { + order: 2; + position: relative; + flex-shrink: 0; + width: 50px; + height: 0; + border-top: 1px dashed #268C64; + } } -.provided .data-provision .data-categories-list .spatial.fix .dot { - order: 2; - position: relative; - flex-shrink: 0; - width: 50px; - height: 0; - border-top: 1px dashed #268C64; -} -@media only screen and (max-width: 767px) { - .provided .data-provision .data-categories-list .spatial.fix .dot { +@media only screen and (min-width: 1280px) and (max-width: 767px) { + .provided .data-wrap .data-categories-list ul.fix.spatial .dot { order: 1; width: 40px; } } -.provided .data-provision .data-categories-list .spatial.fix .dot::before { - content: ""; - position: absolute; - right: 0; - top: 50%; - width: 6px; - height: 6px; - border-radius: 50%; - background: #1A543D; - border: 2px solid #268C64; - box-shadow: 0 0 0 2px rgba(38, 140, 100, 0.2); - transform: translate(50%, -50%); -} -@media only screen and (max-width: 767px) { - .provided .data-provision .data-categories-list .spatial.fix .dot::before { - left: 0; - right: auto; +@media only screen and (min-width: 1280px) { + .provided .data-wrap .data-categories-list ul.fix.spatial .dot::before { + content: ""; + position: absolute; + left: 100%; + top: 50%; + width: 6px; + height: 6px; + border-radius: 50%; + background: #1A543D; + border: 2px solid #268C64; + box-shadow: 0 0 0 2px rgba(38, 140, 100, 0.2); transform: translate(-50%, -50%); } } -.provided .data-provision .data-categories-list .statistical.fix { - padding: 0; - margin: 0; - display: flex; - flex-direction: column; - gap: 15px; - position: absolute; - right: -72px; - left: auto; - top: 50%; - width: 0; - list-style: none; - height: 270px; - translate: 0 -50%; - justify-content: space-between; - align-items: flex-start; - z-index: 1; - user-select: text; +@media only screen and (min-width: 1280px) and (max-width: 767px) { + .provided .data-wrap .data-categories-list ul.fix.spatial .dot::before { + left: 0; + transform: translate(-50%, -50%); + } } -.provided .data-provision .data-categories-list .statistical.fix > li { - display: flex; - align-items: center; - position: relative; - opacity: 0; - animation: fadeInRight 0.5s ease forwards; +@media only screen and (min-width: 1280px) { + .provided .data-wrap .data-categories-list ul.fix.statistical { + padding: 0; + margin: 0; + display: flex; + flex-direction: column; + gap: 15px; + position: absolute; + right: -110px; + left: auto; + top: 50%; + width: 0; + list-style: none; + height: 270px; + translate: 0 -50%; + justify-content: space-between; + align-items: flex-start; + z-index: 1; + user-select: text; + } + .provided .data-wrap .data-categories-list ul.fix.statistical > li { + display: flex; + align-items: center; + position: relative; + opacity: 0; + animation: fadeInRight 0.5s ease forwards; + } + .provided .data-wrap .data-categories-list ul.fix.statistical > li:nth-child(1) { + align-self: flex-start; + margin-left: -40px; + animation-delay: 0.1s; + } } -.provided .data-provision .data-categories-list .statistical.fix > li:nth-child(1) { - align-self: flex-start; - margin-left: -40px; - animation-delay: 0.1s; -} -@media only screen and (max-width: 767px) { - .provided .data-provision .data-categories-list .statistical.fix > li:nth-child(1) { +@media only screen and (min-width: 1280px) and (max-width: 767px) { + .provided .data-wrap .data-categories-list ul.fix.statistical > li:nth-child(1) { align-self: center; margin-left: 0; } } -.provided .data-provision .data-categories-list .statistical.fix > li:nth-child(1) .dot { - top: calc(50% + 4px); - transform: skewY(-20deg); +@media only screen and (min-width: 1280px) { + .provided .data-wrap .data-categories-list ul.fix.statistical > li:nth-child(1) .dot { + top: calc(50% + 4px); + transform: skewY(-20deg); + } + .provided .data-wrap .data-categories-list ul.fix.statistical > li:nth-child(1) .dot::before { + transform: translate(-50%, -50%) skewY(20deg); + } + .provided .data-wrap .data-categories-list ul.fix.statistical > li:nth-child(2) { + align-self: flex-start; + margin-left: -2px; + animation-delay: 0.2s; + } } -.provided .data-provision .data-categories-list .statistical.fix > li:nth-child(1) .dot::before { - transform: translate(-50%, -50%) skewY(20deg); -} -.provided .data-provision .data-categories-list .statistical.fix > li:nth-child(2) { - align-self: flex-start; - margin-left: -2px; - animation-delay: 0.2s; -} -@media only screen and (max-width: 767px) { - .provided .data-provision .data-categories-list .statistical.fix > li:nth-child(2) { +@media only screen and (min-width: 1280px) and (max-width: 767px) { + .provided .data-wrap .data-categories-list ul.fix.statistical > li:nth-child(2) { align-self: center; margin-left: 0; } } -.provided .data-provision .data-categories-list .statistical.fix > li:nth-child(3) { - align-self: flex-start; - animation-delay: 0.3s; +@media only screen and (min-width: 1280px) { + .provided .data-wrap .data-categories-list ul.fix.statistical > li:nth-child(3) { + align-self: flex-start; + animation-delay: 0.3s; + } } -@media only screen and (max-width: 767px) { - .provided .data-provision .data-categories-list .statistical.fix > li:nth-child(3) { +@media only screen and (min-width: 1280px) and (max-width: 767px) { + .provided .data-wrap .data-categories-list ul.fix.statistical > li:nth-child(3) { align-self: center; } } -.provided .data-provision .data-categories-list .statistical.fix > li:nth-child(4) { - align-self: flex-start; - margin-left: -36px; - animation-delay: 0.4s; +@media only screen and (min-width: 1280px) { + .provided .data-wrap .data-categories-list ul.fix.statistical > li:nth-child(4) { + align-self: flex-start; + margin-left: -36px; + animation-delay: 0.4s; + } } -@media only screen and (max-width: 767px) { - .provided .data-provision .data-categories-list .statistical.fix > li:nth-child(4) { +@media only screen and (min-width: 1280px) and (max-width: 767px) { + .provided .data-wrap .data-categories-list ul.fix.statistical > li:nth-child(4) { align-self: center; margin-left: 0; } } -.provided .data-provision .data-categories-list .statistical.fix > li:nth-child(4) .dot { - top: -50%; - transform: skewY(20deg); +@media only screen and (min-width: 1280px) { + .provided .data-wrap .data-categories-list ul.fix.statistical > li:nth-child(4) .dot { + top: -50%; + transform: skewY(20deg); + } + .provided .data-wrap .data-categories-list ul.fix.statistical > li:nth-child(4) .dot::before { + transform: translate(-50%, -50%) skewY(-20deg); + } + .provided .data-wrap .data-categories-list ul.fix.statistical > li .dot { + transform: skew(-40deg); + } + .provided .data-wrap .data-categories-list [class^=fix-] { + order: 2; + } } -.provided .data-provision .data-categories-list .statistical.fix > li:nth-child(4) .dot::before { - transform: translate(-50%, -50%) skewY(-20deg); -} -.provided .data-provision .data-categories-list .statistical.fix [class^=fix-] { - order: 2; -} -@media only screen and (max-width: 767px) { - .provided .data-provision .data-categories-list .statistical.fix [class^=fix-] { +@media only screen and (min-width: 1280px) and (max-width: 767px) { + .provided .data-wrap .data-categories-list [class^=fix-] { order: 1; } } -.provided .data-provision .data-categories-list .statistical.fix [class^=fix-] p { - margin: 0; - padding-left: 12px; - font-size: 16px; - color: #000; - font-weight: 700; - white-space: nowrap; - display: flex; - flex-direction: column; - align-items: flex-end; +@media only screen and (min-width: 1280px) { + .provided .data-wrap .data-categories-list [class^=fix-] p { + margin: 0; + padding-left: 12px; + font-size: 16px; + color: #000; + font-weight: 700; + white-space: nowrap; + display: flex; + flex-direction: column; + align-items: flex-end; + } } -@media only screen and (max-width: 767px) { - .provided .data-provision .data-categories-list .statistical.fix [class^=fix-] p { +@media only screen and (min-width: 1280px) and (max-width: 767px) { + .provided .data-wrap .data-categories-list [class^=fix-] p { padding-left: 0; padding-right: 12px; align-items: flex-start; @@ -3320,49 +3794,67 @@ html:has(.wrap.main) { white-space: normal; } } -.provided .data-provision .data-categories-list .statistical.fix [class^=fix-] p span { - font-size: 11px; - font-weight: 500; - color: #8D6318; - opacity: 0.85; - margin-top: 2px; +@media only screen and (min-width: 1280px) { + .provided .data-wrap .data-categories-list [class^=fix-] p span { + font-size: 11px; + font-weight: 500; + color: #8D6318; + opacity: 0.85; + margin-top: 2px; + } + .provided .data-wrap .data-categories-list .dot { + order: 1; + position: relative; + flex-shrink: 0; + width: 50px; + height: 0; + border-top: 1px dashed #8D6318; + } } -.provided .data-provision .data-categories-list .statistical.fix .dot { - order: 1; - position: relative; - flex-shrink: 0; - width: 50px; - height: 0; - border-top: 1px dashed #8D6318; - transform: skew(-40deg); -} -@media only screen and (max-width: 767px) { - .provided .data-provision .data-categories-list .statistical.fix .dot { +@media only screen and (min-width: 1280px) and (max-width: 767px) { + .provided .data-wrap .data-categories-list .dot { order: 2; width: 40px; } } -.provided .data-provision .data-categories-list .statistical.fix .dot::before { - content: ""; - position: absolute; - left: 0; - top: 50%; - width: 6px; - height: 6px; - border-radius: 50%; - background: #805B18; - border: 2px solid #8D6318; - box-shadow: 0 0 0 2px rgba(141, 99, 24, 0.2); - transform: translate(-50%, -50%) skew(40deg); +@media only screen and (min-width: 1280px) { + .provided .data-wrap .data-categories-list .dot::before { + content: ""; + position: absolute; + left: 0; + top: 50%; + width: 6px; + height: 6px; + border-radius: 50%; + background: #805B18; + border: 2px solid #8D6318; + box-shadow: 0 0 0 2px rgba(141, 99, 24, 0.2); + transform: translate(-50%, -50%) skew(40deg); + } } -@media only screen and (max-width: 767px) { - .provided .data-provision .data-categories-list .statistical.fix .dot::before { +@media only screen and (min-width: 1280px) and (max-width: 767px) { + .provided .data-wrap .data-categories-list .dot::before { right: 0; left: auto; transform: translate(50%, -50%) skew(-40deg); } } +@keyframes moveBullet { + to { + offset-distance: 100%; + } +} +@keyframes fadeInRight { + from { + opacity: 0; + transform: translateX(-20px); + } + to { + opacity: 1; + transform: translateX(0); + } +} @keyframes expand-primary { 0% { width: 0; @@ -4861,7 +5353,7 @@ html:has(.wrap.main) { .analysis .statistics .statistics02 .sub-figs .apx { position: absolute; top: 10.084%; - left: 11.4674%; + left: 11.7475%; width: 83.8678%; } .analysis .statistics .statistics03 .sub-figs .apx { @@ -5415,6 +5907,7 @@ html:has(.wrap.main) { } .results-wrap .tab-panels { flex: 1; + position: relative; display: flex; flex-direction: column; min-height: 0; @@ -5536,11 +6029,18 @@ html:has(.wrap.main) { mask-repeat: no-repeat; } .results-wrap .tab-content { - position: relative; - display: none; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: flex; + flex-direction: column; width: 100%; overflow: visible; - flex: 1; + opacity: 0; + pointer-events: none; + transition: opacity 0.35s ease-out; background-repeat: no-repeat, no-repeat; background-position: left bottom, right bottom; background-image: url(../img/results/bg_natural_left.png), url(../img/results/bg_grid.png); @@ -5560,8 +6060,8 @@ html:has(.wrap.main) { background-size: 31.927% auto, 100% auto; } .results-wrap .tab-content.on { - display: flex; - flex-direction: column; + opacity: 1; + pointer-events: auto; } .results-wrap .tab-content.on .report-page { transition: opacity 0.6s ease-out, transform 0.6s ease-out; @@ -6650,31 +7150,35 @@ body.loaded .results-wrap { color: #666; } -.board-list { +.board-wrap { width: 100%; - overflow-x: auto; - overflow-y: hidden; display: flex; flex-direction: column; gap: 30px; } -.board-list table { +.board-wrap .board-list { + width: 100%; + overflow-x: auto; + overflow-y: hidden; + -webkit-overflow-scrolling: touch; +} +.board-wrap table { table-layout: fixed; min-width: 1024px; width: 100%; font-size: 16px; } -.board-list table thead tr th { +.board-wrap table thead tr th { height: 48px; font-weight: 500; border-bottom: 1px solid #000; border-top: 2px solid #000; white-space: nowrap; } -.board-list table tbody tr:hover { +.board-wrap table tbody tr:hover { background-color: #fafafa; } -.board-list table tbody tr td, .board-list table tbody tr th { +.board-wrap table tbody tr td, .board-wrap table tbody tr th { color: #555; height: 60px; padding: 0 10px; @@ -6685,17 +7189,17 @@ body.loaded .results-wrap { text-overflow: ellipsis; white-space: nowrap; } -.board-list table .right { +.board-wrap table .right { text-align: right; } -.board-list table .left { +.board-wrap table .left { text-align: left; max-width: 300px; /* 필요에 맞게 조정 */ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } -.board-list table .title-text { +.board-wrap table .title-text { display: inline-block; max-width: calc(100% - 120px); /* 뱃지 영역 확보 */ vertical-align: middle; @@ -6703,31 +7207,31 @@ body.loaded .results-wrap { overflow: hidden; text-overflow: ellipsis; } -.board-list table .row-notice td { +.board-wrap table .row-notice td { background: #f0f0f0; } -.board-list table small { +.board-wrap table small { color: #999; font-size: 0.8em; vertical-align: bottom; } -.board-list [class^=status] { +.board-wrap [class^=status] { color: #777; } -.board-list { +.board-wrap { /* 답변완료 (연한 초록, 기존 유지) */ } -.board-list .status-done { +.board-wrap .status-done { padding: 6px 10px; color: #38b000; /* 연한 초록 */ border-radius: 4px; background: rgba(56, 176, 0, 0.08); /* 초록 파스텔 배경 */ font-weight: 700; } -.board-list { +.board-wrap { /* 문의접수 (빨강 글씨 + 연한 빨강 배경) */ } -.board-list .status-wait { +.board-wrap .status-wait { padding: 6px 10px; color: #ef4444; /* 빨강 */ background: rgba(239, 68, 68, 0.1); /* 연빨강 배경 */ @@ -6735,12 +7239,12 @@ body.loaded .results-wrap { font-weight: 700; display: inline-block; } -.board-list { +.board-wrap { /* 문의검토 / 정밀검토 / 패치예정 (회색 바탕, 검정 글씨) */ } -.board-list .status-review, -.board-list .status-deep, -.board-list .status-patch { +.board-wrap .status-review, +.board-wrap .status-deep, +.board-wrap .status-patch { padding: 6px 10px; color: #777777; /* 검정 글씨 */ background: #f0f0f0; /* 연회색 배경 */ @@ -6748,14 +7252,14 @@ body.loaded .results-wrap { font-weight: 600; display: inline-block; } -.board-list .pagination { +.board-wrap .pagination { display: flex; align-items: center; justify-content: center; margin: 30px 0; gap: 12px; } -.board-list .pagination a, .board-list .pagination span { +.board-wrap .pagination a, .board-wrap .pagination span { display: flex; justify-content: center; align-items: center; @@ -6764,15 +7268,15 @@ body.loaded .results-wrap { font-size: 14px; border-radius: 30px; } -.board-list .pagination a:hover { +.board-wrap .pagination a:hover { background-color: #f0f0f0; } -.board-list .pagination .current { +.board-wrap .pagination .current { background-color: #000; color: #fff; } -.board-list .pagination .next, -.board-list .pagination .prev { +.board-wrap .pagination .next, +.board-wrap .pagination .prev { width: 32px; height: 32px; text-indent: -9999px; @@ -6781,13 +7285,13 @@ body.loaded .results-wrap { background-position: center; background-size: auto; } -.board-list .pagination .prev { +.board-wrap .pagination .prev { background-image: url(../img/ico/ico_arrow_page_left.svg); } -.board-list .pagination .next { +.board-wrap .pagination .next { background-image: url(../img/ico/ico_arrow_page_right.svg); } -.board-list .btn-write { +.board-wrap .btn-write { background-color: #000; display: flex; align-items: center; diff --git a/kngil/download/KNGIL_leaflet.pdf b/kngil/download/KNGIL_leaflet.pdf new file mode 100644 index 0000000..fe03c3d Binary files /dev/null and b/kngil/download/KNGIL_leaflet.pdf differ diff --git a/kngil/img/_favicon.svg b/kngil/img/_favicon.svg new file mode 100644 index 0000000..7480a13 --- /dev/null +++ b/kngil/img/_favicon.svg @@ -0,0 +1,25 @@ + + + + + + + Layer 1 + + + + + + + + \ No newline at end of file diff --git a/kngil/img/analysis/bg_analysis_title.jpg b/kngil/img/analysis/bg_analysis_title.jpg new file mode 100644 index 0000000..0a3e873 Binary files /dev/null and b/kngil/img/analysis/bg_analysis_title.jpg differ diff --git a/kngil/img/analysis/bg_attribute_title.png b/kngil/img/analysis/bg_attribute_title.png new file mode 100644 index 0000000..567d3f1 Binary files /dev/null and b/kngil/img/analysis/bg_attribute_title.png differ diff --git a/kngil/img/analysis/bg_spatial_title.png b/kngil/img/analysis/bg_spatial_title.png new file mode 100644 index 0000000..0b3fc8b Binary files /dev/null and b/kngil/img/analysis/bg_spatial_title.png differ diff --git a/kngil/img/analysis/bg_statistics_title.png b/kngil/img/analysis/bg_statistics_title.png new file mode 100644 index 0000000..7c93ff1 Binary files /dev/null and b/kngil/img/analysis/bg_statistics_title.png differ diff --git a/kngil/img/analysis/ico_marker.svg b/kngil/img/analysis/ico_marker.svg new file mode 100644 index 0000000..a2da1f9 --- /dev/null +++ b/kngil/img/analysis/ico_marker.svg @@ -0,0 +1,3 @@ + + + diff --git a/kngil/img/analysis/img_attribute_01.png b/kngil/img/analysis/img_attribute_01.png new file mode 100644 index 0000000..ff4866d Binary files /dev/null and b/kngil/img/analysis/img_attribute_01.png differ diff --git a/kngil/img/analysis/img_attribute_02.png b/kngil/img/analysis/img_attribute_02.png new file mode 100644 index 0000000..ebc4813 Binary files /dev/null and b/kngil/img/analysis/img_attribute_02.png differ diff --git a/kngil/img/analysis/img_attribute_03.png b/kngil/img/analysis/img_attribute_03.png new file mode 100644 index 0000000..a0afe32 Binary files /dev/null and b/kngil/img/analysis/img_attribute_03.png differ diff --git a/kngil/img/analysis/img_spatial_01.svg b/kngil/img/analysis/img_spatial_01.svg new file mode 100644 index 0000000..5629539 --- /dev/null +++ b/kngil/img/analysis/img_spatial_01.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/kngil/img/analysis/img_spatial_01_apx.svg b/kngil/img/analysis/img_spatial_01_apx.svg new file mode 100644 index 0000000..3f22fde --- /dev/null +++ b/kngil/img/analysis/img_spatial_01_apx.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + diff --git a/kngil/img/analysis/img_spatial_01_apx_.svg b/kngil/img/analysis/img_spatial_01_apx_.svg new file mode 100644 index 0000000..8a4d9cb --- /dev/null +++ b/kngil/img/analysis/img_spatial_01_apx_.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/kngil/img/analysis/img_spatial_02.png b/kngil/img/analysis/img_spatial_02.png new file mode 100644 index 0000000..252b7c3 Binary files /dev/null and b/kngil/img/analysis/img_spatial_02.png differ diff --git a/kngil/img/analysis/img_spatial_02_apx.svg b/kngil/img/analysis/img_spatial_02_apx.svg new file mode 100644 index 0000000..2eb37d9 --- /dev/null +++ b/kngil/img/analysis/img_spatial_02_apx.svg @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/kngil/img/analysis/img_spatial_02_apx_.svg b/kngil/img/analysis/img_spatial_02_apx_.svg new file mode 100644 index 0000000..03ce4e6 --- /dev/null +++ b/kngil/img/analysis/img_spatial_02_apx_.svg @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/kngil/img/analysis/img_spatial_03.png b/kngil/img/analysis/img_spatial_03.png new file mode 100644 index 0000000..5f82cb8 Binary files /dev/null and b/kngil/img/analysis/img_spatial_03.png differ diff --git a/kngil/img/analysis/img_spatial_03_apx.svg b/kngil/img/analysis/img_spatial_03_apx.svg new file mode 100644 index 0000000..2d0a151 --- /dev/null +++ b/kngil/img/analysis/img_spatial_03_apx.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/kngil/img/analysis/img_spatial_03_apx_.svg b/kngil/img/analysis/img_spatial_03_apx_.svg new file mode 100644 index 0000000..4d47149 --- /dev/null +++ b/kngil/img/analysis/img_spatial_03_apx_.svg @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/kngil/img/analysis/img_statistics_01.png b/kngil/img/analysis/img_statistics_01.png new file mode 100644 index 0000000..2597e7d Binary files /dev/null and b/kngil/img/analysis/img_statistics_01.png differ diff --git a/kngil/img/analysis/img_statistics_01_apx.svg b/kngil/img/analysis/img_statistics_01_apx.svg new file mode 100644 index 0000000..e740eff --- /dev/null +++ b/kngil/img/analysis/img_statistics_01_apx.svg @@ -0,0 +1,341 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/kngil/img/analysis/img_statistics_02.jpg b/kngil/img/analysis/img_statistics_02.jpg new file mode 100644 index 0000000..488ca9a Binary files /dev/null and b/kngil/img/analysis/img_statistics_02.jpg differ diff --git a/kngil/img/analysis/img_statistics_02.png b/kngil/img/analysis/img_statistics_02.png new file mode 100644 index 0000000..5507b26 Binary files /dev/null and b/kngil/img/analysis/img_statistics_02.png differ diff --git a/kngil/img/analysis/img_statistics_02.svg b/kngil/img/analysis/img_statistics_02.svg new file mode 100644 index 0000000..1b856ce --- /dev/null +++ b/kngil/img/analysis/img_statistics_02.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/kngil/img/analysis/img_statistics_02_apx.svg b/kngil/img/analysis/img_statistics_02_apx.svg new file mode 100644 index 0000000..c53eecf --- /dev/null +++ b/kngil/img/analysis/img_statistics_02_apx.svg @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/kngil/img/analysis/img_statistics_03.jpg b/kngil/img/analysis/img_statistics_03.jpg new file mode 100644 index 0000000..5521c12 Binary files /dev/null and b/kngil/img/analysis/img_statistics_03.jpg differ diff --git a/kngil/img/analysis/img_statistics_03.png b/kngil/img/analysis/img_statistics_03.png new file mode 100644 index 0000000..fc465b0 Binary files /dev/null and b/kngil/img/analysis/img_statistics_03.png differ diff --git a/kngil/img/analysis/img_statistics_03_apx.svg b/kngil/img/analysis/img_statistics_03_apx.svg new file mode 100644 index 0000000..7ee9f35 --- /dev/null +++ b/kngil/img/analysis/img_statistics_03_apx.svg @@ -0,0 +1,261 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/kngil/img/atom_line.svg b/kngil/img/atom_line.svg new file mode 100644 index 0000000..b9764c3 --- /dev/null +++ b/kngil/img/atom_line.svg @@ -0,0 +1,21 @@ + + + + + + + + diff --git a/kngil/img/bg_atom_line.svg b/kngil/img/bg_atom_line.svg new file mode 100644 index 0000000..b25eb5c --- /dev/null +++ b/kngil/img/bg_atom_line.svg @@ -0,0 +1,33 @@ + + + + + + + + + \ No newline at end of file diff --git a/kngil/img/bg_atom_obj.png b/kngil/img/bg_atom_obj.png new file mode 100644 index 0000000..8ffbffe Binary files /dev/null and b/kngil/img/bg_atom_obj.png differ diff --git a/kngil/img/bg_atom_obj.svg b/kngil/img/bg_atom_obj.svg new file mode 100644 index 0000000..0130e92 --- /dev/null +++ b/kngil/img/bg_atom_obj.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/kngil/img/buy/bg_buy_content.png b/kngil/img/buy/bg_buy_content.png new file mode 100644 index 0000000..b6a95ff Binary files /dev/null and b/kngil/img/buy/bg_buy_content.png differ diff --git a/kngil/img/buy/bg_buy_title.jpg b/kngil/img/buy/bg_buy_title.jpg new file mode 100644 index 0000000..c0fc503 Binary files /dev/null and b/kngil/img/buy/bg_buy_title.jpg differ diff --git a/kngil/img/buy/bg_buy_title.png b/kngil/img/buy/bg_buy_title.png new file mode 100644 index 0000000..fd9736d Binary files /dev/null and b/kngil/img/buy/bg_buy_title.png differ diff --git a/kngil/img/buy/bg_grid.png b/kngil/img/buy/bg_grid.png new file mode 100644 index 0000000..4627330 Binary files /dev/null and b/kngil/img/buy/bg_grid.png differ diff --git a/kngil/img/buy/ico-alert.svg b/kngil/img/buy/ico-alert.svg new file mode 100644 index 0000000..ff5d85f --- /dev/null +++ b/kngil/img/buy/ico-alert.svg @@ -0,0 +1,3 @@ + + + diff --git a/kngil/img/buy/ico_brochure.svg b/kngil/img/buy/ico_brochure.svg new file mode 100644 index 0000000..44f1e69 --- /dev/null +++ b/kngil/img/buy/ico_brochure.svg @@ -0,0 +1,3 @@ + + + diff --git a/kngil/img/buy/ico_contact.svg b/kngil/img/buy/ico_contact.svg new file mode 100644 index 0000000..12c36f9 --- /dev/null +++ b/kngil/img/buy/ico_contact.svg @@ -0,0 +1,3 @@ + + + diff --git a/kngil/img/buy/ico_coordinate.svg b/kngil/img/buy/ico_coordinate.svg new file mode 100644 index 0000000..42f2c99 --- /dev/null +++ b/kngil/img/buy/ico_coordinate.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/kngil/img/buy/ico_data.svg b/kngil/img/buy/ico_data.svg new file mode 100644 index 0000000..9fabe5c --- /dev/null +++ b/kngil/img/buy/ico_data.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/kngil/img/buy/ico_gis.svg b/kngil/img/buy/ico_gis.svg new file mode 100644 index 0000000..7e1d194 --- /dev/null +++ b/kngil/img/buy/ico_gis.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/kngil/img/buy/ico_mail.svg b/kngil/img/buy/ico_mail.svg new file mode 100644 index 0000000..5025909 --- /dev/null +++ b/kngil/img/buy/ico_mail.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/kngil/img/buy/ico_natural.svg b/kngil/img/buy/ico_natural.svg new file mode 100644 index 0000000..ea0f22d --- /dev/null +++ b/kngil/img/buy/ico_natural.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/kngil/img/buy/ico_standard.svg b/kngil/img/buy/ico_standard.svg new file mode 100644 index 0000000..9451a20 --- /dev/null +++ b/kngil/img/buy/ico_standard.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/kngil/img/buy/ico_tel.svg b/kngil/img/buy/ico_tel.svg new file mode 100644 index 0000000..a9aed98 --- /dev/null +++ b/kngil/img/buy/ico_tel.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/kngil/img/ico/ico_check_list.svg b/kngil/img/ico/ico_check_list.svg new file mode 100644 index 0000000..52cc81e --- /dev/null +++ b/kngil/img/ico/ico_check_list.svg @@ -0,0 +1,4 @@ + + + + diff --git a/kngil/img/ico/ico_city.svg b/kngil/img/ico/ico_city.svg index 44c674e..7aa566d 100644 --- a/kngil/img/ico/ico_city.svg +++ b/kngil/img/ico/ico_city.svg @@ -1,29 +1,29 @@ - - - - - - + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + diff --git a/kngil/img/ico/ico_company_admin.svg b/kngil/img/ico/ico_company_admin.svg index 22cc393..3a18d79 100644 --- a/kngil/img/ico/ico_company_admin.svg +++ b/kngil/img/ico/ico_company_admin.svg @@ -1 +1,4 @@ - \ No newline at end of file + + + + diff --git a/kngil/img/ico/ico_graph_box.svg b/kngil/img/ico/ico_graph_box.svg new file mode 100644 index 0000000..4c99c8e --- /dev/null +++ b/kngil/img/ico/ico_graph_box.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/kngil/img/ico/ico_mind_map.svg b/kngil/img/ico/ico_mind_map.svg new file mode 100644 index 0000000..a5c9215 --- /dev/null +++ b/kngil/img/ico/ico_mind_map.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/kngil/img/ico/ico_setting.svg b/kngil/img/ico/ico_setting.svg new file mode 100644 index 0000000..0f87ea8 --- /dev/null +++ b/kngil/img/ico/ico_setting.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/kngil/img/ico/ico_statistic.svg b/kngil/img/ico/ico_statistic.svg new file mode 100644 index 0000000..4050e01 --- /dev/null +++ b/kngil/img/ico/ico_statistic.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/kngil/img/ico/ico_super_admin.svg b/kngil/img/ico/ico_super_admin.svg index 062e95d..b717ad5 100644 --- a/kngil/img/ico/ico_super_admin.svg +++ b/kngil/img/ico/ico_super_admin.svg @@ -1 +1,4 @@ - \ No newline at end of file + + + + diff --git a/kngil/img/ico/ico_super_admin2.svg b/kngil/img/ico/ico_super_admin2.svg new file mode 100644 index 0000000..5231240 --- /dev/null +++ b/kngil/img/ico/ico_super_admin2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/kngil/img/ico/ico_user_admin.svg b/kngil/img/ico/ico_user_admin.svg new file mode 100644 index 0000000..e49246d --- /dev/null +++ b/kngil/img/ico/ico_user_admin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/kngil/img/ico/ico_zone.svg b/kngil/img/ico/ico_zone.svg new file mode 100644 index 0000000..61932de --- /dev/null +++ b/kngil/img/ico/ico_zone.svg @@ -0,0 +1,4 @@ + + + + diff --git a/kngil/img/ico_title_obj.svg b/kngil/img/ico_title_obj.svg new file mode 100644 index 0000000..75bcac6 --- /dev/null +++ b/kngil/img/ico_title_obj.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/kngil/img/ico_title_obj_w.svg b/kngil/img/ico_title_obj_w.svg new file mode 100644 index 0000000..223d8da --- /dev/null +++ b/kngil/img/ico_title_obj_w.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/kngil/img/img_sitemap_01.jpg b/kngil/img/img_sitemap_01.jpg new file mode 100644 index 0000000..80d405a Binary files /dev/null and b/kngil/img/img_sitemap_01.jpg differ diff --git a/kngil/img/img_sitemap_02.jpg b/kngil/img/img_sitemap_02.jpg new file mode 100644 index 0000000..8796f1a Binary files /dev/null and b/kngil/img/img_sitemap_02.jpg differ diff --git a/kngil/img/img_sitemap_02.png b/kngil/img/img_sitemap_02.png new file mode 100644 index 0000000..d08cef2 Binary files /dev/null and b/kngil/img/img_sitemap_02.png differ diff --git a/kngil/img/img_sitemap_03.jpg b/kngil/img/img_sitemap_03.jpg new file mode 100644 index 0000000..ddee24c Binary files /dev/null and b/kngil/img/img_sitemap_03.jpg differ diff --git a/kngil/img/img_sitemap_04.jpg b/kngil/img/img_sitemap_04.jpg new file mode 100644 index 0000000..e0c7325 Binary files /dev/null and b/kngil/img/img_sitemap_04.jpg differ diff --git a/kngil/img/img_sitemap_05.jpg b/kngil/img/img_sitemap_05.jpg new file mode 100644 index 0000000..9320b74 Binary files /dev/null and b/kngil/img/img_sitemap_05.jpg differ diff --git a/kngil/img/primary/bg_key_title.png b/kngil/img/primary/bg_key_title.png new file mode 100644 index 0000000..8bd9d58 Binary files /dev/null and b/kngil/img/primary/bg_key_title.png differ diff --git a/kngil/img/primary/bg_primary_title.jpg b/kngil/img/primary/bg_primary_title.jpg new file mode 100644 index 0000000..5d23623 Binary files /dev/null and b/kngil/img/primary/bg_primary_title.jpg differ diff --git a/kngil/img/primary/img_area_01.png b/kngil/img/primary/img_area_01.png new file mode 100644 index 0000000..e5d234f Binary files /dev/null and b/kngil/img/primary/img_area_01.png differ diff --git a/kngil/img/primary/img_area_01_apx.png b/kngil/img/primary/img_area_01_apx.png new file mode 100644 index 0000000..99480fc Binary files /dev/null and b/kngil/img/primary/img_area_01_apx.png differ diff --git a/kngil/img/primary/img_area_02_apx.png b/kngil/img/primary/img_area_02_apx.png new file mode 100644 index 0000000..814c671 Binary files /dev/null and b/kngil/img/primary/img_area_02_apx.png differ diff --git a/kngil/img/primary/img_cost_01.png b/kngil/img/primary/img_cost_01.png new file mode 100644 index 0000000..21ff48e Binary files /dev/null and b/kngil/img/primary/img_cost_01.png differ diff --git a/kngil/img/primary/img_cost_01_apx.png b/kngil/img/primary/img_cost_01_apx.png new file mode 100644 index 0000000..a616077 Binary files /dev/null and b/kngil/img/primary/img_cost_01_apx.png differ diff --git a/kngil/img/primary/img_cost_01_zoom.png b/kngil/img/primary/img_cost_01_zoom.png new file mode 100644 index 0000000..e9389fa Binary files /dev/null and b/kngil/img/primary/img_cost_01_zoom.png differ diff --git a/kngil/img/primary/img_cost_02_apx.png b/kngil/img/primary/img_cost_02_apx.png new file mode 100644 index 0000000..02c2450 Binary files /dev/null and b/kngil/img/primary/img_cost_02_apx.png differ diff --git a/kngil/img/primary/img_cost_02_zoom.png b/kngil/img/primary/img_cost_02_zoom.png new file mode 100644 index 0000000..683db86 Binary files /dev/null and b/kngil/img/primary/img_cost_02_zoom.png differ diff --git a/kngil/img/primary/img_cost_03.png b/kngil/img/primary/img_cost_03.png new file mode 100644 index 0000000..880e238 Binary files /dev/null and b/kngil/img/primary/img_cost_03.png differ diff --git a/kngil/img/primary/img_cost_03_apx.png b/kngil/img/primary/img_cost_03_apx.png new file mode 100644 index 0000000..db5ae91 Binary files /dev/null and b/kngil/img/primary/img_cost_03_apx.png differ diff --git a/kngil/img/primary/img_cost_03_zoom.png b/kngil/img/primary/img_cost_03_zoom.png new file mode 100644 index 0000000..ff154aa Binary files /dev/null and b/kngil/img/primary/img_cost_03_zoom.png differ diff --git a/kngil/img/primary/img_cost_04.png b/kngil/img/primary/img_cost_04.png new file mode 100644 index 0000000..9bb2afb Binary files /dev/null and b/kngil/img/primary/img_cost_04.png differ diff --git a/kngil/img/primary/img_data_01.png b/kngil/img/primary/img_data_01.png new file mode 100644 index 0000000..c9918cd Binary files /dev/null and b/kngil/img/primary/img_data_01.png differ diff --git a/kngil/img/primary/img_data_02.png b/kngil/img/primary/img_data_02.png new file mode 100644 index 0000000..57443d7 Binary files /dev/null and b/kngil/img/primary/img_data_02.png differ diff --git a/kngil/img/primary/img_data_03.png b/kngil/img/primary/img_data_03.png new file mode 100644 index 0000000..1cd9f1e Binary files /dev/null and b/kngil/img/primary/img_data_03.png differ diff --git a/kngil/img/primary/img_key_point.svg b/kngil/img/primary/img_key_point.svg new file mode 100644 index 0000000..dcce028 --- /dev/null +++ b/kngil/img/primary/img_key_point.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/kngil/img/primary/img_progress_01.png b/kngil/img/primary/img_progress_01.png new file mode 100644 index 0000000..71fc13d Binary files /dev/null and b/kngil/img/primary/img_progress_01.png differ diff --git a/kngil/img/primary/img_progress_02.png b/kngil/img/primary/img_progress_02.png new file mode 100644 index 0000000..beb7272 Binary files /dev/null and b/kngil/img/primary/img_progress_02.png differ diff --git a/kngil/img/primary/img_progress_03.png b/kngil/img/primary/img_progress_03.png new file mode 100644 index 0000000..da38dd8 Binary files /dev/null and b/kngil/img/primary/img_progress_03.png differ diff --git a/kngil/img/primary/img_progress_04.png b/kngil/img/primary/img_progress_04.png new file mode 100644 index 0000000..8dba31b Binary files /dev/null and b/kngil/img/primary/img_progress_04.png differ diff --git a/kngil/img/primary/img_progress_step_01.png b/kngil/img/primary/img_progress_step_01.png new file mode 100644 index 0000000..ce8d8c1 Binary files /dev/null and b/kngil/img/primary/img_progress_step_01.png differ diff --git a/kngil/img/primary/img_progress_step_02.png b/kngil/img/primary/img_progress_step_02.png new file mode 100644 index 0000000..1d6a9e0 Binary files /dev/null and b/kngil/img/primary/img_progress_step_02.png differ diff --git a/kngil/img/primary/img_progress_step_03.png b/kngil/img/primary/img_progress_step_03.png new file mode 100644 index 0000000..a26e908 Binary files /dev/null and b/kngil/img/primary/img_progress_step_03.png differ diff --git a/kngil/img/primary/img_progress_step_04.png b/kngil/img/primary/img_progress_step_04.png new file mode 100644 index 0000000..3093675 Binary files /dev/null and b/kngil/img/primary/img_progress_step_04.png differ diff --git a/kngil/img/primary/img_report_01.png b/kngil/img/primary/img_report_01.png new file mode 100644 index 0000000..2518308 Binary files /dev/null and b/kngil/img/primary/img_report_01.png differ diff --git a/kngil/img/primary/img_report_02.png b/kngil/img/primary/img_report_02.png new file mode 100644 index 0000000..d82df0f Binary files /dev/null and b/kngil/img/primary/img_report_02.png differ diff --git a/kngil/img/primary/img_report_03.png b/kngil/img/primary/img_report_03.png new file mode 100644 index 0000000..880e238 Binary files /dev/null and b/kngil/img/primary/img_report_03.png differ diff --git a/kngil/img/provided/bg_data_provision_orbits.svg b/kngil/img/provided/bg_data_provision_orbits.svg new file mode 100644 index 0000000..6f9ae51 --- /dev/null +++ b/kngil/img/provided/bg_data_provision_orbits.svg @@ -0,0 +1,29 @@ + diff --git a/kngil/img/provided/bg_provided_natural_m.png b/kngil/img/provided/bg_provided_natural_m.png new file mode 100644 index 0000000..305c50d Binary files /dev/null and b/kngil/img/provided/bg_provided_natural_m.png differ diff --git a/kngil/img/provided/bg_provided_social_m.png b/kngil/img/provided/bg_provided_social_m.png new file mode 100644 index 0000000..5ab9b69 Binary files /dev/null and b/kngil/img/provided/bg_provided_social_m.png differ diff --git a/kngil/img/provided/bg_provided_title.jpg b/kngil/img/provided/bg_provided_title.jpg index 8e6196a..2ee82bb 100644 Binary files a/kngil/img/provided/bg_provided_title.jpg and b/kngil/img/provided/bg_provided_title.jpg differ diff --git a/kngil/img/provided/cont-list-wave.svg b/kngil/img/provided/cont-list-wave.svg new file mode 100644 index 0000000..46493b6 --- /dev/null +++ b/kngil/img/provided/cont-list-wave.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/kngil/img/provided/ico_city.svg b/kngil/img/provided/ico_city.svg new file mode 100644 index 0000000..7aa566d --- /dev/null +++ b/kngil/img/provided/ico_city.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/kngil/img/provided/img_arrow_natural.svg b/kngil/img/provided/img_arrow_natural.svg new file mode 100644 index 0000000..284fa6b --- /dev/null +++ b/kngil/img/provided/img_arrow_natural.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/kngil/img/provided/img_arrow_natural_m.svg b/kngil/img/provided/img_arrow_natural_m.svg new file mode 100644 index 0000000..4e5225e --- /dev/null +++ b/kngil/img/provided/img_arrow_natural_m.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/kngil/img/provided/img_arrow_social.svg b/kngil/img/provided/img_arrow_social.svg new file mode 100644 index 0000000..0c808f6 --- /dev/null +++ b/kngil/img/provided/img_arrow_social.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/kngil/img/provided/img_arrow_social_m.svg b/kngil/img/provided/img_arrow_social_m.svg new file mode 100644 index 0000000..1be9e72 --- /dev/null +++ b/kngil/img/provided/img_arrow_social_m.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/kngil/img/provided/img_provided_natural_01.png b/kngil/img/provided/img_provided_natural_01.png index 6d8241e..0e9caad 100644 Binary files a/kngil/img/provided/img_provided_natural_01.png and b/kngil/img/provided/img_provided_natural_01.png differ diff --git a/kngil/img/provided/img_provided_natural_02.png b/kngil/img/provided/img_provided_natural_02.png index bf0355b..81f1d5b 100644 Binary files a/kngil/img/provided/img_provided_natural_02.png and b/kngil/img/provided/img_provided_natural_02.png differ diff --git a/kngil/img/provided/img_provided_natural_03.png b/kngil/img/provided/img_provided_natural_03.png index c178c28..52a40e0 100644 Binary files a/kngil/img/provided/img_provided_natural_03.png and b/kngil/img/provided/img_provided_natural_03.png differ diff --git a/kngil/img/provided/img_provided_natural_04.png b/kngil/img/provided/img_provided_natural_04.png index b665c15..6f079fa 100644 Binary files a/kngil/img/provided/img_provided_natural_04.png and b/kngil/img/provided/img_provided_natural_04.png differ diff --git a/kngil/img/provided/img_provided_natural_04_m.png b/kngil/img/provided/img_provided_natural_04_m.png new file mode 100644 index 0000000..557d6a5 Binary files /dev/null and b/kngil/img/provided/img_provided_natural_04_m.png differ diff --git a/kngil/img/provided/img_provided_social_01.png b/kngil/img/provided/img_provided_social_01.png index 57f555c..495e185 100644 Binary files a/kngil/img/provided/img_provided_social_01.png and b/kngil/img/provided/img_provided_social_01.png differ diff --git a/kngil/img/provided/img_provided_social_02.png b/kngil/img/provided/img_provided_social_02.png index 650313a..02fc09e 100644 Binary files a/kngil/img/provided/img_provided_social_02.png and b/kngil/img/provided/img_provided_social_02.png differ diff --git a/kngil/img/provided/img_provided_social_03.png b/kngil/img/provided/img_provided_social_03.png index d133525..7ae98da 100644 Binary files a/kngil/img/provided/img_provided_social_03.png and b/kngil/img/provided/img_provided_social_03.png differ diff --git a/kngil/img/provided/img_provided_social_04.png b/kngil/img/provided/img_provided_social_04.png index 1f28675..54b8103 100644 Binary files a/kngil/img/provided/img_provided_social_04.png and b/kngil/img/provided/img_provided_social_04.png differ diff --git a/kngil/img/results/bg_cost_left.png b/kngil/img/results/bg_cost_left.png new file mode 100644 index 0000000..a0e1809 Binary files /dev/null and b/kngil/img/results/bg_cost_left.png differ diff --git a/kngil/img/results/bg_grid.png b/kngil/img/results/bg_grid.png new file mode 100644 index 0000000..a209e5a Binary files /dev/null and b/kngil/img/results/bg_grid.png differ diff --git a/kngil/img/results/bg_natural_left.png b/kngil/img/results/bg_natural_left.png new file mode 100644 index 0000000..0fa91ba Binary files /dev/null and b/kngil/img/results/bg_natural_left.png differ diff --git a/kngil/img/results/bg_results_title.jpg b/kngil/img/results/bg_results_title.jpg new file mode 100644 index 0000000..d967e15 Binary files /dev/null and b/kngil/img/results/bg_results_title.jpg differ diff --git a/kngil/img/results/bg_social_left.png b/kngil/img/results/bg_social_left.png new file mode 100644 index 0000000..b793d9f Binary files /dev/null and b/kngil/img/results/bg_social_left.png differ diff --git a/kngil/img/results/ico_city.svg b/kngil/img/results/ico_city.svg new file mode 100644 index 0000000..032de7b --- /dev/null +++ b/kngil/img/results/ico_city.svg @@ -0,0 +1,4 @@ + + + + diff --git a/kngil/img/results/ico_eco.svg b/kngil/img/results/ico_eco.svg new file mode 100644 index 0000000..63bce2f --- /dev/null +++ b/kngil/img/results/ico_eco.svg @@ -0,0 +1,4 @@ + + + + diff --git a/kngil/img/results/ico_facility.svg b/kngil/img/results/ico_facility.svg new file mode 100644 index 0000000..851e646 --- /dev/null +++ b/kngil/img/results/ico_facility.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/kngil/img/results/ico_map.svg b/kngil/img/results/ico_map.svg new file mode 100644 index 0000000..4d50c2b --- /dev/null +++ b/kngil/img/results/ico_map.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/kngil/img/results/ico_people.svg b/kngil/img/results/ico_people.svg new file mode 100644 index 0000000..f6cfc1c --- /dev/null +++ b/kngil/img/results/ico_people.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/kngil/img/results/ico_tab_cost.svg b/kngil/img/results/ico_tab_cost.svg new file mode 100644 index 0000000..e4ba2f8 --- /dev/null +++ b/kngil/img/results/ico_tab_cost.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/kngil/img/results/ico_tab_natural.svg b/kngil/img/results/ico_tab_natural.svg new file mode 100644 index 0000000..194344e --- /dev/null +++ b/kngil/img/results/ico_tab_natural.svg @@ -0,0 +1,3 @@ + + + diff --git a/kngil/img/results/ico_tab_social.svg b/kngil/img/results/ico_tab_social.svg new file mode 100644 index 0000000..ae33826 --- /dev/null +++ b/kngil/img/results/ico_tab_social.svg @@ -0,0 +1,3 @@ + + + diff --git a/kngil/img/results/ico_weather.svg b/kngil/img/results/ico_weather.svg new file mode 100644 index 0000000..c73a241 --- /dev/null +++ b/kngil/img/results/ico_weather.svg @@ -0,0 +1,4 @@ + + + + diff --git a/kngil/img/results/imb_report_cost_1.png b/kngil/img/results/imb_report_cost_1.png new file mode 100644 index 0000000..97739fd Binary files /dev/null and b/kngil/img/results/imb_report_cost_1.png differ diff --git a/kngil/img/results/imb_report_cost_2.png b/kngil/img/results/imb_report_cost_2.png new file mode 100644 index 0000000..a749db1 Binary files /dev/null and b/kngil/img/results/imb_report_cost_2.png differ diff --git a/kngil/img/results/imb_report_cost_3.png b/kngil/img/results/imb_report_cost_3.png new file mode 100644 index 0000000..8300cc7 Binary files /dev/null and b/kngil/img/results/imb_report_cost_3.png differ diff --git a/kngil/img/results/imb_report_cost_4.png b/kngil/img/results/imb_report_cost_4.png new file mode 100644 index 0000000..d2e0aec Binary files /dev/null and b/kngil/img/results/imb_report_cost_4.png differ diff --git a/kngil/img/results/imb_report_cost_5.png b/kngil/img/results/imb_report_cost_5.png new file mode 100644 index 0000000..3fbb398 Binary files /dev/null and b/kngil/img/results/imb_report_cost_5.png differ diff --git a/kngil/img/results/imb_report_cost_6.png b/kngil/img/results/imb_report_cost_6.png new file mode 100644 index 0000000..ac4fbcc Binary files /dev/null and b/kngil/img/results/imb_report_cost_6.png differ diff --git a/kngil/img/results/imb_report_natural_1.png b/kngil/img/results/imb_report_natural_1.png new file mode 100644 index 0000000..2c5edc7 Binary files /dev/null and b/kngil/img/results/imb_report_natural_1.png differ diff --git a/kngil/img/results/imb_report_natural_2.png b/kngil/img/results/imb_report_natural_2.png new file mode 100644 index 0000000..8b96fbd Binary files /dev/null and b/kngil/img/results/imb_report_natural_2.png differ diff --git a/kngil/img/results/imb_report_natural_3.png b/kngil/img/results/imb_report_natural_3.png new file mode 100644 index 0000000..92fce6f Binary files /dev/null and b/kngil/img/results/imb_report_natural_3.png differ diff --git a/kngil/img/results/imb_report_natural_4.png b/kngil/img/results/imb_report_natural_4.png new file mode 100644 index 0000000..55bd572 Binary files /dev/null and b/kngil/img/results/imb_report_natural_4.png differ diff --git a/kngil/img/results/imb_report_natural_5.png b/kngil/img/results/imb_report_natural_5.png new file mode 100644 index 0000000..fd99192 Binary files /dev/null and b/kngil/img/results/imb_report_natural_5.png differ diff --git a/kngil/img/results/imb_report_natural_6.png b/kngil/img/results/imb_report_natural_6.png new file mode 100644 index 0000000..c705466 Binary files /dev/null and b/kngil/img/results/imb_report_natural_6.png differ diff --git a/kngil/img/results/imb_report_social_1.png b/kngil/img/results/imb_report_social_1.png new file mode 100644 index 0000000..d6ee7d5 Binary files /dev/null and b/kngil/img/results/imb_report_social_1.png differ diff --git a/kngil/img/results/imb_report_social_2.png b/kngil/img/results/imb_report_social_2.png new file mode 100644 index 0000000..97a2f05 Binary files /dev/null and b/kngil/img/results/imb_report_social_2.png differ diff --git a/kngil/img/results/imb_report_social_3.png b/kngil/img/results/imb_report_social_3.png new file mode 100644 index 0000000..4f68e6e Binary files /dev/null and b/kngil/img/results/imb_report_social_3.png differ diff --git a/kngil/img/results/imb_report_social_4.png b/kngil/img/results/imb_report_social_4.png new file mode 100644 index 0000000..a825416 Binary files /dev/null and b/kngil/img/results/imb_report_social_4.png differ diff --git a/kngil/img/results/imb_report_social_5.png b/kngil/img/results/imb_report_social_5.png new file mode 100644 index 0000000..2239687 Binary files /dev/null and b/kngil/img/results/imb_report_social_5.png differ diff --git a/kngil/img/results/imb_report_social_6.png b/kngil/img/results/imb_report_social_6.png new file mode 100644 index 0000000..c9fb7c1 Binary files /dev/null and b/kngil/img/results/imb_report_social_6.png differ diff --git a/kngil/img/slogan.png b/kngil/img/slogan.png new file mode 100644 index 0000000..54c424d Binary files /dev/null and b/kngil/img/slogan.png differ diff --git a/kngil/img/slogan.svg b/kngil/img/slogan.svg new file mode 100644 index 0000000..4e8b02d --- /dev/null +++ b/kngil/img/slogan.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/kngil/img/slogan_c.svg b/kngil/img/slogan_c.svg new file mode 100644 index 0000000..223f4c2 --- /dev/null +++ b/kngil/img/slogan_c.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/kngil/img/value/bg_line.svg b/kngil/img/value/bg_line.svg new file mode 100644 index 0000000..5638c8e --- /dev/null +++ b/kngil/img/value/bg_line.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/kngil/img/value/bg_step.svg b/kngil/img/value/bg_step.svg new file mode 100644 index 0000000..c3749f3 --- /dev/null +++ b/kngil/img/value/bg_step.svg @@ -0,0 +1,3 @@ + + + diff --git a/kngil/img/value/bg_step_flow.svg b/kngil/img/value/bg_step_flow.svg new file mode 100644 index 0000000..c3749f3 --- /dev/null +++ b/kngil/img/value/bg_step_flow.svg @@ -0,0 +1,3 @@ + + + diff --git a/kngil/img/value/bg_step_flow_m.svg b/kngil/img/value/bg_step_flow_m.svg new file mode 100644 index 0000000..f5a6420 --- /dev/null +++ b/kngil/img/value/bg_step_flow_m.svg @@ -0,0 +1,3 @@ + + + diff --git a/kngil/img/value/bg_step_m.svg b/kngil/img/value/bg_step_m.svg new file mode 100644 index 0000000..37b0fbc --- /dev/null +++ b/kngil/img/value/bg_step_m.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/kngil/img/value/bg_step_tit.svg b/kngil/img/value/bg_step_tit.svg new file mode 100644 index 0000000..175f963 --- /dev/null +++ b/kngil/img/value/bg_step_tit.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/kngil/img/value/bg_value_data.png b/kngil/img/value/bg_value_data.png index 5ff7541..e6b99cf 100644 Binary files a/kngil/img/value/bg_value_data.png and b/kngil/img/value/bg_value_data.png differ diff --git a/kngil/img/value/bg_value_visual.jpg b/kngil/img/value/bg_value_visual.jpg new file mode 100644 index 0000000..8c061ec Binary files /dev/null and b/kngil/img/value/bg_value_visual.jpg differ diff --git a/kngil/img/value/bg_value_visual_m.jpg b/kngil/img/value/bg_value_visual_m.jpg new file mode 100644 index 0000000..9304b2a Binary files /dev/null and b/kngil/img/value/bg_value_visual_m.jpg differ diff --git a/kngil/img/value/ico_data_arrow.svg b/kngil/img/value/ico_data_arrow.svg new file mode 100644 index 0000000..71e337d --- /dev/null +++ b/kngil/img/value/ico_data_arrow.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/kngil/img/value/ico_data_arrow_m.svg b/kngil/img/value/ico_data_arrow_m.svg new file mode 100644 index 0000000..e42e1c7 --- /dev/null +++ b/kngil/img/value/ico_data_arrow_m.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/kngil/img/value/ico_move_arrow.svg b/kngil/img/value/ico_move_arrow.svg new file mode 100644 index 0000000..db1a4d2 --- /dev/null +++ b/kngil/img/value/ico_move_arrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/kngil/img/value/ico_report_arrow.svg b/kngil/img/value/ico_report_arrow.svg new file mode 100644 index 0000000..dd34217 --- /dev/null +++ b/kngil/img/value/ico_report_arrow.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/kngil/img/value/ico_report_arrow_m.svg b/kngil/img/value/ico_report_arrow_m.svg new file mode 100644 index 0000000..e6e03a2 --- /dev/null +++ b/kngil/img/value/ico_report_arrow_m.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/kngil/img/value/ico_step_arrow.svg b/kngil/img/value/ico_step_arrow.svg new file mode 100644 index 0000000..25ef9f1 --- /dev/null +++ b/kngil/img/value/ico_step_arrow.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kngil/img/value/ico_step_arrow_sub.svg b/kngil/img/value/ico_step_arrow_sub.svg new file mode 100644 index 0000000..bf2ed16 --- /dev/null +++ b/kngil/img/value/ico_step_arrow_sub.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kngil/img/value/ico_step_arrow_sub_m.svg b/kngil/img/value/ico_step_arrow_sub_m.svg new file mode 100644 index 0000000..b22ee2b --- /dev/null +++ b/kngil/img/value/ico_step_arrow_sub_m.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/kngil/img/value/img_arrow_social.svg b/kngil/img/value/img_arrow_social.svg new file mode 100644 index 0000000..0c808f6 --- /dev/null +++ b/kngil/img/value/img_arrow_social.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/kngil/img/value/img_automated_01.png b/kngil/img/value/img_automated_01.png new file mode 100644 index 0000000..67a4670 Binary files /dev/null and b/kngil/img/value/img_automated_01.png differ diff --git a/kngil/img/value/img_automated_02.png b/kngil/img/value/img_automated_02.png new file mode 100644 index 0000000..fc77a7b Binary files /dev/null and b/kngil/img/value/img_automated_02.png differ diff --git a/kngil/img/value/img_manual_01.png b/kngil/img/value/img_manual_01.png new file mode 100644 index 0000000..5135f1e Binary files /dev/null and b/kngil/img/value/img_manual_01.png differ diff --git a/kngil/img/value/img_manual_02.png b/kngil/img/value/img_manual_02.png new file mode 100644 index 0000000..467058c Binary files /dev/null and b/kngil/img/value/img_manual_02.png differ diff --git a/kngil/img/video/main_1.mp4 b/kngil/img/video/main_1.mp4 index 1cc9c0e..40a82ff 100644 Binary files a/kngil/img/video/main_1.mp4 and b/kngil/img/video/main_1.mp4 differ diff --git a/kngil/js/adm_comp.js b/kngil/js/adm_comp.js index c7eadd8..1460eb7 100644 --- a/kngil/js/adm_comp.js +++ b/kngil/js/adm_comp.js @@ -2,6 +2,7 @@ import { w2grid, w2ui, w2popup, w2alert, w2confirm } from 'https://cdn.jsdelivr. let AUTH_ITEMS = [] let CURRENT_MEMBER_ID = null; + const USE_ITEMS = [ { id: 'Y', text: '사용' }, { id: 'N', text: '미사용' } @@ -259,10 +260,10 @@ export function loadUsersByMember(memberId) { w2alert('사용자 조회 실패') return } - const records = normalizeAuth(d.records || []) + let records = normalizeAuth(d.records || []) records = normalizeUseYn(records) g.clear() - g.add(d.records) + g.add(records) }) .catch(err => console.error(err)) } diff --git a/kngil/js/adm_faq_popup.js b/kngil/js/adm_faq_popup.js index fc59dc2..ac5e63f 100644 --- a/kngil/js/adm_faq_popup.js +++ b/kngil/js/adm_faq_popup.js @@ -36,6 +36,7 @@ export function openfaqPopup() { modal: true, body: ` +
diff --git a/kngil/js/adm_product_popup.js b/kngil/js/adm_product_popup.js index 8e522fc..006881f 100644 --- a/kngil/js/adm_product_popup.js +++ b/kngil/js/adm_product_popup.js @@ -1,6 +1,9 @@ import { w2grid, w2ui, w2popup, w2alert } from 'https://cdn.jsdelivr.net/gh/vitmalina/w2ui@master/dist/w2ui.es6.min.js' - +const USE_YN_ITEMS = [ + { id: 'Y', text: '사용' }, + { id: 'N', text: '미사용' } +] /* ------------------------------------------------- 공통 유틸 ------------------------------------------------- */ @@ -36,6 +39,8 @@ export function openProductPopup() { modal: true, body: ` + +
@@ -162,7 +167,7 @@ export function openProductPopup() { itm_nm : merged.itm_nm, area : merged.area, itm_amt: merged.itm_amt, - use_yn : merged.use_yn, + use_yn : merged.use_yn?.id || merged.use_yn, rmks : merged.rmks }) } @@ -224,31 +229,28 @@ export async function createProductGrid(boxId) { lineNumbers: true // 행 번호를 표시하면 디버깅이 편합니다. }, columns: [ - /* - { field: 'row_status', text: ' ', size: '30px', attr: 'align=center', - render: function (record) { - // 1. 신규 추가된 행 (recid가 임시값이거나 DB에 없는 경우) - if (record.is_new) return 'I'; - - // 2. 수정된 데이터 (w2ui.changes 객체가 존재하는 경우) - if (record.w2ui && record.w2ui.changes) return 'U'; - // 3. 일반 상태 - return ' '; - } - }, - */ - { field: 'itm_cd', text: '상품코드', size: '80px',attr: 'align=center',style: 'text-align: center', attr: 'align=center', editable: { type: 'text' } ,sortable: true}, // name 아님! - { field: 'itm_nm', text: '상품명', size: '120px', attr: 'align=center',style: 'text-align: center', editable: { type: 'text' } ,sortable: true}, // name 아님! + + { field: 'itm_cd', text: '상품코드', size: '80px',style: 'text-align: center', attr: 'align=center', editable: { type: 'text' } ,sortable: true}, // name 아님! + { field: 'itm_nm', text: '상품명', size: '120px', style: 'text-align: center', editable: { type: 'text' } ,sortable: true}, // name 아님! { field: 'area', text: '제공량', size: '100px', attr: 'align=center',render: 'number:0' , editable: { type: 'float' } ,sortable: true}, // volume 아님! { field: 'itm_amt', text: '단가', size: '120px', attr: 'align=center',render: 'number:0', editable: { type: 'int' } ,sortable: true}, // - { field: 'use_yn', text: '사용여부', size: '80px',attr: 'align=center',style: 'text-align: center', attr: 'align=center', - editable: { type: 'list', items: authItems, filter: false ,showAll: true } , - render(record) { - const item = authItems.find(i => i.id === record.use_yn) - return item ? item.text : record.use_yn - },sortable: true + { + field: 'use_yn', + text: '사용여부', + size: '80px', + attr: 'align=center', + editable: { + type: 'list', + items: USE_YN_ITEMS, + showAll: true, + openOnFocus: true }, - { field: 'rmks', text: '비고', size: '200px', attr: 'align=center', editable: { type: 'text' } ,sortable: true} // memo 아님! + render(record, extra) { + return extra?.value?.text || '' + }, + sortable: true + }, + { field: 'rmks', text: '비고', size: '200px', editable: { type: 'text' } ,sortable: true} // memo 아님! ], records: [] // 처음엔 비워둠 }); @@ -266,7 +268,9 @@ async function loadProductData() { w2ui.productGrid.lock('조회 중...', true); const response = await fetch('/kngil/bbs/adm_product_popup.php'); // PHP 파일 호출 - const data = await response.json(); + let data = await response.json(); + + data = normalizeProductUseYn(data) w2ui.productGrid.clear(); w2ui.productGrid.add(data); @@ -277,4 +281,14 @@ async function loadProductData() { w2ui.productGrid.unlock(); w2alert('데이터 로드 실패'); } +} + +function normalizeProductUseYn(records) { + return records.map(r => { + const item = USE_YN_ITEMS.find(u => u.id === r.use_yn) + return { + ...r, + use_yn: item || null + } + }) } \ No newline at end of file diff --git a/kngil/js/adm_purch_popup.js b/kngil/js/adm_purch_popup.js index 2a44fc3..32f757f 100644 --- a/kngil/js/adm_purch_popup.js +++ b/kngil/js/adm_purch_popup.js @@ -16,13 +16,8 @@ export function openPurchaseHistoryPopup(memberId = '',isSuperAdmin='') { height: 600, modal: true, body: - /* - ` -
-
-
- */ - ` + + `
@@ -31,7 +26,19 @@ export function openPurchaseHistoryPopup(memberId = '',isSuperAdmin='') { ${!isSuperAdmin ? 'disabled' : ''} style="width: 150px; padding: 6px; border: 1px solid #ccc; border-radius: 4px;" placeholder="아이디 입력"> + +
구입일 + + + + ~ + + +
+
+
구입일 + + + + ~ + + +
+ + +
@@ -154,14 +155,14 @@ $isCompanyAdmin = in_array($auth, ['BS100100', 'BS100200', 'BS100300', 'BS100400
@@ -34,6 +41,23 @@
+ + + +
+ + + @@include("_include/_head_pop_temp.html") + + 팝업 테스트 - KNGIL + + +
+

팝업 테스트

+

URL 파라미터 pop으로 팝업을 엽니다.

+

+ 예: ?pop=login / ?pop=privacy&tab=agreement +

+ +
+ + @@include("_include/_popups.html") + + + + diff --git a/kngil/skin/primary.php b/kngil/skin/primary.php new file mode 100644 index 0000000..ae74647 --- /dev/null +++ b/kngil/skin/primary.php @@ -0,0 +1,269 @@ + + + + + + +
+ + + +
+ +
+
+

주요기능

+

+ 기초현황 보고서 설정 등에 대한 사용자 중심의
+ 편의성, 직관성, 효율성 향상을 위해 다양한 기능을 제공합니다. +

+
+
+ + +
+
+

+ 설계분야 및 대상구역 범위에 따른 보고서 설정 관련하여
+ 사용자 맞춤형 방식으로 다양한 기능을 제공 +

+
+
+
+
+ + KNGIL 로고 + + 주요기능 +
+ +
+
+ + 다양한 사업대상구역
입력방식 선택
+
+
+ + 효율적인 사용자 설정
구성 및 시각화
+
+
+ + 사용자가 신청한
목록 및 진행단계
실시간 제공
+
+
+
+ + +
+ + +
+
+

사업구역 입력

+
+ 사업의 규모 및 범위를 고려하여 실무자가 상황에 맞게 유연하게 활용할 수 있도록
+ 4가지 입력 방식을 제공합니다. +
+
+ +
+
+
+ + + + + +
+
+ +
+
+
+ +
+

보고서 관련 설정

+
+ 사용자에게 제공되는 보고서에 영향을 미치는 항목별 설정은 최소화하고,
+ 직관적으로 쉽게 선택할 수 있도록 시각화에 중점을 두었습니다. +
+
+ 보고서 관련 설정 화면 +
+ +
+
+ +
+
+
+ +
+

진행과정(4단계) 실시간 표시

+
+ 사용자는 신청건의 처리과정을 4단계로 실시간 확인 가능하며, 기존 신청 이력에 대해서는
+ 일정 기간 내 재신청 및 다운로드를 반복적으로 수행 할 수 있습니다. +
+
+ + + + +
+ +
+ 진행과정 4단계 시각화 +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+ +
+

사업비 및 작업일수 기준

+
+ 주요 지표, 추정사업비, 비작업일수 등 항목별 기준값을 사용자가 손쉽게 수정·적용할 수 있으며,
+ 위치 정보 기반의 특정 데이터는 화면에 시각적으로 표시하여 선택을 위한 가이드를 제공합니다. +
+
+ + + + +
+
+ 사업비 및 작업일수 기준 시각화 +
+
+ + + + +
+ +
+ + + + +
+ +
+ + + + +
+
+
+ +
+

데이터 항목 선택

+
+ 업무 활용을 위해 개별 Row 데이터만 필요한 경우,
+ 정보의 유사성을 기준으로 그룹화된 항목 중 사용자가 선택한 데이터를 제공 받을 수 있습니다. +
+
+ + + +
+
+ +
+ +
+
+ +
+
+
+
+
+
+ + + +
+ + + + + diff --git a/kngil/skin/provided.php b/kngil/skin/provided.php new file mode 100644 index 0000000..2247d35 --- /dev/null +++ b/kngil/skin/provided.php @@ -0,0 +1,418 @@ + + + + + + +
+ + + +
+ +
+
+

제공데이터

+

+ 항목별 공공데이터를 기반으로
+ 공간정보(SHP), 통계자료, 응용데이터(추가 예정)등을 제공합니다. +

+
+
+ + +
+
+

+ 공간정보 및 통계자료
+ 항목별 기초현황 데이터를 다양하게 제공 +

+
+
+
+
+
공공데이터 기반의 제공데이터
+
+
+ + + +
+ +
+
+
+ 공간정보 데이터 시각화 +
+
+
+
+ 지도 마커 아이콘 +
+

공간정보

+
+ +
+ + +
+
+
+ 통계자료 데이터 시각화 +
+
+
+
+ 차트 아이콘 +
+

통계자료

+
+
+
+
+
+
+
    +
  • +

    행정경계

    + +
  • +
  • +

    건물통합정보

    + +
  • +
  • +

    생태자연

    + +
  • +
  • +

    토지이용계획

    + +
  • +
+
    +
  • +

    인구

    + +
  • +
  • +

    기상

    + +
  • +
  • +

    문화재

    + +
  • +
  • +

    기반시설

    + +
  • +
+
+
+
+ + +
+ +
+
+

+ + 자연적 환경 요소인 지형, 기후, 생태자연, 도시주거 항목을
+ 자연조건으로 분류하여 제공 +

+
    +
  • +
    +
    + + 지역의 개황 +
    +
    +
      +
    • 위치 및 행정구역
    • +
    • 지형 및 지세
    • +
    • 지진
    • +
    +
    +
    +
    +
    + 지진발생 데이터 시각화 +
    +
    지진발생
    +
    +
    +
    +
  • + +
  • +
    +
    + + 기상 및 자연재해 +
    +
    +
      +
    • 기상
    • +
    • 풍수해
    • +
    +
    +
    +
    +
    + 현상일수 데이터 시각화 +
    +
    현상일수
    +
    +
    +
    + +
  • + +
  • +
    +
    + + 생태 및 자연환경 +
    +
    +
      +
    • 생태자연도
    • +
    • 국토환경성 평가
    • +
    • 임상도
    • +
    +
    +
    +
    +
    + 국토환경성 평가 데이터 시각화 +
    +
    국토환경성 평가
    +
    +
    +
    + +
  • + + +
+
+ +
+
+
+ + + +
+ + + + diff --git a/kngil/skin/qa_list.skin.php b/kngil/skin/qa_list.skin.php index f79dcb1..2ec3b7f 100644 --- a/kngil/skin/qa_list.skin.php +++ b/kngil/skin/qa_list.skin.php @@ -63,7 +63,7 @@
-

1:1 문의하기

+

문의하기(Q&A)

@@ -119,124 +119,127 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
번호구분회사부서작성자제목등록일상태
- - [비밀글] - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ + + + + + + + - - - -
번호구분회사부서작성자제목등록일상태
- 1): ?> - - + 1): ?> + + + + + + + + + + + + + 다음 +
+
+
+
diff --git a/kngil/skin/results.php b/kngil/skin/results.php new file mode 100644 index 0000000..21c7c6b --- /dev/null +++ b/kngil/skin/results.php @@ -0,0 +1,207 @@ + + + + + + +
+ + + +
+
+
+

성과품

+

+ 데이터 분석 결과를 기반으로 항목별 성과품을 + 자동생성된 보고서 형태로 제공합니다. +

+
+
+ + +
+
+

+ 사업대상지역의 환경·사회·사업비 요소를 분석 및 시각화하여, + 항목별 최적화된 보고서 형태로 제공 +

+
+
+
+
+ + +
+ 고품질의 + 성과품 +
+ + +
+ "0deg", "pos" => "1", "label" => "토지"], + ["angle" => "60deg", "pos" => "2", "label" => "인구"], + ["angle" => "120deg", "pos" => "3", "label" => "기반시설"], + ["angle" => "180deg", "pos" => "4", "label" => "도시&주거"], + ["angle" => "240deg", "pos" => "5", "label" => "생태&자연"], + ["angle" => "300deg", "pos" => "6", "label" => "기상"] + ]; + foreach ($diaItems as $item): ?> +
+ +
+
+ +
+
+
+
+
+ + +
+
+ + +
+ +
+
+
+

+ + +

+

+
+
+
+
+ + <?=$data['alt1']?> +
+
<?=$data['alt2']?>
+
<?=$data['alt3']?>
+
<?=$data['alt4']?>
+
<?=$data['alt5']?>
+
<?=$data['alt6']?>
+
+
+
+
+ "key-natural", + "tabClass" => "natural", + "isActive" => " on", + "title" => "자연조건 데이터", + "titleId" => "title-natural", + "desc" => "지역의 개황, 기상 및 자연재해,
생태 및 자연환경, 도시 및 주거환경
관련 데이터를 제공합니다.", + "imgPrefix" => "natural", + "alt1" => "지역의 개황", + "alt2" => "기상 및 자연재해", + "alt3" => "지역의 개황", + "alt4" => "기상 및 자연재해", + "alt5" => "생태 및 자연환경", + "alt6" => "도시 및 주거환경" + ]); + + renderTabPanel([ + "id" => "key-social", + "tabClass" => "social", + "isActive" => "", + "title" => "사회특성 데이터", + "titleId" => "title-social", + "desc" => "인구, 토지, 건축물, 사회기반시설 관련
데이터를 제공합니다.", + "imgPrefix" => "social", + "alt1" => "지역의 개황", + "alt2" => "기상 및 자연재해", + "alt3" => "지역의 개황", + "alt4" => "기상 및 자연재해", + "alt5" => "생태 및 자연환경", + "alt6" => "도시 및 주거환경" + ]); + + renderTabPanel([ + "id" => "key-cost", + "tabClass" => "cost", + "isActive" => "", + "title" => "추정사업비 데이터", + "titleId" => "title-cost", + "desc" => "산정기준, 총사업비, 보상비,
공사비, 설계비, 부대비
관련 데이터를 제공합니다.", + "imgPrefix" => "cost", + "alt1" => "지역의 개황", + "alt2" => "기상 및 자연재해", + "alt3" => "지역의 개황", + "alt4" => "기상 및 자연재해", + "alt5" => "생태 및 자연환경", + "alt6" => "도시 및 주거환경" + ]); + ?> +
+
+
+
+ + + +
+ + + + \ No newline at end of file diff --git a/kngil/skin/value.php b/kngil/skin/value.php new file mode 100644 index 0000000..0d2ce76 --- /dev/null +++ b/kngil/skin/value.php @@ -0,0 +1,268 @@ + + + + + + +
+ + + +
+ +
+
+
+

KNGIL 소개

+
+
+ +
+
+

+ 설계 실무자를 위한 기초현황 보고서 자동생성으로
+ 기초조사 업무의 효율성을 높여줍니다.

+ KNGIL은 공공데이터 기반으로
+ 대상지역 내 지형, 인구, 기상, 기반시설 등 기초자료를
+ 보고서 형태로 제공하는 서비스 입니다. +

+
+ KNGIL Korea National Geographic Information Library +
+
+ +
+
+

+ 분야별 설계 업무는 일반적으로
5단계의 프로세스를 통하여 수행하며
+ 큰길서비스는 1단계 (기초현황 조사) +

+
+
+
+
+
큰길서비스
+
1단계 기초현황 조사
+
+ 기초현황 조사 문서 아이콘 +
+
+
+
    +
  1. +
    +
    2단계 현장조사
    +
    +
  2. +
  3. +
    +
    3단계 지표 및 계획
    +
    +
  4. +
  5. +
    +
    4단계 기본 및 실시설계
    +
    +
  6. +
  7. +
    +
    5단계 성과품 작성
    +
    +
  8. +
+
+
+ +
+ +
+

+ 데이터 수집 및 보관 방식은
+ 디지털 전환 완료 +

+
+

아날로그(문서)

+
    +
  • 데이터 문서 수집
  • +
  • 데이터 문서 보관
  • +
+
+
+

전산화(파일)

+
    +
  • 데이터 파일 다운로드
  • +
  • 개인 PC 내 저장
  • +
+
+
+
+

+ 반면에,
+ 데이터 정리 및 보고서 작성
+ 엔지니어의 수작업 진행 +

+
+

기존 업무 방식(수동화)

+
    +
  • +
    + 데이터 정리 수작업 이미지 +
    + 데이터 정리 수작업 +
  • +
  • +
    + 보고서 파일 작성 이미지 +
    + 보고서 파일 작성 +
  • +
+
+
+

큰길서비스 활용(자동화)

+
    +
  • +
    + 데이터DB화 이미지 +
    + 데이터DB화 +
  • +
  • +
    + 보고서 자동 생성 이미지 +
    + 보고서 자동 생성 +
  • +
+
+
+
+
+ +
+
+ + + +
+
+
+ KNGIL 특징 +
+
+ 데이터 분석 및 보고서 생성을 위한 실무자 중심의 편리한 기능을 적용한
+ 기초 현황 보고서 제공서비스 입니다. +
+
+ + + +
+ + +
+
+
+
+ + GIS 기반
지형 및 공간정보 분석 +
+
자연조건 및 사회특성으로 분류된
+ 항목별 데이터 정보를 면밀히 분석하여
정밀도를 높였습니다.
+
+
+ +
+
+
+ + 기초 현황 데이터
항목 최다 제공 +
+
+ 도시계획, 상하수도분야 등 관련
+ 현황데이터(99개)를 제공함으로써
+ 활용범위의 확장성을 높였습니다. +
+
+
+ +
+
+
+ + 다양한 좌표계 지원 및
시각화 +
+
+ Bessel(지리원 표준)및 GRS80
+ (국토지리원정보 표준) 좌표계를
+ 제공하며, 사용자가 원하는 좌표로
+ 변환하기 쉽도록 선택 시 화면에
+ 위치를 표출 하였습니다. +
+
+
+ +
+
+
+ + 기준값 설정 관련
커스터마이징 +
+
개략사업비, 비작업일수 산정을 위해
관련법, 지침 및 기준 등 사용자가
+ 쉽게 변경할 수 있도록 편의 기능을
+ 강화하였습니다.
+
+
+ + + +
+
+ + + +
+ + + +