@charset "UTF-8";
/****************************************/
/* *** public_html ***
/*  Name : byWIND
/*  PART : ui.css
/*  Version : 2.0
/*  Author : 이소망
/*  Modify : 
/****************************************/

/* font 축약형 정렬 순서 : 굵기-크기-행간-폰트패밀리 */
[class^='heading'] {
  display: inline-block;
  letter-spacing: 0;
}
.heading1,
.heading1 * {
  font: 900 32px/1.2 var(--font-be-vietnam-pro);
  color: #333;
  text-transform: uppercase;
}
.heading1-sub {
  position: relative;
  font: 600 34px/1 var(--poppins), var(--font-be-vietnam-pro);
  color: #353d6b;
}
.heading1-sub::before {
  content: '';
  display: inline-block;
  margin: 0 15px 0 10px;
  width: 9px;
  height: 26px;
  background: #475cef;
  transform: skew(-20deg);
}

.heading2 {
  font: 600 28px/1.2 var(--font-be-vietnam-pro);
  color: #333;
}
.heading2-sub {
  font: 500 28px/1 var(--poppins), var(--font-be-vietnam-pro);
  position: relative;
  color: #353d6b;
}
.heading2-sub::before {
  content: '';
  display: inline-block;
  width: 9px;
  height: 26px;
  background: #475cef;
  margin: 0 15px 0 10px;
  transform: skew(-20deg);
  vertical-align: top;
}

.heading3 {
  font: 600 18px/1 var(--font-be-vietnam-pro);
  color: #333;
}
.heading4 {
  font: 600 16px/1 var(--font-be-vietnam-pro);
  color: #222;
  margin-bottom: 10px;
}
.heading5 {
  font: 400 14px/1 var(--font-be-vietnam-pro);
  color: #a4a4a4;
}
.heading6 {
  font: 500 13px/1 var(--font-be-vietnam-pro);
}

.heading-size20 {
  font: 600 20px/1 var(--font-be-vietnam-pro);
  color: #1c1d21;
}

/*************************************
    버튼 스타일
*************************************/

[class^='btn-style'] {
  display: inline-block;
  padding: 0 0.75rem;
  vertical-align: middle;
  min-width: 83px;
  height: 35px;
  line-height: 35px;
  background: #cfcfcf;
  text-align: center;
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  border-radius: 3px;
}
[class*='btn'] i {
  display: inline-block;
  vertical-align: middle;
  font-size: 0.75rem;
}
[class^='btn-style'] .name {
  vertical-align: middle;
}
[class^='btn-style'] .name + i {
  margin-left: 3px;
}

/* fix */
.btn-style1 {
  background: #475df1;
} /*저장, 등록, 결재상신, 확인, 반납완료*/
.btn-style2 {
  background: #ed6653;
} /*수정*/
.btn-style3 {
  background: #7f8192;
} /*취소, 뒤로가기*/
.btn-style4 {
  background: #45485b;
} /*구독취소*/
.btn-style5 {
  background: #313340;
} /*삭제, 회수,대여*/
.btn-style6 {
  background: #353d6b;
} /*보고서,PDF,이메일*/
.btn-style6 i {
  padding-left: 3px;
}
.btn-style7 {
  background: #fff !important;
  border: 1px solid #dcdcdc !important;
  color: #333;
} /*미리보기,임시저장*/
.btn-style8 {
  background: #de4640;
} /*불가*~*/
.btn-style9 {
  background: #7f7f7f;
}

/* 버튼 fix color 적용*/
[class*='btn'].style1 {
  background-color: #475df1;
  color: #fff !important;
} /*저장, 등록, 결재상신, 확인, 반납완료*/
[class*='btn'].style2 {
  background-color: #ed6653;
  color: #fff !important;
} /*수정*/
[class*='btn'].style3 {
  background-color: #7f8192;
  color: #fff !important;
} /*취소, 뒤로가기*/
[class*='btn'].style4 {
  background-color: #45485b;
  color: #fff !important;
} /*구독취소*/
[class*='btn'].style5 {
  background-color: #313340;
  color: #fff !important;
} /*삭제, 회수,대여*/
[class*='btn'].style6 {
  background-color: #353d6b;
  color: #fff !important;
} /*pdf, 이메일*/
[class*='btn'].style7 {
  background-color: #fff !important;
  border: 1px solid #dcdcdc !important;
  color: #333;
} /*미리보기,임시저장*/
[class*='btn'].style8 {
  background-color: #de4640;
  color: #fff !important;
} /*불가*~*/
[class*='btn'].style9 {
  background-color: #7f7f7f;
  color: #fff !important;
}

[class*='btn'][class*='style']:hover {
  opacity: 0.8;
}
[class*='btn'].style1:hover {
  background-color: #475df1;
}
[class*='btn'].style2:hover {
  background-color: #ed6653;
}
[class*='btn'].style3:hover {
  background-color: #7f8192;
}
[class*='btn'].style4:hover {
  background-color: #45485b;
}
[class*='btn'].style5:hover {
  background-color: #313340;
}
[class*='btn'].style6:hover {
  background-color: #353d6b;
}
[class*='btn'].style7:hover {
  background-color: #fff;
}
[class*='btn'].style8:hover {
  background-color: #de4640;
}
[class*='btn'].style9:hover {
  background-color: #7f7f7f;
}

button[class*='btn'],
a[class*='btn'] {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  transition: all 0.3s;
  white-space: nowrap;
}

/* motion btn [addClass="btn + motion"] */
[class*='btn'].motion:focus {
  animation: btn-scale 0.3s forwards ease;
}
[class*='btn'].motion i {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@keyframes btn-scale {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(1);
  }
}

[class^='btn2'] {
  padding: 0.15rem 0.75rem;
  line-height: 1;
  height: 22px;
  border-radius: 15px;
  background: #fff;
  color: #dcdcdc;
  border: 1px solid #dcdcdc;
  transition: all 0.3s;
}
.btn2-1 {
  background: #475df1;
  border-color: #475df1;
  color: #fff;
}
.btn2-2 {
  background: #ed6653;
  border-color: #ed6653;
  color: #fff;
}
.btn2-3 {
  background: #7f8192;
  border-color: #7f8192;
  color: #fff;
}

[class^='btn3'] {
  position: relative;
  padding: 0 0.5rem;
  width: auto;
  min-width: 86px;
  height: 45px;
  line-height: 45px;
  background: #7f8192;
  color: #fff;
  border-radius: 3px;
}

[class^='btn4'] {
  padding: 0 1.2rem;
  height: 34px;
  min-width: 80px;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 3px;
}

[class^='btn5'] {
  margin-left: 10px;
  width: 29px;
  height: 29px;
  text-align: center;
  border-radius: 5px;
  background: #fcfcfc;
  border: 1px dashed #e2e2e2;
}
.btn5 i {
  font-size: 0.85rem;
  color: #475df1;
}

[class^='btn6'] {
  margin-left: 7px;
  width: 46px;
  min-width: 45px;
  height: 45px;
  text-align: center;
  background: #fcfcfc;
  border: 1px dashed #e2e2e2;
  border-radius: 3px;
}
[class^='btn6'] i {
  font-size: 1rem;
}
[class^='btn6'] i.la-trash-alt {
  font-size: 1.2rem;
}
.btn6-2 {
  background: #475df1;
  color: #fff;
  border: none;
}
.btn6-3 {
  background: #7f8192;
  color: #fff;
  border: none;
}

[class^='btn7'] {
  width: 36px;
  height: 36px;
  line-height: 1;
  text-align: center;
  background: #475df1;
  color: #fff;
  border-radius: 3px;
}
[class^='btn7'] i {
  font-size: 1rem;
}
.btn7-2 {
  background: #7f8192;
}
.btn7-2 i.la-trash-alt {
  font-size: 1.15rem;
}

[class^='btn8'] {
  padding: 0 27px;
  min-width: 57px;
  height: 57px;
  line-height: 1;
  text-align: center;
  background: #475df1;
  color: #fff;
  border-radius: 3px;
}

[class^='btn9'] {
  padding: 0 27px;
  min-width: 138px;
  height: 39px;
  line-height: 39px;
  text-align: center;
  background: #3a54e7;
  color: #fff;
  border-radius: 20px;
}

.btn10 {
  margin-left: 7px;
  padding: 0 11px;
  height: 27px;
  border-radius: 20px;
  border: 1px solid #a2a2a2;
  font-size: 0.65rem;
  font-weight: 500;
  color: #a2a2a2;
}
.btn10 i {
  margin-right: 3px;
  font-size: 0.8rem;
  vertical-align: baseline;
}
.btn10.down-btn em {
  font-family: var(--font-be-vietnam-pro);
  font-size: 0.8rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0;
}
.btn10.down-btn .txt {
  font-weight: 700;
  padding-right: 3px;
}

.btn10-2 {
  height: 20px;
  padding: 0 11px;
  border-radius: 20px;
  border: 1px solid #eaeaf2;
  font-size: 12px;
  font-weight: 500;
  color: #777;
}
.btn10-2 i {
  margin-right: 3px;
  font-size: 0.8rem;
  vertical-align: baseline;
}

[class^='btn11'] {
  min-width: 21px;
  height: 21px;
  border: 2px solid #f1f1f1;
  border-radius: 4px;
  background: #fff;
}
[class^='btn11'] i {
  font-size: 0.8rem;
  color: #777;
}

/* 버튼 hover 효과 */
:is(.btn4, .btn5, .btn6, .btn10, .btn10-2, .btn11):hover {
  background: #f1f1f1;
}
:is(.btn2-1, .btn6-2, .btn7, .btn8, .btn9):hover {
  background: #374cd0;
}
:is(.btn2-3, .btn3, .btn6-3, .btn7-2):hover {
  background: #676979;
}
:is(.btn2-2):hover {
  background: #e75744;
}

/* 작은아이콘 */
.btns {
  display: inline-block;
  vertical-align: middle;
  font-size: 1rem;
  font-weight: bold;
  color: #777;
  transition: all 0.3s;
}
.btns i {
  font-size: 18px;
  line-height: 1;
} /*기본*/
.btns.small i {
  font-size: 16px;
} /*작은*/
.btns.medium i {
  font-size: 20px;
} /*중간*/
.btns.large i {
  font-size: 24px;
} /*큰*/
.btns:hover {
  transform: translateY(-4px);
}
.foot-btn-area {
  padding-top: 15px;
  text-align: right;
} /*btn 묶을때*/
.foot-btn-area.both {
  display: flex;
  justify-content: space-between;
  text-align: initial;
} /*양쪽정렬*/
.foot-btn-area.center {
  text-align: center;
} /*가운데정렬*/
.foot-btn-area.left {
  text-align: left;
} /*왼쪽정렬*/

/* ===================================================== */

/* 아이콘 사이즈 일괄 변경 */
[class*='btn'] i.la-trash {
  font-size: 1rem;
} /*삭제 아이콘*/
[class*='btn'] i.la-paperclip {
  font-size: 1rem;
} /*첨부파일 아이콘*/
.btns i.la-edit {
  transform: rotate(270deg);
} /*등록 아이콘*/

/* right type - 오른쪽에 붙는 버튼스타일 */
.right-btn-type [class^='btn-style'] {
  min-width: 218px;
  height: 45px;
  line-height: 45px;
}
.right-btn-type [class^='btn-style'] + [class^='btn-style'] {
  margin-top: 10px;
}

/* 레이어팝업 type 버튼 스타일 */
.layer-popup [class^='btn-style'] {
  min-width: 93px;
  height: 35px;
  line-height: 35px;
}

/* +버튼 클릭시 행 추가 (인풋과 디자인 동일) */
.form-add-wrap {
  display: flex;
  width: 849px;
}
.form-add-wrap + .form-add-wrap {
  margin-top: 0.8rem;
}
.row-add-btn {
  display: inline-block;
  text-align: center;
  border-radius: 5px;
  background: #fcfcfc;
  border: 1px dashed #e2e2e2;
  width: 30px;
  height: 30px;
  line-height: 1;
  transition: all 0.3s;
}
.row-add-btn i {
  font-size: 0.8rem;
  transition: transform 0.3s;
  color: #475df1;
}
.row-add-btn:hover {
  background: #f1f1f1;
}
.row-add-btn:hover i {
  transform: rotate(180deg);
}

.form-add-wrap.type1 .row-add-btn {
  width: 100%;
  height: 45px;
  border-color: #dadada;
}
.form-add-wrap.type1 .row-add-btn i {
  font-size: 1rem;
  color: #475df1;
}
.form-add-wrap.type1 .row-add-btn:hover {
  background: #f1f1f1;
}

.registration-form + .row-add-btn-wrap {
  margin-top: 14px;
}
.row-add-btn-wrap .row-add-btn {
  width: 100%;
  height: 62px;
  line-height: 62px;
}
.row-add-btn-wrap .row-add-btn i {
  font-size: 30px;
}

/* 행 삭제 버튼 */
.row-remove-btn {
  position: relative;
  display: flex;
  align-self: center;
  width: 20px;
  height: 20px;
  line-height: 20px;
}
.row-remove-btn i {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: inherit;
  height: inherit;
  line-height: inherit;
  font-size: 14px;
  color: #777;
  vertical-align: middle;
  transition: all 0.3s;
  border-radius: 50%;
}
.row-remove-btn:hover i {
  background: #f4f4f4;
}

/* 상태에 따른 컬러 적용 */
.state-style {
  display: inline-block;
  padding: 3px 15px;
  min-width: 76px;
  text-align: center;
  vertical-align: middle;
  border-radius: 20px;
  font-size: 0.6rem;
  color: #fff;
  background: #ccc;
  overflow: hidden;
  line-height: 1;
}
.state-style.state1 {
  background: #353d6b;
}
.state-style.state2 {
  background: #475df1;
}
.state-style.state3 {
  background: #e89253;
}
.state-style.state4 {
  background: #f8554e;
}
.state-style.state5 {
  background: #7f8192;
}
.state-style.state6 {
  background: #8c0313;
}

.state-style2 {
  display: inline-block;
  padding: 2px 10px;
  min-width: 76px;
  border-radius: 15px;
  font-size: 13px;
  color: #fff;
  line-height: 1;
}
.state-style2.state1 {
  background: #475cef;
}
.state-style2.state2 {
  background: #4ca672;
}
.state-style2.state3 {
  background: #e8bc53;
}
.state-style2.state4 {
  background: #e89253;
}
.state-style2.state5 {
  background: #f8554e;
}

/* @parkjk 추가 - 이벤트 목록페이지 상태값 */
.state-style3 {
  display: inline-block;
  padding: 3px 15px;
  min-width: 76px;
  text-align: center;
  border-radius: 20px;
  font-size: 0.6rem;
  color: #fff;
  background: #ccc;
  overflow: hidden;
  vertical-align: middle;
  cursor: default;
  line-height: 1;
}
.state-style3.state1 {
  background: #f8554e;
}
.state-style3.state2 {
  background: #e89253;
}
.state-style3.state3 {
  background: #475df1;
}
.state-style3.state4 {
  background: #4ca672;
}
.state-style3.state5 {
  background: #7f8192;
}
.state-style3.state6 {
  background: #8c0313;
}
/* //@parkjk 추가 - 이벤트 목록페이지 상태값 */

/* @parkjk 추가 - 블레이드 점검보고서 손상 내역 상태값 */
.state-style4 {
  background: gray;
  display: inline-block;
  padding: 2px 10px;
  min-width: 76px;
  border-radius: 15px;
  cursor: default;
  font-size: 13px;
  color: #fff;
  line-height: 1;
}
.state-style4.state1 {
  background: green;
}
.state-style4.state2 {
  background: lightgreen;
  color: gray;
}
.state-style4.state3 {
  background: yellow;
  color: gray;
}
.state-style4.state4 {
  background: orange;
}
.state-style4.state5 {
  background: red;
}
/* //@parkjk 추가 - 블레이드 점검보고서 손상 내역 상태값 */

.state-style5 {
  display: inline-block;
  padding: 2px 10px;
  min-width: 66px;
  border-radius: 15px;
  cursor: default;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}
.state-style5.state1 {
  background: #dfe3fd;
  color: #475df1;
}
.state-style5.state2 {
  background: #ffebeb;
  color: #f8554e;
}
.state-style5.state3 {
  background: #e5e5eb;
  color: #888;
}

/*************************************
    input
*************************************/
.input-group {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 100%;
  min-width: 200px;
  min-height: 45px;
  background: #fff;
  box-sizing: border-box;
}
.input-group input {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 0.5rem;
  width: 100%;
  height: 100%;
  font-size: 0.8rem;
  font-weight: 500;
  color: #777;
  background: #fff;
  word-break: keep-all;
  caret-color: #334fd6;
  border-radius: 3px;
  border: 1px solid #eaeaf2;
  transition: border 0.2s, border-width 0.1s ease;
}
.input-group textarea {
  padding: 0.5rem;
  width: 100%;
  height: 100%;
  min-height: 110px;
  font-size: 0.8rem;
  font-weight: 500;
  border: 1px solid #dcdcdc;
  border-radius: 3px;
  transition: border 0.2s, border-width 0.1s ease;
  color: #777;
  background: #fff;
  word-break: keep-all;
  caret-color: #334fd6;
}

/* 한 줄에 많은 인풋이 들어가 테이블 너비 늘어날 경우 */
.input-auto .input-group {
  min-width: auto;
}
.input-group input:disabled {
  opacity: 1;
  background: #f7f7f7;
}

.disabled-box {
  display: inline-block;
  padding: 0 0.5rem;
  vertical-align: middle;
  min-width: 200px;
  height: 45px;
  line-height: 45px;
  background: #f7f7f7;
  font-weight: 500;
  font-size: 0.8rem;
  color: #777;
  border-radius: 3px;
  border: 1px solid #eaeaf2;
}
.disabled-box + * {
  margin-left: 7px;
}

/*************************************
    select
*************************************/
.select-group {
  position: relative;
  display: inline-block;
  min-width: 200px;
  width: inherit;
  height: 45px;
  vertical-align: middle;
}
.select-group::after {
  content: '\f107';
  font-family: var(--lineawesome);
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.65rem;
  line-height: 0.5rem;
  font-weight: bold;
  color: #dcdcdc;
  transition: transform 0.3s;
}
.select-group:hover::after,
.select-group:active::after,
.select-group:focus::after {
  transform: translateY(-50%) rotate(180deg);
  color: #334fd6;
}
.select-group select {
  position: relative;
  display: block;
  padding: 0 1.7rem 0 0.5rem;
  width: 100%;
  height: 100%;
  font-size: 0.8rem;
  color: #bebfc1;
  background: #fff;
  cursor: pointer;
  border-radius: 3px;
  border: 1px solid #dcdcdc;
  transition: border 0.2s, border-width 0.1s;
}

/* focusing */
.input-group input:focus,
.input-group textarea:focus,
.select-group select:focus {
  border-color: #334fd6;
  outline: none;
  border-width: 1px;
  border-radius: 3px;
}
.input-group input:disabled {
  opacity: 1;
  pointer-events: none;
  background: #f7f7f7;
  color: #bebfc1;
}

select option:checked {
  color: #777;
}
select option:checked,
select option:hover {
  background: #f3f3f3;
}
.select-group select[disabled],
.select-group select[readonly],
fieldset[disabled] .select-group select {
  opacity: 1;
  background-color: #f7f7f7;
}
.select-group select[disabled],
fieldset[disabled] .select-group select {
  cursor: not-allowed;
}

.input-group + .input-group {
  margin-left: 5px;
}
.select-group + .select-group {
  margin-left: 5px;
}
.select-group + .register-write {
  margin-left: 5px;
}
.register-write + .select-group {
  margin-left: 5px;
}

/*************************************
    체크박스, 라디오버튼
*************************************/
.checkbox-radio-group {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  gap: 7px;
  vertical-align: middle;
}
.checkbox-radio-group + .checkbox-radio-group {
  margin-left: 13px;
}
.checkbox-radio-group label {
  font-size: 14px;
  line-height: 1;
}
.checkbox-radio-group label,
.checkbox-radio-group input {
  cursor: pointer !important;
}
.checkbox-radio-group label + input[type='checkbox'] {
  margin-left: 5px;
}
.checkbox-radio-group input[type='checkbox'] {
  position: relative;
  width: 16px;
  height: 16px;
  border: 2px solid #b5b5b5;
  background: #fff;
}
.checkbox-radio-group input[type='checkbox']::after {
  content: '';
  position: absolute;
  left: 1px;
  top: 7px;
  width: 5px;
  height: 10px;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  transform-origin: left top;
  transform: scaleX(-1) rotate(135deg);
}
.checkbox-radio-group input[type='checkbox']:checked {
  border: 2px solid #475df1;
}
.checkbox-radio-group input[type='checkbox']:checked:after {
  border-color: #475df1;
  animation: check 0.5s;
}

.checkbox-radio-group .radio {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 14px;
}
.checkbox-radio-group .radio .circle {
  position: relative;
  width: 18px;
  height: 18px;
  border: 2px solid #c8ccd4;
  border-radius: 100%;
  -webkit-tap-highlight-color: transparent;
}
.checkbox-radio-group .radio .circle:after {
  opacity: 0.08;
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 8px;
  height: 8px;
  border-radius: 100%;
  background: #475df1;
  transform: scale(0);
  transition: all 0.2s;
  pointer-events: none;
}
.checkbox-radio-group .radio em {
  margin-left: 5px;
} /*텍스트*/
.checkbox-radio-group .radio:hover .circle:after {
  transform: scale(3.6);
}
.checkbox-radio-group input[type='radio']:checked + .circle {
  border-color: #475df1;
}
.checkbox-radio-group input[type='radio']:checked + .circle:after {
  opacity: 1;
  transform: scale(1);
  transition: all 0.2s cubic-bezier(0.35, 0.9, 0.4, 0.9);
}

/* checkbox-radio-group custom2 */
.select-dropdown .checkbox-radio-group input[type='checkbox'] {
  width: 15px;
  height: 15px;
}
.select-dropdown .checkbox-radio-group input[type='checkbox']::after {
  left: 1px;
  top: 5px;
  width: 5px;
  height: 8px;
}
.select-dropdown .checkbox-radio-group input[type='checkbox'] {
  border-color: #465bed;
}
.select-dropdown .checkbox-radio-group input[type='checkbox']:checked:after {
  animation: check2 0.5s;
  border-color: #fff;
}
ul.tb-depth2 li.active .checkbox-radio-group input[type='checkbox'] {
  background: #465bed;
  border-color: #465bed;
}

@keyframes check {
  0% {
    height: 0;
    width: 0;
  }
  25% {
    height: 0;
    width: 5px;
  }
  50% {
    height: 10px;
    width: 5px;
  }
}

@keyframes check2 {
  0% {
    height: 0;
    width: 0;
  }
  25% {
    height: 0;
    width: 4px;
  }
  50% {
    height: 8px;
    width: 4px;
  }
}

.checkbox-radio-group2 {
  display: inline-block;
  width: 17px;
  height: 17px;
}
.checkbox-radio-group2 label,
.checkbox-radio-group2 input {
  margin-bottom: 3px;
  width: inherit;
  height: inherit;
}
.checkbox-radio-group2 input[type='checkbox']::after {
  content: url(../../img/sub/check-off.png);
  display: inline-block;
  cursor: pointer;
}
.checkbox-radio-group2 input[type='checkbox']:checked::after {
  content: url(../../img/sub/check-on.png);
  display: inline-block;
  animation: check3 0.3s;
}

@keyframes check3 {
  0% {
    transform: scale(0.8);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

/*************************************
    fixed-search-form 공통
*************************************/
/* 인풋, 셀렉트 높이값 통일 */
.fixed-search-form3 .input-group,
.fixed-search-form3 .select-group,
.fixed-search-form4 .input-group,
.fixed-search-form4 .select-group {
  flex: 1;
  height: 39px;
  min-height: 39px;
}

/* 버튼 아이콘 크기 통일 */
.fixed-search-form2 .option-toggle i,
.fixed-search-form2 .search-btn i,
.fixed-search-form2 .reset-btn i,
.fixed-search-form3 .search-btn i,
.fixed-search-form3 .reset-btn i,
.fixed-search-form4 .search-btn i,
.fixed-search-form4 .reset-btn i {
  font-size: 0.8rem;
}

/* 돋보기 아이콘 방향 변경 */
.fixed-search-form2 .search-btn i,
.fixed-search-form3 .search-btn i,
.fixed-search-form4 .search-btn i {
  transform: scaleX(-1);
}

/* 리셋버튼 */
.fixed-search-form3 .reset-btn,
.fixed-search-form4 .reset-btn {
  flex-shrink: 0;
  padding: 0;
  margin-left: 4px;
  width: 34px;
  height: 34px;
  line-height: 1;
  text-align: center;
  background: #353d6b;
  color: #fff;
  border-radius: 3px;
}

/* 검색버튼 */
.fixed-search-form3 .search-btn,
.fixed-search-form4 .search-btn {
  flex-shrink: 0;
  padding: 0;
  min-width: 80px;
  width: 80px;
  min-height: 57px;
  height: 100%;
  line-height: 1;
  text-align: center;
  background: #475df1;
  color: #fff;
  border-radius: 3px;
}

/* 엑셀버튼 */
[class*='fixed-search-form'] .excel-btn {
  padding: 0 20px;
  height: 100%;
  background: #206f44;
  color: #fff;
  border-radius: 3px;
}
[class*='fixed-search-form'] .excel-btn i {
  font-size: 1rem;
}
[class*='fixed-search-form'] .excel-btn:hover {
  background: #1a643b;
}

.fixed-search-form2 .excel-btn {
  height: 77px;
}
.fixed-search-form3 .excel-btn,
.fixed-search-form4 .excel-btn {
  height: 57px;
}

/*************************************
    fixed-search-form
*************************************/
.fixed-search-form {
  position: relative;
  z-index: 10;
  display: inline-block;
  margin-bottom: 25px;
  box-sizing: border-box;
}
.search-bar {
  display: flex;
  align-items: center;
  height: 45px;
  background: #fff;
}
.search-bar .panel {
  position: relative;
  display: inline-block;
  flex: 1;
  min-width: 495px;
  height: 100%;
  border-radius: 3px;
  border: 1px solid #dcdcdc;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right-width: inherit;
}
.search-bar .panel::after {
  content: '\f002';
  font-family: var(--lineawesome);
  position: absolute;
  top: 50%;
  left: 11px;
  transform: translateY(-50%);
  font-size: 22px;
  font-weight: bold;
  color: #bec0cd;
}
.search-bar .slide-toggle {
  position: relative;
  width: 45px;
  height: 100%;
  text-align: center;
  border: 1px solid #dcdcdc;
  border-right-width: inherit;
}
.search-bar .slide-toggle::after {
  content: '\f1de';
  font-family: var(--lineawesome);
  font-size: 20px;
  color: #bec0cd;
  font-weight: bold;
}
.fixed-search-form.active .slide-toggle::after {
  color: #475df1;
} /*active*/

.slide-toggle .add-num {
  display: none;
}
.slide-toggle.active .add-num {
  display: block;
  position: absolute;
  top: 8px;
  right: 5px;
  padding: 2px 5px;
  min-width: 14px;
  border-radius: 15px;
  background: #475df1;
  font-size: 0.5rem;
  color: #fff;
} /*active*/

.search-bar .search-btn {
  width: 107px;
  height: 100%;
  background: #475df1;
  border-radius: 3px;
  text-align: center;
  font-size: 14px;
  color: #fff;
}
.search-bar .tag-lst {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 10px 0 46px;
  height: 100%;
}
.search-bar .tag-lst li {
  padding: 0 9px;
  height: 29px;
  line-height: 29px;
  font-family: var(--font-be-vietnam-pro);
  background: #f2f4fe;
  border-radius: 3px;
  cursor: default;
}
.search-bar .tag-lst li::before {
  content: '#';
  vertical-align: middle;
  font-size: 12px;
}
.search-bar .tag-lst li * {
  font-size: 13px;
  font-weight: 600;
  color: #666;
}
.search-bar .tag-lst li .date {
  margin-right: 3px;
}
.search-bar .tag-lst .remove-btn {
  position: relative;
  margin-left: 17px;
  vertical-align: baseline;
}
.search-bar .tag-lst .remove-btn::before {
  content: '\f00d';
  font-family: var(--lineawesome);
  font-size: 10px;
  font-weight: bold;
  color: #666;
}
.fixed-search-form .search-detail {
  opacity: 0;
  visibility: hidden;
  padding: 27px 20px 29px;
  position: absolute;
  left: 0;
  width: -webkit-fill-available;
  background: #fff;
  border: 1px solid #dcdcdc;
  border-top-width: 0;
  box-shadow: 0 5px 20px 0 rgb(0 0 0 / 5%);
  transition: opacity 0.3s, visibility 0.3s;
}
.fixed-search-form.active .search-detail {
  opacity: 1;
  visibility: visible;
}
.fixed-search-form.active .search-detail::after {
  content: '';
  border-bottom: 30px;
}
.search-detail .input-group input {
  padding-left: 18px;
}
.search-detail .detail-tit {
  padding-bottom: 7px;
  font-size: 13px;
}
.search-detail li + li {
  margin-top: 25px;
}

.search-detail .detail-tit {
  padding-bottom: 7px;
  font-size: 13px;
}

/*************************************
    fixed-search-form2 (발전기 비교)
*************************************/
.fixed-search-form2 {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 8px;
  padding: 0 0 30px;
}
.fixed-search-form2 .search-wrapper {
  min-width: 670px;
}
.fixed-search-form2 .search-detail {
  left: auto;
  width: inherit;
}
.fixed-search-form2 .box {
  position: relative;
  display: flex;
  padding: 0 14px;
  height: 77px;
  line-height: 77px;
  background: #f5f5f8;
  border-radius: 3px;
  overflow: hidden;
}

/* (1) date-area */
.fixed-search-form2 .date-area .input-group {
  width: 161px;
  height: 39px;
  min-height: 39px;
}
.fixed-search-form2 .date-area .hyphen {
  margin: 0 7px;
  padding-top: 21px;
}
.fixed-search-form2 .date-area .calendar-picker {
  line-height: 1;
}

/* (2) tb-area */
.fixed-search-form2 .tb-area {
  width: 100%;
}
.fixed-search-form2 .tb-area .box {
  justify-content: space-between;
  align-items: center;
}
.fixed-search-form2 .tb-area .flexWrap {
  position: relative;
  align-items: baseline;
}
.fixed-search-form2 .tb-area .info {
  margin: 0 0 8px 9px;
  font-size: 12px;
  font-weight: 500;
  color: #a0a6ad;
}

/* (3) setting-area */
.fixed-search-form2 .setting-area .select-group {
  margin: auto;
  width: 247px;
  height: 39px;
}

/* chip-lst */
.fixed-search-form2 .chip-lst::-webkit-scrollbar {
  height: 7px;
} /*전체*/
.fixed-search-form2 .chip-lst::-webkit-scrollbar-thumb {
  border: 1px solid #a4a4b4;
  border-radius: 0;
} /*막대*/
.fixed-search-form2 .chip-lst::-webkit-scrollbar-track {
  background-color: #e4e4e4;
} /*막대 외부*/
.fixed-search-form2 .chip-lst .placeholder {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 12px;
  font-weight: 600;
  color: #a0a6ad;
} /**/
.fixed-search-form2 .chip-scroll-area {
  flex: 0 0 auto;
} /*스크롤 생성 구간*/
.fixed-search-form2 .chip-lst {
  padding: 11px 0;
  width: 100%;
  overflow: overlay;
  overflow-x: auto;
}
.fixed-search-form2 .chip-lst ul {
  display: flex;
  align-items: center;
  gap: 33px;
}
.fixed-search-form2 .chip-lst ul li {
  position: relative;
  flex: 0 0 auto;
  line-height: 1;
}
.fixed-search-form2 .chip-lst ul li::after {
  content: '';
  position: absolute;
  right: -17px;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  max-width: 92%;
  height: 19px;
  background: #cacaca;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* .fixed-search-form2 .chip-lst ul li::after {width: 2px; height: 38px; background: #dcdcdc;} */
.fixed-search-form2 .chip-lst ul li:last-child::after {
  content: none;
}
.fixed-search-form2 .sub-tit {
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #a0a6ad;
}
.fixed-search-form2 .chip-lst ul li .name {
  margin-right: 12px;
}
.fixed-search-form2 .chip-lst ul li .item {
  position: relative;
  display: inline-block;
  padding: 0px 19px 0 10px;
  height: 34px;
  line-height: 29px;
  border-radius: 20px;
  cursor: pointer;
  background: #fff;
  border: 2px solid #ccc;
  white-space: nowrap;
}
.fixed-search-form2 .chip-lst ul li .item::before {
  content: '\f058';
  font-family: var(--lineawesome);
  font-size: 0.9rem;
  display: inline-block;
  vertical-align: middle;
  padding-right: 2px;
}

.fixed-search-form2 .chip-lst ul li .item.type0 {
  border-color: #777;
}
.fixed-search-form2 .chip-lst ul li .item.type1 {
  border-color: #475cef;
}
.fixed-search-form2 .chip-lst ul li .item.type2 {
  border-color: #cb8b00;
}
.fixed-search-form2 .chip-lst ul li .item.type3 {
  border-color: #ff1b00;
}
.fixed-search-form2 .chip-lst ul li .item.type4 {
  border-color: #258b94;
}
.fixed-search-form2 .chip-lst ul li .item.type5 {
  border-color: #c592e5;
}
.fixed-search-form2 .chip-lst ul li .item.type0::before {
  color: #777;
}
.fixed-search-form2 .chip-lst ul li .item.type1::before {
  color: #475cef;
}
.fixed-search-form2 .chip-lst ul li .item.type2::before {
  color: #cb8b00;
}
.fixed-search-form2 .chip-lst ul li .item.type3::before {
  color: #ff1b00;
}
.fixed-search-form2 .chip-lst ul li .item.type4::before {
  color: #258b94;
}
.fixed-search-form2 .chip-lst ul li .item.type5::before {
  color: #c592e5;
}
.fixed-search-form2 .chip-lst ul li .item.type0 span {
  color: #777;
}
.fixed-search-form2 .chip-lst ul li .item.type1 span {
  color: #475cef;
}
.fixed-search-form2 .chip-lst ul li .item.type2 span {
  color: #cb8b00;
}
.fixed-search-form2 .chip-lst ul li .item.type3 span {
  color: #ff1b00;
}
.fixed-search-form2 .chip-lst ul li .item.type4 span {
  color: #258b94;
}
.fixed-search-form2 .chip-lst ul li .item.type5 span {
  color: #c592e5;
}

.fixed-search-form2 .chip-lst ul li .item ~ .item {
  margin-left: 17px;
}
.fixed-search-form2 .chip-lst ul li .item i {
  display: inline-block;
  vertical-align: middle;
  font-size: 1rem;
}
.fixed-search-form2 .chip-lst ul li .item span {
  font-size: 0.65rem;
  font-weight: 700;
}
.fixed-search-form2 .chip-lst ul li .item .close-btn {
  position: absolute;
  right: -8px;
  top: -3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #5d5d5d;
}
.fixed-search-form2 .chip-lst ul li .item .close-btn::before {
  content: '\f00d';
  font-family: var(--lineawesome);
  font-size: 0.5rem;
  font-weight: bold;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.fixed-search-form2 .chip-lst .add-btn {
  background: #838394;
  width: 34px;
  height: 34px;
  margin-left: 36px;
}
.fixed-search-form2 .chip-lst .add-btn i {
  font-size: 0.8rem;
}

.fixed-search-form2 .reset-btn {
  flex: 0 0 auto;
  margin-left: 15px;
  width: 34px;
  height: 34px;
  background: #353d6b;
}
.fixed-search-form2 .search-btn {
  padding: 0;
  width: 77px;
}

.fixed-search-form2 .option-toggle {
  background: #a4a4b4;
}
.fixed-search-form2 .option-toggle::before {
  content: '\f107';
  font-family: var(--lineawesome);
  font-weight: bold;
}
.fixed-search-form2 .option-toggle.active {
  background: #22308a;
}
.fixed-search-form2 .option-toggle.active::before {
  content: '\f106';
}
.fixed-search-form2 .option-toggle,
.fixed-search-form2 .search-btn {
  padding: 0;
  min-width: 80px;
  width: 80px;
  height: 77px;
}

/*************************************
    fixed-search-form3
*************************************/
.fixed-search-form3 {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 8px;
  padding: 0 0 30px;
}
.fixed-search-form3 .area {
  flex: 0 1 auto;
}
.fixed-search-form3 .area.search {
  flex: 1;
}
.fixed-search-form3 .area.search .register-write {
  width: 100%;
}
.fixed-search-form3 .box {
  display: flex;
  align-items: center;
  padding: 9px 14px;
  border-radius: 3px;
  background: #f5f5f8;
}

/* 구분선 */
.fixed-search-form3 .hr {
  display: inline-block;
  margin: 0 3px;
  width: 1px;
  height: 57px;
  background: #efeff1;
}

/*************************************
    fixed-search-form4
*************************************/
.fixed-search-form4 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  height: 100%;
}
.fixed-search-form4 .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 9px 14px;
  width: 100%;
  height: 100%;
  border-radius: 3px;
  background: #f5f5f8;
}
.fixed-search-form4 .area-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 50px;
}
.fixed-search-form4 .area {
  display: flex;
  align-items: center;
}
.fixed-search-form4 .sub-tit {
  margin-right: 15px;
  font-size: 12px;
  font-weight: 500;
  color: #a0a6ad;
}

/*************************************
    토글 스위치
*************************************/
.toggle-switch input[type='checkbox'] {
  display: none;
}
.toggle-switch label {
  position: relative;
  display: block;
  margin: 0 auto;
  width: 34px;
  height: 18px;
  background: #a5a5a5;
  border-radius: 100px;
  cursor: pointer;
}
.toggle-switch label:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 3px;
  transform: translateY(-50%);
  width: 13px;
  height: 13px;
  background: #fff;
  border-radius: 90px;
  transition: 0.3s;
}
.toggle-switch input:checked + label {
  background: #475df1;
}
.toggle-switch input:checked + label:after {
  left: calc(100% - 3px);
  transform: translate(-100%, -50%);
}
.toggle-switch label:active:after {
  width: 24px;
}

.toggle-switch2 input[type='checkbox'] {
  display: none;
}
.toggle-switch2 label {
  position: relative;
  display: block;
  margin: 0 auto;
  width: 67px;
  height: 20px;
  background: #fff;
  border-radius: 100px;
  border: 1px solid #777;
  cursor: pointer;
}
.toggle-switch2 label:after {
  content: 'OFF';
  position: absolute;
  top: 50%;
  left: calc(100% - 2px);
  transform: translate(-100%, -50%);
  padding-right: 5px;
  width: 40px;
  height: 14px;
  background: #777;
  border-radius: 100px;
  font-size: 10px;
  text-align: right;
  color: #fff;
  line-height: 1.5;
  transition: 0.3s;
}
.toggle-switch2 input:checked + label {
  border-color: #475df1;
}
.toggle-switch2 input:checked + label:after {
  content: 'ON';
  left: 2px;
  transform: translateY(-50%);
  padding-left: 5px;
  background: #475df1;
  text-align: left;
}
.toggle-switch2 label:active:after {
  width: 30px;
}

/* ============================================================= */

/*************************************
    badge custom
*************************************/
*:not([class*='badge-custom']) + [class*='badge-custom'] {
  margin-left: 5px;
}
[class*='badge-custom'] {
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  font-family: var(--font-be-vietnam-pro);
}
[class*='badge-custom'] .num ~ * {
  margin-left: 2px;
}
.badge-custom,
.badge-custom2,
.badge-custom3 {
  padding: 1px 5px;
  min-width: 24px;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 600;
}
.badge-custom {
  background: #e7e7e8;
}
.badge-custom2 {
  background: #e7d0cf;
  color: #5f0c09;
}
.badge-custom3 {
  background: #dadffc;
  color: #3549d4;
}
.badge-custom4 {
  padding: 3px 12px;
  background: #475cef;
  border-radius: 15px;
  font-size: 14px;
  line-height: 1;
  font-weight: 600;
  color: #fff;
}
.badge-custom5,
.badge-custom6 {
  padding: 2px 5px;
  min-width: 24px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.5px;
}
.badge-custom5 {
  background: #f8554e;
  color: #fff;
}
.badge-custom6 {
  background: #e99f00;
  color: #fff;
}
.badge-custom7 {
  padding: 3px 7px;
  border-radius: 10px;
  font-size: 12px;
  line-height: 1;
  background: #f5f5f8;
}
.badge-custom7 * {
  font-weight: 600;
}
.badge-custom7 .num {
  margin-left: -2px;
}
.badge-custom8 {
  padding: 3px 10px;
  border-radius: 10px;
  font-size: 12px;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.3px;
  background: #7f8192;
}

/*************************************
    chips
*************************************/
:not([class*='fixed-search-form']) .chip-lst {
  display: flex;
  align-items: center;
}
:not([class*='fixed-search-form']) .chip-lst ul {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 22px;
}
:not([class*='fixed-search-form']) .chip-lst li.item {
  position: relative;
  display: inline-block;
  padding: 11px 15px;
  min-width: 83px;
  border: 1px solid #eaeaf2;
  border-radius: 20px;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  cursor: default;
}
/* :not([class*="fixed-search-form"]) .chip-lst li.item + li.item {margin-left: 22px;} */
:not([class*='fixed-search-form']) .chip-lst li.item .delete-btn {
  position: absolute;
  top: 0;
  right: -10px;
  width: 20px;
  height: 20px;
  line-height: 20px;
  border-radius: 50%;
  background: #5d5d5d;
  color: #fff;
}
:not([class*='fixed-search-form']) .chip-lst li.item .delete-btn::before {
  content: '\f00d';
  font-family: var(--lineawesome);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.6rem;
  font-weight: bold;
  color: #fff;
}
:not([class*='fixed-search-form']) .chip-lst .item-add-btn {
  position: relative;
  flex-shrink: 0;
  margin-left: 22px;
  width: 37px;
  height: 37px;
  border-radius: 50%;
  border: dashed 1px #d9d9d9;
  background: #fcfcfc;
}
:not([class*='fixed-search-form']) .chip-lst .item-add-btn:hover {
  background: #eee;
}
:not([class*='fixed-search-form']) .chip-lst .item-add-btn i {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1rem;
  color: #475df1;
}

/* oam-report */
:not([class*='fixed-search-form']) .chip-lst li.item .close-btn {
  position: absolute;
  top: 0;
  right: -10px;
  width: 20px;
  height: 20px;
  line-height: 20px;
  border-radius: 50%;
  background: #5d5d5d;
  color: #fff;
}
:not([class*='fixed-search-form']) .chip-lst li.item .close-btn::before {
  content: '\f00d';
  font-family: var(--lineawesome);
  font-size: 0.6rem;
  color: #fff;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/*************************************
    탭 (tab, tab2)
*************************************/
ul.tab,
ul.tab2 {
  width: 100%;
  background: #fff;
}
ul.tab li,
ul.tab2 li {
  float: left;
}
ul.tab li a,
ul.tab2 li a {
  position: relative;
  display: block;
  padding: 0 20px;
  min-width: 140px;
  height: 50px;
  line-height: 50px;
  font: 400 16px/50px var(--font-be-vietnam-pro);
  color: #a2a2a2;
  text-align: center;
  background: #fff;
  cursor: pointer;
  transition: color 0.2s linear;
}
ul.tab li a::after,
ul.tab2 li a::after {
  opacity: 0;
  content: '';
  position: absolute;
  left: 50%;
  bottom: -3px;
  z-index: 201;
  transform: translateX(-50%);
  width: 50%;
  height: 3px;
  background: #f8554e;
  transition: all 0.1s ease-in-out;
}
ul.tab li.current a::after,
ul.tab2 li.current a::after {
  opacity: 1;
  width: 100%;
}
ul.tab li.current a,
ul.tab2 li.current a {
  position: relative;
  color: #777;
  font-weight: 700;
}
ul.tab li a:hover,
ul.tab2 li a:hover {
  color: #777;
}
.tab-content {
  display: none;
  position: relative;
}
.tab-content.current {
  display: inherit;
}

/* 팝업 탭 */
.layer-popup .checkbox-wrap {
  margin: 20px 0 30px;
}
.layer-popup .checkbox-wrap .heading5 {
  display: block;
  margin-bottom: 7px;
}
.layer-popup .checkbox-wrap .checkbox-radio-group + .checkbox-radio-group {
  margin-left: 35px;
}
.layer-tab-wrap .tab2 {
  border-top: 1px solid #e6e6e6;
  border-bottom: 3px solid #e6e6e6;
}
.layer-tab-wrap .tab-content {
  padding: 30px 0 0;
  max-height: 60vh;
  overflow: hidden;
  overflow-y: auto;
}
.layer-tab-wrap .tab-content .heading4 {
  font-size: 14px;
  font-weight: 600;
}

/* components.html 탭 스타일링 */
ul.tab2.copy-tab li a {
  background-color: #282c34;
  color: #fff;
}
ul.tab2.copy-tab li a::after {
  content: none;
}
ul.tab2.copy-tab li.current a {
  background: #6680d9;
} /*활성화*/

/*************************************
    datepicker
*************************************/
.calendar-picker {
  display: inline-block;
}
.calendar-picker .first-date,
.calendar-picker .last-date {
  display: flex;
}
.calendar-picker .last-date {
  position: relative;
  padding-left: 29px;
}
.calendar-picker .last-date::before {
  content: '~';
  position: absolute;
  top: 50%;
  left: 8px;
  transform: translateY(-50%);
  display: inline-block;
  font-size: 0.8rem;
}
.calendar-picker .input-group {
  min-width: 161px;
} /*공통*/
.calendar-picker .input-group.time {
  min-width: 122px;
} /*시간*/
.calendar-picker .input-group.date-time {
  min-width: 200px;
} /*날짜+시간*/
.calendar-picker .input-group .calendar-picker-btn {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 36px;
}
.calendar-picker .input-group .calendar-picker-btn::before {
  font-family: var(--lineawesome);
  content: '\f133';
  font-size: 1.2rem;
  color: #d9d9d9;
  font-weight: bold;
  display: inline-block;
  vertical-align: middle;
}
.calendar-picker .input-group.time .calendar-picker-btn::before {
  content: '\f017';
} /*아이콘*/
.calendar-picker .input-group input {
  padding: 0 36px 0 0.5rem;
  z-index: 2;
}
.layer-popup .calendar-picker .input-group input {
  z-index: 10000;
}
.layer-popup .calendar-picker .input-group .calendar-picker-btn {
  z-index: 10000;
}
.hyphen {
  margin: 0 15px;
}

/*************************************
    첨부파일
*************************************/

/* 큰 첨부파일 
--------------------------------------------- */
.attach_file {
  position: relative;
  display: block;
  width: 100%;
  flex-shrink: 0;
}
.attach_file--panel {
  display: block;
  height: 68px;
  line-height: 68px;
  background: #fcfcfc;
  transition: background 0.3s;
  border: 1px dashed #d9d9d9;
  border-radius: 3px;
  cursor: pointer;
}
.attach_file--panel::before {
  content: '\f067';
  font-family: var(--lineawesome);
  font-size: 1.7rem;
  color: #475df1;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.attach_file--panel:hover {
  background: #f3f3f3;
}
.attach_file--input {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* 첨부파일 박스 사이즈
  ※ attach_file : 100%x68
      attach_file + medium : 168x180
      attach_file + small : 110x119
--------------------------------------------- */
.attach_file.medium {
  display: inline-block;
  vertical-align: middle;
  width: 168px;
  height: 180px;
  line-height: 180px;
}
.attach_file.medium .attach_file--panel {
  height: 100%;
}
.attach_file.small {
  width: 110px;
  height: 119px;
}
.attach_file.small .attach_file--panel {
  height: 100%;
  line-height: initial;
}
.attach_file.small .attach_file--panel::before {
  font-size: 1.3rem;
}

/* 첨부파일 리스트 (여러개)
  ※ download-lst : 여러개
     download-item : 낱개 
--------------------------------------------- */
td.download-lst-area {
  padding-top: 20px !important;
  max-width: 550px;
}
.download-lst {
  margin: 15px 0 7px;
}
.download-lst li {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 20px 0 38px;
  height: 45px;
  line-height: 45px;
  font-size: 0.8rem;
  overflow: hidden;
  cursor: default;
}
.download-lst li:not(:last-child) {
  border-bottom: 1px solid #eaeaf2;
}
.download-lst li::before {
  content: '\f15b';
  font-family: var(--lineawesome);
  font-size: 0.8rem;
  color: #fff;
  text-align: center;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  line-height: 28px;
  background: #d7d8e1;
  border-radius: 3px;
}
.download-lst li.video::before {
  content: '\f1c8';
}
.download-lst li .info {
  flex: none;
  display: inherit;
  width: 100%;
}
.download-lst li .info span {
  display: inline-block;
  vertical-align: middle;
}
.download-lst li .info .name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: calc(100% - 128px);
}
.download-lst li .info .size {
  margin-left: 10px;
  width: 60px;
  font-size: 13px;
  color: #bebfc1;
}
.download-lst-area .download-lst li .info .name {
  max-width: calc(100% - 130px);
}

/* 첨부파일 낱개 (1개)
  ※ download-lst : 여러개
     download-item : 낱개 
--------------------------------------------- */
.download-item + .download-item {
  margin-top: 8px;
}
.download-item .info {
  margin-right: 10px;
  cursor: default;
}
.download-item .info::before {
  content: '\f15b';
  font-family: var(--lineawesome);
  font-size: 0.8rem;
  color: #fff;
  display: inline-block;
  width: 28px;
  height: 28px;
  background: #d7d8e1;
  border-radius: 3px;
  line-height: 28px;
  text-align: center;
  vertical-align: middle;
}
.download-item .info span {
  margin-right: 5px;
}
.download-item .info .name {
  margin-left: 5px;
}
.download-item .size {
  color: #bebfc1;
  font-size: 13px;
}
.download-item .download-btn i {
  vertical-align: middle;
  font-size: 16px;
  color: #777;
}

/* 이미지 첨부파일
--------------------------------------------- */
/* 한 행에 들어가는 이미지 갯수 설정 (default: 4개)
  ※ 3개  : img-download-lst ul + "img-item3"  
      4개  : img-download-lst ul + "img-item4"  
      5개  : img-download-lst ul + "img-item5" 
      6개  : img-download-lst ul + "img-item6" 
--------------------------------------------- */
.img-download-lst ul {
  display: grid;
  gap: 15px;
  padding: 7px 0;
}
.img-download-lst ul.img-item3 {
  grid-template-columns: repeat(3, 1fr);
}
.img-download-lst ul.img-item4 {
  grid-template-columns: repeat(4, 1fr);
}
.img-download-lst ul.img-item5 {
  grid-template-columns: repeat(5, 1fr);
}
.img-download-lst ul.img-item6 {
  grid-template-columns: repeat(6, 1fr);
}
.img-download-lst ul li {
  position: relative;
}
.img-download-lst ul li img {
  width: 100%;
  height: 180px;
}

.img-download-lst ul li .delete-btn {
  position: absolute;
  top: -7px;
  right: -7px;
  width: 20px;
  height: 20px;
  line-height: 20px;
  border-radius: 50%;
  background: #5d5d5d;
  color: #fff;
}
.img-download-lst ul li .delete-btn::before {
  content: '\f00d';
  font-family: var(--lineawesome);
  font-size: 0.6rem;
  color: #fff;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/*************************************
    tree
*************************************/
.tree-table .child.hide {
  display: none;
}
.tree-table .child {
  display: table-row;
}
.tree-table .toggle::before {
  font-family: var(--lineawesome);
  content: '\f067';
  font-size: 0.55rem;
  font-weight: bold;
  margin-right: 8px;
}
.tree-table .open::before {
  font-family: var(--lineawesome);
  content: '\f068';
  font-size: 0.55rem;
  font-weight: bold;
  margin-right: 8px;
}
.tree-table .t2 a {
  padding-left: 7%;
}
.tree-table .t3 a {
  padding-left: 14%;
}

/* tree-table2 
--------------------------------------------- */
.tree-table2 table tbody tr:hover {
  box-shadow: none !important;
} /* 그림자 효과 제거*/
.tree-table2 table tbody tr:hover td {
  color: #777;
} /* 폰트 색상 기본값으로 변경 */
.tree-table2 table tr:last-of-type {
  border-bottom: 0 none !important;
}
.tree-table2 .sub_tree tbody {
  border-top: none !important;
}
.tree-table2 .tr_wrap > td {
  height: inherit;
  border-bottom: none !important;
}
.tree-table2 .td_tree {
  text-align: left;
} /*들여쓰기*/

.tree-table2 .toggle::before {
  font-family: var(--lineawesome);
  content: '\f055';
  font-size: 0.85rem;
  font-weight: bold;
  margin-right: 7px;
  color: #455eee;
  vertical-align: middle;
} /* + 아이콘 */
.unfold.toggle::before {
  content: '\f056';
} /* - 아이콘 */

.tree-table2 .v2 a.tit {
  padding-left: 7%;
}
.tree-table2 .v3 a.tit {
  padding-left: 14%;
}
.tree-table2 .v4 a.tit {
  padding-left: 25%;
}

.tree-table2 .btn-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}
.tree-table2 .btn-wrap button {
  margin: 0 0.6rem;
}
.tree-table2 .btn-wrap button i {
  font-size: 1rem;
  color: #a5a5a5;
}
.tree-table2 .btn-wrap button i.la-edit {
  transform: rotate(270deg);
}

/*************************************
    QR
*************************************/
.QR-view {
  width: 54px;
  height: 54px;
}
.QR-view img {
  width: 100%;
}
.QR-box {
  width: 110px;
  height: 100%;
  background: #f7f7f7;
  border: 1px solid #eaeaf2;
  border-radius: 3px;
  pointer-events: none;
}

/*************************************
    서명패드 (기존 서명css 참고함)
*************************************/
.signature-wrap {
  aspect-ratio: 1;
}
.signature-btn {
  width: 100%;
  height: 100%;
  color: #c8c8c8;
  border-radius: 3px;
  border-style: dashed;
  border-width: 2px;
  border-color: #c8c8c8;
  cursor: pointer;
}
.sign-pad-wrap {
  position: relative;
  height: 400px;
}
.sign-pad-wrap .sign-pad {
  height: 100%;
  width: 100%;
}
.sign-pad-wrap .sign-pad-txt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  font-size: 14px;
  color: #c3c3c4;
  line-height: 1.5;
  user-select: none;
}
.sign-edge span {
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 2px;
  background-image: url(/img/sub/sign-edge.png); /*background-image: url(../../img/sub/sign-edge.png);*/
}
.sign-edge span.top-left {
  left: 0;
  top: 0;
}
.sign-edge span.top-right {
  right: 0;
  top: 0;
  transform: rotate(90deg);
}
.sign-edge span.bottom-left {
  left: 0;
  bottom: 0;
  transform: rotate(270deg);
}
.sign-edge span.bottom-right {
  right: 0;
  bottom: 0;
  transform: rotate(180deg);
}

.sign-pad {
  border: 1px dashed #e1e1e1;
  border-radius: 3px;
  background: #fbfcfc;
}
.sign-pad-tools {
  display: flex;
  justify-content: space-between;
  padding: 7px 0 17px;
  border-bottom: 1px solid #e1e2e1;
}
.sign-pad-tools button {
  position: relative;
  padding-left: 19px;
  font-size: 13px;
  font-weight: 500;
  color: #a7a7a7;
}
.sign-pad-tools button::before {
  font-family: var(--lineawesome);
  font-size: 0.8rem;
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 57%;
  transform: translateY(-50%);
}
.sign-pad-tools .reset-btn::before {
  content: '\f2f9';
}
.sign-pad-tools .file-btn::before {
  content: '\f574';
}

/*************************************
    loading
*************************************/
.loading {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-size: 30px;
  font-weight: 800;
  background: #585858a8;
}
.loader {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.loading span {
  display: inline-block;
  margin: 0 -0.05em;
  color: #fff;
  animation: loading 1s infinite ease-in-out;
}
.loading span:nth-child(2) {
  animation-delay: 0.1s;
}
.loading span:nth-child(3) {
  animation-delay: 0.2s;
}
.loading span:nth-child(4) {
  animation-delay: 0.3s;
}
.loading span:nth-child(5) {
  animation-delay: 0.4s;
}
.loading span:nth-child(6) {
  animation-delay: 0.5s;
}
.loading span:nth-child(7) {
  animation-delay: 0.6s;
}
.loading span:nth-child(8) {
  animation-delay: 0.7s;
}
.loading span:nth-child(9) {
  animation-delay: 0.8s;
}

@keyframes loading {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(20px);
  }
}

.loading2 {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 6px solid rgba(255, 255, 255, 0.2);
  border-top-color: #fff;
  animation: loading2-spin 1s infinite linear;
}

@keyframes loading2-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.loading-wrap {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  transition: all 0.3s;
}
.loading3 {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 4px solid rgba(255, 255, 255, 0.2);
  border-top-color: #fff;
  animation: loading2-spin 1s infinite linear;
}

/*************************************
    dropdown
*************************************/
li:not(.code-list) .dropdown .item-disabled {
  background: #f8f8f8;
  color: #bababf;
  pointer-events: none;
}
li:not(.code-list) .dropdown .item-disabled::after {
  content: '불가';
  display: inline-block;
  vertical-align: middle;
  padding: 3px 6px;
  margin-left: 5px;
  font-size: 12px;
  font-weight: 600;
  color: #888;
  line-height: 1;
  background: #e5e5eb;
  border-radius: 15px;
}

li:not(.code-list) .dropdown:active .caption,
li:not(.code-list) .dropdown:hover .caption {
  border-color: #334fd6;
}
li:not(.code-list) .dropdown:active .caption::after,
li:not(.code-list) .dropdown:hover .caption::after {
  color: #334fd6;
  transform: translateY(-50%) rotate(180deg);
}
li:not(.code-list) .dropdown .caption::after {
  content: '\f107';
  font-family: var(--lineawesome);
  font-weight: bold;
  color: #dcdcdc;
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.65rem;
  line-height: 0.5rem;
  transition: transform 0.3s;
}

li:not(.code-list) .dropdown {
  position: relative;
  z-index: 1;
  width: 130px;
}
li:not(.code-list) .dropdown .caption {
  padding: 0.725rem 0.5rem;
  font-size: 0.8rem;
  color: #777;
  background: #fff;
  cursor: pointer;
  border-radius: 3px;
  border: 1px solid #dcdcdc;
  line-height: 1;
  transition: border 0.2s, border-width 0.1s ease;
}
li:not(.code-list) .dropdown .list {
  display: none;
  position: absolute;
  max-height: 180px;
  width: 100%;
  border: 1px solid #dcdcdc;
  border-radius: 3px;
  background: #fff;
  overflow-y: auto;
  letter-spacing: 0.6px;
}
li:not(.code-list) .dropdown .list .item {
  padding: 0.35rem 0.5rem;
  cursor: pointer;
  font-size: 0.8rem;
  color: #777;
}
li:not(.code-list) .dropdown .list .item:hover {
  background: #fafafa;
}
li:not(.code-list) .dropdown .list .item.selected {
  font-weight: bold;
  color: #334fd6;
}
li:not(.code-list) .dropdown.open .list {
  display: block;
}

/* dropdown 스크롤바 */
li:not(.code-list) .dropdown .list::-webkit-scrollbar {
  width: 5px;
}
/* dropdown스크롤바 막대 */
li:not(.code-list) .dropdown .list::-webkit-scrollbar-thumb {
  border-radius: 4rem;
  border: 0.4rem solid #c0c0c7;
}
/* dropdown스크롤바 뒷 배경 */
li:not(.code-list) .dropdown .list::-webkit-scrollbar-track {
  background-color: #eaeaf2;
  border-radius: 4rem;
}

/******************************************
    반응형
******************************************/

/* 반응형 데스크탑(2560px) */
@media screen and (min-width: 2000px) {
  .fixed-search-form3 .select-group {
    min-width: 100%;
  }
  .fixed-search-form3 .register-area.calendar-area {
    flex: 1;
  }
}
