input,
textarea,
select {
  outline: none;
}

textarea {
  resize: none;
}

a {
  text-decoration: none;
  color: unset;
}

img {
  border: 0;
}

* {
  font-family:
    "Noto Sans Korean Regular", "Apple SD Gothic Neo", "NanumGothic", Sans-Serif;
  box-sizing: border-box;
}

table,
tr,
td,
div,
span {
  word-wrap: break-word;
  word-break: break-all;
}

ul {
  padding: 0;
}

ul li {
  display: inline-block;
}

iframe {
  border: none;
}

select,
input[type="number"],
input[type="text"],
input[type="password"],
input[type="value"] {
  height: 24px;
  background: #f5f9ff;
  border: 1px solid #8791bd;
  color: #131315;
  font-size: 0.75rem;
  border-radius: 3px;
  padding: 0 5px 2px 5px;
  padding: 0 5px;
}

select {
  min-width: 37px;
}

input[type="text"]:required {
  background: #fdffd3;
  background: #e2fff7;
}

.layer-popup textarea:focus,
.layer-popup input[type="checkbox"]:focus,
.layer-popup input[type="checkbox"]:checked:focus,
.layer-popup input[type="radio"]:focus,
.layer-popup button:focus,
.layer-popup select:focus,
.layer-popup input[type="text"]:focus {
  border: 1px solid #000;
  outline: unset;
}

select:required {
  background: #e2fff7 url(../images/select_arrow.png) no-repeat right 50%;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

select {
  background: #f5f9ff url(../images/select_arrow.png) no-repeat right 50%;
  padding: 0 25px 0 3px;
}

input[type="number"]:disabled,
input[type="value"]:disabled,
input[type="text"]:disabled,
input[type="password"]:disabled {
  background: transparent !important;
  border: 1px solid #b6b8c4;
  color: #7b7b88;
}

select:disabled {
  background: transparent url(../images/select_arrow.png) no-repeat right 50% !important;
  border: 1px solid #999bad;
  color: #454550;
}

button.input-button {
  margin-left: -7px !important;
}

/*-------------------------------------*/
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px #f5f9ff inset;
}

input:-webkit-autofill {
  -webkit-text-fill-color: #131315;
  border: 1px solid #8791bd;
}

select[multiple="true"] {
  height: auto;
  background: unset;
}

/* 파일선택*/
input[type="file"] {
  font-size: 0.75rem;
  color: #131315;
}

input[type="file"]::file-selector-button {
  width: 100px;
  height: 24px;
  background: rgb(255, 251, 193);
  border: 1px solid #0b0b0d;
  color: #131315;
  border-radius: 3px;
  font-family: "Noto Sans Korean Regular";

  cursor: pointer;
}

textarea::placeholder,
input::placeholder {
  color: #898ca0;
}

textarea {
  background: #f5f9ff;
  border: 1px solid #8791bd;
  font-size: 0.75rem;
  border-radius: 4px;
  padding: 4px 6px;
}

select.readonly,
textarea:read-only,
input:read-only {
  background: #fff;
  border-color: #a1a4af;
}

select.readonly {
  background: #fff url(../images/select_arrow.png) no-repeat right 50%;
  cursor: unset;
}

select.readonly:required {
  background: #e7f2ef url(../images/select_arrow.png) no-repeat right 50%;
}

input:read-only:required {
  background: #e7f2ef;
}

option {
  padding: 2px 5px;
}

option:checked,
option:hover {
  background: #7c96db;
  color: #fff;
  padding: 2px 5px;
}

input[type="text"].align-right {
  text-align: right;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select::-ms-expand {
  display: none;
}

.margin-left {
  margin-left: 15px !important;
}

.margin-left-wide {
  margin-left: 50px !important;
}

/*-------------------------------------
        scroll
-------------------------------------*/
::-webkit-scrollbar {
  width: 16px;
  height: 16px;
}

::-webkit-scrollbar-thumb {
  background: #d9e0ef;
  border-radius: 7px;
  background-clip: padding-box;
  border: 4px solid #ffffff;
}

::-webkit-scrollbar-thumb:hover {
  background: #9dbfff;
}

::-webkit-scrollbar-corner,
::-webkit-scrollbar-track {
  background: transparent;
}

/*-------------------------------------
      left column  scroll
-------------------------------------*/
.tree-wrap::-webkit-scrollbar,
select::-webkit-scrollbar,
.recent-list::-webkit-scrollbar,
.nav-items::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

.tree-wrap::-webkit-scrollbar-thumb,
select::-webkit-scrollbar-thumb,
.recent-list::-webkit-scrollbar-thumb,
.nav-items::-webkit-scrollbar-thumb {
  background: #e0edff;
  border-radius: 2px;
  background-clip: padding-box;
  border: 1px solid #fff;
}

.tree-wrap::-webkit-scrollbar-thumb:hover,
select::-webkit-scrollbar-thumb:hover,
.recent-list::-webkit-scrollbar-thumb:hover,
.nav-items::-webkit-scrollbar-thumb:hover {
  background: #bed9ff;
}

.tree-wrap::-webkit-scrollbar-corner,
.tree-wrap::-webkit-scrollbar-track,
select::-webkit-scrollbar-corner,
select::-webkit-scrollbar-track,
.recent-list::-webkit-scrollbar-corner,
.recent-list::-webkit-scrollbar-track,
.nav-items::-webkit-scrollbar-corner,
.nav-items::-webkit-scrollbar-track {
  background: transparent;
}

/*-------------------------------------
	체크박스
-------------------------------------*/
/*기본 체크박스*/
input[type="checkbox"] {
  width: 14px;
  height: 14px;
  background: transparent;
  border-radius: 2px;
  background: #f5f9ff;
  border: 1px solid #8791bd;
  vertical-align: middle;
  cursor: pointer;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: 0;
}

input[type="checkbox"]:checked {
  border: 1px solid #8791bd;
  color: #131315;
  background: #f5f9ff url(../images/checkbox_checked.svg) no-repeat center
    center;
}

input[type="checkbox"]:checked.readonly,
input[type="checkbox"].readonly {
  border: 1px solid #a1a4af;
  background: #fff;
  cursor: unset;
}

input[type="checkbox"]:checked.readonly {
  background: #fff url(../images/checkbox_checked_readonly.svg) no-repeat center
    center;
}

input[type="checkbox"]:checked.readonly:hover,
input[type="checkbox"].readonly:hover {
  box-shadow: unset;
}

input[type="checkbox"]:disabled {
  border: 1px solid #a1a4af;
  background: transparent;
  cursor: unset;
}

[type="radio"]:hover,
[type="checkbox"]:hover {
  box-shadow: 0 0 0 max(2px, 0.1em) rgba(0, 198, 255, 0.2);
  cursor: pointer;
}

input[type="radio"] + label,
input[type="checkbox"] + input + label,
input[type="checkbox"] + label {
  font-size: 0.75rem;
  line-height: 13px;
  height: 14px;
  margin-left: 3px;
  margin-right: 13px;
}

td input[type="checkbox"] {
  margin-bottom: 1px;
}

/*--------------
    Radio Button
----------------*/
input[type="radio"] {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #f5f9ff;
  border: 1px solid #8791bd;
  vertical-align: middle;
  cursor: pointer;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: 0;
}

input[type="radio"]:checked {
  border: 1px solid #8791bd;
  background: #f5f9ff url(../images/radio_checked.svg) no-repeat center center;
}

input[type="radio"].readonly,
input[type="radio"]:checked.readonly {
  border: 1px solid #a1a4af;
  background: #fff;
}

input[type="radio"]:checked.readonly {
  background: #fff url(../images/radio_checked_readonly.svg) no-repeat center
    center;
}

input[type="radio"]:checked.readonly:hover {
  box-shadow: unset;
}

/*-------------------------------------
        button
-------------------------------------*/
button {
  min-width: 45px;
  height: 24px;
  padding: 0 10px;
  margin: 0 4px;
  border: 1px solid #6d77a2;
  background: #fff;
  border-radius: 3px;
  font-size: 0.75rem;
  line-height: 24px;
  font-size: 0.72rem;
  color: #3e4997;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

button:has(img):not(:only-child) {
  gap: 2px;
}

button:hover {
  background: #dcf9ff;
  border: 1px solid #7583b4;
}

button:disabled,
button.disabled {
  opacity: 0.5;
  background: transparent;
  pointer-events: none;
}

button img {
  vertical-align: middle;
}

.list-header .r-side button img {
  vertical-align: text-top;
}

.layer-popup .p-content .r-side button img,
.sch_wrap .list-header button img {
  vertical-align: text-top;
}

.layer-popup .p-content .l-side button img {
  vertical-align: text-bottom;
}

button.primary {
  background: #00a38f;
  border: 1px solid #00a38f;
  color: #f0fff9;
}

button.primary:hover {
  background: #00b7a0;
  border: 1px solid #00b7a0;
  color: #fff;
}

button.green {
  background: #1b4e46;
  border-color: #1c5d53;
  color: #b8d3cf;
  padding: 0 20px 2px 20px;
}

button.wide {
  padding: 0 30px;
}

button.green:hover {
  background: #1f5a51;
}

button.toggle {
  border-right: unset;
  border-radius: unset;
  margin: 0;
}

button.toggle:first-child {
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
}

button.toggle:last-child {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-right: 1px solid #6d77a2;
}

button.toggle.is-selected {
  background: #7c96db;
  color: #fff;
}

button.orange {
  background: #ffbca2;
}

button.orange:hover {
  background: #ffd4ba;
}

button.check,
button.yellow {
  background: #ffee63;
}

button.check:hover,
button.yellow:hover {
  background: #fff187;
}

button.save {
  background: #ece7ff;
}

button.save:hover {
  background: #f0e7ff;
}

button.confirm {
  background: #9cfad2;
}

button.confirm:hover {
  background: #b1ffdd;
}

/*라인버튼 비활성화*/
button.disabled {
  border: 1px solid rgb(160, 160, 172);
  color: #8e8f9b;
}

button.disabled img {
  opacity: 0.3;
}

button.wide {
  min-width: 100px;
}

.disabled {
  opacity: 0.5;
}

/*아이콘 버튼*/
span.icon-btn {
  width: 18px;
  height: 24px;
  border-radius: 3px;
  cursor: pointer;

  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;

  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;

  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

span.icon-btn.wide {
  width: 26px;
  margin: 0 3px;
}

span.icon-btn:hover {
  background: #cdf6ff;
}

/*-------------------------------------
        리스트 체크 카운팅
-------------------------------------*/
.check-count span#checkCountTop,
.check-count {
  width: 67px;
  font-size: 0.75rem;
  text-align: center;
  color: #d2d6e7;
}

.check-count span {
  color: #898ca0;
  margin-left: 3px;
}

/*-------------------------------------
        on off
-------------------------------------*/
.on {
  display: block;
}

.off {
  display: none;
}

/*------ link ------*/
.link {
  color: #d2d6e7;
  cursor: pointer;
}

.link:hover {
  color: #72ebc4;
  text-shadow: 0 0 2px #000;
}

/*--------List --- No Result Image------------------*/
.no-result-wrap {
  width: 100%;
  height: 100%;

  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;

  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;

  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

/*--------Loading------------------*/
.loading-wrap {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 300;

  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;

  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;

  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;

  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.loading {
  width: 80px;
  height: 80px;
  display: inline-block;
  border: 4px solid rgba(15, 31, 52, 0.5);
  border-radius: 50%;
  border-top-color: #04dfaf;
  -webkit-animation: spin 1s ease-in-out infinite;
  animation: spin 1s ease-in-out infinite;
}

.loading + div {
  font-size: 0.9rem;
  color: #656c83;
}

@keyframes spin {
  to {
    -webkit-transform: rotate(360deg);
  }
}

@-webkit-keyframes spin {
  to {
    -webkit-transform: rotate(360deg);
  }
}

/*--------Calendar------------------*/
.ui-widget {
  width: 280px;
  font-size: 0.85rem !important;
  padding: 7px;
}

.ui-widget-content {
  border: 2px solid rgba(0, 0, 0, 0.7);
  border-radius: 5px;
  background: #fff !important;
  color: #d2d6e7;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  border: 1px solid #8791bd !important;
  color: #131315;
}

.edit-sch-popup.top-popup-wrap .ui-widget-content {
  border: unset !important;
  background: unset !important;
  box-shadow: unset;
  position: absolute;
  top: 50px;
}

.ui-datepicker table th,
.ui-datepicker table {
  background: transparent;
}

.ui-datepicker table tr:hover {
  background: unset;
}

.ui-widget-header {
  border: 1px solid #b6bcd0;
  background: #fff;
  color: #24262e;
  font-weight: normal;
  padding: 2px 0 2px 0 !important;
}

.ui-datepicker-month,
.ui-datepicker-year {
  font-family: "Noto Sans Korean Bold";
}

/* 카렌다 헤더 수정*/
.ui-datepicker-title select {
  width: 70px !important;
  line-height: 17px;
  border: 1px solid transparent;
  font-family: "Noto Sans Korean Bold";
  font-size: 1rem !important;
  background: transparent url(../images/select_arrow_carendar.png) no-repeat
    right 50%;
  cursor: pointer;
}

.ui-datepicker-title select option {
  font-size: 0.8rem;
}

.ui-datepicker-title select:last-child {
  width: 50px !important;
  margin-left: 10px !important;
}

.ui-datepicker-title select:hover {
  border: 1px solid #c9d0ee;
}

.ui-datepicker .ui-datepicker-next:hover,
.ui-datepicker .ui-datepicker-next,
.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-prev {
  top: 3px;
  cursor: pointer;
}

/* 카렌다 헤더 수정*/
.ui-widget-header a {
  color: #131315;
}

.ui-datepicker .ui-datepicker-next-hover {
  right: 2px;
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
  border: 1px solid transparent;
  background-color: transparent;
  color: #131315;
  padding: 2px 7px 2px 0;
  border-radius: 3px;
  border-radius: 50%;
}

.ui-datepicker .ui-state-default {
  padding: 4px 2px 5px 2px !important;
}

.content.hasDatepicker .ui-datepicker .ui-state-default {
  padding: 0 2px !important;
}

.ui-datepicker td {
  padding: 3px;
}

.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited {
  color: #555555;
  text-decoration: none;
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
  border: 1px solid #cdf6ff;
  background-color: #cdf6ff !important;
  font-weight: normal;
  color: #131315 !important;
}

.ui-corner-all.ui-state-hover {
  top: 2px;
}

.ui-datepicker-prev.ui-corner-all.ui-state-hover {
  left: 2px;
}

.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited {
  color: #d2d6e7;
  text-decoration: none;
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
  border: 1px solid #7c96db;
  background-color: #7c96db;
  font-weight: normal;
  color: #fff;
}

.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
  color: #bdbdcf;
  text-decoration: none;
}

th > span {
  color: #898ca0;
  font-weight: normal;
}

.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
  border: 1px solid #7c96db;
  background-color: #7c96db;
  color: #fff;
}

.ui-widget-content .ui-state-highlight {
  border: 1px solid #5dbe9f;
  background-color: #5dbe9f;
}

.ui-widget-content .ui-state-highlight:hover {
  border: 1px solid #5dbe9f;
  background-color: #5dbe9f;
  color: #fff;
}

/*편성표*/
.top-popup-wrap.edit-sch-popup .hasDatepicker .haveItem {
  background: #e0abff;
  color: #131315;
}

.top-popup-wrap.edit-sch-popup .hasDatepicker .confirmedItem {
  background: #d0ff85;
  color: #131315;
}

.top-popup-wrap.edit-sch-popup .hasDatepicker .asRunLog {
  background: #860bde;
  color: #131315;
}

.top-popup-wrap.edit-sch-popup .content.hasDatepicker + .plans button.haveSch,
.top-popup-wrap.edit-sch-popup .hasDatepicker .haveSch {
  color: #131315;
  border: 1px solid #d7d9e3;
  background-color: #fff;
  background-image: url(../images/sch_back_have.png);
}

.top-popup-wrap.edit-sch-popup
  .content.hasDatepicker
  + .plans
  button.confirmedSch,
.top-popup-wrap.edit-sch-popup .hasDatepicker .confirmedSch {
  color: #131315;
  border: 1px solid #64daa8;
  background-color: #bffdd8;
  background-image: url(../images/sch_back_confirmed.png);
}

.top-popup-wrap.edit-sch-popup
  .content.hasDatepicker
  + .plans
  button.confirmedSch,
.top-popup-wrap.edit-sch-popup .hasDatepicker .asRunLog {
  color: #131315;
  border: 1px solid #ff0505;
}

.top-popup-wrap.edit-sch-popup
  .content.hasDatepicker
  + .plans
  button.confirmedSch:hover,
.top-popup-wrap.edit-sch-popup .hasDatepicker .confirmedSch:hover,
.top-popup-wrap.edit-sch-popup
  .content.hasDatepicker
  + .plans
  button.haveSch:hover,
.top-popup-wrap.edit-sch-popup .hasDatepicker .haveSch:hover {
  background-color: #dcf9ff;
}

.top-popup-wrap.edit-sch-popup .content.hasDatepicker + .plans button.haveSch,
.top-popup-wrap.edit-sch-popup
  .content.hasDatepicker
  + .plans
  button.confirmedSch {
  border: 1px solid #6d77a2;
}

.top-popup-wrap.edit-sch-popup .hasDatepicker .haveSch.ui-state-active,
.top-popup-wrap.edit-sch-popup .hasDatepicker .confirmedSch.ui-state-active {
  border: 1px solid #6b86f7;
  -webkit-box-shadow: 0 0 0 1px #6b86f7 inset;
  box-shadow: 0 0 0 1px #6b86f7 inset;
  color: #2b63fd;
  font-family: "Noto Sans Korean Medium";
}

.top-popup-wrap.edit-sch-popup .hasDatepicker .haveSch.ui-state-active:hover,
.top-popup-wrap.edit-sch-popup
  .hasDatepicker
  .confirmedSch.ui-state-active:hover {
  color: #2b63fd;
}

.top-popup-wrap.edit-sch-popup .hasDatepicker .week,
.top-popup-wrap.edit-sch-popup .hasDatepicker .weekStart,
.top-popup-wrap.edit-sch-popup .hasDatepicker .weekEnd {
  border: 1px solid #6b86f7;
  -webkit-box-shadow: 0 0 0 1px #6b86f7 inset;
  box-shadow: 0 0 0 1px #6b86f7 inset;
}

/*텍스트 색상*/
/*진행*/
.txt-green {
  color: #43a564;
}

/*에러*/
.error {
  color: #e54444;
}

/*완료*/
.complete {
  color: #595966;
}

/*대기*/
.waiting {
  color: #6b8e77;
}

/*주의*/
.attention {
  color: #c9b64b;
}

/*필수*/
.required {
  color: #35998b;
}

/*텍스트 리스트 비디오*/
.textFormatV {
  color: #927c44;
}

/*텍스트 리스트 이미지*/
.textFormatI {
  color: #5284d6;
}

/*텍스트 리스트 오디오*/
.textFormatA {
  color: #2e8d6d;
}

/*텍스트 리스트 문서*/
.textFormatM {
  color: #654c91;
}

/*텍스트 리스트 그룹*/
.textFormatG {
  color: #67656e;
}

/*텍스트 리스트 테이프*/
.textFormatT {
  color: #2287a0;
}

/*width*/
.col-1 {
  width: 10%;
}

.col-2 {
  width: 20%;
}

.col-3 {
  width: 30%;
}

.col-4 {
  width: 40%;
}

.col-5 {
  width: 50%;
}

.col-6 {
  width: 60%;
}

.col-7 {
  width: 70%;
}

.col-8 {
  width: 80%;
}

.col-9 {
  width: 90%;
}

.full-width {
  width: 100%;
}

/*height*/
.line-2 {
  height: 50px;
}

.line-3 {
  height: 70px;
}

.row-1 {
  height: 10%;
}

.row-2 {
  height: 20%;
}

.row-3 {
  height: 30%;
}

.row-4 {
  height: 40%;
}

.row-5 {
  height: 50%;
}

.row-6 {
  height: 60%;
}

.row-7 {
  height: 70%;
}

.row-8 {
  height: 80%;
}

.row-9 {
  height: 90%;
}

.full-height {
  height: 100%;
}

.row-quarter {
  height: 25%;
}

/*하나 선택 가능한 버튼 그룹*/
.type-btn {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;

  margin-left: 20px;
}

.type-btn button {
  min-width: 57px;
  height: 27px;
  margin: 0;
  border-right: unset;
  border-radius: unset;
}

.type-btn button.selected {
  background: #343666;
}

.type-btn button.selected:hover {
  background: #343666;
  cursor: default;
}

.type-btn button:hover {
  background: rgba(200, 212, 230, 0.08);
  border-color: rgba(215, 215, 255, 0.17);
}

.type-btn button:first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}

.type-btn button:last-child {
  border-right: 1px solid rgba(215, 215, 255, 0.17);
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

/*---------테이블 텍스트 한 줄 이상 가려짐---------------*/
.popup-table-wrap th > span,
.popup-table-wrap td > span,
.list-body th > span,
.list-body td > span {
  text-overflow: clip;
  overflow: hidden;
  word-break: break-word;

  /* 구형 WebKit 브라우저를 위한 설정 */
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;

  /* 최신 표준 브라우저를 위한 설정 */
  line-clamp: 1;
}

/*---------context-menu-------------------------*/
.context-menu-wrap .context-group .context-item > .context-group.submenu,
.context-menu-wrap {
  min-width: 125px;
  height: auto;
  position: absolute;
  color: #494962;
  font-size: 0.85rem;
  border-radius: 4px;
  border: 1px solid #6c7b9c;
  background: #fff;
  box-shadow: 0 0 8px rgba(46, 53, 79, 0.2);
  white-space: nowrap;
  z-index: 1200;
}

.context-menu-wrap .context-group {
  border-bottom: 1px solid #c2c7dd;
  padding: 3px;
}

.context-menu-wrap .context-group:last-child {
  border-bottom: unset;
}

.context-menu-wrap .context-group .context-item {
  width: 100%;
  height: 35px;
  margin-bottom: 3px;
  border-radius: 3px;
  text-align: left;
  line-height: 35px;
  padding: 0 25px 0 10px;
  cursor: pointer;
}

.context-menu-wrap .context-group .context-item.no-icon {
  padding: 0 25px 0 29px;
}

.context-menu-wrap .context-group .context-item:hover,
.context-menu-wrap .context-group .context-item.is-selected {
  background: #d8dfff;
}

.context-menu-wrap .context-group .context-item:last-child {
  margin-bottom: 0;
}

.context-menu-wrap .context-group .context-item img {
  vertical-align: middle;
  margin-right: 3px;
}

.context-menu-wrap .context-group .context-item.arrow-icon {
  background: url(../images/context_arrow.png) no-repeat right center;
}

.context-menu-wrap .context-group .context-item.is-selected.arrow-icon,
.context-menu-wrap .context-group .context-item.arrow-icon:hover {
  background: #d8dfff url(../images/context_arrow.png) no-repeat right center;
}

.schHistory-wrap {
  max-height: 320px;
  min-width: 125px;
  height: auto;
  position: absolute;
  color: #494962;
  font-size: 0.85rem;
  border-radius: 4px;
  border: 1px solid #6c7b9c;
  background: #fff;
  box-shadow: 0 0 8px rgba(46, 53, 79, 0.2);
  z-index: 1200;

  overflow-y: auto;
}

/*---------Toggle Switch-------------------------*/
.switch {
  width: 60px;
  height: 17px;
}

.switch label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  /*position: relative;*/
}

.switch [type="checkbox"] {
  appearance: none;
  position: relative;
  border: max(2px, 0.1em) solid #c6c8d5;
  border-radius: 1.25em;
  background: #eee;
  width: 2.5em;
  height: 17px;
}

.switch [type="checkbox"]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  transform: scale(1.2);
  border: 2px solid #c6c8d5;
  background-color: #fff;
  transition: left 250ms linear;
}

.switch [type="checkbox"]:checked {
  background-color: #defff0;
  border: max(2px, 0.1em) solid #00d484;
  background-image: unset;
}

.switch [type="checkbox"]:checked::before {
  background-color: #fff;
  left: 1.25em;
  border: 2px solid #00d484;
}

.switch [type="checkbox"]:disabled {
  border-color: lightgray;
  opacity: 0.7;
  cursor: not-allowed;
}

.switch [type="checkbox"]:disabled:before {
  background-color: lightgray;
}

.switch [type="checkbox"]:disabled + span {
  opacity: 0.7;
  cursor: not-allowed;
}

.switch [type="checkbox"]:focus-visible {
  outline-offset: max(2px, 0.1em);
  outline: max(2px, 0.1em) solid #8deeff;
}

.switch [type="checkbox"]:enabled:hover {
  box-shadow: 0 0 0 max(2px, 0.2em) rgb(227, 254, 255);
}

.switch fieldset {
  border: none;

  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;

  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;

  gap: 0.5rem;
}

*::before,
*::after {
  box-sizing: border-box;
}

/*검색조건 없음*/
.no-result.medium {
  background: url(../images/no_result_medium.svg) no-repeat center center;
}

.no-result.small {
  background: url(../images/no_result_small.svg) no-repeat center center;
}

/* 불투명하게 하는 애니메이션*/
.fade-in {
  visibility: visible;
  opacity: 1;
  transition: all 0.3s ease-in;
}

/* 투명하게 하는 애니메이션*/
.fade-out {
  visibility: hidden;
  opacity: 0;
  transition: all 1s ease-out;
}

hr.bar {
  border-color: #cecfd7;
  border-style: solid;
  border-width: 1px;
  border-top: unset;
}

/*필터팝업*/
.layer-filter {
  width: 295px;
  height: auto;
  border-radius: 5px;
  background: #fff;
  color: #d2d6e7;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  border: 1px solid #8791bd;
  color: #131315;
  z-index: 1500;

  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;

  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;

  position: absolute;
  top: 100px;
  right: 100px;
}

.layer-filter .f-header {
  width: 100%;
  height: 40px;
  padding-bottom: 5px;

  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;

  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.layer-filter .f-header .f-title {
  width: calc(100% - 35px);
  height: 35px;
  color: #133773;
  font-size: 0.8rem;
  line-height: 35px;
  padding-left: 20px;

  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.layer-filter .f-header .f-close {
  width: 29px;
  height: 29px;
  color: #272b4d;
  border-radius: 2px;
  padding: 2px;
  margin: 3px 3px 0 0;
  cursor: pointer;
}

.layer-filter .f-header .f-close:hover {
  background: #d2f5ff;
}

.layer-filter .f-header .f-close span {
  width: 100%;
  height: 100%;
  display: inline-block;
  font-size: 1.3rem;
  line-height: 25px;
  text-align: center;
}

.layer-filter .f-content {
  height: calc(100% - 100px);
  max-height: 300px;
  min-height: 100px;
  overflow-y: auto;
}

.layer-filter .f-content > div.column {
  padding: 4px 0;

  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;

  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.layer-filter .f-content .caption {
  width: 80px;
  padding: 0 10px 0 0;
  margin: 0;
  color: #6d7287;
  font-size: 0.69rem;
  line-height: 0.7rem;
  text-align: right;
}

.layer-filter .f-content .value {
  padding: 0 10px 0 0;

  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;

  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;

  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.layer-filter .f-content .value.flex-column {
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.layer-filter .f-content .value .info {
  color: #84899b;
  margin: 0 5px;
  font-size: 0.75rem;
  line-height: 24px;
}

.layer-filter .f-footer {
  height: 55px;
  padding: 0 15px;

  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;

  -ms-flex-pack: flex-end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;

  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

/* Popup Resizer Styles */
.layer-popup {
  position: relative;
}

.popup-resizer {
  position: absolute;
  z-index: 10;
  pointer-events: auto;
}

/* 상단은 없는 경우 */
.resizer-bottom {
  bottom: 0;
  left: 15px; /* 좌측 모서리 영역 피하기 */
  width: calc(100% - 30px); /* 좌우 모서리 15px씩 빼기 */
  height: 8px;
  cursor: ns-resize;
}

.resizer-left,
.resizer-right {
  width: 8px;
  height: calc(100% - 15px); /* 하단 모서리 영역 피하기 */
  cursor: ew-resize;
}

.resizer-left {
  top: 0;
  left: 0;
}

.resizer-right {
  top: 0;
  right: 0;
}

/* 모서리 핸들 */
.resizer-bottom-left,
.resizer-bottom-right {
  width: 15px;
  height: 15px;
}

.resizer-bottom-left {
  bottom: 0;
  left: 0;
  cursor: nesw-resize;
}

.resizer-bottom-right {
  bottom: 0;
  right: 0;
  cursor: nwse-resize;
}

/* 타이틀바가 리사이저보다 우선하도록 */
.popup-title {
  position: relative;
  z-index: 20;
  pointer-events: auto;
}

/* Button active state for popup toggle buttons */
button.active {
  background-color: #4a90e2 !important;
  color: white !important;
  border-color: #357abd !important;
}

body.pageloading {
  pointer-events: none; /* 클릭 불가 */
}
body.pageloading * {
  pointer-events: none;
}
