*: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: 270px !important; }
.wx-20 { width: 300px !important; }
.wx-22 { width: 330px !important; }
.wx-25 { width: 375px !important; }
.wx-30 { width: 450px !important; }
.wx-31 { width: 465px !important; }
.wx-32 { width: 480px !important; }
.wx-33 { width: 495px !important; }
.wx-34 { width: 520px !important; }
.wx-35 { width: 535px !important; }
.wx-40 { width: 600px !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; }

.noflexwrap .input-group { flex-wrap:nowrap; }

/* red for required inputbox/dropdown */
.form-control[data-required='true']:focus,
.form-control[required]:focus {
  border-color: #f00;
}

@media (max-width: 576px) {
  .form-inline .noblock .form-control { display:inline-block; width:auto; }
}

label {
  display: inline-block !important;
}

/* 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: 15px; width: 100%; padding:10px; cursor: pointer;}
.file-upload-box .file-drop-target > span { display:block; font-size: 15px; 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:200px; background-color:#fff; 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 div.upload_filesize {overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; padding:0 5px;}
.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-sortable 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 */



/*
   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; }

/* multi select button */
.btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}

/* 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 *********************/

label.emptycheck { margin-left:5px; }

/* 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;
}

/* 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;
  background: #fff;
}
/* checked mark aspect */
[type="checkbox"]:not(.origin):checked + label:after {
  content: '\e116';
  font-family: 'lined-icons';
  position: absolute;
  top: 0.15em; left: 0em;
  font-size:1em;
  line-height: 0.8;
  padding:0.1em;
  color: #f00;
}

/* IE Only : Because of Reload */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  [type="checkbox"]:not(.origin):checked + label:after {
    content: '';
    width: 0.6em; height: 0.6em;
    background: #f00;
    position: absolute;
    top: 0.3em;
    left: 0.32em;
    border-radius: 0%;
  }
}

/* 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;
}
/* IE Only : Because of Reload */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  [type="checkbox"]:not(.origin):disabled:checked + label:after {
    background-color: #aaa;
  }
}
[type="checkbox"]:not(.origin):disabled + label {
  color: #666;
}
/* accessibility */
[type="checkbox"]:not(.origin):checked:focus + label:before,
[type="checkbox"]:not(.origin):not(:checked):focus + label:before,
[type="checkbox"]:not(.origin):checked:focus + label:after,
[type="checkbox"]:not(.origin):not(:checked):focus + label:after {
  border-color:#f00;
}

/* 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;
}

/* radio aspect */
[type="radio"]:not(.origin):not(:checked) + label:before,
[type="radio"]:not(.origin):checked + label:before {
  content: '';
  position: absolute;
  left: 0; top: 0;
  width: 1.25em; height: 1.25em;
  border: 1px solid #aaa;
  border-radius:50%;
  background: #fff;
}
/* checked mark aspect */
[type="radio"]:not(.origin):checked + label:after {
  content: '';
  width: 0.6em; height: 0.6em;
  background: #f00;
  position: absolute;
  top: 0.3em;
  left: 0.32em;
  border-radius: 100%;
}

/* 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 */
[type="radio"]:not(.origin):checked:focus + label:before,
[type="radio"]:not(.origin):not(:checked):focus + label:before,
[type="radio"]:not(.origin):checked:focus + label:after,
[type="radio"]:not(.origin):not(:checked):focus + label:after {
  border-color:#f00;
}

/* hover style just for information */
[type="radio"]:not(.origin) + label:hover:before {
  border-color:#ccc;
}
/********************* //radio & checkbox *********************/

/* .ztable-responsive */
.msg_touch_help {
  position: absolute;
  left: 50%;
  top: 20%;
  width:100px;
  height:100px;
  margin-left: -50px;
  margin-top: 0px;
  background:url('../images/common/swipe.png') center center no-repeat;
}

.ztable-responsive::-webkit-scrollbar {width: 8px; height: 8px; border: 3px solid #fff; }
.ztable-responsive::-webkit-scrollbar-button:start:decrement, ::-webkit-scrollbar-button:end:increment {display: block; height: 0px; background: #efefef}
.ztable-responsive::-webkit-scrollbar-track {background: #efefef; -webkit-border-radius: 10px; border-radius:10px; -webkit-box-shadow: inset 0 0 4px rgba(0,0,0,.2)}
.ztable-responsive::-webkit-scrollbar-thumb {height: 50px; width: 50px; background: rgba(0,0,0,.2); -webkit-border-radius: 8px; border-radius: 8px; -webkit-box-shadow: inset 0 0 4px rgba(0,0,0,.1)}


.ztable-responsive {
  display:block;
  width:100%;
  max-width:100%;
  margin-bottom:20px;
  position:relative;
}

.ztable-responsive .table { margin-bottom:5px; }


@media (max-width: 575.98px) {
  .ztable-responsive-sm {
    overflow-x: auto !important;
    overflow-y:hidden;
    -webkit-overflow-scrolling: touch;
  }
  .ztable-responsive-sm > * {
    white-space: nowrap !important
  }
}
@media (max-width: 767.98px) {
  .ztable-responsive-md {
    overflow-x: auto !important;
    overflow-y:hidden;
    -webkit-overflow-scrolling: touch;
  }
  .ztable-responsive-md > * {
    white-space: nowrap !important
  }
}
@media (max-width: 991.98px) {
  .ztable-responsive-lg {
    overflow-x: auto !important;
    overflow-y:hidden;
    -webkit-overflow-scrolling: touch;
  }
  .ztable-responsive-lg > * {
    white-space: nowrap !important
  }
}
@media (max-width: 1199.98px) {
  .ztable-responsive-xl {
    overflow-x: auto !important;
    overflow-y:hidden;
    -webkit-overflow-scrolling: touch;
  }
  .ztable-responsive-xl > * {
    white-space: nowrap !important
  }
}
@media (max-width: 1399.98px) {
  .ztable-responsive-xxl {
    overflow-x: auto !important;
    overflow-y:hidden;
    -webkit-overflow-scrolling: touch;
  }
  .ztable-responsive-xxl > * {
    white-space: nowrap !important
  }
}


/********************* table *********************/
table.tsort thead th { position:relative; cursor:default;}
table.tsort thead th.sortkey:after {
  color:#999;
  position:absolute;
  font: normal normal normal 11px/1 FontAwesome;
  content: "\f0dc";
  right:2px;
  z-index:1;
}
table.table-cols.tsort thead th.sortkey:after {
  top:calc(50% - 18px);
}
table.table-rows.tsort thead th.sortkey:after {
  top:calc(50% - 18px + 13px);
}

table.tsort thead th.sortkey:before {
  color:#f00;
  position:absolute;
  font: normal normal normal 11px/1 FontAwesome;
  right:2px;
  z-index:2;
}

table.tsort thead th.sortkey.asc:before {
  content: "\f0de";
}
table.tsort thead th.sortkey.desc:before {
  color:#f00;
  content: "\f0dd";
}
table.table-cols.tsort thead th.sortkey:before {
  top:calc(50% - 18px);
}
table.table-rows.tsort thead th.sortkey:before {
  top:calc(50% - 18px + 13px);
}



table.tellipsis {table-layout: fixed }
table.tellipsis th,
table.tellipsis td {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
table tr.error td { background-color:#ffd9d9;}
table tr.merge td { background-color:#d9e4ff;}
table tr.selected td { background-color:#fffdd9;}

table.table-cols {width:100%;border:0;border-color:transparent;font-size:0.8rem;border-collapse: collapse;border-spacing: 0;background:#fff;position:relative;}
table.table-cols:before {border-top:1px solid #888;width:100%;height:1px;position:absolute;content:' '}
table.table-cols th{text-align:left;}
table.table-cols td, table.table-cols th{padding:5px 5px;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}
form table.table-cols td {padding:4px 5px;border:1px solid #ddd;vertical-align:middle;}

/* 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.thcenter th, table.table-cols.tcenter th, table.table-cols.tcenter td { 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;font-size:0.8rem;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:5px 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:#f0f0f0 !important;font-weight:bold;-webkit-print-color-adjust: exact;}
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.thcenter th, 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.table-rows.selectable tbody tr.selected{
  background-color: #ffffe0;
}

table.table-rows.selectable tbody td:hover{
  cursor:default;
}

table.cursor-pointer td:hover { cursor:pointer;}
/********************* //table *********************/


/********************* date time picker *********************/
.datepicker .input-group-addon { cursor:pointer; }
.datepicker table th, .datepicker table td {
  font-size:0.9rem;
  border:none !important;
  padding: .2rem;
}


.datepicker table th,
.datepicker table td.day {
  width: 10px;
}

.non-radius .bootstrap-datetimepicker-widget table td,
.non-radius  .bootstrap-datetimepicker-widget table th {
  border-radius: 0 !important;
}

.bootstrap-datetimepicker-widget.dropdown-menu {
  width: 230px;
}

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; text-align:center !important; }
.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; }


.bootstrap-datetimepicker-widget table td span.month,
.bootstrap-datetimepicker-widget table td span.year {
  height: 34px;
  line-height: 34px;
}

.bootstrap-datetimepicker-widget table td {
  height: 34px;
  line-height: 34px;
}

.bootstrap-datetimepicker-widget .datepicker-decades .decade {
  font-size:0.8em;
  line-height: 1.8em !important;
}

.bootstrap-datetimepicker-widget .datepicker-decades td span {
  height: 39px;
  line-height: 1.8em !important;
}

/********************* //date time picker *********************/


/********************* modal ***********************/
.non-radius .modal-content {
  border-radius: 0;
  box-shadow: 0 0 25px rgba(0, 0, 0, .3);
}
.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 .modal-body {
  overflow: hidden !important;
}

.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; }

@media (max-width: 575.98px) {
  .modal-dialog.modal-fixed {
    max-width: 100% !important;
    margin:0;
    height:100vh;
  }


  .bootbox.modal { padding-right:0 !important; }
  .bootbox .modal-body:not(.body-iframe) {
    overflow: auto;
  }

  .bootbox .modal-content {
    height:100vh;
    border:0;
  }

  .modal-body {
    max-height: 100vh; /* modal height auto:prevent overflow */
    height: calc(100vh - 60px) !important; /* modal height auto:prevent overflow */
  }

  .modal-body iframe.framebody {
    max-height:calc(100vh - 90px); /* modal height auto:prevent overflow */
  }

  .modal-body .bootbox-body {
    height:calc(100vh - 90px) !important; /* modal height auto:prevent overflow */
  }

}




/* 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: 200px; 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 ***********************/


/* table resize 2019-12-13 */
.resizewrap { width:100%;overflow:auto; margin-bottom:20px;}
.resizetable .resizer { position:absolute;top:0px;right:-3px;bottom:0px;width:10px;z-index:999;background:transparent;cursor:col-resize}
.resizetable { table-layout: fixed; margin: 0; outline-style: none; width:100% !important; }
.resizetable th, .resizetable td { overflow: hidden; text-overflow: ellipsis; white-space: pre; min-width:20px !important; }





/********************* 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 ***********************/


#fullcalendar { font-size:0.85em; }


/* typeaheadjs */
.limitmax .tt-menu { max-width:100%; overflow:hidden;}
.limitmax .tt-suggestion { width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.pager .disabled .page-link {
    color: #6c757d;
    pointer-events: none;
    cursor: auto;
    background-color: #fff;
    border-color: #dee2e6;
}

.pager {
    padding-left: 0;
    list-style: none;
    text-align: center;
    font-size: 14px;
    display:none;
}

.pager li {
    display: inline;
}

.pager li > a,.pager li > span {
    display: inline-block;
    padding: 5px 14px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 15px;
}

.pager li > a:hover,.pager li > a:focus {
    text-decoration: none;
    background-color: #eeeeee;
}

.pager .next > a,.pager .next > span {
    float: right;
}

.pager .previous > a,.pager .previous > span {
    float: left;
}

.pager .disabled > a,.pager .disabled > a:hover,.pager .disabled > a:focus,.pager .disabled > span {
    color: #777;
    background-color: #fff;
    cursor: not-allowed;
    pointer-events: none;
}

.pager .pagenum {
    font-size: 16px;
    line-height: 32px;
}


@media (max-width: 991px) {
  .pagination { display:none; }
  .pager { display:block; }
}


/* fullscreen modal */
@media (max-width: 575.98px) {
  .modal-fullscreen {
    padding: 0 !important;
  }
  .modal-fullscreen .modal-dialog {
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 767.98px) {
  .modal-fullscreen-sm {
    padding: 0 !important;
  }
  .modal-fullscreen-sm .modal-dialog {
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 991.98px) {
  .modal-fullscreen-md {
    padding: 0 !important;
  }
  .modal-fullscreen-md .modal-dialog {
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1199.98px) {
  .modal-fullscreen-lg {
    padding: 0 !important;
  }
  .modal-fullscreen-lg .modal-dialog {
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg .modal-body {
    overflow-y: auto;
  }
}
.modal-fullscreen-xl {
  padding: 0 !important;
}
.modal-fullscreen-xl .modal-dialog {
  width: 100%;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen-xl .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen-xl .modal-body {
  overflow-y: auto;
}

