﻿@charset "utf-8";
/**************************************************

	Common.css ( ver 1.1.0 )

**************************************************/
input.authcode { width: 100px; }
span.authcode { font:bold;}
/* 페이징 화살표: global.css가 :after에 FontAwesome 코드(\f100 등)를 쓰지만 글꼴은 tahoma/arial/axicon이라 네모(tofu)로 보임. FontAwesome 지정 (2026-10-01) */
.paging a.first:after, .paging a.prev:after, .paging a.next:after, .paging a.last:after { font-family: FontAwesome; }
/* 회원가입 이메일 인증 상태 (Views/Include/form_resume.cshtml) */
.join-verified { display: inline-block; margin-left: 8px; font-size: 14px; color: #1a7f37; font-weight: 600; }
.join-verified a { margin-left: 6px; font-size: 13px; font-weight: normal; color: #666; text-decoration: underline; }
.join-hint { display: block; margin-top: 6px; font-size: 13px; color: #777; }
/* 인증번호 이미지 (Views/Include/authcode*.cshtml, /AuthCode/Image) */
img.authcode-img { display: inline-block; vertical-align: middle; height: 34px; margin: 0 4px 0 6px; border: 1px solid #d5d9e0; border-radius: 3px; background: #f7f8fa; }
a.authcode-refresh { display: inline-block; vertical-align: middle; font-size: 12px; color: #666; text-decoration: underline; white-space: nowrap; }

input.birthyear {
	width: 100px;
}
input.birthmonth {
	width: 50px;
}
input.birthday {
	width: 50px;
}

input.moneyfield {
	width: 100px;
}

#wait_layer {
	display: none;
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: rgba( 255, 255, 255, .8 ) url('/inc/imgs/loading.gif') 50% 50% no-repeat;
	opacity: 0.80;
	-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity = 80);
	filter: alpha(opacity = 80)
}

img.con_photo {
	width: 200px;
}

table.printform {
	width: 1100px;
}

div.fixsizebox {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
/* 채용공고 카드: 내부 블록(제목/직급/기간)마다 말줄임(...) 적용. 바깥 박스만 overflow hidden 이면 잘리기만 하고 ... 이 안 붙음 */
.listType1 li .fixsizebox .txt1 .cate,
.listType1 li .fixsizebox .txt1 .sbj,
.listType1 li .fixsizebox .txt2 p { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.listType1 li .fixsizebox .txt1 .cate { display: inline-block; box-sizing: border-box; vertical-align: middle; }
.listType1 li .btm { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* 채용공고 목록(/Personal/Recruit): 열 폭 고정 + 긴 문구 말줄임(...) */
#sb-list .list_tbl { table-layout: fixed; }
/* 열 폭: COMPANY 200→280px, LEVEL 100→160px, POSITION은 나머지 */
#sb-list .list_tbl thead tr th.com { width: 280px; }
#sb-list .list_tbl thead tr th.level { width: 160px; }
#sb-list .list_tbl tbody tr td.pos,
#sb-list .list_tbl tbody tr td.com,
#sb-list .list_tbl tbody tr td.level { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#sb-list .list_tbl tbody tr td.pos a { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media screen and (max-width: 750px) {
    /* 모바일은 기존처럼 자동 폭 + 줄바꿈 유지 (고정 폭이면 날짜 열이 너무 좁아짐) */
    #sb-list .list_tbl { table-layout: auto; }
    #sb-list .list_tbl thead tr th.com { width: 100px; }
    #sb-list .list_tbl thead tr th.level { width: auto; }
    #sb-list .list_tbl tbody tr td.pos,
    #sb-list .list_tbl tbody tr td.com,
    #sb-list .list_tbl tbody tr td.level,
    #sb-list .list_tbl tbody tr td.pos a { white-space: normal; overflow: visible; text-overflow: clip; }
}

/* GNB (2026-09-30, 상단 유틸 바 도입): 언어·로그인·고객문의를 #topbar로 올려 대메뉴가 로고 오른쪽부터 헤더 오른쪽 끝까지 쓴다.
   좌우 바깥 여백 110px → 40px. 고객문의는 PC 대메뉴에서 숨기고(.gnb-contact) 상단 바 버튼으로 표시. 1300px 이하는 기존 모바일 헤더 그대로 */
/* 로고·대메뉴는 콘텐츠 폭 컨테이너(#header .inner, 1260px) 안에: 로고는 왼쪽 끝, 대메뉴는 오른쪽 끝 정렬 (2026-09-30) */
#header .inner { height: 90px; }
#header .logo { left: 0; }
#header .rig { display: none; }
/* 대메뉴 7개(2026-10-01): 서브메뉴는 호버 시 모든 열이 한 띠로 펼쳐지므로 열끼리 겹치면 안 된다.
   로고 우측 여백 축소(240→218), 열을 flex로 균등 분산, 제목 왼쪽 정렬, 서브 14px, 서브가 넓은 열(회사소개·글로벌·컨설턴트)은 최소 폭 지정.
   1260px 컨테이너 기준 열 폭 합계 ≈1005px / 가용 1042px (측정 2026-10-01) */
/* 로고(212px)와 첫 메뉴 글자 사이 ≈33px: 메뉴 글자 사이 간격(≈28px)과 같거나 넓게 (2026-10-01 요청) */
#gnb { display: flex; justify-content: space-between; margin: 0 0 0 242px; text-align: left; }
#gnb > li { flex: 0 0 auto; }
#gnb > li.gnb-contact { display: none; }
#gnb > li > a { padding: 0 10px; text-align: center; }   /* 최소 폭이 지정된 열에서도 제목이 가운데 오도록 → 메뉴 글자 간격이 고르게 보임 */
#gnb > li:first-child > a { padding-left: 0; }
#gnb > li:last-child > a { padding-right: 0; }
#gnb > li > a span { padding: 0 2px; font-size: 17px; white-space: nowrap; }
/* 서브메뉴: li 왼쪽에서 12px 들여쓰기, li 폭에 갇혀 줄바꿈되지 않도록 */
#gnb > li > ul { padding-left: 12px; width: auto; min-width: 100%; white-space: nowrap; }
#gnb > li:first-child > ul { padding-left: 2px; }
#gnb > li > ul li a { font-size: 14px; }
#gnb > li.col-company { min-width: 122px; }
#gnb > li.col-consultant { min-width: 108px; }
#gnb > li.col-global { min-width: 218px; }
#gnb > li.col-global > ul { white-space: normal; }   /* "Global Candidate Registration"은 열 폭 안에서 두 줄 허용 */
#gnb > li.col-global > ul li a { line-height: 1.3; }
#gnb > li > ul li a { white-space: nowrap; }
.gnb-new { display: inline-block; vertical-align: super; margin-left: 4px; padding: 0 6px; height: 16px; line-height: 16px; font-size: 10px; font-weight: bold; letter-spacing: 0; color: #fff; background: #e6532d; border-radius: 8px; font-family: lato, sans-serif; }
#gnb-mo .gnb-new { vertical-align: middle; }
/* GNB 영문 병기 (설계서 메뉴 표기 "글로벌 인재채용 Global Talent Solution").
   한글 라벨 아래 작은 두 번째 줄로 절대 배치해 메뉴 폭을 늘리지 않는다. 인라인으로 두면 메뉴가 우측 KOR/ENG 블록과 겹친다 (2026-09-30 확인) */
/* 한글 제목은 다른 메뉴와 같은 높이(line-height 90px)에 두고, 영문은 그 바로 아래 붙임 (2026-10-01 간격 축소) */
#gnb > li > a span.has-en { line-height: 90px; padding-bottom: 0; }
/* 영문은 NEW 배지를 뺀 한글 제목(.ko) 폭 기준으로 가운데 정렬 (2026-10-01). 마크업: <span class="has-en"><i class="ko">한글<em class="gnb-en">영문</em></i> <em class="gnb-new">NEW</em></span> */
#gnb .has-en .ko { position: relative; display: inline-block; font-style: normal; }
#gnb .gnb-en { display: block; position: absolute; left: 50%; transform: translateX(-50%); bottom: 17px; text-align: center; font-family: lato, sans-serif; font-size: 11px; line-height: 12px; font-style: normal; letter-spacing: 0.02em; color: #2152a4; white-space: nowrap; }
#gnb-mo .has-en .ko { font-style: normal; }
#gnb-mo .gnb-en { display: inline; margin-left: 6px; font-family: lato, sans-serif; font-size: 12px; font-style: normal; color: #666; }
/* 컨테이너가 1260px 고정이라 1300px까지는 같은 크기. 1300px 이하(모바일 헤더): 상단 바를 숨기고 기존 .rig(언어·로그인) + 햄버거 메뉴 구성으로 복원 */
@media screen and (max-width: 1300px) {
    #topbar { display: none; }
    #header .inner { height: 100%; }
    #header .rig { display: block; }
    #header .logo { left: 10px; }
    /* PC용 #gnb { display:flex } 기본 규칙이 respond.css의 모바일 숨김(display:none)보다 뒤에 로드되어 대메뉴가 비어져 나오던 문제 (2026-10-01) */
    #gnb { display: none; }
}

/* 영문 헤더(header_eng.cshtml, #header.eng): 대메뉴 4개(CONTACT US는 상단 바 버튼)라 균등 분산 대신 오른쪽 정렬, 여백은 넉넉하게 */
#header.eng #gnb { justify-content: flex-end; }
#header.eng #gnb > li > a { padding: 0 22px; }
#header.eng #gnb > li > a span { font-size: 18px; }

/* 상단 유틸 바 (Views/Include/header_kor.cshtml · header_eng.cshtml #topbar) */
#topbar { position: relative; z-index: 301; height: 34px; background: #f5f6f8; border-bottom: 1px solid #e9e9e9; }
#topbar .tb-inner { width: 1260px; margin: 0 auto; padding: 0; text-align: right; font-size: 0; }   /* 콘텐츠 폭에 맞춤 */
#topbar .tb-inner > * { display: inline-block; vertical-align: middle; height: 34px; line-height: 34px; }
#topbar a { font-family: mon, sans-serif; font-size: 13px; color: #777; text-decoration: none; }
#topbar .tb-lan a { position: relative; padding: 0 12px; }
#topbar .tb-lan a + a:before { content: ''; position: absolute; left: 0; top: 50%; margin-top: -5px; width: 1px; height: 10px; background: #d9d9d9; }
#topbar .tb-lan a.active, #topbar a:hover { color: #f66d26; }
#topbar .tb-tnb { margin-left: 18px; }
#topbar .tb-tnb a { padding: 0 8px; }
#topbar .tb-contact { margin-left: 18px; padding: 0 16px; height: 24px; line-height: 22px; font-size: 13px; color: #fff; background: #f66d26; border-radius: 12px; font-weight: 600; box-sizing: border-box; }
#topbar .tb-contact:hover { background: #e05a15; color: #fff; }

/* 이용약관 / 개인정보처리방침 본문 (Views/Include/terms_*.cshtml). #content 접두: 회원가입(#sb-wrap p, h4 {margin:0}) 리셋보다 우선하도록 */
#content .terms { white-space: normal; text-align: left; word-break: keep-all; }
#content .terms h4 { margin: 24px 0 10px; padding-bottom: 8px; border-bottom: 1px solid #e5e5e5; font-size: 16px; font-weight: bold; color: #222; line-height: 1.4; }
#content .terms h5 { margin: 18px 0 6px; font-size: 14px; font-weight: bold; color: #333; line-height: 1.5; }
#content .terms > h4:first-child, #content .terms > h5:first-child, #content .terms > p:first-child { margin-top: 0; }
#content .terms p { margin: 0 0 8px; }
#content .terms p.sub { margin-top: 14px; font-weight: bold; color: #444; }
#content .terms p.chk { margin: 10px 0 4px; padding-left: 1.4em; text-indent: -1.4em; color: #444; }
#content .terms p.chk:before { content: '\2610'; margin-right: 0.4em; color: #17469d; }
#content .terms p.note { padding-left: 1.4em; text-indent: -1.4em; color: #888; font-size: 0.93em; }
#content .terms ol, #content .terms ul { margin: 0 0 10px; padding-left: 2.2em; }
#content .terms ol.num { list-style: decimal; }
#content .terms ol.num > li { list-style: decimal outside; display: list-item; margin-bottom: 6px; }
#content .terms ol.num > li > p { margin-bottom: 4px; }
#content .terms ol.kor { list-style: hangul; margin: 4px 0 6px; }
#content .terms ol.kor > li { list-style: hangul outside; display: list-item; margin-bottom: 3px; }
#content .terms ul.dash { list-style: none; padding-left: 2em; }
#content .terms ul.dash li { position: relative; margin-bottom: 3px; }
#content .terms ul.dash li:before { content: '-'; position: absolute; left: -1em; }
#content .terms li p { margin: 0 0 4px; }
#content .policybox.terms { padding: 10px 0 40px; font-size: 14px; line-height: 22px; }
