Files
baron_qa_write/SW문의_소스패키지/assets/css/layout.css
T
root 308c06516c
Deploy EG-BIM QA Gateway / deploy (push) Successful in 1m0s
fix: 전체 UI 개선
2026-11-02 13:26:14 +09:00

2114 lines
52 KiB
CSS

@charset "UTF-8";
:root {
--color-primary: #006aff;
/*gray*/
--color-gray900: #212121;
--color-gray800: #424242;
--color-gray700: #616161;
--color-gray600: #757575;
--color-gray500: #9e9e9e;
--color-gray400: #bdbdbd;
--color-gray300: #e0e0e0;
--color-gray200: #eee;
--color-gray100: #f5f5f5;
--color-gray50: #fafafa;
--color-tech: #2278e2;
--color-human: #f17b39;
--color-nature: #23b64b;
--baron_C: #006aff;
--baron_dc: #004cbf;
/* etc */
--text-stroke: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000,
1px 1px 0 #000, 1px 0px 0 #000, 0px 1px 0 #000, -1px 0px 0 #000,
0px -1px 0 #000;
--text-stroke500: -1px -1px 0 #00000077, 1px -1px 0 #00000077,
-1px 1px 0 #00000077, 1px 1px 0 #00000077;
--text-stroke100: -1px -1px 0 #0000001a, 1px -1px 0 #0000001a,
-1px 1px 0 #0000001a, 1px 1px 0 #0000001a;
--btn-shadow: drop-shadow(0 2px 2px #000000aa)
drop-shadow(0 -1px 1px #000000aa);
}
html {
overflow: visible !important;
scroll-behavior: smooth;
max-width: 3840px;
/*min-width: 1280px;*/
margin: 0 auto;
background-color: #eee;
height: auto !important;
}
body {
width: 100%;
background-color: #fff;
overflow: visible !important;
height: auto !important;
}
.wrap {
width: 100%;
/* min-width: 1920px;*/
letter-spacing: -0.04em;
background-color: #fff;
}
.wrap .container {
width: 100%;
height: auto;
position: relative;
}
.wrap .contents_wrap {
width: 100%;
}
.wrap .contents_wrap .content {
width: 100%;
}
/* 공통적용 - 헤더 header */
header {
width: 100%;
max-width: 100vw;
height: 92px;
transition: top 0.3s;
position: fixed;
top: 0;
left: 0;
display: flex;
justify-content: space-between;
align-items: center;
z-index: 100;
background-color: #fff;
border-bottom: 1px solid rgba(0, 0, 0, 0.1019607843);
transition: height 0.2s ease-out;
}
body:has(.index) header {
background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), transparent);
border: 0;
}
body:has(.dx) header {
border-bottom: 1px solid rgba(255, 255, 255, 0.05);
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
}
header:hover {
background-color: #fff;
}
/* 모바일: 로그인 아이콘 탭 시 header:hover가 안 걸릴 수 있어 focus-within으로도 동일하게 흰 배경 처리 */
header:has(.header_login:focus-within) {
background-color: #fff;
}
body:has(.index, .dx) header:hover::before {
content: " ";
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
animation: header_bg 0.2s ease-in forwards;
z-index: -1;
}
@keyframes header_bg {
0% {
background: linear-gradient(180deg, #ffffff 100%, transparent 100%);
height: 80%;
opacity: 0;
}
100% {
background: linear-gradient(180deg, #ffffff 100%, transparent 100%);
height: 100%;
opacity: 1;
}
}
header .header_inner {
display: flex;
align-items: center;
gap: 80px;
width: 100%;
height: 100%;
margin: 0 auto;
padding: 0 50px;
}
header .logo_box {
flex: 0 0 auto;
}
header#header_recruit .header_inner.recruit {
display: flex;
justify-content: space-between;
}
header .logo_box a.logo {
width: 160px;
height: 100%;
display: block;
color: transparent;
text-indent: -9999px;
overflow: hidden;
background-color: #0c367f;
-webkit-mask-image: url(../img/logo_c.svg);
mask-image: url(../img/logo_c.svg);
background-size: cover;
-webkit-background-size: cover;
mask-size: contain;
-webkit-mask-position: center;
mask-position: center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
}
body:has(.index, .dx) header .header_inner:hover .logo_box a {
background-color: #0c367f;
}
body:has(.index, .dx) header .header_inner .logo_box a {
background-color: #fff;
}
body:has(.index, .dx) header .header_inner:hover nav ol li.depth1 span {
color: #000;
}
body:has(.index, .dx) header .header_inner nav ol li.depth1 .depth3 li:hover span{
color: #0044fe;
}
body:has(.index, .dx) header .header_inner:hover .btn_menu div {
background-color: #000;
}
/* 모바일: 로그인 아이콘을 탭하면 header:hover는 안 걸릴 수 있어도 .header_login:focus-within은
확실히 걸리므로, 이때도 헤더 배경이 흰색으로 바뀌는 것과 맞춰 메뉴 아이콘을 검정으로 전환 */
body:has(.index, .dx) header .header_inner:has(.header_login:focus-within) .btn_menu div {
background-color: #000;
}
body:has(.index, .dx) header .header_inner:hover nav ol li.depth1 span i {
filter: none;
}
body:has(.index, .dx) header .header_inner:hover nav ol li.depth1:hover span i {
filter: none;
}
body:has(.index, .dx) header .header_inner nav ol li.depth1 span {
color: #fff;
}
body:has(.index, .dx) header .header_inner nav ol li.depth1 span i {
filter: invert(1);
}
body:has(.index, .dx) header .header_inner nav ol li.depth1:hover span i {
filter: invert(1);
}
body:has(.index, .dx) header .header_inner .btn_menu div {
background-color: #fff;
}
body:has(.index, .dx) header .header_inner .header_R .language::before {
background-image: url(../img/ico_language_w.svg);
}
body:has(.index, .dx) header:hover .header_inner .header_R .language::before {
background-image: url(../img/ico_language.svg);
}
body:has(.index, .dx)
header
.header_inner
.header_R
.language
a:first-child::after {
background: #fff;
}
body:has(.index, .dx)
header:hover
.header_inner
.header_R
.language
a:first-child::after {
background: #000;
}
body:has(.index, .dx) header .header_inner .header_R .language a {
color: #fff;
}
body:has(.index, .dx) header:hover .header_inner .header_R .language a {
color: #000;
}
header#header_recruit .header_inner.recruit .nav_wrap {
display: inline-flex;
align-items: center;
justify-content: flex-start;
gap: 80px;
width: calc(100% - 120px);
}
header#header_recruit .header_inner.recruit .nav_wrap h1 {
display: flex;
align-items: center;
height: auto;
}
header#header_recruit .header_inner.recruit .nav_wrap nav {
display: inline-block;
}
header#header_recruit .header_inner.recruit .btn_corp {
padding: 12px 18px;
border-radius: 8px;
border: 1px solid rgba(0, 0, 0, 0.4);
font-size: 14px;
font-weight: 400;
line-height: 1.2;
letter-spacing: -0.28px;
color: rgba(0, 0, 0, 0.6);
white-space: nowrap;
}
header .header_inner nav {
height: 100%;
}
header .header_inner nav ol {
display: flex;
justify-content: center;
align-items: center;
gap: 28px;
width: 100%;
height: 100%;
}
header .header_inner nav ol li.depth1 {
height: 100%;
min-width: 60px;
position: relative;
}
header .header_inner nav ol li.depth1 span {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
color: #000;
font-size: 18px;
text-align: center;
white-space: nowrap;
word-break: keep-all;
opacity: 0.8;
cursor: pointer;
}
header .header_inner nav ol li.depth1.active span {
font-weight: 500;
opacity: 1;
}
header .header_inner nav ol li.depth1 span em {
display: block;
width: 100%;
height: 0;
margin-top: 0;
color: #999;
font-size: 13px;
text-align: center;
font-weight: 500;
white-space: nowrap;
word-break: keep-all;
opacity: 0;
overflow: hidden;
transition: height 0.2s ease, margin-top 0.2s ease, opacity 0.2s ease;
}
header .header_inner nav ol li.depth1:hover span em,
header .header_inner nav ol li.depth1.active span em {
height: 18px;
margin-top: -10px;
opacity: 1;
overflow: visible;
}
header .header_inner nav ol li.depth1 span i {
display: inline-block;
width: 16px;
height: 16px;
background: url(../img/ico_more.svg) no-repeat center/contain;
margin-left: 4px;
translate: 0 1px;
}
header .header_inner nav ol li.depth1 ul.depth2 {
position: absolute;
top: 100%;
left: 50%;
translate: -50% 0;
min-width: 180px;
width: max-content;
padding: 20px;
background-color: #fff;
border-radius: 0px 0px 5px 5px;
box-shadow: 0px 4px 4px #00000033, 0px 2px 2px #00000010 inset;
display: none;
}
header .header_inner nav ol li.depth1 ul.depth2 li {
width: 100%;
height: inherit;
margin-top: 10px;
text-align: center;
}
header .header_inner nav ol li.depth1 ul.depth2 li:first-child {
margin-top: 0;
}
header .header_inner nav ol li.depth1 ul.depth2 li a {
width: 100%;
height: 100%;
font-size: 16px;
line-height: 28px;
}
html[lang="en"] header .header_inner nav ol li.depth1 ul.depth2 li:first-child {
margin-top: 0;
}
html[lang="en"] header .header_inner nav ol li.depth1 ul.depth2 li a {
line-height: 110%;
}
header .header_inner nav ol li.depth1 ul.depth2 li.has_depth3 {
position: relative;
}
header .header_inner nav ol li.depth1 ul.depth2 li.has_depth3 > a {
display: block;
}
header .header_inner nav ol li.depth1 ul.depth2 li ul.depth3 {
position: absolute;
top: -20px;
left: 100%;
min-width: 180px;
width: max-content;
padding: 20px;
background-color: #fff;
border-radius: 5px;
box-shadow: 0px 4px 12px #00000022;
display: none;
}
header .header_inner nav ol li.depth1 ul.depth2 li.has_depth3:hover ul.depth3 {
display: block;
}
header .header_inner nav ol li.depth1 ul.depth2 li ul.depth3 li {
margin-top: 10px;
}
header .header_inner nav ol li.depth1 ul.depth2 li ul.depth3 li:first-child {
margin-top: 0;
}
header .header_inner nav ol li.depth1 ul.depth2 li ul.depth3 li a {
display: block;
text-align: left;
font-size: 15px;
line-height: 24px;
font-weight: 400;
}
header .header_inner nav ol li.depth1:hover * {
opacity: 1;
}
header .header_inner nav ol li.depth1:hover span {
font-weight: 500;
}
header .header_inner nav ol li.depth1:hover ul.depth2 {
display: block;
}
/* Anonymous navigation: explain login-required sections and keep their links visibly disabled. */
header .header_inner nav ol li.depth1.nav-login-required,
header .sitemap nav ol li.depth1.nav-login-required,
footer .footer_inner nav ol li.depth1.nav-login-required {
position: relative;
}
header .header_inner nav ol li.depth1.nav-login-required::after,
header .sitemap nav ol li.depth1.nav-login-required::after,
footer .footer_inner nav ol li.depth1.nav-login-required::after {
content: attr(data-login-tooltip);
position: absolute;
top: var(--login-tooltip-top, calc(100% + 8px));
left: var(--login-tooltip-left, 50%);
z-index: 1000;
width: max-content;
max-width: min(320px, calc(100vw - 32px));
padding: 12px 18px;
border: 2px solid #fff;
border-radius: 9px;
background: var(--color-primary);
color: #fff;
font-size: 16px;
font-weight: 700;
line-height: 1.5;
text-align: center;
white-space: normal;
box-shadow: 0 6px 18px rgba(0, 0, 0, 0.32), 0 0 0 1px var(--color-primary);
opacity: 0;
visibility: hidden;
pointer-events: none;
transform: translateY(-4px);
transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s ease;
}
header .header_inner nav ol li.depth1.nav-login-required::before,
header .sitemap nav ol li.depth1.nav-login-required::before,
footer .footer_inner nav ol li.depth1.nav-login-required::before {
content: "";
position: absolute;
top: calc(var(--login-tooltip-top, 100%) - 9px);
left: calc(var(--login-tooltip-left, 50%) + 20px);
z-index: 1001;
width: 0;
height: 0;
border-top: 9px solid var(--color-primary);
border-right: 9px solid transparent;
border-left: 9px solid transparent;
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: opacity 0.15s ease, visibility 0.15s ease;
}
header .header_inner nav ol li.depth1.nav-login-required:hover::after,
header .header_inner nav ol li.depth1.nav-login-required:focus-within::after,
header .sitemap nav ol li.depth1.nav-login-required:hover::after,
header .sitemap nav ol li.depth1.nav-login-required:focus-within::after,
footer .footer_inner nav ol li.depth1.nav-login-required:hover::after,
footer .footer_inner nav ol li.depth1.nav-login-required:focus-within::after {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
header .header_inner nav ol li.depth1.nav-login-required:hover::before,
header .header_inner nav ol li.depth1.nav-login-required:focus-within::before,
header .sitemap nav ol li.depth1.nav-login-required:hover::before,
header .sitemap nav ol li.depth1.nav-login-required:focus-within::before,
footer .footer_inner nav ol li.depth1.nav-login-required:hover::before,
footer .footer_inner nav ol li.depth1.nav-login-required:focus-within::before {
opacity: 1;
visibility: visible;
}
header .header_inner nav a[data-auth-disabled="true"],
header .sitemap nav a[data-auth-disabled="true"],
footer .footer_inner nav a[data-auth-disabled="true"] {
color: #888 !important;
opacity: 0.55 !important;
cursor: not-allowed;
pointer-events: none;
text-shadow: none !important;
}
/* PC GNB: 인재채용은 1뎁스 링크만 노출(2뎁스 드롭다운 숨김, ★최종 기준) */
header .header_inner nav ol li.depth1.nav-recruit ul.depth2 {
display: none;
}
header .header_inner nav ol li.depth1 ul.depth2 li:hover a {
color: #0044f2;
}
/* PC GNB 패키지 S/W 전용 드롭다운 (전 제품 목록 노출형, Figma node 12222:396 기준) */
header .header_inner nav ol li.depth1 ul.package_sw_dropdown {
width: 360px;
box-sizing: border-box;
padding: 0 10px;
display: none;
flex-direction: column;
align-items: stretch;
justify-content: flex-start;
gap: 0;
overflow: hidden;
border-radius: 0px 0px 8px 8px;
background: #ffffff;
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%);
translate: 0;
}
header .header_inner nav ol li.depth1:hover ul.package_sw_dropdown {
display: flex;
}
/* 2depth 리스트 항목 (EG-BIM, TOVA, GAIA) : 라벨 + 3depth 그리드를 한 행에 노출
라벨(a)은 absolute + top/bottom:0 으로 행 높이에 꽉 차게 고정 (flex stretch는
부모 li의 높이가 콘텐츠(ul.depth3)로부터 계산되는 특성상 일부 브라우저에서
확실히 stretch 되지 않아, absolute 방식으로 명시적으로 채움) */
header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3 {
width: 100%;
margin-top: 0;
text-align: left;
position: relative;
}
header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3 > a {
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 107px;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(270deg, rgba(255, 255, 255, 0) 3.57%, #ffffff 101.4%), #f5f7fa;
font-size: 16px;
line-height: 1.2;
font-weight: 500;
letter-spacing: -0.32px;
color: #000;
opacity: 0.8;
transition: all 0.2s ease;
}
/* 2depth 활성화/호버 상태 */
header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3.active > a,
header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3 > a:hover {
color: #0044f2;
opacity: 1;
}
/* 3depth 그리드 (제품별 하위 메뉴, 2열 고정 노출) */
header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3 ul.depth3 {
position: static;
margin-left: 127px;
width: 213px;
height: auto;
box-sizing: border-box;
padding: 19.87px 0;
background: none;
border-radius: 0;
border-left: none;
box-shadow: none;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 8px 16px;
letter-spacing: -0.28px;
}
/* 두 번째 행부터 상단 구분선 노출 (Figma Line 2184/2185) */
header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3:not(:first-child) ul.depth3 {
border-top: 1px solid rgba(0, 0, 0, 0.08);
}
/* 영문판: 3depth 메뉴명이 길어 2열 그리드에서 줄바꿈되므로 컬럼 폭을 넓혀 한 줄로 표시 (2열 구조 및 국문은 그대로 유지) */
html[lang="en"] header .header_inner nav ol li.depth1 ul.package_sw_dropdown {
width: 470px;
}
html[lang="en"] header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3 ul.depth3 {
width: 320px;
}
/* 일반 depth2 드롭다운의 ':hover { display:block }' 규칙(특정성 우선순위 높음)이
패키지 S/W 그리드를 덮어쓰지 않도록 동일 특정성으로 재정의 */
header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3:hover ul.depth3 {
display: grid;
}
/* 3depth 리스트 항목 */
header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3 ul.depth3 li {
width: 100%;
margin-top: 0;
}
/* 3depth 메뉴 링크 (플레인 텍스트 스타일) */
header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3 ul.depth3 li a {
display: block;
width: auto;
padding: 0;
border: none;
background: none;
border-radius: 0;
font-size: 14px;
line-height: 1.2;
color: #000;
opacity: 0.8;
font-weight: 400;
transition: all 0.2s ease;
}
/* 3depth 호버 상태 */
header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3 ul.depth3 li a:hover {
color: #0044f2;
opacity: 1;
background: none;
}
header .header_inner .header_R {
display: flex;
flex-direction: row;
align-items: center;
flex: 0 0 auto;
margin-left: auto;
}
header .header_inner .header_R .language {
padding-right: 24px;
}
@media (max-width: 768px) {
header .header_inner .header_R .language {
padding-right: 8px;
}
}
header .header_inner .header_R .language a {
padding: 0 5px;
display: inline-block;
font-weight: 700;
font-size: 16px;
color: #000;
opacity: 0.5;
}
header .header_inner .header_R .language a.on {
opacity: 1;
}
header .header_inner .header_R .language a:first-child::after {
content: "";
display: inline-block;
width: 1px;
height: 12px;
background-color: #000;
opacity: 0.8;
margin-left: 10px;
}
header .header_inner .header_R .language::before {
content: "";
display: inline-block;
width: 16px;
height: 16px;
margin-top: 4px;
background-image: url(../img/ico_language.svg);
background-position: center;
background-repeat: no-repeat;
translate: 0 2px;
}
header .header_inner .header_R .btn_menu {
cursor: pointer;
height: fit-content;
margin-left: auto;
padding: 8px;
width: 32px;
height: 32px;
position: relative;
}
header .header_inner .btn_menu div {
width: 24px;
height: 2px;
position: absolute;
right: 4px;
border-radius: 4px;
background-color: #000;
transition: 0.2s;
}
header .header_inner .btn_menu div:nth-child(1) {
top: 7px;
}
header .header_inner .btn_menu div:nth-child(2) {
top: 15px;
width: 16px;
}
header .header_inner .btn_menu div:nth-child(3) {
bottom: 7px;
}
/* 메뉴 임시 숨김 처리 (패키지 S/W · 서비스 S/W · 홍보센터만 노출) */
header .header_inner nav ol li.depth1.menu_hidden,
header .sitemap nav ol li.depth1.menu_hidden,
footer .footer_inner nav ol li.depth1.menu_hidden {
display: none;
}
header .sitemap .popup_contents_wrap {
display: flex;
flex-direction: column;
}
header .sitemap .popup_header {
width: 100%;
max-width: 100%;
min-height: 92px;
padding: 0 144px 0 160px;
border-bottom: 1px solid #ccc;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
background-color: #fff;
z-index: 1;
}
header .sitemap .logo_box {
display: inline-flex;
align-items: center;
}
header .sitemap .btn_close {
height: 92px;
width: 64px;
position: initial;
}
header .sitemap .btn_close i {
display: block;
position: relative;
height: 70%;
width: auto;
aspect-ratio: 1/1;
margin: 0 auto;
}
header .sitemap .btn_close i::after,
header .sitemap .btn_close i::before {
content: "";
background-color: #000;
position: absolute;
width: 50%;
height: 2px;
}
header .sitemap .btn_close i::after {
transform-origin: top left;
top: 30%;
left: 32%;
animation: btn-close-ico1 0.35s ease both;
}
header .sitemap .btn_close i::before {
transform-origin: bottom left;
top: 65.3%;
left: 32%;
animation: btn-close-ico2 0.35s ease both;
}
header .sitemap .btn_close:hover {
background: transparent;
}
header .sitemap nav {
width: 100%;
max-width: 100%;
height: 100%;
margin: 0 auto;
text-align: left;
overflow-x: hidden;
overflow-y: auto;
background-color: #fff;
padding: 0 160px 0 240px;
}
header .sitemap nav ol {
width: 100%;
height: 100%;
display: grid;
grid-auto-rows: minmax(auto, 160px);
align-content: center;
align-items: center;
position: relative;
}
header .sitemap nav ol::before {
position: absolute;
content: "";
width: 30%;
height: 100%;
top: 0;
right: 80%;
background: linear-gradient(90deg, transparent 0%, #006aff 100%);
opacity: 0.05;
pointer-events: none;
}
header .sitemap nav ol li.depth1 {
display: grid;
grid-template-columns: 1fr 4fr;
align-content: stretch;
align-items: center;
height: 100%;
opacity: 0.5;
}
header .sitemap nav ol li.depth1 span {
font-size: 28px;
font-weight: 700;
}
header .sitemap nav ol li.depth1 span em {
display: block;
font-size: 20px;
font-weight: 400;
}
header .sitemap nav ol li.depth1 ul.depth2 {
display: grid;
grid-template-columns: repeat(3, 1fr);
align-items: center;
height: 100%;
font-size: 18px;
padding-left: 80px;
border-bottom: 1px solid #eee;
}
header .sitemap nav ol li.depth1 ul.depth2 > li > a {
opacity: 1;
}
header .sitemap nav ol li.depth1 ul.depth2 li {
padding: 16px 0;
width: 80%;
}
header .sitemap nav ol li.depth1 ul.depth2 li a {
width: 100%;
height: 100%;
display: block;
}
header .sitemap nav ol li.depth1 ul.depth2 li.has_depth3 {
width: 100%;
}
header .sitemap nav ol li.depth1 ul.depth2 li ul.depth3 {
display: flex;
flex-direction: column;
gap: 8px;
margin-top: 12px;
padding-top: 12px;
border-top: 1px solid rgba(0, 0, 0, 0.08);
font-size: 14px;
opacity: 0.75;
width:80%
}
header .sitemap nav ol li.depth1:nth-child(4) ul.depth2 li.has_depth3,
header .sitemap nav ol li.depth1:nth-child(5) ul.depth2 li.has_depth3 {
display: flex;
flex-direction: column;
gap: 24px;
}
header .sitemap nav ol li.depth1:nth-child(4) ul.depth2 li.has_depth3 > a,
header .sitemap nav ol li.depth1:nth-child(5) ul.depth2 li.has_depth3 > a {
width:auto;
margin-top: 2px;
line-height: 100%;
}
header .sitemap nav ol li.depth1:nth-child(4) ul.depth2 li.has_depth3 ul.depth3,
header .sitemap nav ol li.depth1:nth-child(5) ul.depth2 li.has_depth3 ul.depth3 {
border-top: none;
margin-top: 0;
padding-top: 0;
opacity: 1;
color: #7f7f7f;
font-size: 18px;
letter-spacing: -0.36px;
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
grid-auto-flow: row;
grid-template-rows: repeat(3, auto);
column-gap: 20px;
row-gap: 12px;
}
header .sitemap nav ol li.depth1 ul.depth2 li ul.depth3 li {
width: 100%;
padding: 0;
}
header .sitemap nav ol li.depth1 ul.depth2 li ul.depth3 li a {
display: block;
line-height: 1.2;
}
header .sitemap nav ol li.depth1:last-child ul.depth2 li i {
display: inline-block;
width: 14px;
height: 14px;
background: no-repeat center/contain;
margin-left: 4px;
translate: 0 1px;
background-color: #000;
-webkit-mask-image: url(../img/ico_more.svg);
mask-image: url(../img/ico_more.svg);
background-size: cover;
-webkit-background-size: cover;
mask-size: contain;
-webkit-mask-position: center;
mask-position: center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
}
header .sitemap nav ol li.depth1 ul.depth2 li:hover {
color: var(--color-primary);
font-weight: 700;
}
header .sitemap nav ol li.depth1 ul.depth2 li:hover i {
background-color: var(--color-primary);
}
header .sitemap nav ol li.depth1:hover {
opacity: 1;
}
/* --------------------------------- */
/* 사이트맵 인재채용 바로가기 (nav.html .nav-recruit) */
/* --------------------------------- */
header .sitemap nav ol li.depth1.nav-recruit > ul.depth2 {
display: grid;
}
@media (max-width: 1400px) {
header .sitemap nav ol li.depth1.nav-recruit > ul.depth2 {
display: block;
max-height: none;
}
}
/* --- 오픈형 메뉴 */
/* --- 버튼형 메뉴 */
/* --- 사이트맵 */
@keyframes btn-close-ico1 {
from {
transform: rotate(0);
}
to {
transform: rotate(45deg);
}
}
@keyframes btn-close-ico2 {
from {
transform: rotate(0);
}
to {
transform: rotate(-45deg);
}
}
/* 공통적용 - 푸터 footer */
footer {
width: 100%;
background-color: #071933;
color: #fff;
font-size: 18px;
color: #fff;
position: relative;
z-index: 10;
}
.recruit + footer .nav {
display: none;
}
footer .footer_inner {
width: 100%;
height: 100%;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: stretch;
gap: 0px;
position: relative;
padding: 40px 160px 50px;
overflow: hidden;
}
footer .footer_inner nav {
flex: 0 0 900px;
width: 900px;
}
footer .footer_inner nav ol {
width: 100%;
display: flex;
justify-content: space-between;
}
html[lang="en"] footer .footer_inner{
gap: 80px;
}
html[lang="en"] footer .footer_inner nav ol{
justify-content: left;
gap: 40px;
}
html[lang="en"] footer .footer_inner nav ol li.depth1 ul.depth2.package_sw_dropdown{
width: auto;
}
html[lang="en"] footer .footer_inner nav ol li.depth1 ul.depth2 li ul.depth3 li{
width: 150px;
}
html[lang="en"] footer .footer_inner .footer_info .home{
margin-bottom: 36px;
}
footer .footer_inner nav ol li.depth1 {
display: flex;
flex-direction: column;
gap: 32px;
position: relative;
height: max-content;
}
footer .footer_inner nav ol li.depth1 span {
font-size: 16px;
font-weight: 700;
white-space: nowrap;
position: relative;
}
footer .footer_inner nav ol li.depth1 span::after {
content: "";
position: absolute;
bottom: -20px;
display: block;
width: 24px;
height: 2px;
background-color: #fff;
}
footer .footer_inner nav ol li.depth1 span em {
display: block;
opacity: 0.5;
font-size: 14px;
font-weight: 400;
white-space: nowrap;
}
footer .footer_inner nav ol li.depth1 span i {
display: inline-block;
width: 16px;
height: 16px;
background: url(../img/ico_more.svg) no-repeat center/contain;
margin-left: 4px;
translate: 0 1px;
filter: invert(1);
}
footer .footer_inner nav ol li.depth1:last-child {
padding-left: 48px;
}
footer .footer_inner nav ol li.depth1:last-child::before {
content: "";
position: absolute;
width: 1px;
height: 100%;
border-left: 1px dashed #fff;
margin-left: -48px;
opacity: 0.5;
}
footer .footer_inner nav ol li.depth1:last-child span::after,
footer .footer_inner nav ol li.depth1:last-child ul.depth2 {
display: none;
}
footer .footer_inner nav ol li.depth1 ul.depth2 {
display: flex;
flex-direction: column;
gap: 8px;
font-size: 14px;
font-weight: 400;
letter-spacing: -0.32px;
line-height: normal;
}
footer .footer_inner nav ol li.depth1 ul.depth2 li.has_depth3 {
display: flex;
flex-direction: column;
gap: 12px;
}
footer .footer_inner nav ol li.depth1 ul.depth2 li a {
display: block;
opacity: 0.8;
white-space: nowrap;
transition: opacity 0.2s ease;
}
footer .footer_inner nav ol li.depth1 ul.depth2 li a:hover {
opacity: 1;
/* font-weight 대신 text-shadow로 굵어 보이게 처리 (박스 크기에 영향 없어 옆 항목이 밀리지 않음) */
text-shadow: 0 0 0.4px currentColor;
}
/* 패키지 S/W · 서비스 S/W : 제품명 라벨(EG-BIM, TOVA, GAIA, KNGIL)을 좌측에 두고
우측 3열 그리드가 나란히 노출 (Figma node 12225:1056 기준) */
footer .footer_inner nav ol li.depth1 ul.depth2.package_sw_dropdown {
gap: 12px;
width: max-content;
}
footer .footer_inner nav ol li.depth1 ul.depth2.package_sw_dropdown li.has_depth3 {
flex-direction: row;
align-items: flex-start;
gap: 8px;
padding-bottom: 12px;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2) inset;
}
footer .footer_inner nav ol li.depth1 ul.depth2.package_sw_dropdown li.has_depth3:last-child {
padding-bottom: 0;
border-bottom: none;
box-shadow: none;
}
footer .footer_inner nav ol li.depth1 ul.depth2.package_sw_dropdown li.has_depth3 > a {
display: block;
flex: 0 0 auto;
min-width: 80px;
font-size: 16px;
letter-spacing: -0.32px;
box-shadow: none;
}
footer .footer_inner nav ol li.depth1 ul.depth2 li ul.depth3 {
display: grid;
grid-template-columns: repeat(2, auto);
column-gap: 12px;
row-gap: 4px;
flex: 1 1 auto;
font-size: 14px;
letter-spacing: -0.28px;
line-height: normal;
}
/* EG-BIM/TOVA/GAIA/KNGIL이 각각 별도의 grid 컨테이너라 grid-template-columns:auto가
행마다 콘텐츠 기준으로 따로 계산되어 열 경계가 어긋났음(정렬 오류).
한국어판은 열 너비를 고정해 모든 행에서 동일한 위치에 정렬되도록 함. */
html[lang="ko"] footer .footer_inner nav ol li.depth1 ul.depth2.package_sw_dropdown {
width: 280px;
}
html[lang="ko"] footer .footer_inner nav ol li.depth1 ul.depth2 li ul.depth3 {
grid-template-columns: 70px 110px;
}
footer .footer_inner nav ol li.depth1 ul.depth2 li ul.depth3 li {
opacity: 0.8;
text-align: left;
}
footer .footer_inner nav ol li.depth1 ul.depth2 li ul.depth3:hover li{
opacity: 1;
}
footer .footer_inner nav ol li.depth1 ul.depth2 li ul.depth3 li a {
display: block;
text-align: left;
font-size: 14px;
word-break: keep-all;
}
/* footer에서만 "EG-BIM 소개" 등 소프트웨어명 접두어를 감추고 "소개"만 표시 */
footer .footer_inner nav ol li.depth1 ul.depth2 li ul.depth3 li a .sw_name {
display: none;
}
/* 헤더 드롭다운·사이트맵 팝업에서도 footer와 동일하게 "EG-BIM 소개" 등 소프트웨어명 접두어를 감추고 "소개"만 표시 */
header .header_inner .package_sw_dropdown .depth3 a .sw_name,
header .sitemap .package_sw_dropdown .depth3 a .sw_name {
display: none;
}
footer .footer_inner .family_wrap {
position: absolute;
right: 160px;
bottom: 50px;
display: flex;
height: max-content;
width: 194px;
}
footer .footer_inner .family_wrap .family_btn {
background: rgba(255, 255, 255, 0.08);
color: #fff;
font-size: 14px;
font-weight: 700;
opacity: 0.8;
padding: 7px 14px;
display: flex;
justify-content: space-between;
align-items: center;
cursor: pointer;
width: 100%;
max-width: 500px;
height: 34px;
border-radius: 4px;
}
footer .footer_inner .family_wrap .family_btn i {
width: 12px;
height: 12px;
background: url(../img/ico_angle.svg) no-repeat center/contain;
transform: scaleY(-1);
transition: 0.2s;
}
footer .footer_inner .family_wrap:has(.family_on) .family_btn i {
transform: scaleY(1);
}
footer .footer_inner .family_wrap .family_list {
background: #fff;
width: 100%;
border-radius: 4px 4px 0 0;
padding: 0 10px;
box-sizing: border-box;
box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1333333333);
display: none;
position: absolute;
bottom: 100%;
}
footer .footer_inner .family_wrap .family_list.family_on {
display: block;
z-index: 10000;
}
footer .footer_inner .family_wrap .family_list li {
padding: 6px 0;
border-bottom: 1px solid #ddd;
color: #777;
width: 100%;
display: block;
font-size: 12px;
}
footer .footer_inner .family_wrap .family_list li a:hover {
color: #000;
font-weight: 500;
}
footer .footer_inner .footer_info {
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: space-between;
flex: 0 0 408px;
width: 408px;
letter-spacing: 0;
}
footer .footer_inner .footer_info .home {
display: inline-block;
width: 250px;
height: 34px;
margin-top: 32px;
margin-bottom: 74px;
background-image: url(../img/logo_w.svg);
background-repeat: no-repeat;
background-size: contain;
background-position: left center;
color: transparent;
}
footer .footer_inner .footer_info span {
display: block;
font-size: 16px;
letter-spacing: -0.64px;
white-space: nowrap;
}
footer .footer_inner .footer_info span em {
padding-right: 4px;
font-weight: 400;
opacity: 0.5;
}
footer .footer_inner .footer_contact {
display: flex;
align-items: center;
gap: 16px;
margin-top: 16px;
}
footer .footer_inner .footer_info > span:first-of-type {
margin-top: 16px;
}
footer .footer_inner .footer_info .copyright {
margin-top: 16px;
font-size: 14px;
letter-spacing: 0;
}
/* 데스크톱 풋터: nav를 전체 폭 상단 행으로, footer_info(로고·주소·연락처·저작권·Family Site)를
구분선 아래 한 줄 하단 바로 배치한다(로그인 여부와 무관). 모바일은 기존 풋터 스타일을 사용한다. */
@media (min-width: 1401px) {
footer .footer_inner {
flex-direction: column;
align-items: stretch;
gap: 32px;
padding: 40px 160px 0;
}
footer .footer_inner nav {
order: 1;
flex: 1 1 auto;
width: 100%;
}
footer .footer_inner nav ol {
gap: 28px;
}
footer .footer_inner .footer_info {
order: 2;
flex-direction: row;
align-items: center;
justify-content: flex-start;
flex: none;
flex-wrap: wrap;
width: 100%;
gap: 16px;
padding: 20px 0;
border-top: 1px solid rgba(255, 255, 255, 0.3);
}
footer .footer_inner .footer_info .home {
width: 150px;
height: 22px;
margin: 0 16px 0 0;
}
footer .footer_inner .footer_info > span:first-of-type {
margin-top: 0;
}
footer .footer_inner .footer_contact {
display: contents;
}
footer .footer_inner .footer_contact span::before {
content: "";
display: inline-block;
width: 1px;
height: 14px;
margin-right: 16px;
vertical-align: middle;
background: rgba(255, 255, 255, 0.3);
}
footer .footer_inner .footer_info .copyright {
margin-top: 0;
margin-left: auto;
}
footer .footer_inner .family_wrap {
position: relative;
right: auto;
bottom: auto;
margin-left: 16px;
}
} /* /@media (min-width: 1401px) 풋터 PC 전용 */
footer .btn_top {
position: fixed;
bottom: 80px;
right: max(60px, (100vw - 1920px) / 2 + 60px);
border-radius: 50%;
z-index: 100;
width: 60px;
height: 60px;
background-color: #071933;
cursor: pointer;
transition: bottom 0.3s ease-out;
}
footer .btn_top::after {
position: absolute;
content: "";
top: 12px;
left: calc(50% - 15px);
width: 30px;
height: 2px;
background-color: #fff;
}
footer .btn_top .arrow {
width: 2px;
height: 32px;
background-color: #fff;
position: absolute;
bottom: 6px;
left: 50%;
}
footer .btn_top .arrow::after,
footer .btn_top .arrow::before {
position: absolute;
content: "";
width: 16px;
height: 2px;
background-color: #fff;
top: 6px;
left: 50%;
}
footer .btn_top .arrow::after {
transform: translateX(calc(-50% + 6px)) rotate(45deg);
}
footer .btn_top .arrow::before {
transform: translateX(calc(-50% - 6px)) rotate(-45deg);
}
@media (hover: hover) {
footer .btn_top:hover::after {
transition: 0.2s;
padding: 0;
}
footer .btn_top:hover .arrow {
transition: 0.2s;
padding: 0;
bottom: 12px;
}
footer .btn_top:hover .arrow::after,
footer .btn_top:hover .arrow::before {
transition: 0.2s;
padding: 0;
}
}
/* 공통적용 - 상단 브래드크럼 map_list */
/* 250604추가💦 */
.map_list {
display: flex;
align-items: center;
position: fixed;
right: 0;
top: 124px;
z-index: 99;
color: rgb(255, 255, 255);
width: max-content;
height: 0px;
padding-right: 160px;
font-size: 14px;
margin-left: auto;
mix-blend-mode: difference;
transition: top 0.3s;
}
.map_list li {
opacity: 0.5;
}
.map_list li i.home {
width: 14px;
height: 14px;
background: url("../img/ico_home.svg") no-repeat center center/contain;
}
.map_list li.on {
opacity: 1;
}
.map_list li:not(:first-child)::before {
content: "/";
display: inline-block;
margin: 0 12px;
font-size: 12px;
translate: 0 -2px;
}
header .map_list {
position: absolute;
top: 100%;
right: 0;
}
/* 여기서부터 개별페이지 */
/* --------------------------------- */
/* ! 인덱스 index */
/* --------------------------------- */
.index section {
width: 100%;
height: 100vh;
background-color: #222;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
font-size: 40px;
}
body:has(.index) footer {
position: absolute;
bottom: 0;
height: 120px;
z-index: 1;
background-color: rgba(0, 0, 0, 0.6666666667);
display: none;
}
body:has(.index) footer .footer_inner nav,
body:has(.index) footer .btn_top {
display: none;
}
/* --------------------------------- */
/* ! 인재채용 recruit */
/* --------------------------------- */
header#header_recruit .logo_box {
display: inline-flex;
align-items: center;
gap: 20px;
}
header#header_recruit .logo_box a.logo {
height: 100%;
background-size: contain;
display: block;
color: transparent;
}
header#header_recruit .logo_box a.recruit {
position: relative;
font-size: 16px;
color: #244680;
font-weight: 700;
line-height: 1.2;
letter-spacing: -0.02em;
}
header#header_recruit .logo_box a.recruit::before {
content: " ";
position: absolute;
display: block;
left: -10px;
top: 10%;
width: 1px;
height: 80%;
opacity: 0.5;
background: #0c367f;
}
header#header_recruit .btn_menu {
display: none;
}
#header_recruit > .header_inner.corp,
#header_recruit > .sitemap {
display: none;
}
.recruit + #footer .family_wrap {
display: none;
}
.sub_inner {
width: 100%;
max-width: 1320px;
margin: auto;
}
/* media query */
@media all and (max-width: 1700px) {
footer .footer_inner {
padding: 40px 60px 50px;
}
}
@media all and (max-width: 1400px) {
html {
min-width: 100%;
}
.wrap {
min-width: 100%;
}
header {
height: 50px;
border-bottom: none;
}
/* index/dx 페이지는 어두운 히어로 위에 떠 있는 헤더라 투명 + 흰색 아이콘을 유지 */
body:has(.index, .dx) header {
background: none;
}
header.open,
header.open:hover {
background: #fff;
}
header .header_inner {
padding: 0 24px;
}
header .header_inner .logo_box a.logo {
width: 36px;
-webkit-mask-image: url(../img/logo.svg);
mask-image: url(../img/logo.svg);
background-color: #0c367f;
}
body:has(.index, .dx) header .header_inner .logo_box a.logo {
background-color: #fff;
}
body:has(.index, .dx) header:hover .header_inner .logo_box a.logo,
header:hover .header_inner .logo_box a.logo,
header.open .header_inner .logo_box a.logo {
background-color: #0c367f;
}
header .header_inner nav,
header#header_recruit .header_inner.recruit .nav_wrap nav,
header#header_recruit .btn_corp {
display: none;
}
body:has(.index, .dx) header:not(.open) .header_inner .btn_menu div {
background-color: #fff;
}
header:not(.open):hover .header_inner .btn_menu div {
background-color: #000;
}
body:has(.index, .dx) header .header_inner .header_R .language::before {
background-image: url(../img/ico_language_w.svg);
}
body:has(.index, .dx) header .header_inner .header_R .language a {
color: #fff;
}
body:has(.index, .dx) header .header_inner .header_R .language a:first-child::after {
background-color: #fff;
}
header:hover .header_inner .header_R .language::before,
header.open .header_inner .header_R .language::before {
background-image: url(../img/ico_language.svg);
}
header:hover .header_inner .header_R .language a,
header.open .header_inner .header_R .language a {
color: #000;
}
header:hover .header_inner .header_R .language a:first-child::after,
header.open .header_inner .header_R .language a:first-child::after {
background-color: #000;
}
/* 인재채용 */
header#header_recruit .btn_menu {
display: block;
width: 32px;
height: 32px;
position: relative;
}
header#header_recruit .logo_box {
align-items: end;
height: 18px;
margin-top: 6px;
}
header#header_recruit .nav_wrap .logo_box a.logo {
display: none;
}
header#header_recruit .nav_wrap .logo_box a.recruit {
width: 36px;
text-indent: -9999px;
overflow: hidden;
-webkit-mask-image: url(../img/logo.svg);
mask-image: url(../img/logo.svg);
background-size: cover;
-webkit-background-size: cover;
mask-size: contain;
-webkit-mask-position: center;
mask-position: center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
background-color: #fff;
}
header#header_recruit.open .nav_wrap .logo_box a.recruit,
header#header_recruit:hover .nav_wrap .logo_box a.recruit {
background-color: #0c367f;
}
header#header_recruit .logo_box a.recruit::before {
content: none;
}
/* 모바일 메뉴 */
.popup_wrap.sitemap {
background-color: rgba(0, 0, 0, 0.6);
height: 100vh;
z-index: 1;
}
header .sitemap .popup_contents_wrap {
width: 84.4444%;
max-width: 640px;
justify-self: end;
min-width: 304px;
position: fixed;
top: 0;
right: 0;
height: 100vh;
}
header .sitemap .popup_header {
background: var(--baron_C);
min-height: 50px;
height: 50px;
max-height: 50px;
padding: 0 0 0 16px;
overflow: hidden;
}
header .sitemap .logo_box a.logo {
width: 133px;
background-color: #fff;
}
header .sitemap .btn_close i::after,
header .sitemap .btn_close i::before {
background-color: #fff;
}
header .sitemap .btn_close {
height: 64px;
transform: scale(0.93);
}
header .sitemap nav {
padding: 0;
height: calc(100vh - 50px);
overflow-y: auto;
}
header .sitemap nav ol {
display: block;
align-content: baseline;
padding-top: 8px;
padding-bottom: 80px;
height: auto;
}
header .sitemap nav ol::before {
content: none;
}
header .sitemap nav ol li.depth1 {
display: block;
height: auto;
opacity: 1;
}
header .sitemap nav ol li.depth1 {
padding-bottom: 16px;
}
header .sitemap nav ol li.depth1 span {
position: relative;
display: block;
color: rgba(0, 0, 0, 0.8);
padding: 0 24px 14px 24px;
font-size: 20px;
cursor: pointer;
font-weight: 400;
}
header .sitemap nav ol li.depth1 > span::after {
content: " ";
position: absolute;
right: 25px;
top: 30%;
width: 10px;
height: 10px;
border-left: 1.5px solid rgba(0, 0, 0, 0.8);
border-top: 1.5px solid rgba(0, 0, 0, 0.8);
transform: rotate(-135deg);
transition: transform 0.3s ease-out;
}
header .sitemap nav ol li.depth1.active > span::after {
transform: rotate(45deg);
top: 40%;
}
header .sitemap nav ol li.depth1 span em {
font-size: 14px;
color: rgba(0, 0, 0, 0.5);
opacity: 0;
transition: opacity 0.2s ease-in;
}
/* 모바일 사이트맵: 1뎁스 제목 오른쪽 아이콘은 숨김(2뎁스 '인재채용 바로가기' 아이콘은 유지) */
header .sitemap nav ol li.depth1:last-child span i {
display: none;
float: right;
width: 20px;
height: 20px;
background: url(../img/ico_more.svg) no-repeat center / contain;
}
header .sitemap nav ol li.depth1 ul.depth2 {
display: block;
padding: 0;
background: #f9f9f9;
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease-out;
border-bottom: none;
}
header .sitemap nav ol li.depth1 ul.depth2 li{
padding: 16px 28px;
border-bottom: 1px solid rgba(0, 0, 0, 0);
border-top: 1px solid rgba(0, 0, 0, 0.05);
font-size: 16px;
opacity: 0.6;
width: 100%;
}
header .sitemap nav ol li.depth1 ul.depth2 li ul.depth3 {
gap: 10px;
margin-top: 12px;
padding-top: 12px;
font-size: 14px;
opacity: 1;
}
header .sitemap nav ol li.depth1:nth-child(4) ul.depth2 li.has_depth3 > a,
header .sitemap nav ol li.depth1:nth-child(5) ul.depth2 li.has_depth3 > a{
width: auto;
min-width: auto;
padding-right: 0;
border-right: 0;
opacity: 1;
}
header .sitemap nav ol li.depth1:nth-child(4) ul.depth2 li.has_depth3,
header .sitemap nav ol li.depth1:nth-child(5) ul.depth2 li.has_depth3{
flex-direction: column;
gap: 8px;
}
header .sitemap nav ol li.depth1:nth-child(4) ul.depth2 li.has_depth3 ul.depth3,
header .sitemap nav ol li.depth1:nth-child(5) ul.depth2 li.has_depth3 ul.depth3{
gap: 4px;
grid-auto-flow: row;
}
header .sitemap nav ol li.depth1 ul.depth2 li ul.depth3 li {
padding: 0;
border: 0;
font-size: 14px;
opacity: 0.7;
}
header .sitemap nav ol li.depth1 ul.depth2 li ul.depth3 li:hover {
opacity: 1;
}
header .sitemap nav ol li.depth1 ul.depth2 li:hover {
opacity: 1;
}
/* 인재채용 모바일 메뉴 */
header#header_recruit .popup_header .blind {
position: relative;
display: block;
text-indent: 0;
height: auto;
font-size: 12px;
color: #fff;
overflow: visible;
}
header#header_recruit .popup_header .blind::before {
content: " ";
width: 1px;
height: 80%;
top: 10%;
left: -10px;
position: absolute;
opacity: 0.5;
background: #fff;
}
header#header_recruit .sitemap nav ul {
display: flex;
flex-direction: column;
height: calc(100vh - 50px);
}
header#header_recruit .sitemap nav ul li.depth1 {
padding: 20px 24px;
font-size: 20px;
letter-spacing: -0.04em;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
header#header_recruit .sitemap nav ul li.depth1 span {
position: relative;
display: block;
}
header#header_recruit .sitemap nav ul li.depth1 span a::after {
content: " ";
position: absolute;
right: 25px;
top: 25%;
width: 10px;
height: 10px;
border-left: 1.5px solid rgba(0, 0, 0, 0.8);
border-top: 1.5px solid rgba(0, 0, 0, 0.8);
transform: rotate(135deg);
transition: transform 0.3s ease-out;
}
header#header_recruit .sitemap nav ul li.depth1:hover span a,
header#header_recruit .sitemap nav ul li.depth1:hover span a::after {
color: var(--baron_C);
border-color: var(--baron_C);
}
footer .footer_inner {
display: flex;
flex-direction: column-reverse;
justify-content: flex-start;
align-items: flex-start;
padding: 38px 24px 44px;
}
footer .footer_inner .nav {
display: none;
}
footer .footer_inner .footer_info {
display: flex;
flex-direction: row;
align-items: flex-start;
flex-wrap: wrap;
flex: 0 0 auto;
gap: 10px;
width: 100%;
}
footer .footer_inner .footer_contact {
display: contents;
}
footer .footer_inner .footer_info > span:first-of-type {
margin-top: 0;
}
footer .footer_inner .footer_info span{
white-space: normal;
word-break: break-word;
}
footer .footer_inner .footer_info .logo {
width: 100%;
}
footer .footer_inner .footer_info .home {
margin-bottom: 16px;
}
footer .footer_inner .footer_info h1 {
width: 192px;
height: 26px;
background-size: 100% auto;
margin-bottom: 16px;
}
footer .footer_inner .family_wrap {
position: static;
width: 100%;
max-width: 360px;
}
footer .footer_inner .family_wrap .family_btn {
height: 36px;
border-radius: 4px;
}
footer .footer_inner .family_wrap .family_list {
border-radius: 4px 4px 0 0;
}
footer .footer_inner .family_wrap .family_list.family_on {
top: auto;
bottom: 36px;
}
footer .footer_inner .footer_info span {
font-size: 14px;
font-weight: 400;
}
footer .footer_inner .footer_info .copyright {
display: block;
margin: auto;
width: 100%;
font-size: 12px;
}
.map_list {
padding-right: 24px;
top: 74px;
}
footer .footer_inner .footer_info {
flex-wrap: nowrap;
flex-direction: column;
}
footer .footer_inner .family_wrap {
max-width: 100%;
}
footer .btn_top {
width: 40px;
height: 40px;
right: max(40px, (100vw - 1920px) / 2 + 60px);
}
footer .btn_top::after {
width: 20px;
top: 6px;
left: calc(50% - 10px);
}
footer .btn_top::before{
display: none;
}
footer .btn_top .arrow {
height: 22px;
}
footer .btn_top .arrow::after,
footer .btn_top .arrow::before {
width: 12px;
top: 4px;
}
footer .btn_top .arrow::before {
transform: translateX(calc(-50% - 5px)) rotate(-45deg);
}
footer .btn_top .arrow::after {
transform: translateX(calc(-50% + 4px)) rotate(45deg);
}
}
@media all and (max-width: 768px) {
.map_list li:not(:first-child):not(.on) {
font-size: 0;
}
.map_list li:not(:first-child):not(.on)::after {
content: "..";
font-size: 14px;
}
}
/* --------------------------------- */
/* S/W 문의 바로가기 (헤더 언어 선택 앞) */
/* --------------------------------- */
header .header_inner .header_qa_button {
display: inline-flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
gap: 4px;
height: 30px;
padding: 0 12px;
margin-top: 2px;
margin-right: 24px;
border: 1px solid #ccc;
border-radius: 999px;
background: transparent;
color: #000;
font-size: 14px;
font-weight: 600;
line-height: 1;
white-space: nowrap;
text-decoration: none;
transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}
header .header_inner .header_qa_button svg {
display: block;
width: 16px;
height: 16px;
flex-shrink: 0;
fill: none;
stroke: currentColor;
stroke-width: 1.7;
stroke-linecap: round;
stroke-linejoin: round;
}
header .header_inner .header_qa_button:focus-visible {
outline: 2px solid currentColor;
outline-offset: 3px;
}
/* index/dx 히어로 위 투명 헤더: 언어 선택과 같은 흰색, 헤더 호버/열림 시 검정 */
body:has(.index, .dx) header .header_inner .header_qa_button {
color: #fff;
border-color: #ffffff66;
}
body:has(.index, .dx) header:hover .header_inner .header_qa_button,
body:has(.index, .dx) header.open .header_inner .header_qa_button {
color: #000;
border-color: #ccc;
}
header .header_inner .header_R .header_qa_button:is(:hover, :focus-visible) {
color: #006aff;
border-color: #91beff;
background: #f2f7ff;
}
@media (min-width: 1401px) and (max-width: 1700px) {
header .header_inner.corp:has(.header_qa_button) {
padding: 0 48px;
gap: 32px;
}
}
@media (max-width: 600px) {
/* 로고와 버튼 묶음 사이 간격(기본 80px)을 줄여 햄버거 버튼이 화면 밖으로 밀리지 않게 한다(★최종 기준 16px) */
header .header_inner.corp:has(.header_qa_button) {
gap: 16px;
}
header .header_inner .header_qa_button {
height: 28px;
padding: 0 6px;
margin-right: 12px;
font-size: 12px;
}
header .header_inner .header_qa_button svg {
width: 14px;
height: 14px;
}
}
@media (max-width: 380px) {
header .header_inner.corp:has(.header_qa_button) {
padding: 0 12px;
gap: 8px;
}
header .header_inner .header_qa_button {
margin-right: 6px;
font-size: 11px;
gap: 3px;
}
header .header_inner .header_R:has(.header_qa_button) .language {
padding-right: 6px;
}
header .header_inner .header_R:has(.header_qa_button) .language a {
padding: 0 3px;
font-size: 14px;
}
header .header_inner .header_R:has(.header_qa_button) .language a:first-child::after {
margin-left: 6px;
}
}