*:disabled {cursor:not-allowed;}

/* pixel unit : per 15px */
.wx-1 { width: 15px !important; }
.wx-2 { width: 30px !important; }
.wx-3 { width: 45px !important; }
.wx-4 { width: 60px !important; }
.wx-5 { width: 75px !important; }
.wx-6 { width: 90px !important; }
.wx-7 { width: 105px !important; }
.wx-8 { width: 120px !important; }
.wx-9 { width: 135px !important; }
.wx-10 { width: 150px !important; }
.wx-11 { width: 165px !important; }
.wx-12 { width: 180px !important; }
.wx-15 { width: 225px !important; }
.wx-18 { width: 195px !important; }
.wx-20 { width: 300px !important; }
.wx-30 { width: 450px !important; }

/* percent unit : per 10% */
.wp-10 { width: 10% !important; }
.wp-20 { width: 20% !important; }
.wp-30 { width: 30% !important; }
.wp-40 { width: 40% !important; }
.wp-50 { width: 50% !important; }
.wp-60 { width: 60% !important; }
.wp-70 { width: 70% !important; }
.wp-80 { width: 80% !important; }
.wp-90 { width: 90% !important; }
.wp-100, .wp-full { width: 100% !important; }

/* rem unit : 2rem */
.wf-1 { width: 2rem !important; }
.wf-2 { width: 4rem !important; }
.wf-3 { width: 6rem !important; }
.wf-4 { width: 8rem !important; }
.wf-5 { width: 10rem !important; }
.wf-6 { width: 12rem !important; }
.wf-7 { width: 14rem !important; }
.wf-8 { width: 16rem !important; }
.wf-9 { width: 18rem !important; }
.wf-10 { width: 20rem !important; }

.w-0 { width: 0 !important; }
.w-auto { width: auto !important; }

.flex-auto { flex:auto !important; }

/* red for required inputbox/dropdown */
.form-control[data-required='true']:focus,
.form-control[required]:focus {
  border-color: #f00;
}

/* spinner */
.sending-spinner {
  position: relative;
  width:0px;
  visibility:hidden;
}

@keyframes spinner {
  to {transform: rotate(360deg);}
}

.sending-spinner:before {
  content: '';
  box-sizing: border-box;
  position: absolute;
  top: 55%;
  left: 5px;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  margin-left: -10px;
  border-radius: 50%;
  border: 2px solid #ccc;
  border-top-color: #000;
  animation: spinner .6s linear infinite;
}

/* multi file uploader (pluploader widget) */
.file-upload-box .file-size-info { margin:5px 0 0 0; text-align:right; }
.file-upload-box .file-drop-target { border: 5px dashed #999; text-align: center; color: #999; font-size: 1.8vw; width: 100%; padding:10px; cursor: pointer;}
.file-upload-box .file-drop-target > span { display:block; font-size: 1.5vw; color:#b50000}
.file-upload-box .file-drop-target.dragover { background: rgba(255, 255, 255, 0.4); border-color: green;}

@media screen and (min-width: 320px) and (max-width: 767px) {
  .file-upload-box .file-drop-target {font-size: 12px;}
  .file-upload-box .file-drop-target > span {font-size:10px;}
}

@media screen and (min-width: 1200px) {
  .file-upload-box .file-drop-target {font-size: 20px;}
  .file-upload-box .file-drop-target > span {font-size:13px;}
}

.file-upload-box ul.file-queue-list { margin:5px 0 10px 0; padding:0; border:1px dotted #ddd; display:none;}
.file-upload-box ul.file-queue-list li { margin:0; padding:5px 5px; list-style:none; position:relative; font-size:0.9em;}
.file-upload-box ul.file-queue-list li a.upload-action-link { position:absolute; right:10px; top:2px; }
.file-upload-box ul.file-queue-list li div.upload_filename { padding-right:20px; } /* to prevent overlapped with cancel/remove link */
.file-upload-box ul.file-queue-list li:nth-child(odd) { background-color:#fbfbfb; }



.file-upload-box ul.file-queue-list.queue-thumbs li { display:inline-block !important; vertical-align:top !important; max-width:150px; min-height:271px; border:1px solid #eee; margin:5px;padding:0; }
.file-upload-box ul.file-queue-list.queue-thumbs li:hover { border:1px solid #f00; }
.file-upload-box ul.file-queue-list.queue-thumbs li div.upload_filename {overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; padding:5px; border-top:1px solid #eee0;}
.file-upload-box ul.file-queue-list.queue-thumbs li a.upload-action-link { position:absolute; right:10px; top:auto; bottom:2px !important; }
.file-upload-box ul.file-queue-list.queue-thumbs li a.view_uploaded_file { position:absolute; right:30px; top:auto; bottom:2px !important; }
.file-upload-box ul.file-queue-list.queue-thumbs li img:hover { cursor:move; }

.file-upload-box .upload_progress { height:1px;opacity:0;}
.file-upload-box .upload_progress_bar { height:100%; background-color:#55a7ff;}

.moxie-shim { width: auto !important; } /* plupload add a fixed width on div.moxie-shim, but it must not be fixed */

/* 2021-08-03, single file uploader */
.single-file-upload-box { display:inline-block; background-color:#f5f5f5; font-size:0.9em;}
.single-file-upload-box > span { display:inline-block; min-width:300px; position:relative;}
.single-file-upload-box > span > span.single_filename {  padding:0 10px;  height:28px;}
.single-file-upload-box > span > span.single_progress { background-color:#007bff; position:absolute; left:0; top:-2px; height:28px; line-height:25px; color:#fff; width:0; text-align:right; display:none; }



/*
   Animation example, for spinners
*/
@-moz-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@-webkit-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@-o-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@-ms-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}


i.spinner{display:inline-block;vertical-align:middle;width:32px;height:32px;border:1px solid #08c;border-width:2px;border-radius:16px;border-bottom-color:transparent!important;
  -moz-animation: spin 2s infinite linear;
  -o-animation: spin 2s infinite linear;
  -webkit-animation: spin 2s infinite linear;
  animation: spin 2s infinite linear;
  display: inline-block;
}
i.spinner.spin-sm{width:16px;height:16px;border-width:1.2px;border-radius:8px;}
i.spinner.spin-lg{width:64px;height:64px;border-width:2.5px;border-radius:32px;}
i.spinner.spin-xl{width:128px;height:128px;border-width:5px;border-radius:64px;}




/* filestyle */
.zfilestyle { width:1px; }

/* input type date */
/* for only datepicker class */
input[type="date"].datepicker::-webkit-calendar-picker-indicator,
input[type="date"].datepicker::-webkit-inner-spin-button{
  display: none;
}


/********************* radio & checkbox *********************/
.radio-toolbar input[type="radio"] {
  opacity: 0;
  position: fixed;
  width: 0;
}
.radio-toolbar label {
  flex: 1 1 auto!important;
  display: inline-block;
  background-color: #ddd;
  padding: 0px 10px !important;
  font-size: 1em !important;
  border-radius: 30px;
  border:1px solid #ddd;
  text-align:center;
  margin:0 2px;
}
.radio-toolbar label:hover {
  background-color:var(--radiohover);
  border-color: var(--radioborder);
}

.radio-toolbar input[type="radio"]:checked + label {
  background-color: var(--radio);
  border-color: var(--radioborder);
}



.radio-btns {
  background-color: var(--radio);
  /*background-image: linear-gradient(100deg, #ff5a64 0%, #faa04b 30%, #d2dc69 70%, #0ef49b 100%);*/
  z-index: 0;
  height: 2em;
  margin: 0 auto;
  max-width: 100%;
  border-radius: 40px;
  display: flex;
  box-shadow: 0 2px 4px -1px rgba(25, 25, 25, 0.2);
}
.radio-btns input {
  display: none;
}
.radio-btns label {
  display: table;
  flex: 1 1 auto!important;
  padding: 0;
  height: 100%;
  margin: 0;
  text-align: center;
  border-left: 1px solid rgba(0, 0, 0, 0.05);
}
.radio-btns label:first-child {
  border-left: none;
  border-radius: 40px 0 0 40px;
}
.radio-btns label:last-child {
  border-radius: 0 40px 40px 0;
}
.radio-btns span {
  font-size: 1em;
  cursor: pointer;
  width: 100%;
  display: table-cell;
  vertical-align: middle;
  font-weight: 300;
  color: #FFF;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  box-shadow: inset 0 30px 20px -20px rgba(255, 255, 255, 0.15);
  transition: color 250ms cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 250ms cubic-bezier(0.895, 0.03, 0.685, 0.22);
}
.radio-btns span:hover {
  box-shadow: inset 0 30px 30px -20px rgba(50, 50, 50, 0.02);
  transition: all 250ms cubic-bezier(0.165, 0.84, 0.44, 1);
}
.radio-btns span:after {
  content: "✓";
  font-size:0.9em;
  color:#fff;
  vertical-align:top;
  margin-left: -0.5em;
  display: inline-block;
  transform: scale(0);
  transition: margin 250ms cubic-bezier(0.6, -0.28, 0.735, 0.045) 100ms, transform 250ms cubic-bezier(0.895, 0.03, 0.685, 0.22);
}
.radio-btns label:first-child span {
  border-radius: 40px 0 0 40px;
}
.radio-btns label:last-child span  {
  border-radius: 0 40px 40px 0;
}
.radio-btns input:checked + span {
  color: #000;
  text-shadow: none;
  /*background-image: linear-gradient(to top, rgba(25, 25, 25, 0) 65%, rgba(25, 25, 25, 0.08));*/
  box-shadow: inset 0 10px 50px rgba(25, 25, 25, 0.08);
  transition: color 500ms cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 150ms;
}
.radio-btns input:checked + span:after {
  margin-left: 0.5em;
  transform: scale(1);
  transition: transform 500ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 250ms, margin 500ms;
}


/* Base for label styling */
[type="checkbox"]:not(.origin):not(:checked),
[type="checkbox"]:not(.origin):checked {
  position: absolute;
  left: -9999px;
}

[type="checkbox"]:not(.origin):not(:checked) + label,
[type="checkbox"]:not(.origin):checked + label {
  position: relative;
  padding-left: 1.5em;
  cursor: pointer;
  margin-bottom:0 !important;
  min-width:auto; font-weight:300; padding-right:10px; line-height:1;
}

/* checkbox aspect */
[type="checkbox"]:not(.origin):not(:checked) + label:before,
[type="checkbox"]:not(.origin):checked + label:before {
  content: '';
  position: absolute;
  left: 0; top: 0;
  width: 1.25em; height: 1.25em;
  border: 1px solid #aaa;
  border-radius:0%;
  background: #fff;
}

[type="checkbox"]:not(.origin):checked + label:before {
  border: 1px solid #a11f44;
  background-color:#a11f44;
}

/* checked mark aspect */
[type="checkbox"]:not(.origin):checked + label:after,
[type="checkbox"]:not(.origin):not(:checked) + label:after
{
  content: '';
  position: absolute;
  top: 0.30em; left: 0.25em;
  font-size:1em;
  line-height: 0.8;
  padding:0.1em;
  color: #f00;
  width: 0.75em; height: 0.45em;
}


[type="checkbox"]:not(.origin):checked + label:after {
  border-bottom: 2px solid #fff; border-left: 2px solid #fff; -webkit-transform: rotate(-50deg); transform: rotate(-50deg);
}


/* disabled checkbox */
[type="checkbox"]:not(.origin):disabled:not(:checked) + label:before,
[type="checkbox"]:not(.origin):disabled:checked + label:before {
  box-shadow: none;
  border-color: #aaa;
  background-color: #ddd;
}
[type="checkbox"]:not(.origin):disabled:checked + label:after {
  color: #999;
  border-color: #bbb;
}

[type="checkbox"]:not(.origin):disabled + label {
  color: #666;
}


/* hover style just for information */
[type="checkbox"]:not(.origin) + label:hover:before {
  /*border: 1px solid red;*/
}

/* radio */
/* Base for label styling */
[type="radio"]:not(.origin):not(:checked),
[type="radio"]:not(.origin):checked {
  position: absolute;
  left: -9999px;
}
[type="radio"]:not(.origin):not(:checked) + label,
[type="radio"]:not(.origin):checked + label {
  position: relative;
  padding-left: 1.5em;
  cursor: pointer;
  margin-bottom:0 !important;
  margin-top:0;
  min-width:auto;
  font-weight:300;
  padding-right:10px;
  line-height:1;
}

/* radio aspect */
[type="radio"]:not(.origin):not(:checked) + label:before,
[type="radio"]:not(.origin):checked + label:before {
  content: '';
  position: absolute;
  left: 0; top: -0.2em;
  width: 1.25em; height: 1.25em;
  border: 1px solid #aaa;
  border-radius:50%;
  background: #fff;
}
/* checked mark aspect */
[type="radio"]:not(.origin):checked + label:before {
  border-color:#a11f44;
}

[type="radio"]:not(.origin):checked + label:after {
  content: '';
  width: 0.85em; height: 0.85em;
  background: #a11f44;
  position: absolute;
  top: 0em;
  left: 0.2em;
  border-radius: 50%;
}

/* disabled radio */
[type="radio"]:not(.origin):disabled:not(:checked) + label:before,
[type="radio"]:not(.origin):disabled:checked + label:before {
  box-shadow: none;
  border-color: #bbb;
  background-color: #ddd;
}
[type="radio"]:not(.origin):disabled:checked + label:after {
  background: #aaa;
}
[type="radio"]:disabled + label {
  color: #666;
}
/* accessibility */


/* hover style just for information */

/********************* //radio & checkbox *********************/


/********************* table *********************/
.table>:not(:last-child)>:last-child>* { border-bottom:none; }

table.table-cols {width:100%;border:0;border-color:transparent;border-collapse: collapse;border-spacing: 0;background:#fff;position:relative;}
table.table-cols th{text-align:left;}
table.table-cols td, table.table-cols th{padding:7px 10px;border:1px solid #ddd;vertical-align:middle;}
table.table-cols th {background:#fbfbfb;font-weight:bold;}
table caption{visibility:hidden;overflow:hidden;width:1px;height:1px;font-size:0;line-height:0;padding:0 !important}

/* table side border */
table.table-cols.noside th:first-child, table.table-cols.noside td:first-child { border-left:none; }
table.table-cols.noside th:last-child, table.table-cols.noside td:last-child { border-right:none; }

table.table-cols > tbody + tbody {border-top:0px solid #f00 !important;}
table.table-cols.tcenter th, table.table-cols.tcenter td { text-align:center ;}
table.table-cols.thcenter th { text-align:center ;}
table.table-cols.tright th, table.table-cols.tright td { text-align:right;}


table.table-rows {width:100%;border:0;border-color:transparent;border-collapse: collapse;border-spacing: 0;background:#fff;position:relative;}
table.table-rows:before {border-top:1px solid #888;width:100%;height:1px;position:absolute;top:0;content:' '}
table.table-rows th{text-align:left;font-weight:bold;}
table.table-rows td {padding:5px 5px;}
table.table-rows th {padding:8px 10px;}
table.padding-xs th {padding:8px 1px !important;}
table.table-rows td, table.table-rows th{border:1px solid #bbb;vertical-align:middle;}
table.table-rows thead tr:first-child th { border-bottom:none !important;}

table.table-rows th, table.table-rows thead td{background:#d5d5d5;font-weight:bold;}
table caption{visibility:hidden;overflow:hidden;width:1px;height:1px;font-size:0;line-height:0;padding:0 !important}

table.table-rows.noside th:first-child, table.table-rows.noside td:first-child { border-left:none; }
table.table-rows.noside th:last-child, table.table-rows.noside td:last-child { border-right:none; }

table.table-rows.tcenter th, table.table-rows.tcenter td { text-align:center ;}
table.table-rows.tright th, table.table-rows.tright td { text-align:right;}

table.table-rows.thover tbody tr:hover { background-color:#f0f0f0; }
table.table-rows.novline td { border-left:none !important; border-right:none !important; }

table.noborder td { border:none !important; }

/********************* //table *********************/


/********************* date time picker *********************/
.datepicker .input-group-addon { cursor:pointer; }
.datepicker table th, .datepicker table td {
  border:none !important;
  padding: .5rem;
}

.non-radius .bootstrap-datetimepicker-widget table td,
.non-radius  .bootstrap-datetimepicker-widget table th {
  border-radius: 0 !important;
}

table.table-condensed td, table.table-condensed th{
  border:none !important; /* datetimepicker is for bootstrap 3, we need to remove border for bootstrap 4 */
}

/* change original datetimepicker style */
.bootstrap-datetimepicker-widget table td, .bootstrap-datetimepicker-widget table th { border-radius:0; }
.bootstrap-datetimepicker-widget table th { background-color:#f00 !important; color:#fff;}
.bootstrap-datetimepicker-widget table thead tr:first-child th:hover { background: #f00 !important; opacity:0.8; }
.bootstrap-datetimepicker-widget table th.disabled,
.bootstrap-datetimepicker-widget table th.disabled:hover { color: #000; }
/********************* //date time picker *********************/



/********************* modal ***********************/
.non-radius .modal-content {
  border-radius: 0;
}
.non-radius .modal-header {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}


.modal-dialog.modal-fixed {
  max-width: calc(100% - 20px) !important;
}

.fade-scale {
  transform: scale(0);
  opacity: 0;
  -webkit-transition: all .25s linear;
  -o-transition: all .25s linear;
  transition: all .25s linear;
}

.fade-scale.show {
  opacity: 1;
  transform: scale(1);
}

.modal-dialog.modal-center {
  min-height: calc(100vh - 60px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.modal-body {
  max-height: calc(100vh - 160px); /* modal height auto:prevent overflow */
}

.modal-body:not(.body-iframe) {
  overflow: auto;
}

.bootbox-body {
  height: 100%;
  width: 100%;
}

.modal-body iframe.framebody {
  height: 100%;
  width: 100%;
  max-height:calc(100vh - 190px); /* modal height auto:prevent overflow */
  border: 0;
}


.modal-header h4 { font-size:1.05rem; }

.bootbox-alert + .modal-backdrop,
.bootbox-confirm + .modal-backdrop,
.bootbox-prompt + .modal-backdrop { background:#eee !important; }

.bootbox-alert .bootbox-body,
.bootbox-confirm .bootbox-body { font-size:0.8rem; }

/* padding-right를 0으로 줬는데도, 이상하게 동작한다. 그래서 빼자...
.bootbox { padding-right:0 !important; }
*/

/* alert and confirm modal */
.bootbox-alert .modal-header,
.bootbox-confirm .modal-header,
.bootbox-prompt .modal-header { padding:8px 15px; background:#fa2828; color:#fff; }
.bootbox-alert .modal-header .close,
.bootbox-confirm .modal-header .close,
.bootbox-prompt .modal-header .close { padding:5px 10px 10px 10px; margin-top:-8px; color:#fff; } /* set padding depends on the padding of modal-header */

.bootbox-alert .modal-content,
.bootbox-confirm .modal-content,
.bootbox-prompt .modal-content { border-color:#fa2828; } /* modal-content border and modal-header background should be same color */

.bootbox-alert .modal-footer,
.bootbox-confirm .modal-footer,
.bootbox-prompt .modal-footer { padding:8px 15px; }
/********************* //modal ********************/


/********************** input tooltip **********************/
.itooltip.tooltip { opacity: 1; display:none;  }
.itooltip.bs-tooltip-top { padding-top:0;} /* remove the bootstrap tooltip default space */
.itooltip.bs-tooltip-bottom { padding-bottom:0;} /* remove the bootstrap tooltip default space */

.itooltip .tooltip-inner { max-width:400px; font-size:0.72rem; }
.non-radius .itooltip .tooltip-inner { border-radius:0 !important; }
.itooltip .arrow { left: 10px; }
.itooltip .bg-light { color:#000 !important; }

.tooltip.bs-tooltip-top .arrow.bd-primary::before { border-top-color: #007bff !important; }
.tooltip.bs-tooltip-top .arrow.bd-secondary::before { border-top-color: #868e96 !important; }
.tooltip.bs-tooltip-top .arrow.bd-success::before { border-top-color: #28a745 !important; }
.tooltip.bs-tooltip-top .arrow.bd-danger::before { border-top-color: #dc3545 !important; }
.tooltip.bs-tooltip-top .arrow.bd-warning::before { border-top-color: #ffc107 !important; }
.tooltip.bs-tooltip-top .arrow.bd-info::before { border-top-color: #17a2b8 !important; }
.tooltip.bs-tooltip-top .arrow.bd-light::before { border-top-color: #f8f9fa !important; }
.tooltip.bs-tooltip-top .arrow.bd-dark::before { border-top-color: #343a40 !important; }

.tooltip.bs-tooltip-bottom .arrow.bd-primary::before { border-bottom-color: #007bff !important; }
.tooltip.bs-tooltip-bottom .arrow.bd-secondary::before { border-bottom-color: #868e96 !important; }
.tooltip.bs-tooltip-bottom .arrow.bd-success::before { border-bottom-color: #28a745 !important; }
.tooltip.bs-tooltip-bottom .arrow.bd-danger::before { border-bottom-color: #dc3545 !important; }
.tooltip.bs-tooltip-bottom .arrow.bd-warning::before { border-bottom-color: #ffc107 !important; }
.tooltip.bs-tooltip-bottom .arrow.bd-info::before { border-bottom-color: #17a2b8 !important; }
.tooltip.bs-tooltip-bottom .arrow.bd-light::before { border-bottom-color: #f8f9fa !important; }
.tooltip.bs-tooltip-bottom .arrow.bd-dark::before { border-bottom-color: #343a40 !important; }
/********************** //input tooltip **********************/


/********************* toastr customizing **********************/
/* /js/toastr/toastr.css */
body:not(.inframe):not(.popuup) .toast-top-center,
body:not(.inframe):not(.popuup) .toast-top-full-width,
body:not(.inframe):not(.popuup) .toast-top-left,
body:not(.inframe):not(.popuup) .toast-top-right {
  top:  107px !important; /* 95 : header height + 12 : default space */
}
/********************* //toastr customizing **********************/


/********************* password strength checker ***********************/
.pwstrenth {margin-top: 4px;width: 150px; display:none;}
.pwstrenth .label { position:relative; font-size:13px;}

.pw-very-weak .label {color: #d00;}
.pw-very-weak .label:before { content:''; position:absolute; left:0; top:0; height:2px; width:30px; background: #d00; }

.pw-weak .label {color: #d00; font-size:13px;}
.pw-weak .label:before { content:''; position:absolute; left:0; top:0; height:2px; width:60px; background: #d00; }

.pw-mediocre .label {color: #c0bd00; font-size:13px;}
.pw-mediocre .label:before { content:''; position:absolute; left:0; top:0; height:2px; width:90px; background: #c0bd00; }

.pw-strong .label {color: #f3b31a; font-size:13px;}
.pw-strong .label:before { content:''; position:absolute; left:0; top:0; height:2px; width:120px; background: #f3b31a; }

.pw-very-strong .label {color: #00a500; font-size:13px;}
.pw-very-strong .label:before { content:''; position:absolute; left:0; top:0; height:2px; width:150px; background: #00a500; }

/********************* //password strength checker ***********************/

/* treeview */
.treeview .list-group-item { padding:10px !important; }


/********************* etc ***********************/
/* 1. body width - prevent iframe overflow (prevent horizontal scroll bar) */
body.inframe { width:99.9%;}

/********************* //etc ***********************/







/********************* mobile only ***********************/
/**** .mobile : mobile 공통     ****/
/**** .mobile.android : andorid 전용   ****/
/**** .mobile.ios : ios 전용           ****/

/* date time picker */
.mobile.ios .datepicker { height:2.2em !important; } /* ios에서 height가 이상하게 나옴 */
.mobile .datepicker { width:150px !important; }

/* modal iframe body scroll */
.mobile .modal-open {
  max-height: 100vh;
}

/* iframe in modal body*/
.mobile.ios .modal-body.body-iframe {
  width: 100%;
  -webkit-overflow-scrolling: touch;
  overflow: scroll;
}
/********************* //mobile only ***********************/


/* tab */

.tab_wrap { margin-bottom:35px; }

.tab-content { display:none; }
.tab-content.active { display:block; }


  .tab_wrap .btn-toggle-tab { font-size: 16px; font-weight: 500; background-color:#fff;width: 100%; height: 50px; padding-left: 20px; padding-right: 50px; border: 1px solid #a9a9a9; text-align: left; position:relative;}
  .tab_wrap .btn-toggle-tab:focus { outline:1px dotted #a9a9a9; }
  .tab_wrap .btn-toggle-tab:before { content: ''; position: absolute; right:20px; top:22px; width: 15px; height: 1px; position: absolute; background-color: var(--themecolor); transition: transform .2s ease-in-out; }
  .tab_wrap .btn-toggle-tab:after { content: ''; position: absolute; right:20px; top:27px; width: 15px; height: 1px; background-color: var(--themecolor); transition: transform .2s ease-in-out; }
  .tab_wrap.active .btn-toggle-tab:before { transform: rotate(-45deg); }
  .tab_wrap.active .btn-toggle-tab:after { top:22px; transform: rotate(45deg); }

.mobile-menu-open .tab_wrap{ display: none; }

@media (min-width: 1200px) {
  .tab_wrap.tab_lg .btn-toggle-tab { display: none; }
  .tab_wrap.tab_lg .tab ul { margin:0; padding:0; position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; }
  .tab_wrap.tab_lg .tab ul:before { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background-color: var(--themecolor); }
  .tab_wrap.tab_lg .tab li { margin:0; padding:0;list-style: none; position: relative; border: 1px solid #ddd; border-bottom: 1px solid var(--themecolor); background-color: #fff; }
  .tab_wrap.tab_lg .tab.full-width li { -webkit-box-flex: 1; -ms-flex: 1; flex: 1;}
  .tab_wrap.tab_lg .tab.fix-width li { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; max-width: 20%;}
  .tab_wrap.tab_lg .tab li + li { border-left: 0; }
  .tab_wrap.tab_lg .tab li > a { display: block; padding: 12px 25px; text-align:center; text-decoration:none;}
  .tab_wrap.tab_lg .tab li > a:hover { text-decoration:none; color:#000;}
  .tab_wrap.tab_lg .tab li.active { border-color: var(--themecolor); border-bottom: 1px solid #fff; border-left: 1px solid var(--themecolor); font-weight: 500; }
}

@media (max-width: 1199px) {
  .tab_wrap.tab_lg { position: relative; margin-bottom:20px; }
  .tab_wrap.tab_lg .btn-toggle-tab { display: block;}
  .tab_wrap.tab_lg .btn-toggle-tab:focus { outline:1px dotted #a9a9a9; }
  .tab_wrap.tab_lg .btn-toggle-tab:before { content: ''; position: absolute; right:20px; top:22px; width: 15px; height: 1px; position: absolute; background-color: var(--themecolor); transition: transform .2s ease-in-out; }
  .tab_wrap.tab_lg .btn-toggle-tab:after { content: ''; position: absolute; right:20px; top:27px; width: 15px; height: 1px; background-color: var(--themecolor); transition: transform .2s ease-in-out; }
  .tab_wrap.tab_lg.active .btn-toggle-tab:before { transform: rotate(-45deg); }
  .tab_wrap.tab_lg.active .btn-toggle-tab:after { top:22px; transform: rotate(45deg); }
  .tab_wrap.tab_lg .tab { display: none; overflow: hidden; position: absolute; top: 50px; left: 0; z-index: 100; width: 100%; padding: 0px 0px; background-color: #fff; border: 1px solid #a9a9a9; border-top: 0;}
  .tab_wrap.tab_lg .tab > .tit { display: block; padding-bottom: 15px; line-height: 1; font-weight: 500; font-size: 18px; border-bottom: 1px solid var(--themecolor); }
  .tab_wrap.tab_lg .tab ul { margin:0; padding:0; overflow: auto; max-height: 205px; display:block;}
  .tab_wrap.tab_lg .tab li { margin:0; padding:0; list-style:none; border-bottom: 1px solid #d8d8d8;}
  .tab_wrap.tab_lg .tab li.active { background-color:#0d6efd; color:#fff;}
  .tab_wrap.tab_lg .tab li:not(.active):hover { background-color:#ddd;}
  .tab_wrap.tab_lg .tab li:last-child { border-bottom:none; }
  .tab_wrap.tab_lg .tab a { display: block; height: 50px; line-height: 50px; padding: 0 20px; color:#000;}
  .tab_wrap.tab_lg .tab a:hover { text-decoration:none; }
  .tab_wrap.tab_lg .tab .active a { color: #fff; font-weight:500;}
  .tab_wrap.tab_lg.active .tab { display: block; }

}


@media (min-width: 992px) {
  .tab_wrap:not(.tab_lg) .btn-toggle-tab { display: none; }
  .tab_wrap:not(.tab_lg) .tab ul { margin:0; padding:0; position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; }
  .tab_wrap:not(.tab_lg) .tab ul:before { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background-color: var(--themecolor); }
  .tab_wrap:not(.tab_lg) .tab li { margin:0; padding:0;list-style: none; position: relative; border: 1px solid #ddd; border-bottom: 1px solid var(--themecolor); background-color: #fff; }
  .tab_wrap:not(.tab_lg) .tab.full-width li { -webkit-box-flex: 1; -ms-flex: 1; flex: 1;}
  .tab_wrap:not(.tab_lg) .tab.fix-width li { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; max-width: 20%;}
  .tab_wrap:not(.tab_lg) .tab li + li { border-left: 0; }
  .tab_wrap:not(.tab_lg) .tab li > a { display: block; padding: 12px 25px; text-align:center; text-decoration:none;}
  .tab_wrap:not(.tab_lg) .tab li > a:hover { text-decoration:none; color:#000;}
  .tab_wrap:not(.tab_lg) .tab li.active { border-color: var(--themecolor); border-bottom: 1px solid #fff; border-left: 1px solid var(--themecolor); font-weight: 500; }
}

@media (max-width: 991px) {
  .tab_wrap:not(.tab_lg) { position: relative; margin-bottom:20px; }
  .tab_wrap:not(.tab_lg) .btn-toggle-tab { display: block; }
  .tab_wrap:not(.tab_lg) .tab { display: none; overflow: hidden; position: absolute; top: 50px; left: 0; z-index: 100; width: 100%; padding: 0px 0px; background-color: #fff; border: 1px solid #a9a9a9; border-top: 0;}
  .tab_wrap:not(.tab_lg) .tab > .tit { display: block; padding-bottom: 15px; line-height: 1; font-weight: 500; font-size: 18px; border-bottom: 1px solid var(--themecolor); }
  .tab_wrap:not(.tab_lg) .tab ul { margin:0; padding:0; overflow: auto; max-height: 205px; display:block;}
  .tab_wrap:not(.tab_lg) .tab li { margin:0; padding:0; list-style:none; border-bottom: 1px solid #d8d8d8;}
  .tab_wrap:not(.tab_lg) .tab li.active { background-color:#0d6efd; color:#fff;}
  .tab_wrap:not(.tab_lg) .tab li:not(.active):hover { background-color:#ddd;}
  .tab_wrap:not(.tab_lg) .tab li:last-child { border-bottom:none; }
  .tab_wrap:not(.tab_lg) .tab a { display: block; height: 50px; line-height: 50px; padding: 0 20px; color:#000;}
  .tab_wrap:not(.tab_lg) .tab a:hover { text-decoration:none; }
  .tab_wrap:not(.tab_lg) .tab .active a { color: #fff; font-weight:500;}
  .tab_wrap:not(.tab_lg).active .tab { display: block; }
}

