* {
  color: #111;
  padding: 0;
  margin: 0;
  text-decoration: none;
}

ol,
ul {
  margin: 0;
  padding: 0;
}

.modal {
  position: fixed;
  /* 모달을 뷰포트에 고정 */
  top: 50%;
  /* 상단에서 50% 위치에 배치 */
  left: 50%;
  /* 좌측에서 50% 위치에 배치 */
  transform: translate(-50%, -50%);
  /* 모달의 중앙을 정확한 위치에 맞춤 */
  /* 추가 스타일링 */
}

.modal-content {
  border: 0;
}

.d-flex-column {
  display: flex;
  flex-direction: column;
}

.full-height {
  height: 100vh;
}

.d-flex-row {
  display: flex;
  flex-direction: row;
}

.flex-between {
  justify-content: space-between;
}

.title-32 {
  font-size: 32px;
  font-weight: bold;
}

.h-26 {
  font-size: 22px;
  font-weight: bold;
}

.h-22 {
  font-size: 22px;
  font-weight: bold;
}

.h-20 {
  font-size: 20px;
  font-weight: bold;
}

.h-18 {
  font-size: 18px;
  font-weight: bold;
}

.h-16 {
  font-size: 16px;
  font-weight: bold;
}

.p-18 {
  font-size: 18px;
}

.p-16 {
  font-size: 16px;
  font-weight: 400;
}

.p-14 {
  font-size: 14px;
}

.btn-off {
  background: #ebebeb !important;
  color: #4c4c4c;

}

.btn-on {
  background-color: #0098f8 !important;
  color: #fff;
}

.border-alert {
  /* padding: 10px; */
}

.border-alert:before {
  content: "필수 항목을 작성해주세요";
  display: inline-block;
  background: #4133ca;
  position: absolute;
  color: #fff;
  text-align: center;
  font-size: 13px;
  padding: 5px 10px;
  border-radius: 5px;
  z-index: 2;
  top: -5px;
  right: 0;
}

.border-alert::after {
  content: "";
  display: block;
  position: absolute;
  top: 25px;
  right: 45px;
  border-top: 7px solid #4133ca;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
}

/* button icon */
.mybtn-icon {
  font-size: 1.2rem;
  padding-right: 1rem;
  color: white;
  font-weight: bold;
}

.disable-bg {
  background-color: #e9ecef;
}

.dimmer {
  opacity: 0.2;
  background-color: rgba(0, 0, 0, 0.5);
}

/* 서브페이지-휴가신청(1209/yr) */
/* 공통 */
#wrap {
  width: 100%;
  min-height: 100vh;
}

.subpage {
  min-height: 100vh;
}

.sub-main {
  min-height: calc(100vh - 110px);
}

.sub-cont {
  padding: 20px 17px;
  position: relative;
  /* overflow: hidden; */
}

.sub-cont2 {
  padding: 0 15px 20px;
  position: relative;
  overflow: hidden;
}

.sub-cont3 {
  background: #fafafa;
  padding: 20px 17px;
  position: relative;
}

.sub-cont+.sub-cont {
  border-top: 10px solid #f1f1f1;
}

.sub-cont.mb80 {
  margin-bottom: 80px;
}

.sub-cont-top {
  position: relative;
  display: flex;
  justify-content: space-between;
  /* margin:20px 0 5px; */
  /* border-bottom: 1px solid #e2e2e2; */
  /* margin-top: 10px; 마진탑이 왜있을까? */
}

.sub-cont-top .sub-cont-tit {
  color: #111;
  font-size: 18px;
}

.sub-cont-top .sub-cont-tit .tit-desc {
  font-size: 13px;
  color: #666;
  font-weight: 400;
  margin-left: 5px;
}

/* .sub-dayoff{margin: 15px 0 20px;} */
.btn-comm {
  border-radius: 8px;
  padding: 13px;
  margin-top: 15px;
}

.btn-comm.btn-01 {
  width: 100%;
  background: #00cea2;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
}

.btn-comm.btn-02 {
  width: 100%;
  background: #0098f8;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
}

.btn-comm.btn-03 {
  width: 100%;
  background: transparent;
  color: #333;
  border: 1px solid #333;
  font-size: 15px;
  font-weight: 500;
  border-radius: 50px;
  padding: 12px;
  transition: 0.2s;
}

.btn-comm.btn-03:hover {
  background: #333;
  color: #fff;
}

.btn-comm.btn-04 {
  width: 100%;
  font-weight: 500;
  border: 1px solid #333;
  border-radius: 30px;
}

.btn-comm.btn-04:hover {
  background: #333;
  color: #fff;
  transition: 0.2s;
}

.btn-apply-wrap {
  /* position: fixed; */
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 0 15px 15px;
  /* display: grid; */
  /* grid-template-columns: 1fr 3fr; */
  display: flex;
  grid-gap: 10px;
  align-items: center;
  justify-content: center;
}

.btn-apply-wrap.fix-wrap {
  position: fixed;
  bottom: 0;
  background: #fff;
  padding: 15px;
  box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.1);
}

.btn-popup-wrap {
  position: relative;
  z-index: 10;
  left: 0;
  bottom: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  grid-template-columns: 1fr 3fr;
  grid-gap: 10px;
  align-items: center;
  justify-content: center;
}

.btn-popup-wrap .btn-row {
  display: flex;
  align-items: center;
  width: 100%;
  grid-gap: 10px;
}

.btn-apply-wrap button,
.btn-popup-wrap button {
  border-radius: 7px;
  padding: 13px 10px;
  text-align: center;
  font-size: 15px;
}

.btn-apply-wrap button.btn-br,
.btn-popup-wrap button.btn-br {
  border-radius: 8px;
}

.btn-apply-cancel {
  background: #ebebeb;
  color: #4c4c4c;
  width: 30%;
  font-weight: 500;
}

.btn-apply-submit {
  background: #0098f8;
  /* background: #00cea2; */
  color: #fff;
  width: 100%;
  font-weight: 500;
}

.btn-apply-decide {
  background: #0098f8;
  color: #fff;
  width: 100%;
  font-weight: 500;
}

.btn-apply-delete {
  background: #ff5c49;
  color: #fff;
  width: 50%;
  font-weight: 500;
}

.btn-apply-write {
  background: #00cea2;
  color: #fff;
  font-size: 15px;
  /* width: 80%; */
  font-weight: bold;
}

.top-tab {
  position: relative;
  height: 54px;
  display: flex;
  justify-content: center;
  align-items: center;
  /* border-bottom: 1px solid #e2e2e2; */
}

.top-tab .top-right {
  display: flex;
  align-items: center;
  position: absolute;
  right: 0px;
  top: 0;
  height: 50px;
}

.top-tab .top-btn {
  height: 50px;
}

.top-tab .btn-prev {
  background: url(../images/icons/ico-top-prev.png) center no-repeat;
  background-size: auto 20px;
  width: 54px;
  position: absolute;
  top: 0;
  left: 0;
}

.top-tab .btn-close {
  background: url(../images/icons/icon_btn_close.png) center no-repeat;
  background-size: auto 18px;
  width: 50px;
  height: 50px;
  opacity: 1 !important;
}

.top-tab .btn-left {
  left: 0;
  position: absolute;
}

.top-tab .btn-home {
  background: url(../images/icons/icon_home.png) center no-repeat;
  background-size: 21px 21px;
  width: 50px;
}

.top-tab .btn-save {
  font-size: 15px;
  color: #868686;
  /* border: 1px solid #868686;
  padding: 3px 8px;
  border-radius: 5px; */
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}

.top-tab .btn-sidebar {
  width: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-tab .btn-sidebar .sidebar-wrap {
  width: 22px;
  height: 15px;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}

.top-tab .btn-sidebar span {
  height: 2px;
  width: 22px;
  background: #333;
  display: block;
}

.top-tab .btn-sidebar .wh-bar {
  background: #fff;
}

.top-tab .top-tit {
  font-size: 17px;
  color: #000;
}

.dayoff-statistic {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.dayoff-statistic .stt-top {
  text-align: center;
  margin-bottom: 15px;
}

.dayoff-statistic .stt-top p {
  color: #989898;
  font-size: 16px;
  font-weight: 500;
}

.dayoff-statistic .stt-top em {}

.dayoff-statistic .stt-top em span {
  display: inline-block;
  margin-left: 5px;
  padding: 2px 5px;
  background: #e3fff9;
  color: #00cea2;
  font-weight: 500;
  border-radius: 3px;
  font-size: 14px;
}

.dayoff-statistic .graph {}

.dayoff-statistic .pie-chart {
  position: relative;
  width: 180px;
  height: 180px;
  background: #ececec;
  border-radius: 50%;
  transition: 0.1s;
}

.dayoff-statistic .pie-chart .chart-center-info {
  position: absolute;
  left: 50%;
  top: 50%;
  background: #fff;
  width: 155px;
  height: 155px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.dayoff-statistic .pie-chart .chart-center-info b {
  font-size: 26px;
}

.dayoff-statistic .pie-chart .chart-center-info span {
  font-size: 14px;
  color: #929292;
}

/* 목록 우측상단 년도 select */
.apply-count {
  /*position: absolute; right: 0; top:0;*/
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.apply-count .total {
  font-size: 14px;
}

.apply-count .total span {
  color: #666;
}

.apply-count .count-detail {
  display: flex;
  align-items: center;
}

.apply-count .count-detail p {
  font-size: 12px;
  margin-left: 13px;
  position: relative;
  padding-left: 8px;
}

.apply-count .count-detail p:after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 5px;
  height: 5px;
  border-radius: 50%;
  display: inline-block;
}

.apply-count .count-detail p span {
  font-size: 13px;
  color: #333;
}

.sub-cont .sub-top-wrap {
  display: flex;
  /* align-items: center; */
  justify-content: space-between;
  /*margin-bottom: 25px;*/
}

.sub-cont .sub-top-wrap.fld-c {
  flex-direction: column;
}

.sub-cont .sub-top-wrap .sub-top-tit {
  font-size: 20px;
  font-weight: 500;
  color: #333;
}

.sub-cont .sub-top-wrap .sub-top-desc {
  font-size: 13px;
  line-height: 1.4;
  margin-top: 7px;
  color: #828282;
}

.sub-top-tit em {
  font-size: 20px;
  font-weight: bold;
}

.sub-top-tit b {
  font-size: 20px;
  font-weight: 600;
}

.sub-top-tit span {
  display: block;
  color: #292929;
  font-size: 18px;
  margin-bottom: 5px;
}

.sub-cont .sub-top-wrap .img {
  position: relative;
  padding-right: 10px;
}

.sub-cont .sub-top-wrap .img::before {
  content: "";
  width: 130px;
  height: 130px;
  display: block;
  border-radius: 50%;
  position: absolute;
  top: -10px;
  right: 0;
  /*transform: translateX(-50%);*/
  z-index: -1;
  background: linear-gradient(45deg,
      rgba(214, 247, 240, 0) 0%,
      rgba(214, 247, 240, 1) 100%);
}

.sub-cont .sub-top-wrap img {
  width: 80px;
}

.sub-cont .btn-sub-pay {
  position: relative;
  padding: 12px 15px;
  border-radius: 10px;
  width: 100%;
  background: linear-gradient(135deg,
      rgb(73, 218, 186) 0%,
      rgba(0, 206, 162, 1) 100%);
}

/* .sub-cont .btn-sub-pay:after{content: ""; display: block; width: 26px; height: 26px; border-radius: 50%; background:#00cea2; position: absolute;
right: 20px; top: 50%; transform:translateY(-50%);} */
.sub-cont .btn-sub-pay span {
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  position: relative;
}

.sub-cont .btn-sub-pay span:before {
  content: "";
  display: block;
  background: url(../images/icons/icon_right_wh.png) center no-repeat;
  background-size: cover;
  width: 14px;
  height: 14px;
  position: absolute;
  right: -18px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

.sign.sign-approve:after {
  background-color: #e8e8e8;
}

.sign.sign-cancle:after {
  background: #ff5c49;
}

.sign.sign-apply:after {
  background: #0098f8;
}

.sign.sign-on:after {
  background: #00cea2;
}

/* 초과근무 신청 */
/* .overtime-count{margin-bottom: 20px;} */
.overtime-count p {
  font-size: 16px;
  color: #989898;
  font-weight: 500;
}

.overtime-count b {
  font-size: 26px;
}

.overtime-count b em {
  position: relative;
  font-size: 26px;
  z-index: 0;
}

.overtime-count b em:before {
  position: absolute;
  content: "";
  height: 12px;
  width: 100%;
  background: #e2f4ff;
  z-index: -1;
  bottom: 0;
}

/* 신청내역 목록 css */
.apply-list-wrap {
  margin-top: 15px;
}

.apply-list table {
  width: 100%;
}

.apply-list {
  position: relative;
}

.apply-list li {
  position: relative;
  padding: 15px 3px;
}

.apply-list li~li {
  border-top: 1px solid #efefef;
}

.list-wrap {
  position: relative;
  width: 100%;
}

.apply-date {
  font-size: 13px;
  color: #9c9c9c;
  top: 0;
}

.abs-r {
  position: absolute;
  right: 0;
  top: 3px;
}

.apply-list .write-on {
  color: #fff;
  background: #00cea2;
  line-height: 1.1;
  border: 1px solid #00cea2;
  font-size: 13px;
  font-weight: 500;
  padding: 4px 5px 5px;
  border-radius: 3px;
  margin-left: 5px;
}

/*작성중*/
.approval-date {
  font-size: 13px;
  color: #539aff;
  display: flex;
}

.approval-date em {
  font-size: 13px;
  color: #0098f8;
  font-weight: 500;
  margin-left: 5px;
}

.apply-info-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  /* align-items: center; */
  margin: 7px 0 0;
  /*상단 신청날짜 마진 제거로 인한 간격 조정*/
}

/*이게 왜 센터인지?*/
.apply-name {
  font-size: 15px;
  font-weight: 500;
}

.apply-period {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-size: 14px;
  color: #6b6b6b;
  position: relative;
  padding-left: 20px;
}

.apply-period:before {
  content: "";
  position: absolute;
  background: url(../images/icons/icon_main_calender.png) center no-repeat;
  background-size: cover;
  width: 15px;
  height: 15px;
  display: block;
  top: 4px;
  left: 0;
}

.applicant {
  position: relative;
  padding-left: 20px;
  /* display: flex; */
}

.applicant span {
  display: inline-block;
  font-size: 14px;
  color: #6b6b6b;
}

.applicant::before {
  content: "";
  display: block;
  background: url(../images/icons/icon_user.png) center no-repeat;
  background-size: cover;
  width: 15px;
  height: 15px;
  position: absolute;
  left: 0;
  top: 4px;
}

.detail-attach {
  font-size: 12px;
  color: #adadad;
  border: 1px solid #adadad;
  padding: 0 3px 1px;
  border-radius: 3px;
}

.detail-snh-attach {
  font-size: 12px;
  color: #ff5c49;
  border: 1px solid #ff5c49;
  padding: 0 3px 1px;
  border-radius: 3px;
}

.applicant .personal-dayoff {
  font-size: 13px;
  display: block;
  color: #9f9f9f;
}

.apply-period span {
  display: inline-block;
  line-height: 1.3;
  font-size: 13px;
  /* padding: 2px 8px;
  background: #e3fff9; */
  color: #05cfa4;
  /* margin-left: 5px; */
}

.apply-period .exclude {
  font-size: 12px;
  color: #ff5c49;
  margin-left: 5px;
  border: 1px solid #ff5c49;
  border-radius: 3px;
  padding: 3px 3px;
  line-height: 1;
}

.apply-attach {
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  line-height: 1;
  margin-left: 3px;
  right: 0;
  top: 20px;
  padding: 3px 4px 4px;
  border-radius: 3px;
  border: 1px solid #00cea2;
  color: #00cea2;
}

.apply-list .state {
  font-size: 14px;
  padding: 3px 8px;
  border-radius: 3px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.apply-list .list-bot-info {
  display: flex;
  align-items: center;
  /* margin-top: 5px; */
}

.apply-list .list-bot-info .info {
  font-size: 13px;
  color: #9c9c9c;
  position: relative;
}

.apply-list .list-bot-info .info~.info {
  margin-left: 5px;
  padding-left: 5px;
}

.apply-list .list-bot-info .info~.info:before {
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 2px;
  background: #9c9c9c;
  border-radius: 50%;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.state.approval-apply {
  background-color: #0098f8;
  color: #fff;
}

.state.approval-complete {
  background-color: #e8e8e8;
  color: #333;
}

.state.approval-ongoing {
  background-color: #00cea2;
  color: #fff;
}

.state.approval-giveback {
  background-color: #ff5c49;
  color: #fff;
}

/* 휴가 신청서 작성 */
.approve-line {
  margin-bottom: 15px;
}

.approve-line .btn-approve-line {
  width: 100%;
  font-size: 14px;
  text-align: left;
  position: relative;
  background: #eaf6fd;
  border: 1px solid #79b5f1;
  border-radius: 5px;
  padding: 10px;
}

.approve-line .btn-approve-line:after {
  content: "";
  position: absolute;
  display: block;
  background: #79b5f1;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}

.approve-line .btn-approve-line:before {
  content: "";
  z-index: 1;
  display: block;
  position: absolute;
  background: url(../images/icons/ico-check-wh.png) center no-repeat;
  background-size: contain;
  width: 15px;
  height: 15px;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.approve-line .btn-approve-line em {
  color: #408adb;
  font-weight: 500;
  font-size: 14px;
}

.approve-line .btn-change-line {
  font-size: 13px;
  text-align: center;
  background-color: none;
  width: 100%;
  padding: 10px;
  border-radius: 8px;
  border: 1px solid #0080f8;
  color: #0080f8;
  margin-top: 10px;
  transition: 0.2s;
}

.approve-line .btn-change-line:hover {
  background: #0080f8;
  color: #fff;
}

.approve-line .approve-line-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid #f2eeee;
  background: #fff;
  border-radius: 12px;
  box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.1);
}

.approve-line .approve-line-wrap h5 {
  font-size: 16px;
  color: #000;
  font-weight: bold;
}

.apply-write-wrap {
  margin-top: 20px;
}

.apply-write-list {}

/* .apply-write-list + .apply-write-list{margin-top: 15px; border-top: 1px solid #efefef;} */
.apply-write-list .col2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 7px;
}

/*한 행에 두개 col 존재*/
.apply-write-list .col2>div {
  display: grid;
  grid-gap: 4px;
}

.apply-write-list .col3 {
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 7px;
}

.apply-confirm li {
  /* border-bottom: 1px solid #f0f0f0; */
  margin-bottom: 15px !important;
  padding: 0 0 15px;
}

.applicant-info {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.applicant-info .name {
  display: flex;
  flex-direction: column;
}

.applicant-info .name b {
  font-size: 15px;
  font-weight: 500;
}

.applicant-info .name em {
  font-size: 14px;
  color: #868686;
}

.applicant-info .thumb-img {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 15px;
}

.applicant-info .thumb-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.apply-write-list li {
  position: relative;
  display: flex;
  flex-direction: column;
  grid-gap: 4px;
}

/*작성폼만 해당되나?*/
.apply-confirm li~li {}

.apply-write-list li~li {
  margin-top: 15px;
}

.apply-write-list .apply-tit {
  font-size: 14px;
  color: #000;
  line-height: 1.6;
  font-weight: 500;
  display: inline-block;
  word-break: break-all;
}

.apply-confirm li .apply-tit {
  margin-bottom: 0 !important;
}

.apply-write-list .apply-input {
  width: 100%;
  display: flex;
}

.apply-confirm li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.apply-write-list .apply-input select {
  /* width: 100%; 이건 뭐때문에?*/
}

.apply-write-list .apply-input span.select2 {
  width: 100%;
}

.apply-write-list .apply-input input,
.apply-write-list .apply-input select {
  background: #fafafa;
  border: 1px solid #d6d6d6;
  height: 48px;
  border-radius: 7px;
  padding: 0 10px;
  width: 100%;
  /*width: inherit; 이건 왜 적용된건지? ->날짜,시간 일렬 나열*/
}

.apply-write-list .apply-input select {
  font-size: 14px;
}

.apply-write-list .apply-input .f-text {
  width: 100%;
  background: #fafafa;
  border: 1px solid #d6d6d6;
  border-radius: 7px;
  padding: 8px 10px;
}

.apply-input .input-search-btn {
  font-size: 14px;
  white-space: nowrap;
  margin-left: 7px;
  font-weight: 500;
  background: #005fe0;
  color: #fff;
  padding: 0 10px;
  border-radius: 7px;
}

.apply-write-list .apply-input .f-text::placeholder {
  font-size: 13px;
  font-weight: 400;
  color: rgb(157, 157, 157);
}

.apply-write-list .apply-input .ro-text {
  width: 100%;
  background: #e9ecef;
  opacity: 1;
  border-radius: 5px;
  border: 1px solid #d6d6d6;
  padding: 10px;
}

.apply-write-list .apply-input.apply-date {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.apply-write-list .apply-input.apply-date input {
  width: 46%;
}

.apply-write-list .apply-input.apply-period {
  display: flex;
  align-items: center;
}

.apply-write-list .apply-input span.ui-button {
  width: 100%;
  height: 45px;
  display: flex;
  align-items: center;
  border-radius: 5px;
  padding: 0 0 0 7px;
}

.apply-write-list .apply-input span.ui-button .ui-icon {
  position: absolute;
  right: 10px;
}

.apply-write-list .apply-input .date-wrap {
  display: flex;
  align-items: center;
  grid-gap: 10px;
}

.apply-write-list .list-row {
  display: grid;
  align-items: flex-start;
  grid-template-columns: 3.8fr 8fr;
  grid-gap: 5px;
}

.apply-write-list .list-col {
  display: flex;
  flex-direction: column;
  grid-gap: 5px;
}

.apply-write-list .time-wrap {
  display: flex;
  align-items: flex-start;
}

.apply-write-list .list-time {
  display: flex;
  grid-gap: 7px;
  flex-wrap: wrap;
}

/*기간*/
.apply-write-list .duration {
  display: inline-block;
  font-size: 13px;
  color: #0080f8;
  background: #eaf6fd;
  padding: 0 5px;
  border-radius: 3px;
}

.apply-write-list .duration b {
  color: #0080f8;
  font-size: 13px;
  font-weight: 400;
}

.apply-write-list .exclude {
  font-size: 13px;
  color: #999;
}

.apply-write-list .answer-wrap {
  display: flex;
  grid-gap: 5px;
}

.apply-write-list .duration-detail {
  display: flex;
  grid-gap: 5px;
}

.apply-write-list .duration-detail span {
  padding: 0 3px;
  border-radius: 3px;
  border: 1px solid #ccc;
  font-size: 13px;
  color: #999;
}

.apply-write-list .apply-answer {
  display: flex;
  flex-wrap: wrap;
}

/*input text칸 아닌 수정불가 정보*/
.apply-write-list .apply-answer input {
  border: none;
  /* text-align: right; 우측정렬 필요 x */
  background: none;
}

.apply-write-list .apply-answer textarea {
  border: none;
  text-align: right;
  height: 25px;
  /*높이값이 큰것같아 고정값 적용, 사유가 길때는 고정값 풀어야함*/
}

.apply-write-list .apply-answer .answer-mg5 {
  margin: 0 5px;
}

.approveline-list-wrap {
  display: flex;
  flex-direction: column;
  margin-bottom: 5px;
  grid-gap: 3px;
}

.approveline-list .name {
  margin-right: 3px;
}

.approveline-list .position {
  font-size: 14px;
  color: #868686;
}

.approveline-cmt {
  position: relative;
  display: flex;
  align-items: center;
  /* justify-content: flex-end; */
  padding-left: 17px;
}

.approveline-cmt::after {
  content: "";
  display: block;
  position: absolute;
  left: 2px;
  top: 5px;
  border-bottom: 1px solid #6c6c6c;
  border-left: 1px solid #6c6c6c;
  width: 8px;
  height: 8px;
}

.approve-result {
  font-size: 14px;
  margin-left: 3px;
  display: inline-block;
  color: #ff5c49;
  /* border: 1px solid #ff5c49;
  padding: 2px 3px;
  border-radius: 1px; */
}

.approveline-list {
  display: flex;
  /* justify-content: flex-end; */
  align-items: center;
  flex-wrap: wrap;
}

.apply-answer .approveline-list+.approveline-list {
  margin-top: 5px;
}

.apply-write-list .total-date {
  display: flex;
  align-items: center;
}

.apply-write-list .total-date p {
  display: flex;
  align-items: center;
  font-size: 14px;
}

.apply-write-list .total-date p span {
  font-size: 14px;
  /* background: #e4f9f5; */
  /* padding: 1px 7px; */
  margin-left: 5px;
  border-radius: 3px;
  color: #408adb;
  /* line-height: normal; */
  font-weight: 500;
}

.apply-write-list .date-detail-bot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  /* margin-top: 7px; */
}

.apply-write-list .holiday-include-wrap {
  display: flex;
  align-items: center;
  grid-gap: 12px;
}

.apply-write-list .holiday-include {
  position: relative;
  top: 0;
  right: 0;
  /* padding-left: 18px; */
  display: flex;
  align-items: center;
}

.apply-write-list .holiday-include+.holiday-include {
  /* margin-left: 10px; 이건또 왜 적용된거?*/
}

.apply-write-list .holiday-include input {
  position: absolute;
  opacity: 0;
  z-index: 1;
  height: 100%;
}

.apply-write-list .holiday-include input:checked+label {
  color: #ff5c49;
}

.apply-write-list .holiday-include input:checked+label:before {
  background: #ff5c49;
  border-color: #ff5c49;
}

.apply-write-list .holiday-include label {
  font-size: 14px;
  color: #696969;
  text-indent: 20px;
}

.apply-write-list .holiday-include label::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: #cecece;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.apply-write-list .holiday-include label::after {
  content: "";
  position: absolute;
  background: url(../images/icons/ico-check-wh.png) center no-repeat;
  background-size: contain;
  width: 12px;
  height: 12px;
  left: 7px;
  top: 50%;
  transform: translate(-50%, -50%);
}

.apply-write-list .holiday-info {
  font-size: 13px;
  color: #ff5c49;
}

.apply-write-list .attach-file {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  overflow: hidden;
}

.attach-file-list {
  /*width: calc(100% - 73px); 버튼제외 좌측 박스 넓이*/
  border: 1px solid #d6d6d6;
  padding: 8px 10px;
  border-radius: 7px;
  width: 100%;
  min-height: 40px;
}

.apply-write-list .attach-file-list p {
  font-size: 14px;
  color: #666;
}

.attach-file-list .file-list {
  position: relative;
  display: flex;
  align-items: center;
}

.attach-file-list .file-list .file-name {
  max-width: calc(100% - 25px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
}

.attach-file-list .file-list .bi-x,
.attach-file-list .file-list .btn-file-ctr {
  position: absolute;
  right: 0;
  width: 16px;
  height: 16px;
  font-size: 18px;
}

.btn-file-close {
  margin-left: 5px;
  background: url(../images/icons/icon_btn_close.png) center no-repeat;
  background-size: 10px 10px;
  width: 18px;
  height: 18px;
  display: inline-block;
  position: relative;
}

.btn-file-close::before {
  content: "";
  position: absolute;
  background: #efefef;
  width: 20px;
  height: 20px;
  left: 0;
  top: 0;
  border-radius: 50px;
  z-index: -1;
}

.apply-write-list .file-attach-btn {
  background-color: #004bc7;
  color: #fff;
  border-radius: 5px;
  line-height: 1.2;
  margin-top: 6px;
  margin-left: 10px;
  font-size: 14px;
  padding: 8px 10px;
  white-space: nowrap;
  font-weight: 500;
}

/* .apply-write-list .file-attach-btn:focus,.apply-write-list .file-attach-btn:hover{background: #0098f8; color: #fff;} */
.apply-write-list .file-count {
  /* position: absolute; */
  right: 0;
  top: 0;
  font-size: 13px;
  color: #828282;
}

.apply-write-list .file-count em {
  font-size: 13px;
  color: #333;
  font-weight: 500;
}

/* 결재의견 버튼 */
.view-remark-sign {
  margin-left: 5px;
  display: inline-block;
  color: #413a3a;
  background: #a1d5f3;
  font-size: 13px;
  border-radius: 6px;
  padding: 2px 7px;
  position: relative;
  font-weight: 500;
}

.view-remark-sign::after {
  display: block;
  position: absolute;
  border-top: 1px solid #ff5c49;
  border-right: 1px solid #ff5c49;
  transform: rotate(45deg);
  width: 8px;
  height: 8px;
  top: 7.5px;
  right: -3px;
}

.apply-cmt-ballon {
  position: relative;
  z-index: 1;
  right: 0;
  top: calc(100% + 8px);
  border-radius: 5px;
  /* margin-top: 3px; */
}

.apply-cmt-ballon p {
  color: #ff5c49;
  font-size: 14px;
}

.apply-cmt-ballon::before {
  /* content: ""; */
  display: block;
  position: absolute;
  border-bottom: 7px solid #001b56;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  top: -6px;
  right: 20%;
}

/* 연차 사용 계획 */
.sub-cont-inner {
  margin-top: 15px;
}

.dayoff-content-wrap {
  /* margin-bottom: 15px;
  border: 1px solid #e2e3e9;
  border-radius: 5px;
  overflow: hidden; */
  margin-bottom: 10px;
  padding-bottom: 12px;
  border-bottom: 1px solid #eaeaea;
}

.dayoff-content-wrap .box-tit {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  grid-gap: 7px;
  background: #f2f3fa;
  padding: 8px 10px;
}

.dayoff-content-wrap .box-tit h3 {
  font-size: 14px;
  color: #333;
}

.dayoff-content-wrap .box-tit span {
  font-size: 12px;
  color: #666;
}

.dayoff-content {
  display: flex;
  justify-content: space-between;
  /* grid-template-columns: 1fr 1fr 1fr; */
}

.dayoff-cont-wrap {
  display: inline-flex;
  justify-content: center;
  text-align: center;
  position: relative;
  grid-gap: 3px;
  padding: 0 0 0 7px;
}

.dayoff-cont-wrap::before {
  content: "";
  display: block;
  background: #333;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.dayoff-cont-wrap+.dayoff-cont-wrap {
  /* border-left: 1px solid #e2e3e9; */
}

/* .dayoff-cont-wrap + .dayoff-cont-wrap:before{content: ""; width: 1px; height: 80%; background: #e3e3e3; position: absolute; left: -15px; top: 50%; transform: translateY(-50%);} */
.dayoff-cont-wrap p,
.dayoff-cont-wrap input {
  font-size: 13px;
  border: none;
  outline: none;
}

.dayoff-cont-wrap .day {
  font-size: 13px;
  font-weight: 400;
}

.dayoff-cont-wrap .day b {
  line-height: 1;
  font-size: 13px;
  font-weight: 400;
}

.dayoff-cont-wrap.on p,
.dayoff-cont-wrap.on p b {
  font-weight: bold;
}

.dayoff-cont-wrap.on:before {
  width: 3px;
  height: 3px;
}

.subcont-tab {
  width: 100%;
}

.subcont-tab .tab-tit-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #f2f3fa;
  border-radius: 8px;
  /* grid-gap: 15px; */
  margin-bottom: 20px;
}

.subcont-tab .tab-tit-wrap .cont-tab {
  padding: 10px 0;
  text-align: center;
  font-weight: 400;
  color: #777777;
  font-size: 13px;
}

.subcont-tab .tab-tit-wrap .cont-tab.active {
  color: #fff;
  font-weight: 600;
  position: relative;
  border-radius: 8px;
  background: #00cea2;
}

/* .subcont-tab .tab-tit-wrap .cont-tab.on::after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  position: absolute;
  top: -2px;
  right: -7px;
  background: #ff5c49;
  border-radius: 50%;

} */
.tab-inner-wrap {
  margin-top: 20px;
}

.tab-inner-wrap .list-wrap {
  padding: 0 3px;
  /* border: 1px solid #eaeaea; */
  /* border-radius: 10px; */
}

.tab-inner-wrap .list-wrap~.list-wrap {
  margin-top: 10px;
}

.tab-inner-wrap ul {}

.tab-inner-wrap ul li {
  position: relative;
  display: flex;
  align-items: center;
  grid-gap: 15px;
  padding: 5px 0;
}

/* .tab-inner-wrap .list-wrap ul li + li{border-top: 1px solid #efefef;} */
.tab-inner-wrap ul li::before {
  content: "";
  display: block;
  position: absolute;
}

.tab-inner-wrap .num {}

.tab-inner-wrap .desc {
  display: flex;
  align-items: center;
  grid-gap: 7px;
}

.tab-inner-wrap .title {
  font-weight: bold;
  font-size: 14px;
}

.tab-inner-wrap .period {
  color: #999;
  font-size: 14px;
  font-weight: 400;
}

.tab-inner-wrap .total {
  font-size: 13px;
  /* padding: 1px 7px; */
  /* border-radius: 3px; */
  font-weight: 500;
  /* background: #eaf6fd; */
  color: #0080f8;
}

.dayoff-check {
  position: absolute;
  right: 0;
  width: 20px;
  height: 20px;
}

.dayoff-check input {
  position: absolute;
  width: 100%;
  top: 0;
  right: 0;
  opacity: 0;
  height: 100%;
  z-index: 1;
}

.dayoff-check label {}

.dayoff-check label span {
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: inline-block;
  border-radius: 3px;
  border: 1px solid #ababab;
}

/* .dayoff-check input:checked + label:before{content: ""; display: block; width: 100%; height: 1px; background: #e9e9e9; position: absolute; left: 0; bottom: 0; z-index: -1;} */
.dayoff-check input:checked+label span {
  background: #333;
  border-color: #333;
}

.dayoff-check input:checked+label span::before {
  content: "";
  background: url(../images/icons/ico-check-wh.png) center no-repeat;
  background-size: contain;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 50%;
  left: 49%;
  transform: translate(-50%, -50%);
}

.btn-list-delete {
  font-size: 13px;
  font-weight: 500;
  padding: 5px 10px;
  border-radius: 5px;
  background: #ff5c49;
  color: #fff;
}

.list-count-wrap {
  display: flex;
  align-items: center;
  grid-gap: 8px;
}

.list-count-wrap p {
  font-size: 13px;
}

.list-count-wrap em {
  font-size: 13px;
  font-weight: 500;
}

/* 팝업 */
.popup-wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: calc(100vh - 95px);
  background: #fff;
  width: 100%;
  padding: 20px 18px;
}

.fpopup-top {
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  line-height: 18px;
}

/* by 최현동 2024.02.27 */
.bs-popup-wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: calc(100vh - 95px);
  background: #fff;
  width: 100%;
  padding: 20px 18px;
}

.fit-popup-wrap {
  position: absolute;
  bottom: 0;
  background: #fff;
  width: 100%;
  padding: 20px 18px;
}

.popup-tit-wrap {
  /* margin-bottom: 15px; */
  /*마진바텀 왜 있는거??*/
}

.popup-tit-wrap h4 {
  color: #000;
  font-size: 18px;
}

.popup-close-btn {
  background: url(../images/icons/icon_btn_close.png) center no-repeat;
  background-size: contain;
  width: 18px;
  height: 18px;
  text-indent: -9999px;
  position: absolute;
  right: 20px;
  top: 20px;
  z-index: 10;
}

.popup-wrap .apply-cont {
  position: relative;
  /* height: calc(100% - 80px); */
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  /* overflow-y:auto; */
}

.btn-popup-wrap .popup-bot-close {
  padding: 0 30px;
  text-decoration: underline;
  font-size: 14px;
}

/* 기존 팝업이랑 다른 버전(0608/yr) */
.modal-detail {
  background: #fff;
  overflow-y: auto;
  height: 100%;
  /*sheet검은 부분 안보이게 높이값 최대 적용(0704)*/
}

.template-list-wrap {
  margin-bottom: 15px;
  margin-top: 15px;
}

.template-list-wrap .template-list {
  display: flex;
  flex-direction: column;
}

.template-list-wrap button {
  /* width: calc(100% / 2 - 3px); */
  font-size: 14px;
  color: #505050;
  text-align: left;
  position: relative;
}

.template-line-list {
  width: 100%;
  /* padding: 10px 0; 바깥 box 간격 생성으로 삭제*/
}

.template-line-list .line-inner {
  padding: 5px 10px;
  border-radius: 10px;
  background: #fafafa;
}

.template-line-list ul {}

.template-line-list ul li {
  position: relative;
  display: flex;
  align-items: center;
  padding: 10px 0;
}

.template-line-list ul li+li {
  border-top: 1px solid #e2e2e2;
}

.template-line-list ul li b {
  font-size: 15px;
  font-weight: 500;
  margin-right: 5px;
}

.template-line-list ul li em {
  font-size: 14px;
  color: #868686;
}

.template-line-list ul li span {
  position: absolute;
  right: 0;
  line-height: normal;
  color: #481de2;
  border: 1px solid #481de2;
  padding: 1px 3px;
  display: inline-block;
  font-size: 13px;
  font-weight: 400;
  border-radius: 3px;
  background: #fff;
}

.template-line-list ul li span.line-ref {
  color: #00cea2;
  border-color: #00cea2;
}

.template-line-list ul li .num {
  margin-right: 8px;
}

.template-line-list .line-list-wrap {
  padding: 10px 0;
}

/* 팝업 결재라인 선택 wrap */
.approveline-check-wrap {
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-gap: 10px;
  margin: 0 0 20px;
  /*결재라인 팝업 버튼위 간격*/
}

.approveline-check-wrap .check-wrap {
  display: flex;
  align-items: center;
  position: relative;
  grid-gap: 7px;
  padding: 0 3px;
  /* justify-content: space-between; */
}

.approveline-check-wrap .check-wrap input {
  position: absolute;
  opacity: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.approveline-check-wrap .check-wrap label {
  position: absolute;
  right: 3px;
  width: 22px;
  height: 22px;
  border: 1px solid #505050;
  border-radius: 3px;
  margin: 0;
  text-indent: -9999px;
}

/* .approveline-check-wrap .check-wrap input:checked{background: ;} */
.approveline-check-wrap .check-wrap input:checked+label {
  background: #505050;
}

.approveline-check-wrap .check-wrap label::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: url(../images/icons/ico-check-wh.png) no-repeat;
  background-size: cover;
  background-position: 0 0;
}

/* .approveline-check-wrap .check-wrap input:checked + label::before{background-position: 0 -16px;} */
.approveline-check-wrap .check-wrap span {
  font-size: 15px;
  color: #333333;
}

/* 팝업_모달 center */
.center-popup {
  width: 300px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 15px;
  overflow: hidden;
}

.modal-main {
  background: #fff;
  padding: 30px 20px 20px;
  border-radius: 20px 20px 0 0;
}

.modal-main .main-top {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 20px;
}

.modal-main .main-top img {
  width: 90px;
  height: 90px;
  margin-bottom: 15px;
}

.modal-main .main-top h3 {
  font-size: 17px;
  color: #333;
  text-align: center;
  font-weight: 600;
}

.modal-main .modal-input {
  width: 100%;
  padding: 10px;
  border-radius: 5px;
  background: #f7f7f7;
  border: 1px solid #ccc;
}

.modal-main .modal-input::placeholder {
  font-size: 13px;
}

.modal-bot {
  background: #fff;
  padding: 15px;
}

.modal-bot .modal-btn {
  width: 100%;
}

.modal-bot .modal-btn button {
  padding: 13px 0;
  border-radius: 8px;
}

/* 팝업-full page */
.bs-apply-tit {
  color: #333;
  font-size: 18px;
  margin: 1.8rem 0 1.5rem;
}

/* 서브페이지 depth1 */
.sub-tab-desc {
  padding: 0 15px 0;
}

.sub-tab-desc .desc {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 20px 20px;
  border-radius: 15px;
}

.sub-tab-desc .desc01 {
  background: linear-gradient(to bottom,
      rgba(228, 240, 253, 1) 0%,
      rgba(228, 240, 253, 0) 100%);
}

.sub-tab-desc p {
  font-size: 17px;
  color: #333;
  font-weight: 500;
  line-height: 1.4;
}

.sub-tab-desc img {
  width: 65px;
}

.sub-tab-wrap {
  display: flex;
  flex-wrap: wrap;
  /* grid-template-columns: 1fr 1fr; */
  grid-gap: 12px;
}

.sub-tab-wrap .btn-tab {
  border-radius: 10px;
  padding: 15px 20px;
  /* width: calc(100% / 2 - 6px); */
  width: 100%;
  box-shadow: 2px 2px 12px rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  grid-gap: 15px;
  background: #fff;
  border: 1px solid #f9f9f9;
}

.sub-tab-wrap .btn-tab:hover {
  background: #f1f1f1;
}

.sub-tab-wrap .btn-tab .tab-img {
  /* background: #f2f2f2; */
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.sub-tab-wrap .btn-tab .tab-img img {
  width: 50px;
}

.sub-tab-wrap .btn-tab .tab-tit {
  font-size: 15px;
  line-height: 1.4;
  color: #333;
  font-weight: bold;
  text-align: center;
  word-break: break-all;
}

/* .sub-tab-wrap .btn-tab01 .tab-img {
  background: #539aff;
}
.sub-tab-wrap .btn-tab02 .tab-img {
  background: #a970ff;
} */

/* 증명서 */
.sub-cert {}

.sub-cert .cert-tab {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
  border-bottom: 1px solid #e2e2e2;
}

.sub-cert .cert-tab .tab {
  color: #393940;
  font-size: 17px;
  font-weight: 500;
  margin: 0 15px;
  padding: 5px 5px 13px;
  line-height: 1;
  opacity: 0.8;
}

.sub-cert .cert-tab .tab.on {
  opacity: 1;
  font-weight: bold;
  position: relative;
}

.sub-cert .cert-tab .tab.on::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  background: #393940;
  bottom: 0;
  left: 0;
}

.sub-cert .cert-tab .tab.on::before {
  content: "";
  display: block;
  position: absolute;
  width: 5px;
  height: 5px;
  background: #ff5c49;
  border-radius: 50%;
  top: -2px;
  right: -2px;
}

.radio-wrap {
  display: flex;
  align-items: center;
}

.radio-wrap .btn-radio {
  display: flex;
  align-items: center;
  margin-right: 15px;
  position: relative;
}

.radio-wrap .btn-radio input {
  position: absolute;
  opacity: 0;
  z-index: 1;
  height: 100%;
}

.radio-wrap .btn-radio label {
  display: flex;
  align-items: center;
  font-size: 14px;
  margin: 0;
  font-weight: 500;
  color: #333;
}

.radio-wrap .btn-radio label span {
  position: relative;
  display: inline-block;
  margin-right: 5px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid #ababab;
}

/* .radio-wrap .btn-radio input:checked + label{color: #00cea2;} */
.radio-wrap .btn-radio input:checked+label span {
  background: #00cea2;
  border-color: #00cea2;
}

.radio-wrap .btn-radio input:checked+label span::before {
  content: "";
  background: url(../images/icons/ico-check-wh.png) center no-repeat;
  background-size: contain;
  width: 12px;
  height: 12px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.cert-state-tab {
  display: flex;
  align-items: center;
  width: 100%;
  position: relative;
  /* justify-content: flex-end; */
  grid-gap: 5px;
}

/* .cert-state-tab::after{content: ""; height: 1px; background: #e2e2e2; width: calc(100% + 15px); display: block; position: absolute; bottom: -1px; right: -15px; z-index: -1;} */
.cert-state-tab .tab {
  font-size: 14px;
  min-width: 50px;
  padding: 3px 10px;
  background: transparent;
  color: #333333;
  font-weight: 400;
  border: 1px solid #333;
  border-radius: 50px;
}

.cert-state-tab .tab.active {
  background: #3e3e3e;
  position: relative;
  color: #fff;
}

/* .cert-state-tab .tab.active::after{content: ""; display: block; position: absolute; background: #3e3e3e; height:2px ; width: 100%; left: 0; bottom: -1px;} */
.cert-info-wrap {
  display: flex;
  flex-direction: column;
  position: relative;
}

.apply-state-sign {
  font-size: 12px;
  display: inline-block;
  line-height: 1.3;
  margin-left: 6px;
  right: 0;
  /* top: 20px; 왜 적용됬는지 추후 확인하기 0606 yeran */
  padding: 2px 6px 2px;
  border-radius: 30px;
}

.apply-state-sign.cert-apply,
.apply-state-sign.approval-apply {
  color: #0098f8;
  border: 1px solid #0098f8;
}

.apply-state-sign.cert-issue,
.apply-state-sign.approval-complete {
  color: #848484;
  border: 1px solid #848484;
}

.apply-state-sign.cert-giveback,
.apply-state-sign.approval-giveback {
  color: #ff5c49;
  border: 1px solid #ff5c49;
}

.apply-state-sign.approval-ongoing {
  color: #00cea2;
  border: 1px solid #00cea2;
}

.apply-cert-detail {
  width: 100%;
  border-spacing: 0 2px;
  border-collapse: separate;
  margin-top: 8px;
}

.apply-cert-detail p {
  position: relative;
  padding-left: 65px;
  margin-bottom: 6px;
  line-height: 1.4;
}

.apply-cert-detail p .tit {
  position: absolute;
  left: 0;
  display: flex;
  align-items: center;
  font-size: 14px;
  color: #8a8a8a;
}

.apply-cert-detail p em {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  display: block;
}

.apply-cert-detail .btn-download {
  padding: 4px 5px 5px;
  font-size: 13px;
  line-height: 1;
  font-weight: 500;
  border-radius: 3px;
  border: 1px solid #00cea2;
  color: #00cea2;
}

.apply-cert-detail table {
  width: 100%;
}

.apply-cert-detail tbody {
  display: grid;
  grid-gap: 7px;
}

.apply-cert-detail tr {
  vertical-align: top;
  display: grid;
  grid-template-columns: 20% auto;
  /*증명서 테이블은 제목이 짧아서 17로 축소함*/
}

.apply-cert-detail th {
  font-weight: 400;
  color: rgb(101, 101, 101);
  font-size: 14px;
  line-height: 1.3;
}

.apply-cert-detail td {
  font-size: 14px;
  word-break: break-word;
  overflow-wrap: break-word;
  line-height: 1.3;
}

.apply-list .info-tit {
  display: flex;
  align-items: center;
}

.apply-list .approval-bot-wrap {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  margin-top: 5px;
}

.approval-bot-wrap .apply-period {}

.approval-reason {
  font-size: 16px;
  font-weight: 500;
}

.download-wrap {
  margin-top: 7px;
}

.download-wrap .btn-download {
  font-size: 13px;
  font-weight: 500;
  padding: 4px 13px;
  background-color: #f7fffd;
  color: #00cea2;
  border-radius: 5px;
  border: 1px solid #00cea2;
}

.btn-download-over {
  font-size: 12px;
  background-color: #ff5c49;
  color: #fff;
  border-radius: 5px;
  top: 0;
  padding: 0 5px;
}

/*다운로드 기간 경과*/


/* 급여명세서 기간검색 bottom popup */
.period-select {
  position: relative;
  font-size: 14px;
  padding: 4px 28px 4px 12px;
  /* padding: 0 18px 0 0; */
  color: #777;
  border: 1px solid #ccc;
  border-radius: 50px;
  transition: all 0.2s;
}

.period-select::after {
  content: "";
  display: block;
  background: url(../images/icons/icon_down_whb.png) center top no-repeat;
  background-position: 0 0;
  background-size: cover;
  width: 11px;
  height: 11px;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.2s;
}

.period-select.on::after {
  transform: rotate(180deg);
}

.bt-select {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}

.bt-select-list {
  width: 100%;
  background: #fff;
  padding: 20px;
  z-index: 10;
  border-radius: 10px 10px 0 0;
}

.bt-select::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  position: fixed;
  left: 0;
  top: 0;
  z-index: -1;
}

.bt-select-list li {
  padding: 5px 0;
}

/* 급여명세서 상세 */
/* .sub-paystub{margin: 10px 0;} */
.paystub-top {}

.pay-date {
  margin-bottom: 20px;
  display: flex;
  /*flex-direction: column;*/
}

.pay-date .pay-date-wrap {
  display: flex;
  align-items: center;
  margin-top: 5px;
}

/* .pay-date .pay-date-wrap em{background: #00aab5; width: 19px; height: 19px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;}  */
/* .pay-date .pay-date-wrap em:before{content: ""; background: url(../images/icons/ico-check-wh.png)center no-repeat; background-size: 12px 12px; width: 16px; height: 16px; display: block}  */
.pay-date .pay-date-wrap span {
  display: block;
  color: #9c9c9c;
}

.pay-date .date {
  display: flex;
  align-items: center;
  font-size: 24px;
  color: #333;
  font-weight: 500;
}

.pay-date .date button {
  position: relative;
  margin-right: 7px;
  padding: 0 18px 3px 3px;
  font-weight: bold;
}

/*월 변경*/
.pay-date .date button:before {
  content: "";
  position: absolute;
  display: block;
  background: url(../images/icons/ico-down-s.png) center no-repeat;
  background-size: contain;
  width: 11px;
  height: 10px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.pay-date .date button:after {
  content: "";
  display: block;
  height: 1px;
  background: #333;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
}

.pay-date p {
  display: inline-flex;
  margin-left: 10px;
  color: #9c9c9c;
  font-size: 13px;
  position: relative;
}

.pay-date span {
  font-size: 13px;
  color: #9c9c9c;
  margin-right: 3px;
}

.apply-list h2 {
  color: #333;
}

.apply-list .info-detail {
  display: flex;
  align-items: center;
}

.apply-list .info-detail p {
  font-size: 13px;
  color: #666;
  position: relative;
}

.apply-list .info-detail p span {
  font-size: 13px;
  color: #666;
  margin-top: 3px;
}

.apply-list .info-detail p+p {
  margin-left: 7px;
  padding-left: 7px;
}

.apply-list .info-detail p+p:before {
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 2px;
  background: rgb(151, 151, 151);
  border-radius: 50%;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.no-data {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin: 20px 0 0;
}

.no-data p {
  color: #333;
  font-size: 14px;
}

.paystub-list {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 5px;
}

.paystub-list tr {}

.paystub-list th {
  font-weight: 400;
  color: #656565;
  font-size: 14px;
}

.paystub-list td {
  text-align: right;
  font-size: 14px;
}

.paystub-wrap {}

.paystub-wrap+.paystub-wrap {
  /* border-top: 7px solid #eeeeee; */
}

.paystub-wrap .paystub-box {
  /*background: #f9f9f9; border-radius: 12px; margin-bottom: 10px;*/
}

.paystub-wrap .paystub-box a {
  /*padding:15px; display: block; position: relative;*/
}

.paystub-wrap .paystub-box .box-inner {}

.paystub-wrap .paystub-box .box-inner .pay-list {
  margin: 15px 0 0;
  padding: 10px 3px 0;
  border-top: 1px solid #e2e2e2;
}

.paystub-wrap .paystub-box .box-inner .head {
  display: flex;
  align-items: center;
  /*padding: 15px 0;*/
  position: relative;
}

.paystub-wrap .paystub-box .box-inner .head h5 {
  font-size: 16px;
  font-weight: 500;
  color: #333;
}

.paystub-wrap .paystub-box .box-inner .head .total-pay {
  position: absolute;
  right: 30px;
  /*color:#00aab5;*/
  font-weight: bold;
  font-size: 16px;
}

.pay-icon {
  content: "";
  background: url(../images/icons/ico-down-s.png) center no-repeat;
  background-size: contain;
  width: 12px;
  height: 10px;
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: 0.2s;
}

.pay-icon.up {
  transform: translateY(-50%) rotate(180deg);
}

.paystub-wrap .paystub-bot {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  /*margin-top: 20px;*/
  padding: 0 5px;
}

.paystub-wrap .paystub-bot h5 {
  font-size: 16px;
  font-weight: 500;
  color: #333;
}

.paystub-wrap .paystub-bot b {
  font-weight: bold;
  font-size: 22px;
  color: #00aab5;
}

.sub-bot-remark {
  margin-top: 25px;
}

.sub-bot-remark .remark-wrap {
  display: flex;
  flex-direction: column;
  grid-gap: 5px;
  background: #f3f3f3;
  padding: 20px 15px;
  border-radius: 8px;
}

.sub-bot-remark .remark-wrap p {
  text-indent: -12px;
  padding-left: 12px;
  font-size: 13px;
  line-height: 1.6;
}

.paystub-info {
  padding: 15px 20px;
  /* margin: 10px 0 5px; */
  background: #f5f7fa;
  border-radius: 10px;
}

.paystub-info .info-detail {}

.paystub-info .info-detail .info-tit {
  display: flex;
}

.paystub-info .info-detail .info-tit b {
  font-size: 16px;
}

.paystub-info .info-detail .info-tit p {
  font-size: 16px;
}

.paystub-info .info-detail .detail-li {
  margin-top: 5px;
}

/* .paystub-info .info-detail .detail-li li{margin-bottom: 5px;} */
.paystub-info .info-detail .detail-li li p {
  position: relative;
  display: flex;
  font-size: 14px;
  color: #777;
}

.paystub-info .info-detail .detail-li li p span {
  display: block;
  position: absolute;
  left: 40px;
  font-size: 14px;
}

/* 급여명세서_bottom sheet */
.bs-select-year {}

.bs-select-list {
  position: absolute;
  bottom: 0;
  background: #fff;
  width: 100%;
  padding: 15px 0;
  border-radius: 20px 20px 0 0;
}

.bs-select-list li {
  padding: 0 18px;
  position: relative;
}

.bs-select-list li p {
  padding: 10px 0;
  position: relative;
  display: inline-block;
}

.bs-select-list li.active {}

.bs-select-list li:hover {
  background: #f2f6fc;
}

.bs-select-list li.active p {
  font-weight: 500;
  color: #0098f8;
  position: relative;
}

.bs-select-list li.active p::after {
  content: "";
  background: url(../images/icons/icon_selectyear_check.png) center no-repeat;
  background-size: cover;
  display: block;
  width: 15px;
  height: 15px;
  position: absolute;
  right: -25px;
  top: 50%;
  transform: translateY(-50%);
}

/* 근태결재 */
.form-list {
  display: flex;
  flex-direction: column;
  grid-gap: 12px;
}

.form-list li {
  padding: 16px 16px;
  background: #fff;
  border: 1px solid #e2e2e2;
  border-radius: 10px;
}

.form-list .apply-date {
  border-bottom: 1px solid #efefef;
  padding: 0 0 10px;
}

.sub-round-tab {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
  margin-top: -5px;
}

.round-tab-wrap {
  /* width: 100%; */
  display: inline-flex;
  /* grid-template-columns: 1fr 1fr 1fr; */
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  background: #f6f6f6;
  padding: 5px;
}

.round-tab-wrap .tab {
  font-size: 14px;
  color: #848484;
  font-weight: 500;
  padding: 7px 20px;
  border-radius: 50px;
  /* min-width: 130px; */
  display: inline-block;
  text-align: center;
}

.round-tab-wrap .tab.on {
  background: #00cea2;
  box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.08);
  color: #fff;
}

.sub-tap {}

.tap-wrap {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.tap-wrap .tab {
  font-size: 14px;
  font-weight: 400;
  padding: 5px 12px;
  border-radius: 50px;
  display: inline-block;
  text-align: center;
}

.tap-wrap .tab.on {
  color: #fff;
  background: #111;
}

.multi-select-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  /* margin-top: 20px; */
}

.multi-select-wrap .input-wrap {
  display: flex;
  align-items: center;
  position: relative;
}

.multi-select-wrap .input-wrap input {
  position: absolute;
  opacity: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.multi-select-wrap .input-wrap input:checked+label {
  background: #3e3e3e;
  border-color: #3e3e3e;
}

.multi-select-wrap .input-wrap input:checked+label:before {
  content: "";
  position: absolute;
  background: url(../images/icons/ico-check-wh.png) center no-repeat;
  background-size: contain;
  width: 15px;
  height: 15px;
  left: 49%;
  top: 49%;
  transform: translate(-50%, -50%);
}

.multi-select-wrap .input-wrap label {
  width: 20px;
  height: 20px;
  border: 1px solid #ababab;
  border-radius: 3px;
  position: relative;
  margin: 0;
}

.multi-select-wrap .input-wrap p {
  margin-left: 5px;
  font-size: 14px;
}

.multi-select-wrap button {
  font-size: 14px;
  color: #333;
  border: 1px solid #333;
  padding: 4px 10px;
  border-radius: 50px;
  transition: 0.2s;
}

.multi-select-wrap button:hover {
  background-color: #333;
  color: #fff;
}

.approval-checkbox {
  top: 0;
  display: block;
  width: 20px;
  height: 20px;
}

.approval-checkbox input {
  position: absolute;
  opacity: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.approval-checkbox label {
  width: 20px;
  height: 20px;
  border: 1px solid #ccc;
  border-radius: 3px;
  position: relative;
}

.approval-checkbox input:checked+label {
  background: #3e3e3e;
  border-color: #3e3e3e;
}

.approval-checkbox input:checked+label:before {
  content: "";
  position: absolute;
  background: url(../images/icons/ico-check-wh.png) center no-repeat;
  background-size: contain;
  width: 15px;
  height: 15px;
  left: 49%;
  top: 50%;
  transform: translate(-50%, -50%);
}

/* 사이드바 */
.side-bar-wrap {
  position: fixed;
  top: 0;
  opacity: 0;
  right: -100%;
  max-width: 300px;
  height: 100vh;
  width: 100%;
  z-index: 1000;
  transition: ease 0.3s;
}

.side-bar-wrap.on {
  right: 0;
  opacity: 1;
}

.side-back-layer {
  opacity: 0;
  transition: ease-in-out 0.2s;
}

.side-back-layer.on {
  display: block;
  opacity: 1;
  position: fixed;
  z-index: 9;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

.side-bar-wrap .side-bar {
  background: #fff;
  height: 100%;
  width: 100%;
  position: absolute;
  right: 0;
}

.side-bar-wrap .side-bar .side-top {
  /*background: #EDF0F9; border-radius: 0 0 0 20px;*/
}

.side-top .side-detail-menu {
  padding: 15px 20px;
}

.side-top .side-detail-menu h3 {
  font-size: 18px;
  color: #333;
  font-weight: 500;
}

/* .side-top .side-detail-menu .detail-menu-wrap {
  background: #f4f8fd;
  border-radius: 10px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 0;
  align-items: center;
  margin-top: 10px;
} */
.side-top .side-detail-menu .detail-menu-wrap li {
  position: relative;
}

.side-top .side-detail-menu .detail-menu-wrap li+li::before {
  content: "";
  width: 1px;
  height: 40px;
  background: #e0e5f0;
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

/* .side-top .side-detail-menu .detail-menu-wrap li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 15px 0;
  font-weight: 500;
  font-size: 13px;
  grid-gap: 7px;
  color: #333;
} */
.side-top .side-detail-menu .detail-menu-wrap li img {
  width: 20px;
}

.side-bar-wrap .side-bar .side-main {
  margin: 10px 0;
}

.side-bar-wrap .side-bar .side-main .main-wrap {}

.side-bar-wrap .side-bar .side-main ul {}

.side-bar-wrap .side-bar .side-main ul li.depth1 {}

.side-bar-wrap .side-bar .side-main ul li.depth1>a {
  position: relative;
  display: block;
  width: 100%;
  padding: 13px 18px;
  font-size: 15px;
  font-weight: 500;
  color: #333;
}

.side-bar-wrap .side-bar .side-main ul li.depth1>a:hover {
  background: #f0f5ff;
}

.side-bar-wrap .side-bar .side-main ul li.depth1>a::after {
  content: "";
  display: block;
  background: url(../images/icons/ico-right-s.png) center no-repeat;
  background-size: contain;
  position: absolute;
  width: 8px;
  height: 14px;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.side-bar-wrap .side-bar .side-main ul li.depth1>a.list-down::after {
  background: url(../images/icons/ico-down-s.png) center no-repeat;
  width: 13px;
  height: 8px;
  background-size: contain;
}

.side-bar-wrap .side-bar .side-main .depth2 {
  padding: 10px 15px;
  background: #f9f9f9;
  border-radius: 10px;
  margin: 0 20px;
}

.side-bar-wrap .side-bar .side-main .depth2 li {}

.side-bar-wrap .side-bar .side-main .depth2 li a {
  font-size: 15px;
  display: block;
  padding: 5px 0;
}

/* 로그인 */
.login-wrap {
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #00aab5;
}

.login-wrap .login-top {
  width: 100%;
  height: 25%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.login-wrap .login-top h1 img {
  width: 250px;
}

.login-wrap .login {
  background: #fff;
  padding: 50px 30px;
  height: 75%;
  border-radius: 40px 0 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.login-wrap .login .login-tit {
  font-size: 24px;
  color: #333;
  margin-bottom: 3rem;
}

.login-wrap .login form {
  width: 100%;
  max-width: 300px;
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-gap: 15px;
}

.login-wrap .login .logo {
  background: url(../images/common/main-logo01.png) center no-repeat;
  background-size: contain;
  width: 180px;
  height: 32px;
  margin-bottom: 5rem;
}

.login-wrap .login .login-input {
  width: 100%;
  height: 56px;
  padding: 10px;
  border: 1px solid #efefef;
  border-radius: 10px;
  background: #fff;
  box-shadow: 3px 3px 12px rgba(0, 0, 0, 0.1);
}

.login-wrap .login .btn-wrap {
  margin-top: 30px;
  width: 100%;
  display: flex;
  justify-content: center;
}

.login-wrap .login .btn-wrap button {
  width: 100%;
  max-width: 300px;
  padding: 15px;
  text-align: center;
  background: #00aab5;
  color: #fff;
  font-size: 17px;
  font-weight: 500;
  border-radius: 10px;
}

/* 아이디어 */
.btn-cont-write {
  display: flex;
  align-items: center;
  position: fixed;
  right: 20px;
  bottom: 40px;
  font-size: 15px;
  font-weight: bold;
  background: #0098f8;
  color: #fff;
  padding: 12px 20px 12px 15px;
  border-radius: 50px;
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1);
  z-index: 10;
}

.btn-cont-write img {
  margin-right: 7px;
}

.cont-bot {
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
}

.cont-bot .bot-btn-wrap {
  display: flex;
  align-items: center;
}

.cont-bot .bot-btn-wrap button {
  padding: 6px 12px;
  border-radius: 5px;
  font-size: 14px;
}

.cont-bot .bot-btn-wrap button+button {
  margin-left: 5px;
}

.cont-bot .bot-btn-wrap button.btn-edit {
  color: #999;
  border: 1px solid #999;
}

.cont-bot .bot-btn-wrap button.btn-delete {
  background: #ff5c49;
  color: #fff;
  border: 1px solid #ff5c49;
}

/* .ck-editor__main{border: 1px solid #ccc;} 내용구간 테두리*/
.ck.ck-editor__editable_inline {
  /* border: 1px solid rgb(228, 228, 228) !important; */
}

.ck-content {
  border: 1px solid rgb(228, 228, 228) !important;
}

.ck-read-only {
  border: none !important;
  padding: 0 !important;
}

.board-tit-wrap {
  margin-bottom: 10px;
  /*padding-bottom: 20px; border-bottom: 1px solid #efefef;*/
}

.board-tit {
  font-size: 18px;
  font-weight: bold;
  color: #333;
}

.board-top-cmt {
  padding: 13px;
  background: #faf3fd;
  border: 1px solid #a58fd8;
  border-radius: 5px;
}

.board-top-cmt h3 {
  font-size: 14px;
  font-weight: 500;
  color: #a17ff0;
}

.ro-attach-file {
  border-top: 1px solid #efefef;
  padding-top: 12px;
  margin-top: 15px;
}

.ro-attach-file .ro-file-count {
  display: block;
  margin-bottom: 8px;
}

.ro-attach-file .ro-file-count em {
  font-weight: bold;
}

/* 아이디어상세-댓글 */
.comment-fixed {
  width: 100%;
  position: fixed;
  bottom: 0;
  background: #fff;
  border-top: 1px solid #ebebeb;
}

.comment-fixed .cmt-wrap {
  padding: 10px;
  display: flex;
  align-items: flex-end;
}

.comment-fixed .cmt-wrap textarea {
  width: calc(100% - 50px);
  margin-right: 10px;
  border: none;
  padding: 10px;
  background: #f5f5f5;
  border-radius: 10px;
  line-height: 1.3;
}

.comment-fixed .cmt-wrap textarea::placeholder {
  font-size: 14px;
}

.comment-fixed .cmt-wrap .btn-cmt-write {
  display: block;
  padding: 7px 0;
  border-radius: 5px;
  text-align: center;
  width: 50px;
  font-size: 15px;
  font-weight: 500;
  background-color: #0098f8;
  color: #fff;
}

.comment-list {
  margin: 15px 0 80px;
}

.comment-list li {
  margin: 0 0 25px;
}

.comment-list li .cmt-inner {
  display: flex;
}

.comment-list li .cmt-thumb {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid #e2e2e2;
}

.comment-list li .cmt-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.comment-list li .cmt-info {
  width: calc(100% - 36px);
  padding-left: 10px;
  position: relative;
}

.comment-list li .cmt-info .user-info {}

.comment-list li .cmt-info .user-info .name {
  font-size: 13px;
  font-weight: bold;
}

.comment-list li .cmt-info .user-info .info {
  font-size: 13px;
  margin-left: 5px;
  color: #9c9c9c;
}

.comment-list li .cmt-info .cmt {
  max-width: calc(100% - 30px);
  word-break: break-all;
}

.comment-list li .cmt-info .cmt-reply {
  display: flex;
  align-items: center;
  margin-top: 8px;
}

.comment-list li .cmt-info .cmt-reply img {
  margin-right: 5px;
}

.comment-list li .cmt-info .cmt-reply p {
  font-size: 13px;
  color: #8a8a8a;
}

.comment-list li .cmt-info .cmt-edit {}

.comment-list li .cmt-info .cmt-edit button {}

.comment-list li .cmt-info .edit-btn {
  display: grid;
  grid-template-rows: 1fr 1fr 1fr;
  grid-gap: 3px;
  position: absolute;
  right: 0;
  top: 5px;
  padding: 0 10px;
}

.comment-list li .cmt-info .edit-btn span {
  width: 3px;
  height: 3px;
  display: block;
  border-radius: 50%;
  background: rgb(125, 125, 125);
}

.cmt-manage-select {
  display: flex;
  flex-direction: column;
}

.cmt-manage-select button {
  padding: 10px 0;
  font-size: 15px;
}

/* .cmt-manage-select button + button{border-top: 1px solid #efefef;} */
.cmt-manage-select button.btn-delete {
  color: #ff5c49;
}

.cmt-edit-input {
  width: 100%;
  background: #fafafa;
  padding: 10px;
  border: 1px solid #d6d6d6;
  border-radius: 5px;
  margin-bottom: 15px;
}

.cmt-edit-input textarea {
  width: 100%;
  border: none;
  background: transparent;
  min-height: 100px;
}

.comment-list li .cmt-depth2 {
  margin: 20px 0 0 50px;
}

.delete-info {
  color: #979797;
  font-size: 14px;
}

/* 공지사항 */
.cont-view {
  /* margin-bottom: 15px; */
}

.cont-hide {}

.cont-hide .noticeContent {
  background: #f9f9f9;
  padding: 20px;
  border-radius: 10px;
}

.notice-list {
  /* padding: 20px 3px 5px !important; */
}

.agree-value {
  display: flex;
  align-items: center;
  grid-gap: 5px;
  padding: 5px 20px;
  border: 1px solid #0098f8;
  border-radius: 25px;
}

.agree-value .agree-date {
  color: #0098f8;
  font-size: 14px;
}

.agree-value .value {
  font-weight: 500;
  font-size: 14px;
  color: #0098f8;
}

/* 내정보 */
.profile-wrap {
  position: relative;
  display: flex;
}

.profile-wrap .thumb {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 15px;
}

.profile-wrap .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.profile-wrap .info-wrap {
  width: calc(100% - 65px);
}

.profile-wrap .info-wrap .info-detail {}

.profile-wrap .info-wrap .info-detail .name {
  font-size: 16px;
  font-weight: bold;
  color: #333;
}

.profile-wrap .info-wrap .info-detail .info-age {
  font-size: 14px;
  color: #9c9c9c;
  font-weight: 400;
}

.profile-wrap .info-wrap .btn-pw-change {
  margin-top: 10px;
  display: block;
  font-size: 14px;
  color: #569ee6;
  border: 1px solid #569ee6;
  padding: 4px 10px;
  border-radius: 50px;
}

.side-logout {
  display: flex;
  align-items: center;
  justify-content: center;
  grid-gap: 5px;
}

.side-logout img {
  width: 20px;
  height: 20px;
}

.profile-state-tab {
  width: 100%;
  display: flex;
  justify-content: center;
  border-bottom: 1px solid #efefef;
}

.profile-state-tab .tab {
  position: relative;
  font-size: 17px;
  margin: 0 10px;
  font-weight: 400;
  color: #333;
  display: block;
  padding: 0 10px 10px 10px;
}

.profile-state-tab .tab.on {
  font-weight: bold;
}

.profile-state-tab .tab.on:after {
  content: "";
  height: 2px;
  background: #333;
  display: block;
  width: 100%;
  position: absolute;
  bottom: -1px;
  left: 0;
}

.prof-info-wrap {
  /* margin-top: 22px; */
}

.prof-info-wrap tbody {
  display: grid;
  grid-gap: 10px;
}

.prof-info-wrap tr {
  display: grid;
  grid-template-columns: 25% auto;
}

.prof-info-wrap th {
  font-weight: 400;
  color: #656565;
  font-size: 14px;
}

.prof-info-wrap .prof-info-detail {
  position: relative;
  font-size: 14px;
  word-break: break-all;
  overflow-wrap: break-word;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  grid-gap: 3px;
}

.pw-wrap {
  margin-bottom: 15px;
}

.pw-wrap label {
  font-weight: 500;
  font-size: 14px;
  margin: 0;
}

.pw-wrap input {
  margin-top: 7px;
}

.profile-cont-top {
  display: flex;
  justify-content: center;
  grid-gap: 20px;
}

.profile-cont-top .profile-tab {
  display: inline-block;
  font-size: 16px;
  font-weight: 500;
  color: #333;
  text-align: center;
  padding: 5px 20px;
}

.evaluate-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  /* flex-direction: column; */
  /* grid-gap: 20px; */
  border: 1px solid #e2e3e9;
  padding: 10px 20px;
  border-radius: 10px;
}

.evaluate-wrap .desc {
  font-size: 15px;
  font-weight: 500;
}

.evaluate-wrap .score {
  position: relative;
  top: -3px;
  z-index: -1;
  background: url(../images/icons/img_award_bg.png) center no-repeat;
  background-size: contain;
  display: block;
  width: 65px;
  height: 55px;
  z-index: 1;
}

.evaluate-wrap .score span {
  position: absolute;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

/* 내정보 - 수정요청 버튼 */
.btn-prof-edit {
  position: relative;
  font-size: 12px;
  color: #555;
  padding: 2px 8px 3px 22px;
  border-radius: 5px;
  margin-top: 5px;
  border: 1px solid #999;
}

.btn-prof-edit::before {
  content: "";
  display: block;
  background: url(../images/icons/icon_main_approval.png) center top no-repeat;
  background-size: cover;
  position: absolute;
  left: 7px;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
}

.btn-w-prof-edit {
  position: relative;
  font-size: 12px;
  font-weight: 700;
  color: black;
  background-color: #ecf5fc;
  border-radius: 5px;
  padding: 0 8px;
  margin-top: 5px;
  border: 1px solid #ecf5fc;
}

/* 상단 검색 창 */
.top-search {
  position: relative;
  margin-bottom: 12px;
}

.top-search .search-form {
  position: relative;
  display: flex;
  align-items: center;
  background: #f7f8fa;
  border-radius: 10px;
}

.top-search input[type="search"] {
  width: 100%;
  height: 52px;
  padding: 10px 55px 10px 15px;
  border: none;
  border-radius: 10px;
  background: transparent;
}

.top-search input[type="search"]::placeholder {
  font-size: 14px;
  color: #888;
}

.top-search .btn-search {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-search .btn-search::before {
  content: "";
  background-image: url(../images/icons/icon_search.png);
  display: block;
  width: 24px;
  height: 24px;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
}

/* 직원 정보 조회 */
.member-wrap {}

.member-wrap .member-count {
  display: flex;
  justify-content: flex-end;
}

.member-wrap .member-count p {
  font-size: 14px;
}

.member-wrap .member-count p em {
  font-weight: 500;
  font-size: 14px;
}

.member-wrap li {
  padding: 15px 0;

  /* border-radius: 10px; */
  /* margin: 10px 0; */
}

.member-wrap li~li {
  border-top: 1px solid #f1f1f1;
}

.member-wrap .emp-inner {
  display: flex;
  align-items: center;
}

.member-wrap .emp-inner .thumb {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 10px;
}

.member-wrap .emp-inner .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.member-wrap .emp-inner .info {
  display: flex;
  flex-direction: column;
  /* grid-gap: 8px; */
}

.member-wrap .emp-inner .info .name {
  font-weight: 500;
}

.member-wrap .emp-inner .info .detail {
  font-size: 13px;
  color: #868686;
}

.emp-info-wrap {
  margin-top: 20px;
}

.emp-info-wrap table {
  width: 100%;
}

.emp-info-wrap table tbody {
  width: 100%;
  display: flex;
  flex-direction: column;
  grid-gap: 5px;
}

.emp-info-wrap tr {
  display: grid;
  grid-template-columns: 24% auto;
}

.emp-info-wrap tr th {
  font-weight: 400;
  color: #71757d;
  font-size: 14px;
}

.emp-info-wrap tr td {
  font-size: 14px;
}

/* input x버튼 커스텀 */
input[type="search"]::-ms-clear,
input[type="search"]::-ms-reveal {
  display: none;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  display: none;
}

.btn-clear {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 50px;
  background: #999;
  width: 21px;
  height: 21px;
  border-radius: 50%;
}

/*작성 초기화 x버튼*/
.btn-clear::before {
  content: "";
  display: block;
  position: absolute;
  background: url(../images/icons/icon_btn_close_wh.png) center no-repeat;
  width: 11px;
  height: 11px;
  background-size: cover;
}

.prof-tab-wrap {
  display: flex;
  overflow-x: auto;
  margin-top: 10px;
  grid-gap: 3px;
  padding: 0 20px;
  width: calc(100% + 36px);
  position: relative;
  left: -18px;
}

.prof-tab-wrap .prof-tab {
  padding: 5px 12px;
  font-size: 14px;
  border-radius: 50px;
}

.prof-tab-wrap .prof-tab.active {
  color: #fff;
  background: #0098f8;
  font-weight: 500;
}

/* 직원정보 조회 -> 정보 기간 구간 나눔 */
.career-list {}

.career-list+.career-list {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #e9e9e9;
}

.career-list table {}

.career-list table tr {}

/* 내정보 변경 -> 주소 변경 */
/* .profInfo-edit-wrap{display: flex; flex-direction: column; padding: 5px 15px; background: #fff; border: 1px solid #efefef; border-radius: 15px; box-shadow: 2px 2px 8px rgba(0,0,0,0.08);} */
.prof-inner {
  display: grid;
  grid-template-columns: 26% auto;
  padding: 12px 0;
}

/* .prof-inner ~ .prof-inner{border-top: 1px solid #e1e1e1;} */
.profInfo-edit-wrap .tit01 {
  font-weight: 500;
  font-size: 14px;
}

.profInfo-edit-wrap .info-col {
  display: flex;
  flex-direction: column;
  grid-gap: 6px;
}

.profInfo-edit-wrap .info-row {
  display: flex;
  grid-gap: 5px;
}

.profInfo-edit-wrap .info-bold {
  color: #0098f8;
  font-weight: 500;
}

.profInfo-edit-wrap .info-detail {
  font-size: 14px;
}

.profInfo-edit-wrap .btn-search {
  font-size: 13px;
  font-weight: 500;
  padding: 5px 10px;
  color: #0086f8;
  border: 1px solid #0086f8;
  border-radius: 3px;
}

.profInfo-edit-wrap .search-form {
  background: #f5f5f5;
  width: calc(100% - 71px);
}

.profInfo-edit-wrap input[type="text"] {
  padding: 5px 10px;
  border-radius: 3px;
  border: 1px solid #c5c5c5;
}

/* 지각/조퇴 신청 -> 근무표 */
.work-timeTable {}

.work-timeTable tr {
  display: table;
  table-layout: fixed;
  width: 100%;
  text-align: center;
  border-collapse: collapse;
}

.work-timeTable tr th {
  font-weight: 500;
  font-size: 14px;
  padding: 5px 0;
  background: #eef5ff;
  border: 1px solid #d5d5d5;
}

.work-timeTable tr td {
  font-size: 14px;
  padding: 5px 0;
  border: 1px solid #d5d5d5;
}

.work-timeTable tr th,
.work-timeTable tr td {
  border-collapse: collapse;
  overflow-wrap: break-word;
}

/* 급여명세서 반영 근태 내역표 by 최현동 02.21 */
.paystub-dayoffTable {}

.paystub-dayoffTable tr {
  display: table;
  table-layout: fixed;
  width: 100%;
  text-align: center;
  border-collapse: collapse;
}

.paystub-dayoffTable tr th {
  font-weight: 500;
  font-size: 14px;
  padding: 5px 0;
  background: #eef5ff;
  border: 1px solid #d5d5d5;
}

.paystub-dayoffTable tr td {
  font-size: 14px;
  padding: 5px 0;
  border: 1px solid #d5d5d5;
}

.paystub-dayoffTable tr th,
.paystub-dayoffTable tr td {
  border-collapse: collapse;
  overflow-wrap: break-word;
}

/* 직원 정보 조회 */
.sub-top-search {}

.sub-top-search .search-form {}

.sub-top-search .search-form input {}

.sub-top-search .search-form button {}

/* 복리후생_단체보험 */
.apply-info-wrap .list-info {
  display: grid;
  grid-template-columns: 2fr 8fr;
  align-items: center;
  width: 100%;
  grid-gap: 5px;
}

.apply-info-wrap .list-info .tit {
  color: #4f4f4f;
  font-size: 14px;
  font-weight: 400;
}

.apply-info-wrap .list-info p {
  font-size: 14px;
  color: #333;
  font-weight: 500;
}

/* 복리후생_계약동의 */
.agree-desc-wrap {
  overflow-y: auto;
  padding: 0 10px 70px;
  /* margin: 40px 0 0; */
}

.agree-desc-wrap p {
  margin: 0;
  /*word-break: break-word;*/
}

.agree-desc-wrap span {
  margin: 0;
  /*word-break: break-word;*/
}

.agree-desc-wrap p:nth-child(2) span:nth-child(3) {
  word-break: break-word;
}

/*---------------------- 공통 일반 ----------------------*/
.mb20 {
  margin-bottom: 20px;
}

.btnPopup-fix {
  position: fixed;
  bottom: 0;
  width: 100%;
  background: #fff;
  padding: 15px 18px;
  z-index: 3;
}

.btnPopup-fix::before {
  content: "";
  position: absolute;
  z-index: -1;
  display: block;
  width: 100%;
  height: 40px;
  bottom: 100%;
  background: linear-gradient(top,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 0) 100%);
}

.list-new {
  position: relative;
  top: -2px;
  font-size: 10px;
  margin-right: 2px;
  border-radius: 2px;
  font-weight: 500;
  display: inline-block;
  padding: 3px;
  line-height: 1;
  background-color: #0098f8;
  color: #fff;
}

.read-msg {}

.line01 {
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
  white-space: nowrap;
}

.btn-bot-wrap {
  padding: 0 17px;
  margin-bottom: 20px;
}

.btn-btn-wrap button {}

.info-alert {
  font-size: 11px;
  position: absolute;
  color: #fff;
  background: #FF6347;
  font-weight: 400;
  left: 10px;
  top: 10px;
  border-radius: 30px;
  padding: 2px 5px;
}

/*홈에서 안읽음 표기*/

/* 안전보건(240611) */
.cont-div {
  /*padding:0 17px;*/
}

.cont-info {
  padding: 15px 0px;
}

.cont-info+.cont-info {
  border-top: 1px solid #e5e5e5;
}

.cont-div+.cont-div {
  border-top: 6px solid #e5e5e5;
}

.cont-abb {
  padding: 0 15px;
  position: relative;
}

.cont-tit {
  position: relative;
  font-size: 16px;
  margin: 0 0 12px;
  color: #333;
}

.cont-inner-wrap {}

.cont-inner-wrap ul {
  display: grid;
  grid-gap: 5px;
}

.cont-inner-wrap ul li {
  display: grid;
  grid-template-columns: 26% auto;
}

.cont-inner-wrap ul li h5 {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  line-height: normal;
}

.cont-inner-wrap ul li span {
  font-size: 14px;
  color: #333;
}

.cont-inner-wrap .file-photo {
  display: flex;
  overflow-x: scroll;
  grid-gap: 7px;
}

.cont-inner-wrap .file-photo .img {
  width: 70px;
  height: 70px;
  display: inline-block;
  background-color: #ccc;
}

.cont-info-wrap {
  background: #fff;
  border-radius: 10px;
  padding: 15px 18px;
  border: 1px solid #e5e5e5;
}

.cont-info textarea {
  border: none;
  width: 100%;
  min-height: 100px;
  height: 100%;
  font-size: 14px;
}

.opinion-register {}

/*의견 제시*/
.opinion-register li {
  margin: 0 0 10px;
  padding: 10px 0 0;
}

.opinion-register li+li {
  border-top: 1px solid #efefef;
}

.opinion-register li .detail {
  display: inline-grid;
  grid-template-columns: auto auto;
  grid-gap: 5px;
}

.opinion-register li p {
  font-size: 14px;
}

.opinion-register li .detail .date {
  font-size: 12px;
  color: #999;
}

.opinion-register li .detail em {
  font-size: 12px;
}

/* 정기 현장 점검 */
.inspect-place-wrap {}

.inspect-place-wrap .place-wrap {
  border: 1px solid #e5e5e5;
  margin-bottom: 10px;
  padding: 15px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.inspect-place-wrap .place-wrap .place-info {
  display: flex;
  flex-direction: column;
}

.inspect-place-wrap .place-wrap .place-info p {
  font-size: 15px;
  font-weight: 500;
}

.inspect-place-wrap .place-wrap .place-info p em {
  position: relative;
  z-index: 0;
}

.inspect-place-wrap .place-wrap .place-info p em::before {
  display: block;
  content: "";
  position: absolute;
  width: 100%;
  height: 11px;
  background: #edfffa;
  z-index: -1;
  left: 0;
  bottom: 0;
}

.inspect-place-wrap .place-wrap .place-info span {
  font-size: 12px;
  color: #888;
}

.inspect-place-wrap .place-wrap button {
  background: #004bc7;
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  padding: 5px 10px;
  border-radius: 5px;
}

.inspect-detail-list {}

.inspect-detail-list ol {}

.inspect-detail-list ol li {
  padding: 15px 0;
}

.inspect-detail-list ol li+li {
  border-top: 1px solid #efefef;
}

.subject-top-wrap {
  display: grid;
  grid-template-columns: 6fr 3fr;
  grid-gap: 10px;
  align-items: flex-start;
}

.subject-top-wrap .subject-wrap {}

.subject-top-wrap .subject-wrap .list-subject {
  font-size: 14px;
  line-height: 1.4;
  font-weight: 500;
}

.subject-top-wrap .check-wrap {
  display: grid;
  grid-template-columns: 5fr 5fr;
  grid-gap: 5px;
  text-align: center;
}

.subject-top-wrap .check-wrap .check {
  position: relative;
}

.subject-top-wrap .check-wrap .check input[type="radio"] {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.subject-top-wrap .check-wrap .check label {
  min-height: 30px;
  border-radius: 5px;
  border: 1px solid #e1e1e1;
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  width: 100%;
  text-align: center;
  line-height: 30px;
}

.subject-top-wrap .check-wrap .check span {
  font-size: 13px;
}

.subject-top-wrap .check-wrap .check input[type="radio"]:checked+label {
  display: block;
  background: #555;
  font-weight: 500;
  border-color: #555;
  color: #fff;
}

.subject-top-wrap .check-wrap .check p {
  font-size: 14px;
}

.inspect-bot-wrap {
  margin-top: 8px;
}

.inspect-bot-wrap input[type="text"] {
  width: 100%;
  font-size: 14px;
  padding: 10px;
  border-radius: 5px;
  border: 0;
  background-color: #f5f5f5;
}

.readonly-select {
  pointer-events: none;
  /* 사용자 클릭 막기 (readonly 효과) */
  background-image: none !important;
  /* Bootstrap이 그리는 화살표 제거 */
  -webkit-appearance: none;
  /* 웹킷 브라우저 (Chrome, Safari)에서 화살표 제거 */
  -moz-appearance: none;
  /* Firefox에서 화살표 제거 */
  appearance: none;
  /* 기타 브라우저용 */
  background-color: #1e44691c !important;
  /* Bootstrap의 disabled input 색상과 비슷 */
  color: #6c757d;
  /* Bootstrap의 disabled text 색상 */
  cursor: not-allowed;
  /* 사용 금지 느낌 주는 커서 */
}