@charset "utf-8";

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  min-width: 0;
  font-size: 12px;
  color: #000;
  font-family: "Pretendard Variable";
  letter-spacing: -0.5px;
  border: 0;
  vertical-align: base-line;
  background: transparent;
}

:root {
  --main-color-bg: #1d48a0; /* 파랑 */
  --cont-bg: #f8f8fa; /* 회색 */
  --cont-secbg: #62759f; /* 메뉴선택시 회색 */
  --cont-line: #dadbdc; /* 회색선 */
  --bor-line: #ced4da; /* 보더컬러(aeb4c3) */
  --black: #000;
  --menu-font: #515557; /* 중메뉴글씨 */
}

/* base.css */

html,
body {
  width: 100%;
  height: 100%; /* overflow:auto; */
}
body {
  background: #fff;
}
fieldset,
img {
  border: 0 none;
  vertical-align: top;
}
nav ul,
dl,
ul,
ol,
menu,
li {
  list-style: none;
}
button {
  overflow: visible;
  border: 0 none;
  background-color: transparent;
  cursor: pointer;
}
button::-moz-focus-inner {
  padding: 0;
  border: 0;
}
img,
input,
button {
  vertical-align: middle;
}
address,
caption,
em {
  font-style: normal;
}
a {
  color: #454545;
  text-decoration: none;
  cursor: pointer;
}
a:focus,
a:active,
a:hover {
  color: #222;
  text-decoration: none;
}
a:link {
  color: #555;
  text-decoration: none;
}
a:visited {
  color: #555;
  text-decoration: none;
}
a:hover {
  color: #333;
  text-decoration: none !important;
  cursor: pointer;
}
a:active {
  color: #555;
  text-decoration: underline;
}
table {
  /*border-collapse:collapse;*/
  border-spacing: 0;
}
table td,
table th {
  vertical-align: middle !important;
}
hr {
  display: none;
}

input[type="tel"][readonly],
input[type="text"][readonly],
input[type="password"][readonly],
input[type="email"][readonly],
input[type="search"][readonly],
input[type="tel"][disabled],
input[type="text"][disabled],
input[type="password"][disabled],
input[type="search"][disabled],
input[type="email"][disabled] {
  background: #eaeaea;
  border-color: #666;
  color: #666;
  -webkit-appearance: none;
}

input[type="radio"] {
  border: 0 !important;
  display: none;
}
input[type="radio"] + label span {
  display: inline-block;
  width: 17px;
  height: 19px;
  vertical-align: middle;
  background: url(../img/sub/radio_off.png) no-repeat center -1px;
  cursor: pointer;
  background-size: cover;
  margin-right: 2px;
}
input[type="radio"]:checked + label span {
  background: url(../img/sub/radio_on.png) no-repeat center -1px;
  background-size: cover;
  margin-right: 2px;
}
/* input box color 자동완성 파란색 수정 */
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 30px #fff inset;
  -webkit-text-fill-color: #666;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  transition: background-color 5000s ease-in-out 0s;
}

.form-check {
  display: block;
  min-height: 1.7rem;
  margin-bottom: 0.125rem;
}
label {
  display: inline-block;
  padding: 0 3px;
  font-weight: bold;
  /* color:#53596e; */
  vertical-align: middle;
}
.form-check-input {
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: 1px solid rgba(0, 0, 0, 0.25);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-print-color-adjust: exact;
  color-adjust: exact;
}

.form-check-input:checked[type="radio"] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
.form-check-input:checked {
  background-color: #0d6efd;
  border-color: #0d6efd;
}

.form-check-input[type="radio"] {
  border-radius: 50%;
}

.form-check .form-check-input {
  float: left;
}

.bold {
  font-weight: bold;
}

/* common */
.blind,
legend,
caption {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  font-size: 0;
  line-height: 0px;
  white-space: nowrap;
}
#skip {
  height: 0;
}
#skip a {
  display: block;
  position: absolute;
  left: 0;
  top: -100px;
  width: 100%;
  height: 1px;
  text-align: center;
}
#skip a:focus,
#skip a:active {
  position: absolute;
  top: 0;
  z-index: 200;
  height: 40px;
  background: rgba(255, 255, 255, 0.7);
  font-weight: bold;
  color: #333;
  font-size: 14px;
  text-decoration: none;
  display: block;
  width: 100%;
  border-bottom: 1px solid #fff;
}

.clear {
  clear: both;
}
.clear:after {
  content: "";
  display: block;
  clear: both;
}

/* 초기화
   ========================================================================== */

html {
  line-height: 1.5; /* 1. 모든 브라우저에서 줄 높이를 수정합니다. */
  -webkit-text-size-adjust: 100%; /*2. iOS에서 방향 변경 후 글꼴 크기 조정을 방지합니다. 리베하얀 -webkit-text-size-adjust:none; */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  word-break: keep-all;
  font-size: 16px;
  /*text-rendering: optimizeLegibility;*/
}
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
}
body {
  /* min-width: 320px;*/
  margin: 0; /* 모든 브라우저 여백 제거 */
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
  display: block; /* IE에서 일관되게 렌더링 */
}
h1 {
  font-size: 2em; /* h1요소 글꼴 크기 및 여백 수정 -크롬,파이어폭스,사파리 */
}

/* 컨텐츠 그룹화
   ========================================================================== */

pre {
  font-family: monospace, monospace; /* 모든 브라우저에서 글꼴 크기의 상속 및 배율 조정, 모든 브라우저에서 이상한 em 글꼴크기 수정 */
  font-size: 1em; /* 2 */
  /* line-height:1; */
}

/* 텍스트 수준 의미론
   ========================================================================== */

a {
  background-color: transparent; /* IE10에서 활성 링크 회색 배경 제거*/
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  display: block;
  text-decoration: none;
}
abbr[title] {
  border-bottom: none; /* 크롬57에서 하단 테두리 제거 */
  text-decoration: underline; /* 크롬, 엣지, IE, 오페라, 사파리에서 올바른 텍스트 */
  text-decoration: underline dotted; /* 크롬, 엣지, IE, 오페라, 사파리에서 올바른 텍스트 */
}
b,
strong {
  font-weight: bolder; /* 크롬, 엣지, 사파리에서 올바른 글꼴 두께 */
  vertical-align: baseline;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 모든 브라우저에서 글꼴 크기 상속 및 배율 조정 */
  font-size: 1em; /* 모든 브라우저에서 이상한 em 글꼴크기 수정 */
}
small {
  font-size: 95%; /* 모든 브라우저 글꼴 크기 추가 */
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; /* 모든 브라우저상 요소가 줄 높이 영향 주지 않도록 */
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}
del {
  text-decoration: line-through;
}
/* Embedded content
   ========================================================================== */

img {
  border-style: none; /* IE10 링크 내부 이미지 테두리 제거 */
}

/* Forms
   ========================================================================== */

input,
button,
optgroup,
select,
textarea {
  font-family: inherit; /* 모든 브라우저에서 글꼴 스타일을 변경 */
  padding: 0.25em 0.375em;
  margin: 0; /* Firefox 및 Safari에서 여백을 제거 */
  min-height: 27px;
  /* border-radius:5px; */
}
button,
optgroup,
select,
textarea {
  line-height: 1.15; /* 모든 브라우저에서 글꼴 스타일을 변경 */
}

button,
input {
  /* IE에서 오버플로를 표시 */
  overflow: visible;
}

button,
select {
  /* Edge, Firefox 및 IE에서 텍스트 변환의 상속을 제거 */
  text-transform: none;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  background: no-repeat right center / 1em;
  padding-right: 1em;
}

/* 키보드로 버튼에 포커스 시 */
button:focus-visible {
  outline: #000 solid 2px;
}

/* 마우스, 터치로 버튼에 포커스 시 box-shadow: 1px 1px 5px rgba(1, 1, 0, .7);  */
button:focus:not(:focus-visible) {
  outline: none;
}

/**
 * Change the inconsistent appearance in all browsers (opinionated).
 */

select:not([multiple]):not([size]) {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath d='M4 0h6L7 4'/%3E%3C/svg%3E");
  background-color: #fff;
  background-size: auto;
  padding-right: 21px;
}

[type="color"],
[type="range"] {
  border-width: 0;
  padding: 0;
}

/**
 * Change the inconsistent appearance in IE (opinionated).
 */

::-ms-expand {
  display: none;
}

/**
 * Correct the inconsistent appearance in IE (opinionated).
 */

:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.54);
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; /* iOS 및 Safari에서 클릭 가능한 유형의 스타일을 지정할 수없는 문제를 수정 */
  cursor: pointer;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  /* Firefox에서 내부 테두리와 패딩을 제거 */
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  /* 이전 규칙에서 설정하지 않은 초점 스타일을 복원 */
  outline: 1px dotted ButtonText;
}
fieldset {
  /* Firefox에서 패딩을 수정 */
  padding: 0.35em 0.75em 0.625em;
}
input,
select {
  vertical-align: middle;
  border: 1px solid #666;
  padding-left: 10px;
  background-color: #fff;
}

legend {
  box-sizing: border-box; /*  Edge 및 IE의 텍스트 줄 바꿈을 수정 */
  color: inherit; /* IE의`fieldset` 요소에서 색상 상속을 수정 */
  display: table; /*  Edge 및 IE의 텍스트 줄 바꿈을 수정 */
  max-width: 100%; /*  Edge 및 IE의 텍스트 줄 바꿈을 수정 */
  padding: 0; /* 개발자가 제로 아웃 할 때 걸리지 않도록 패딩을 제거 */
  white-space: normal; /*  Edge 및 IE의 텍스트 줄 바꿈을 수정 */
}

progress {
  /* Chrome, Firefox 및 Opera에서 올바른 수직 정렬 */
  vertical-align: baseline;
}
textarea {
  overflow: auto; /* IE 10+에서 기본 세로 스크롤바 제거 */
  padding: 5px;
  line-height: 1.4;
  resize: vertical;
  font-size: 13px;
  border: 0;
}

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* IE 10에서 올바른 상자 크기를 추가 */
  padding: 0; /* IE 10에서 패딩을 제거 */
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  /* Chrome에서 증가 및 감소 버튼의 커서 스타일을 수정 */
  height: auto;
}
[type="search"] {
  -webkit-appearance: textfield; /* Chrome 및 Safari에서 이상한 모양을 수정 */
  outline-offset: -2px; /* Safari에서 윤곽선 스타일을 수정 */
}
[type="search"]::-webkit-search-decoration {
  /*macOS의 Chrome 및 Safari에서 내부 패딩을 제거*/
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* iOS 및 Safari에서 클릭 가능한 유형의 스타일을 지정할 수없는 문제를 수정 */
  font: inherit; /* Safari에서 글꼴 속성을 '상속'으로 변경 */
}

/* Interactive
   ========================================================================== */

details {
  display: block; /* Edge, IE 10+ 및 Firefox에서 올바른 디스플레이를 추가 */
}
summary {
  /* 모든 브라우저에 올바른 디스플레이를 추가 */
  display: list-item;
}
template {
  /* IE 10+에서 올바른 디스플레이를 추가 */
  display: none;
}
[hidden] {
  /* IE 10에서 올바른 디스플레이를 추가 */
  display: none;
}
.clear {
  clear: both;
}
.clear::after {
  content: "";
  display: block;
  clear: both;
}
.f20 {
  font-size: 20px;
}

/* 레이아웃 구조
   ========================================================================== */

.row-12 {
  display: flex;
  flex-wrap: wrap;
}
.row-12 > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
}
.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12 {
  float: left;
}
.col-12 {
  width: 100%;
}
.col-11 {
  width: 91.66666667%;
}
.col-10 {
  width: 83.33333333%;
}
.col-9 {
  width: 75%;
}
.col-8 {
  width: 66.66666667%;
}
.col-7 {
  width: 58.33333333%;
}
.col-6 {
  width: 50%;
}
.col-5 {
  width: 41.66666667%;
}
.col-4 {
  width: 33.33333333%;
}
.col-3 {
  width: 25%;
}
.col-2 {
  width: 16.66666667%;
}
.col-1 {
  width: 8.33333333%;
}
.col-pdt {
  padding-top: 10px;
}
.col-pdr {
  padding-right: 5px;
}
.col-pdl {
  padding-left: 5px;
}
.col-pd5 {
  padding: 5px;
}
.col-pd10 {
  padding: 10px;
}
.col-pdrl {
  padding: auto 5px;
}
.col-pdlr {
  padding: auto 5px;
}
.col-pdtb {
  padding: 5px auto;
}
.col-pdbt {
  padding: 5px auto;
}
.bdb0 {
  border-bottom: 0 !important;
}
.hide,
caption,
legend {
  line-height: 0;
  font-size: 0px;
  overflow: hidden;
  text-indent: -99999;
}

.hrow-12 {
  height: 100vh;
}
.hrow-11 {
  height: 91.66666667vh;
}
.hrow-10 {
  height: 83.33333333vh;
}
.hrow-9 {
  height: 75vh;
}
.hrow-8 {
  height: 66.66666667vh;
}
.hrow-7 {
  height: 58.33333333vh;
}
.hrow-6 {
  height: 50vh;
}
.hrow-5 {
  height: 41.66666667vh;
}
.hrow-4 {
  height: 33.33333333vh;
}
.hrow-3 {
  height: 25vh;
}
.hrow-2 {
  height: 16.66666667vh;
}
.hrow-1 {
  height: 8.33333333vh;
}

.hrow-12 {
  height: 100%;
}
.hrow-11 {
  height: 91.66666667%;
}
.hrow-10 {
  height: 83.33333333%;
}
.hrow-9 {
  height: 75%;
}
.hrow-8 {
  height: 66.66666667%;
}
.hrow-7 {
  height: 58.33333333%;
}
.hrow-6 {
  height: 50%;
}
.hrow-5 {
  height: 41.66666667%;
}
.hrow-4 {
  height: 33.33333333%;
}
.hrow-3 {
  height: 25%;
}
.hrow-2 {
  height: 16.66666667%;
}
.hrow-1 {
  height: 8.33333333%;
}

/* 정렬 */
.vt {
  vertical-align: top !important;
}
.vb {
  vertical-align: bottom !important;
}
.vm {
  vertical-align: middle !important;
}
.ac {
  text-align: center !important;
}
.ar {
  text-align: right !important;
}
.al {
  text-align: left !important;
}
.auto {
  margin: 0 auto;
}

/* 여백 */
.mt0 {
  margin-top: 0 !important;
}
.mt2 {
  margin-top: 2px !important;
}
.mt4 {
  margin-top: 4px !important;
}
.mt5 {
  margin-top: 5px !important;
}
.mt7 {
  margin-top: 7px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt25 {
  margin-top: 25px;
}
.mt30 {
  margin-top: 30px !important;
}
.mt35 {
  margin-top: 35px;
}
.mt40 {
  margin-top: 40px !important;
}
.mt45 {
  margin-top: 45px !important;
}

.mla {
  margin-left: auto !important;
}
.mra {
  margin-right: auto !important;
}
.ml0 {
  margin-left: 0 !important;
}
.ml3 {
  margin-left: 5px !important;
}
.ml5 {
  margin-left: 5px !important;
}
.ml7 {
  margin-left: 7px !important;
}
.ml8 {
  margin-left: 7px !important;
}
.ml10 {
  margin-left: 10px;
}
.ml20 {
  margin-left: 20px;
}

.mr5 {
  margin-right: 5px !important;
}
.mr10 {
  margin-right: 10px !important;
}
.mr15 {
  margin-right: 15px !important;
}
.mr20 {
  margin-right: 20px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}
.mb5 {
  margin-bottom: 5px !important;
}
.mb6 {
  margin-bottom: 6px !important;
}
.mb7 {
  margin-bottom: 7px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb50 {
  margin-bottom: 50px;
}
.mb60 {
  margin-bottom: 60px;
}
.mb70 {
  margin-bottom: 70px;
}
.mb80 {
  margin-bottom: 80px;
}
.mb90 {
  margin-bottom: 90px;
}
.mb100 {
  margin-bottom: 100px;
}

.p0 {
  padding: 0 !important;
}
.p5 {
  padding: 5px !important;
}
.p10 {
  padding: 10px !important;
}
.p7_bb {
  padding: 7px !important;
  box-sizing: border-box !important;
}

.pt0 {
  padding-top: 0 !important;
}
.pt5 {
  padding-top: 5px !important;
}
.pt10 {
  padding-top: 10px !important;
}
.pt15 {
  padding-top: 15px;
}
.pt20 {
  padding-top: 20px;
}
.pt25 {
  padding-top: 25px;
}
.pt30 {
  padding-top: 30px;
}

.pl0 {
  padding-left: 0 !important;
}

.pl4 {
  padding-left: 4px;
}
.pl5 {
  padding-left: 5px !important;
}
.pl7 {
  padding-left: 7px !important;
}
.pl8 {
  padding-left: 8px !important;
}
.pl10 {
  padding-left: 10px !important;
}
.pl15 {
  padding-left: 15px;
}
.pl20 {
  padding-left: 20px !important;
}

.pl30 {
  padding-left: 30px;
}

.pr5 {
  padding-right: 5px !important;
}
.pr10 {
  padding-right: 10px !important;
}
.pr20 {
  padding-right: 20px !important;
}

.pb5 {
  padding-bottom: 5px;
}
.pb7 {
  padding-bottom: 7px;
}
.pb10 {
  padding-bottom: 10px;
}
.pb15 {
  padding-bottom: 15px;
}
.pb20 {
  padding-bottom: 20px;
}

/* width 값 */
.w10 {
  width: 10px;
}
.w20 {
  width: 20px;
}
.w30 {
  width: 30px;
}
.w40 {
  width: 40px;
}
.w45 {
  width: 45px;
}
.w50 {
  width: 50px;
}
.w55 {
  width: 55px;
}
.w60 {
  width: 60px;
}
.w65 {
  width: 65px;
}
.w70 {
  width: 70px;
}
.w75 {
  width: 75px;
}
.w80 {
  width: 80px;
}
.w85 {
  width: 85px;
}
.w90 {
  width: 90px;
}
.w95 {
  width: 95px;
}
.w100 {
  width: 100px;
}
.w110 {
  width: 110px;
}
.w120 {
  width: 120px;
}
.w130 {
  width: 130px;
}
.w140 {
  width: 140px;
}
.w150 {
  width: 150px;
}
.w160 {
  width: 160px;
}
.w170 {
  width: 170px;
}
.w180 {
  width: 180px;
}
.w190 {
  width: 190px;
}
.w200 {
  width: 200px;
}
.w210 {
  width: 210px;
}
.w220 {
  width: 220px;
}
.w230 {
  width: 230px;
}
.w240 {
  width: 240px;
}
.w250 {
  width: 250px;
}
.w260 {
  width: 260px;
}
.w270 {
  width: 270px;
}
.w280 {
  width: 280px;
}
.w300 {
  width: 300px;
}
.w400 {
  width: 400px;
}

.w100p {
  width: 100%;
}
.w98p {
  width: 98%;
}
.w97p {
  width: 97%;
}
.w96p {
  width: 96%;
}
.w95p {
  width: 95%;
}
.w94p {
  width: 94%;
}
.w93p {
  width: 93%;
}
.w92p {
  width: 92%;
}
.w91p {
  width: 91%;
}
.w90p {
  width: 90%;
}
.w85p {
  width: 85%;
}
.w80p {
  width: 80%;
}
.w75p {
  width: 75%;
}
.w70p {
  width: 70%;
}
.w65p {
  width: 65%;
}
.w60p {
  width: 60%;
}
.w55p {
  width: 55%;
}
.w50p {
  width: 50%;
}
.w40p {
  width: 40%;
}
.w30p {
  width: 30%;
}
.w20p {
  width: 20%;
}
.w10p {
  width: 10%;
}

.bt0 {
  border-top: 0 !important;
}

/* ▼ */
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

/* 프로그래스바 */
::-webkit-progress-bar {
  background-color: #eaecf4;
}

::-webkit-progress-value {
  background-color: #4f78d1;
}

/********** body **********/

.fb {
  font-weight: bold;
}
.normal {
  font-weight: normal;
}
.f15 {
  font-size: 15px !important;
}
.f12 {
  font-size: 12px !important;
}
.f11 {
  font-size: 11px;
}
.bgW {
  background: #fff;
}

.fl {
  float: left;
}
.fr {
  float: right;
}
.cl {
  clear: both !important;
}
.cl:after {
  display: block;
  content: "";
  clear: both;
}

.show,
.block {
  display: block !important;
}
.inblock {
  display: inline-block;
}
.none {
  display: none !important;
}
.visible {
  visibility: visible;
}
.vt {
  vertical-align: top;
}
.vb {
  vertical-align: bottom;
}
.vm {
  vertical-align: middle;
}

.wbbw {
  word-break: break-word;
}

.bdT0 {
  border-top: 0 !important;
}
.bdT2 {
  border-top: 2px solid #bbb !important;
}
.bdT3 {
  border-top: 1px solid #bbb !important;
}
.bdr1 {
  border-right: 1px solid #ddd !important;
}
.bdr2 {
  border-right: 1px solid #bbb !important;
}
.db_dot {
  border-top: 1px dotted #bbb;
  height: 1px;
}

.bdl0 {
  border-left: 0 !important;
}
.bdb0 {
  border-bottom: 0 !important;
}
.bdb1 {
  border-bottom: 1px solid #ddd;
}
/* table 상단 보더값 */
.bdT1 tr {
  border-top: 1px solid #bbb !important;
}
.bdT1 {
  border-top: 1px solid #bbb !important;
}

.body {
  background: #fff;
}

.text-white {
  color: #fff !important;
}

.text-primary {
  color: #4e73df !important;
}

a.text-primary:hover,
a.text-primary:focus {
  color: #224abe !important;
}

.text-secondary {
  color: #53596e !important;
}

a.text-secondary:hover,
a.text-secondary:focus {
  color: #53596e !important;
}

.text-success {
  color: #1cc88a !important;
}

a.text-success:hover,
a.text-success:focus {
  color: #13855c !important;
}
.text-warning {
  color: #f6c23e !important;
}

a.text-warning:hover,
a.text-warning:focus {
  color: #dda20a !important;
}

.text-danger {
  color: #cd247a !important;
}

a.text-danger:hover,
a.text-danger:focus {
  color: #cd247a !important;
}

.d-flex {
  display: flex;
}
.flex-none {
  flex: none;
}
.flex-max {
  flex: 1;
}
.flex-right {
  margin-left: auto !important;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

.border-bottom {
  border-bottom: 1px solid #e3e6f0;
}

/* Customize the label (the container) */
.container {
  display: block;
  position: relative;
  padding-left: 22px;
  cursor: pointer;
  font-size: 12px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Hide the browser's default radio button */
.container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Create a custom radio button */
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 14px;
  width: 14px;
  margin-top: 3px;
  border: 1px solid rgb(216, 216, 216);
  background: #fff;
}

/* On mouse-over, add a grey background color */
.container:hover input ~ .checkmark {
  background-color: #ccc;
}

/* When the radio button is checked, add a blue background */
.container input:checked ~ .checkmark {
  background-color: #2196f3;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the indicator (dot/circle) when checked */
.container input:checked ~ .checkmark:after {
  display: block;
}

/* Style the indicator (dot/circle) */
.container .checkmark:after {
  top: 3px;
  left: 3px;
  width: 6px;
  height: 6px;
  background: white;
}

#modal2 .modal_body {
  display: flex;
  flex-direction: column;
  padding: 15px;
}
#modal2 div.viewerpop.modal_body {
  padding: 0;
}

.wrap_box {
  margin: 18px 11px 18px auto;
}
.wrap_box input {
  position: absolute;
  left: -1000%;
}
.wrap_box label {
  position: relative;
  display: block;
  width: 50px;
  height: 24px;
  background: #ccc;
  border-radius: 30px;
  transition: background 0.4s;
}
.wrap_box label:after {
  content: "";
  position: absolute;
  left: 5.5px;
  top: 50%;
  width: 18px;
  height: 18px;
  border-radius: 100%;
  background: #fff;
  transform: translateY(-50%);
  box-shadow: 1px 3px 4px rgba(0, 0, 0, 0.2);
}
.wrap_box input:checked + label {
  background: #4f78d1;
  transition: all 0.4s;
}
/* input:checked + label:after {left:inherit; right:7.5px; } */
.wrap_box input:checked + label:after {
  left: calc(100% - 23.5px);
}
.wrap_box label span {
  display: none;
}
.newch_add {
  font-weight: bold;
}
.newch_add ul li {
  display: flex;
  flex-direction: column;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.btn.style2 {
  background-color: #4f78d1;
  color: #fff;
}
#modal h2,
#modal2 h2 {
  margin: 0;
  font-size: 16px;
  color: #000;
}

#menuTabbars,
#menuTabbars_btn {
  z-index: 0;
}

.modal_pop {
  display: none;
  width: 100%;
  height: 100%;
  z-index: 888;
}
.modal_pop h2 {
  margin: 0;
  font-size: 16px;
  color: #000;
}
.modal_pop button {
  display: inline-block;
}

.modal_pop .modal_layer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 888;
}

.modal_pop .modal_content {
  width: auto;
  margin: 0 auto;
  background: #fff;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  pointer-events: auto;
  border: 1px solid #dadbdc;
  border-top: 2px solid #1d48a0;
  z-index: 999;
}
.modal_pop .modal_header {
  display: flex;
  justify-content: space-between;
  background: #f8f8fa;
  padding: 5px 15px;
  border-bottom: 1px solid #dadbdc;
  align-items: center;
}
.modal_pop .modal_body {
  flex: 1 1 auto;
  position: relative;
  padding: 10px 15px;
}
.modal_pop .modal_body .list {
  padding: 5px 0;
  border-bottom: 1px solid #e9eaed;
}
.modal_pop .modal_footer {
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  justify-content: flex-end;
  border-top: 1px solid #dadbdc;
}

.workreport_title {
  font-weight: bold;
  font-size: 13px;
  margin-left: 10px;
}
.work_applier {
  font-weight: bold;
  color: #666;
  margin-left: 5px;
}
.work_applier:before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 10px;
  border-left: 1px solid #888;
  margin-right: 5px;
}

.modal_body label {
  padding: 3px;
}

.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date {
  background: #1d48a0;
}
.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date .dhtmlxcalendar_label,
.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_hover .dhtmlxcalendar_label {
  color: #fff !important;
}

.cmt_inputdiv textarea {
  min-height: 28px;
  margin-bottom: -4px !important;
  border-radius: 0;
  resize: none;
}

#reportCn textarea {
  border: 1px solid #000;
}
#modal_close_btn3 {
  margin-left: auto;
}
#reportCn {
  border: 1px solid #000;
}

/* 캘린더 input */
.input_calen {
  width: 120px;
  padding: 0 6px;
  margin-right: 3px;
  border: solid 1px #666666;
  background: #fff url(../img/new_sub/icon_calen.svg) no-repeat 90px center !important;
  display: inline-block;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.input_calen::-ms-clear {
  display: none;
}
.input_calen:hover {
  cursor: pointer;
}
.input_calen:focus {
  background: #fff url(../img/new_sub/icon_calen_focus.svg) no-repeat 90px center !important;
}

.input_calen[disabled] {
  background-color: #eaeaea !important;
}
.glyphicon.glyphicon-calendar {
  right: 2.1rem;
  top: 0.18rem;
  color: #555555;
  font-size: 0.9rem;
  cursor: pointer;
  padding: 0.4rem;
  border-left: 1px solid #dedede;
}
.glyphicon.glyphicon-calendar:hover {
  transition: all 0.3s;
  background: #094f79;
  color: #ffffff;
  text-decoration: none;
  border-radius: 0 0.2rem 0.2rem 0;
  font-weight: normal;
  cursor: pointer;
}

/* 파일 찾기 */
.file_input label {
  position: relative;
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
  overflow: hidden;
  width: 80px;
  height: 20px;
  background: #fff;
  color: #212529;
  text-align: center;
  line-height: 22px;
  border: 0;
  border: 1px solid #dedede;
}
.file_input label input {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  display: none;
}
.file_input input[type="text"] {
  vertical-align: middle;
  display: inline-block;
  line-height: 22px;
  font-size: 11px;
  padding: 1px 3px;
  border: 0;
  border: 1px solid #dedede;
}

/* 문자 줄바꿈, 단어 줄바꿈, 공백 있는 그대로 */
.word_break {
  word-wrap: break-word;
  word-break: normal;
  white-space: pre-wrap;
  white-space: -moz-pre-wrap;
  white-space: -pre-wrap;
  white-space: -o-pre-wrap;
}

/* 알림창 */
#wrap_notice {
  position: absolute;
  background: #fff;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid #eee;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  z-index: 2000;
  -webkit-box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.2);
}

#header_notice {
  height: 32px;

  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  border-bottom: 1px solid #dadbdc;
}

#header_notice h2 {
  font-size: 0.85rem;
  color: #000;
  font-weight: bold;
  line-height: 28px;
  padding-left: 20px;
}

#content_notice {
  font-size: 0.75rem;
  color: #454545;
  padding: 20px 10px;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

#content_notice p:first-child {
  font-size: 15px;
}

#content_notice button {
  min-width: auto !important;
  text-align: center;
}

#content_notice .btn_confirm {
  height: 24px;
  line-height: 1;
  border: 1px solid #0775d3;
  padding: 5px 8px;
  background: linear-gradient(180deg, rgba(27, 150, 255, 1) 0%, rgba(7, 117, 211, 1) 100%);
  color: #fff;
  margin: 0;
  font-weight: 600;
  border-radius: 3px;
  min-width: 50px !important;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, background-color 0.15s ease-in-out 0s;
  font-size: 13px;
}

/* 팝업 확인 버튼은 회색이 아닌 primary color여야 함 20241029 */
/* 취소 버튼 클래스 not 추가하여 취소 버튼을 nth선택자가 아니라 직접 지정하게 함 20241105 */
#content_notice .btn_confirm.not {
  height: 26px;
  line-height: 1;
  border: none;
  padding: 5px 8px;
  background: #757575;
  color: #fff;
  margin: auto;
  font-weight: 600;
  border-radius: 3px;
  min-width: 60px !important;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, background-color 0.15s ease-in-out 0s;
  font-size: 14px;
}

/* error */

div.error {
  position: absolute;
  z-index: 5;
  bottom: -25px;
  left: 0;
  background-color: orangered;
  padding: 2px 8px;
  color: white;
  text-align: center;
  white-space: nowrap;
  font-size: 14px;
  letter-spacing: -0.5px;
  border-radius: 4px;
  border: 1px solid orangered;
  opacity: 1;
  transition: opacity 1s;
}

div.error:after,
div.error:before {
  bottom: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

div.error:after {
  border-color: transparent;
  border-bottom-color: orangered;
  border-width: 5px;
  margin-left: -5px;
}
div.error:before {
  border-color: transparent;
  border-bottom-color: orangered;
  border-width: 5px;
  margin-left: -5px;
}
/* 라디오버튼  및 다중버튼 스위치 설정 */
.switch-field {
  overflow: hidden;
  display: inline-block;
  margin-top: -1px;
  vertical-align: middle;
}
.switch-title {
  margin-bottom: 0.38rem;
}
.switch-field input {
  position: absolute !important;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  width: 1px;
  border: 0;
  overflow: hidden;
}
.switch-field label {
  float: left;
  line-height: 1.6rem;
}
.switch-field label {
  display: inline-block;
  width: auto;
  background-color: #e9f0ff;
  color: #333333;
  font-size: 0.75rem;
  line-height: 24px;
  height: 1.5rem;
  font-weight: normal;
  text-align: center;
  text-shadow: none;
  padding-right: 0.8rem;
  padding-left: 0.8rem;
  border: 1px solid #dfe3ea;
  border-right: none;
  -webkit-box-shadow: inset 0 0.03rem 0.1rem rgba(0, 0, 0, 0.1), 0 0.03rem rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 0.03rem 0.1rem rgba(0, 0, 0, 0.1), 0 0.03rem rgba(255, 255, 255, 0.1);
  -webkit-transition: all 0.1s ease-in-out;
  -moz-transition: all 0.1s ease-in-out;
  -ms-transition: all 0.1s ease-in-out;
  -o-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.switch-field label:last-child {
  border-right: 1px solid rgba(0, 0, 0, 0.15);
}

.switch-field label:hover {
  cursor: pointer;
  transition: all 0.3s;
}
.switch-field input:checked + label {
  background-color: #6596fc;
  -webkit-box-shadow: inset none 0px;
  box-shadow: inset none 0px;
  font-weight: 600;
  color: #ffffff;
  cursor: default;
}
.switch-field label:first-of-type {
  border-radius: 0.2rem 0 0 0.2rem;
}
.switch-field label:last-of-type {
  border-radius: 0 0.2rem 0.2rem 0;
}

.login_box li {
  position: relative;
}

/* 스크롤바 */

* {
  scrollbar-width: 16px;
}

::-webkit-scrollbar {
  width: 16px;
}

::-webkit-scrollbar-corner,
::-webkit-scrollbar-track {
  background-color: #ebebeb;
}

::-webkit-scrollbar-thumb {
  background-color: #fff;
  background-clip: padding-box;
  border: 4px solid transparent;
  border-radius: 26px;
}

::-webkit-scrollbar-thumb:hover {
}

::-webkit-scrollbar-thumb:active {
  background-color: #808080;
  cursor: default;
}

/* Buttons */
::-webkit-scrollbar-button:single-button {
  background-color: #ebebeb;
  display: block;
  background-size: 10px;
  background-repeat: no-repeat;
}

/* Up */
::-webkit-scrollbar-button:single-button:vertical:decrement {
  height: 12px;
  width: 16px;
  background-position: center 4px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgb(96, 96, 96)'><polygon points='50,00 0,50 100,50'/></svg>");
}

::-webkit-scrollbar-button:single-button:vertical:decrement:hover {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgb(112, 112, 112)'><polygon points='50,00 0,50 100,50'/></svg>");
}

::-webkit-scrollbar-button:single-button:vertical:decrement:active {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgb(128, 128, 128)'><polygon points='50,00 0,50 100,50'/></svg>");
}

/* Down */
::-webkit-scrollbar-button:single-button:vertical:increment {
  height: 12px;
  width: 16px;
  background-position: center 2px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgb(96, 96, 96)'><polygon points='0,0 100,0 50,50'/></svg>");
}

::-webkit-scrollbar-button:single-button:vertical:increment:hover {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgb(112, 112, 112)'><polygon points='0,0 100,0 50,50'/></svg>");
}

::-webkit-scrollbar-button:single-button:vertical:increment:active {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgb(128, 128, 128)'><polygon points='0,0 100,0 50,50'/></svg>");
}

/* Left */
::-webkit-scrollbar-button:single-button:horizontal:decrement {
  height: 12px;
  width: 12px;
  background-position: 3px 3px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgb(96, 96, 96)'><polygon points='0,50 50,100 50,0'/></svg>");
}

::-webkit-scrollbar-button:single-button:horizontal:decrement:hover {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgb(112, 112, 112)'><polygon points='0,50 50,100 50,0'/></svg>");
}

::-webkit-scrollbar-button:single-button:horizontal:decrement:active {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgb(128, 128, 128)'><polygon points='0,50 50,100 50,0'/></svg>");
}

/* Right */
::-webkit-scrollbar-button:single-button:horizontal:increment {
  height: 12px;
  width: 12px;
  background-position: 3px 3px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgb(96, 96, 96)'><polygon points='0,0 0,100 50,50'/></svg>");
}

::-webkit-scrollbar-button:single-button:horizontal:increment:hover {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgb(112, 112, 112)'><polygon points='0,0 0,100 50,50'/></svg>");
}

::-webkit-scrollbar-button:single-button:horizontal:increment:active {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgb(128, 128, 128)'><polygon points='0,0 0,100 50,50'/></svg>");
}
.red {
  color: #ff784d !important;
  display: inline-block;
  margin-right: 3px;
  vertical-align: middle;
}

/**********2024.09. ***********/

/*** header ***/

header {
  width: 100%;
  height: 60px;
  padding: 0 30px 0 0;
  background: rgb(50, 136, 217);
  background: linear-gradient(90deg, rgb(50, 136, 217) 0%, rgb(0, 92, 180) 100%);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

header > div {
  display: flex;
}
header h1.logo_white {
  width: 260px;
  height: 60px;
  margin: 0;
  background-image: url("../img/new_header/logo_whitesvg.svg");
  background-repeat: no-repeat;
  background-position: center 10px;
}
header h1.logo_white img {
  display: inline-block;
  text-align: center;
}
header ul {
  display: flex;
}
header ul li {
  line-height: 60px;
  font-weight: 500;
  font-size: 20px;
  cursor: pointer;
  text-align: center;
  color: #fff;
  /* 마우스오버 뿐만 아니라 on 클래스를 가지는 메뉴(현재 페이지)에도 같은 스타일 적용*/
}

header ul li a {
  width: 115px;
}
header ul li:last-child a {
  width: 150px;
}

header ul li a:hover,
header ul li.on {
  background: #4892d9;
  font-weight: 600;
  color: #fff;
}
header ul li:hover a::after,
header ul li.on a::after {
  width: 8px;
  height: 8px;
  background: #fbe572;
  border-radius: 100%;
  content: "";
  position: absolute;
  transform: translate(-50%, -50%);
  top: 28%;
  right: 8px;
}
header ul li a {
  min-width: 50px;
  position: relative;
  display: inline-block;
}
header .right {
  color: #fff;
  display: flex;
  gap: 20px;
  align-items: center;
}
header .right p {
  position: relative;
  color: #fff;
  font-size: 16px;
}

header .right strong {
  color: #fff;
  font-size: 16px;
}
header .right p::after {
  content: "";
  position: absolute;
  top: 5px;
  right: -12px;
  width: 1px;
  height: 14px;
  background: rgba(255, 255, 255, 0.6);
}
header .right .login_time {
  width: 84px;
  height: 28px;
  padding: 4px 4px 4px 24px;
  font-size: 14px;
  font-weight: 500;
  border: 1px solid #fff;
  border-radius: 100px;
  background-image: url("../img/new_header/login_time.svg");
  background-repeat: no-repeat;
  background-position: 6px center;
}
header .right .btn_logout {
  width: 24px;
  height: 24px;
  background: url("../img/new_header/logout.svg") no-repeat;
}

/* leftNav */
nav {
  position: relative;
}

.nav-toggle {
  transform: translateX(-240px);
  width: 16px;
}

.nav-toggle .leftMenuBtn {
  transform: scaleX(-1);
}

nav .leftMenuBtn {
  width: 16px;
  height: 40px;
  background: url("../img/new_sub/leftMenuBtn.svg") no-repeat;
  position: absolute;
  top: 0px;
  left: 239px;
  cursor: pointer;
  z-index: 99;
}
nav > div {
  background: #fff;
  border-right: 1px solid #c1c1c1;
  width: 240px;
  height: 100vh;
  margin-right: 30px;
}
nav .tabs {
  display: flex;
  align-items: center;
}
nav .tabs h5 {
  width: 120px;
  height: 40px;
  line-height: 40px;
  padding-left: 20px;
  text-align: center;
  font-size: 16px;
  font-weight: 400;
  color: #666;
  background-color: #eee;
  background-repeat: no-repeat;
  background-position: 22px center;
  border-bottom: 1px solid #757575;
}
nav .tabs h5:first-child {
  background-image: url("../img/new_sub/work_manu_off.svg");
  border-right: 1px solid #757575;
}

nav .tabs h5:first-child.tab-active {
  background-image: url("../img/new_sub/work_manu.svg");
}
nav .tabs h5:last-child {
  background-image: url("../img/new_sub/fav_off.svg");
}

nav .tabs h5:last-child.tab-active {
  background-image: url("../img/new_sub/fav.svg");
}
nav .tabs h5.tab-active {
  color: #000;
  border-bottom: 1px solid #fff;
  background-color: #fff;
}
nav .tab-contents > div {
  display: none;
}
nav .tab-contents .tab-active {
  display: block;
}
nav .tab-contents h1 {
  height: 60px;
  line-height: 60px;
  font-size: 24px;
  font-weight: 600;
  padding: 0 16px;
  text-align: left;
  color: #000;
  margin: 0;
}
nav .tab-contents .searchBox {
  padding: 16px;
  background: #f7f7f7;
  display: flex;
  position: relative;
}
nav .tab-contents .searchBox input {
  width: 100%;
  padding: 5px 10px;
  border: 1px solid #bdc0c6;
  border-radius: 3px;
  background-color: #fff;
}
nav .tab-contents .searchBox input::-moz-placeholder {
  font-size: 14px;
  color: #999;
}
nav .tab-contents .searchBox input::placeholder {
  font-size: 14px;
  color: #999;
}
nav .tab-contents .searchBox button {
  width: 24px;
  height: 24px;
  position: absolute;
  right: 24px;
  top: 17px;
  background: url("../img/new_sub/search.svg") no-repeat;
}

nav .tab-contents .area_2depth .tlt_2depth {
  height: 45px;
  background-position: 16px center;
  font-size: 16px;
  line-height: 45px;
  font-weight: 600;
  padding: 0 0 0 32px;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  position: relative;
  background: url("../img/new_sub/2depthTltBullet.svg") no-repeat;
  background-position: 16px center;
}
nav .tab-contents .area_2depth .tlt_2depth::after {
  width: 12px;
  height: 12px;
  content: "";
  position: absolute;
  top: 16px;
  right: 16px;
  background: url("../img/new_sub/expand.svg") no-repeat;
}
nav .tab-contents .area_2depth .tlt_2depth.active::after {
  width: 12px;
  height: 12px;
  content: "";
  position: absolute;
  top: 22px;
  right: 16px;
  background: url("../img/new_sub/collapse.svg") no-repeat;
}
nav .tab-contents .area_2depth .tlt_2depth.active + .area_3depth {
  display: block;
}
nav .tab-contents .area_3depth {
  background: #f8f8f8;
  display: none;
}
nav .tab-contents .area_3depth > li,
.fav-menus > li {
  min-height: 40px;
  line-height: 40px;
  font-size: 15px;
  color: #333;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  position: relative;
  padding-left: 26px;
  padding-right: 16px;
  cursor: pointer;
}

nav .tab-contents .area_3depth > li span,
.fav-menus > li > span {
  font-size: 15px;
}

nav .tab-contents .area_3depth > li > span.on::before,
.fav-menus > li > span.on::before {
  content: "";
  width: 3px;
  height: 3px;
  background: url("../img/new_sub/3depthTltBullet_on.svg") no-repeat;
  position: absolute;
  top: 18px;
  left: 16px;
}
nav .tab-contents .area_3depth > li > span:hover,
.fav-menus > li > span:hover {
  color: #0775d3;
  font-weight: 500;
}
nav .tab-contents .area_3depth > li > span:hover::before,
.fav-menus > li > span:hover::before {
  content: "";
  width: 3px;
  height: 3px;
  background: url("../img/new_sub/3depthTltBullet_on.svg") no-repeat;
  position: absolute;
  top: 18px;
  left: 16px;
}
nav .tab-contents .area_3depth > li::before,
.fav-menus > li::before {
  content: "";
  width: 3px;
  height: 3px;
  background: url("../img/new_sub/3depthTltBullet.svg") no-repeat;
  position: absolute;
  top: 18px;
  left: 16px;
}
nav .tab-contents .area_4depth > li {
  font-size: 15px;
  height: 30px;
  line-height: 30px;
  padding-left: 10px;
  font-weight: 300;
}
nav .tab-contents .area_4depth > li.on {
  background: #0775d3;
  color: #fff;
  font-weight: 500;
}
nav .tab-contents .area_4depth > li:hover {
  background: #0775d3;
  color: #fff;
  font-weight: 500;
}

/* style */

@import url(new_reset.css);

/* main */
main {
  width: 100%;
  display: flex;

  background: #fafcfd;
}

/***************section(contents) 영역 ***************/

/* left메뉴 사라질 때 섹션 너비 */
section.without-nav {
  width: 100%;
  flex-grow: 10;
}

section {
  width: 100%;
  height: calc(100vh - 80px);
  transition: all 0.5s;
  background: #fff;
  box-shadow: -1px 7px 10px 1px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: -1px 7px 10px 1px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: -1px 7px 10px 1px rgba(0, 0, 0, 0.1);
}
section > .tabs {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 40px;
  background: #f5f5f5;
}
section > .tabs > div {
  display: flex;
}
section > .tabs h5 {
  display: flex;
  gap: 12px;
  color: #666;
  font-size: 15px;
  font-weight: 500;
  padding: 0 16px;
  line-height: 40px;
  background: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  margin-left: -1px;
}
section > .tabs h5.tab-on {
  background: #fff;
  color: #000;
  font-weight: 600;
  border-bottom: 1px solid #fff;
  z-index: 10;
}
section > .tabs h5 img {
  width: 20px;
  height: 20px;
  margin-top: 10px;
  cursor: pointer;
}
section > .tabs .close {
  width: 39px;
  height: 39px;
  background: url("../img/new_sub/closeAllTabs.svg") no-repeat 100%;
}
section .contents {
  margin-top: -1px;
  border-top: 1px solid #e3e3e3;
  padding: 12px 30px 30px;
}
section .contents .tab-on {
  display: block;
}
section .contents > div {
  display: none;
}
section .contents .pageTlt {
  display: flex;
  justify-content: space-between;
  margin-bottom: 16px;
}
section .contents .pageTlt h1 {
  font-size: 24px;
  color: #000;
  font-weight: 600;
}
section .contents .pageTlt > div {
  display: flex;
  align-items: center;
  gap: 10px;
}
section .contents .pageTlt button.bookmark {
  width: 20px;
  height: 20px;
  background: none;
  background-image: url("../img/new_sub/bookmark_off.svg");
}

section .contents .pageTlt > ul {
  display: flex;
}

section .contents .pageTlt > ul li {
  width: 90px;
  position: relative;
}

section .contents .pageTlt > ul li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(-50%, -50%);
  width: 1px;
  height: 12px;
  background: #ccc;
}

section .contents .pageTlt > ul li:nth-of-type(5),
section .contents .pageTlt > ul li:nth-of-type(6) {
  width: 110px;
}

section .contents .pageTlt > ul > li > button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

/* 검색 부분 */

.consearch_div {
  display: table;
  overflow: visible;
  white-space: nowrap;
  vertical-align: middle;
  width: 100%;
  height: 40px;

  box-sizing: border-box;
  margin-bottom: 5px;
}

.consearch_input {
  display: table-cell;
  box-sizing: border-box;
  line-height: inherit;
}

.consearchinput_list {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}

.consearchinput_list {
  position: relative;
}

.consearchinput_list li {
  position: relative;
  display: inline-block;
  margin-right: 10px;
  line-height: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  margin-right: 36px;
}

.consearchinput_list .span {
  display: inline-block;

  font-size: 14px;
  font-weight: 400;
}
.consearchinput_list input,
.consearchinput_list select {
  height: 27px;
}

.btn_common03 {
  width: 27px;
  height: 27px;
  background: url("../img/new_sub/search_.svg") no-repeat;
  display: inline;
  margin-left: 2px;
}

.consearch_input form {
  display: flex;
     justify-content: space-between;
  align-items: center;
  background: #e8f1fc;
  border: 1px solid #b5c8e0;
}

/* 검색 결과 영역 */

.wrapper_con {
  background: #fff;
}

.wrapper_con > .flex {
  justify-content: space-between;
  gap: 16px;
  overflow-y: auto;
  margin-top: 20px;
}

.div_title {
  height: 27px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

#btnSearch,
#btnReset {
  min-width: 50px;
  height: 24px;
  border-radius: 3px;
}


#btnReset{
	margin-right: 16px;
}

/* 모든 조회 버튼의 ID를 여기에 추가해 주세요. */
#btnSearch, #btnPopupSearch, #btnEmpPopupSearch, #btnMenuListPopupSearch{
  border: 1px solid #0775d3;
  background: rgb(27, 150, 255);
  background: linear-gradient(180deg, rgba(27, 150, 255, 1) 0%, rgba(7, 117, 211, 1) 100%);
  height: 27px;
   line-height: 1.5;
}

/* 모든 초기화 버튼의 ID를 여기에 추가해 주세요. */
#btnReset, #btnEmpPupupInit, #btnPopupInit, #btnMenuListPopupInit {
  border: 1px solid #999999;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(238, 238, 238, 1) 100%);
  height: 27px;
  line-height: 1.5;
   font-size: 13px;
}

/* 모든 팝업의 확인, 저장 버튼 ID를 여기에 추가해 주세요. */
#btnDeptPopupOk, #btnEmpPupupOk, #bntSeletedPupup , #btnPopupOk, #btnCancelResnPopFormPrgSave, #btnSaveChangePw, #btnPopFormPrgSave{
	border: 1px solid #0060B2;
  background: #0775D3;
  height: 27px;
   line-height: 1.5;
   color: #fff;
     min-width: 50px;
  border-radius: 3px;
  font-size: 13px;

}
/* 모든 팝업의 닫기, 삭제 버튼의 ID를 여기에 추가해 주세요. */
#btnDeptPupupClose, #btnEmpPupupClose, #btnMenuListPupupClose, #btnPupupClose, #btnCancelResnPopupPrgClose, #btnCloseChangePw, #btnPopupPrgClose, #btnPopupPrgDelete, #btnPopupPrgHelpClose{
	background: #757575;
	border: 1px solid #444;
	color: #fff;
	  height: 27px;
   line-height: 1.5;
     min-width: 50px;
  border-radius: 3px;
   font-size: 13px;
}


/*
.popup_footer_box button {
  height: 26px;
  line-height: 1;
    background: linear-gradient(180deg, rgba(27, 150, 255, 1) 0%, rgba(7, 117, 211, 1) 100%);
    border: 1px solid #0775D3;
  padding: 5px 8px;
  color: #fff;
  border: 1px solid #0775d3;
  margin: auto;
  font-weight: 600;
  border-radius: 3px;
  min-width: 50px;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, background-color 0.15s ease-in-out 0s;
  font-size: 13px;
} */




#btnPopupSearch, #btnEmpPopupSearch, #btnMenuListPopupSearch{

}


#btnPopupSearch span, #btnEmpPopupSearch span{
	color: #fff;
	font-weight: 500;
}
#btnEmpPupupInit span, #btnPopupInit span{
	color: #000;
	font-weight: 500;
}
#btnSearch i,
#btnReset i {
  display: none;
}

#btnSearch span,
#btnReset span {
  font-size: 13px;
  font-weight: 500;
}

#btnSearch span {
  color: #fff;
}
#btnReset span {
  color: #000;
}
.div_title .table_sumnum {
  font-size: 14px;
}
.div_title .s_tit {
  font-size: 16px;
  color: #000;
  font-weight: 500;
  margin-right: 6px;
  position: relative;
  padding-left: 10px;
}

.div_title .s_tit::before {
  position: absolute;
  left: 0;
  top: 50%;
  content: "";
  width: 4px;
  height: 4px;
  transform: translate(0, -50%);
  background: #000;
}

.div_title .s_tit.nobullet::before {
  display: none;
}

.div_title .s_tit.nobullet {
  padding-left: 0;
}

table.border {
  border: 1px solid #d8d8dc;
}

table.vertical th {
  background: #f4f3f4;
}

table.horizontal {
  border-top: 1px solid #000;
}
table.horizontal th {
  background: #f0f5fa;
  text-align: left;
  padding-left: 16px;
}

table.horizontal td {
  padding-left: 10px;
}

.btn_common02.resetPublicHoliday {
  background: #fff;
}
