/*
.page-wrapper {
    position: fixed !important;
    top: 0;
    bottom: 0;
}
*/
.table-td-customized td {
    padding: 0.2rem;
}

.table-header-fixed {
    position: sticky;
    top: 0; /* Stick the header row to the top */
    z-index: 1; /* Ensure the header row is on top of other content */
}

.no-gutter > [class*='col-'] {
    padding-right:2px;
    padding-left:2px;
}

.page-logo img {
    width: 128px;
    height: 32px;
}

.page-header {
    padding: 0 10px;
}

.nav-menu li>ul li a {
    /*padding: .8125rem 2rem .8125rem 4rem;*/
    padding: .4rem 2rem .4rem 4rem;
}

.nav-menu li a {
    padding: .4rem 2rem;
}

.nav-menu li>ul {
    padding-top: 5px;
    padding-bottom: 5px;
}

.info-card {
    height: 7rem;   /* ori : 9.53 */
}

/*
 화면에 스크롤바가 없는 경우 마우스 오버시
 스크롤바가 생겼다가 없어졌다 하면서 화면이 떨리는 문제가 발생함
 ==> 항상 스크롤바가 생기도록 최소 100%로 조정함.
 */
.page-inner {
    min-height: 110vh;
}

.text-warning {
    color: #00f !important; }

a.text-warning:hover, a.text-warning:focus {
    color: #00f !important; }

.page-logo img {
    width:100px;
}

.my-top-menu .navbar-brand {
    font-size:20px;
}

.my-top-menu .navbar-nav .nav-item {
    margin-right:20px;
}

.my-top-menu .nav-link {
    padding:3px 10px;
}


/*
.my-top-menu .navbar-nav .nav-item a {
    font-size:16px;
}
*/

/*
.my-top-menu .navbar-nav .nav-item.active {
    background-color:#cfc;
    border-radius:6px;
}

.dropdown-item.active, .dropdown-item:active, .top-menu-sub-active {
    text-decoration: none;
    background-color: #cff;
}
*/

.my-input {
    /* background-color:#cfc; */
}

.my-input-color {
    background-color:#cfc;
}

.my-list-title {
    font-size:18px;
    font-weight:bold;
    margin-bottom:5px;
    color:#000;
}


.iframe-my-page-content {
    padding:0px !important;
}

.my-page-content {
    padding:10px !important;
}

.my-float-right {
    float:right;
}

.frame-heading .btn {
    padding-top:5px;
}

.my-panel-tag {
    margin-bottom: 0px;
}

.my-editor {
    background-color:#cfc;
    padding:10px;
    width:100%;
}

.table-title {
    font-size:20px;
    font-weight:500;
}

.table-data-cnt {
    font-size:12px;
    font-weight:500;
}

.my-float-right { float:right; }
.my-float-left { float:left; }
.my-text-left { text-align:left; }
.my-text-center { text-align:center; }
.my-text-right { text-align:right; }


.pagination.pagination-xs .page-link.first,
.pagination.pagination-xs .page-link.last {
    font-size:16px;
    padding:0px 7px 1px 7px;
    cursor:pointer;
}

.pagination.pagination-xs .page-link.previous,
.pagination.pagination-xs .page-link.next {
    font-size:16px;
    padding:0px 8px 1px 8px;
    cursor:pointer;
}

/*.mod-skin-dark:not(.mod-skin-light) .page-link.first,*/
/*.mod-skin-dark:not(.mod-skin-light) .page-link.last,*/
/*.mod-skin-dark:not(.mod-skin-light) .page-link input,*/
/*.mod-skin-dark:not(.mod-skin-light) .page-link.previous,*/
/*.mod-skin-dark:not(.mod-skin-light) .page-link.next {*/
/*    color: #fff;*/
/*    background-color: rgba(0, 0, 0, .15);*/
/*    border-color: rgba(0, 0, 0, .35);*/
/*}*/

.mod-skin-dark:not(.mod-skin-light) .table-title
.mod-skin-dark:not(.mod-skin-light) .table-data-cnt {
    border-color: rgba(255, 255, 255, .25);
}

.pagination .page-item:not(:first-child) {
    margin-left: 2px;
}

.db-page-size-selector {
    height: 23px;
    padding: 0px 4px;
    margin-top: -2px;
    background-color: #eee !important;
    color: #000 !important;
}

.dropdown-menu .dropdown-divider:last-child {
    display: none;
}

.mod-skin-dark:not(.mod-skin-light) .table,
.mod-skin-dark:not(.mod-skin-light) .table td,
.mod-skin-dark:not(.mod-skin-light) .table th,
.mod-skin-dark:not(.mod-skin-light) .table thead th,
.mod-skin-dark:not(.mod-skin-light) .table-bordered td,
.mod-skin-dark:not(.mod-skin-light) .table-bordered th {
    border-color: rgba(255,255,255,.10);
}

.table-bordered td, .table-bordered th {
    border: 1px solid #e9e9e9;
    vertical-align: middle;
}

.dropdown-item {
    padding: 0 10px;
}
.mod-skin-dark:not(.mod-skin-light) .dropdown-menu {
    border:solid 1px #cfc;
}

.mod-skin-dark:not(.mod-skin-light) .nav-menu li.active>a {
    color: rgba(255, 255, 255, .8);
    background-color: rgba(50, 50, 50, 1);
}

.pagination .page-item a.page-link {
    color: #3e3b32 !important;
}

.my-input-dropzone {
    border: 1px dashed #dedede; display:inline-block;
    padding:0 10px; min-height:27px; width:150px;
}

.my-input-dropzone:hover {
    min-height:50px;
}

.mod-skin-dark:not(.mod-skin-light) .dropdown-item.my-text-danger {
    color: #ff7574!important;
}

.ip-card-columns-horizontal {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
}

@media (min-width: 576px) {
    .ip-card-columns-vertical {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }
}

@media (min-width: 1024px) {
    .ip-card-columns-vertical {
        -webkit-column-count: 3;
        -moz-column-count: 3;
        column-count: 3;
    }
}

@media (min-width: 1500px) {
    .ip-card-columns-vertical {
        -webkit-column-count: 4;
        -moz-column-count: 4;
        column-count: 4;
    }
}

@media (min-width: 1800px) {
    .ip-card-columns-vertical {
        -webkit-column-count: 5;
        -moz-column-count: 5;
        column-count: 5;
    }
}

.my-auto-align {
    overflow-wrap: break-word;
    word-wrap: break-word;

    -ms-word-break: break-all;
    /* This is the dangerous one in WebKit, as it breaks things wherever */
    word-break: break-all;
    /* Instead use this non-standard one: */
    word-break: break-word;

    /* Adds a hyphen where the word breaks, if supported (No Blink) */
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
}

.my-cursor-pointer {
    cursor:pointer;
}

.fc-toolbar .fc-center h2 { font-size:32px; font-family:Arial; }

.fc-view.fc-listWeek-view.fc-list-view td {
    padding:10px;
}

/* 달력 위치 조정 및 폰트 크기 조절 */
.fc-day-grid-event .fc-content {
    /* padding: 0.25rem 0.5rem; */
    padding:0 0.5rem;
}

.text-shadow {
    line-height: inherit;
    text-shadow: 1px 1px 2px black, 0 0 1em blue, 0 0 0.2em blue;
    font-size:12px;
}

.fc-event .fc-content {
    line-height: inherit;
    text-shadow: 1px 1px 2px black, 0 0 1em blue, 0 0 0.2em blue;
    font-size:12px;
}

.fc-day-grid-event .fc-time {
    font-weight:500;/*unset;*/
}

.fc-today a.fc-day-number {
    display:block;
    color:white !important;
    background-color: red;
    padding-left:20px;
    border-radius: 0 0 0 20px;
}

/*
.fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number {
    float: unset;
}
*/

.my-app-list {
    margin: 0 auto;
    display: block;
    /* width: 21.875rem!important; */
    height: 22.5rem!important;
    font-size: 0;
    padding: .5rem 1rem;
    text-align: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.my-app-list>li {
    display: inline-block;
    text-align: center;
    padding: 0;
}

.dropdown {
    /*아래처럼 바꾸면 dropdown 하위메뉴가 있는 경우 가장 왼쪽을을 기준으로 왼쪽자리에 출력됨.*/
    /*position: static !important;*/
}

.center-screen {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    min-height: 100vh;
}

center-align {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    min-height: 100vh;
}

.my-approval-line.dropdown-toggle:after
{
    font-family: 'Font Awesome 5 Pro';
    content: "\f068\f0c9" !important;    /* f056 */
    color:#FF0000;
    float:right;
    /* background-color:#00ff00; */
}

.my-approval-attach.dropdown-toggle:after
{
    font-family: 'Font Awesome 5 Pro';
    content: "\f068\f0c9" !important;   /* \f00d */
    color:#FF0000;
    /* background-color:#00ff00; */
}

.select2-container--default .select2-results__group {
    color: #8e8e8e;
    text-align: center;
    /*border-top: solid #8e8e8e 1px;*/
    border-bottom: solid #8e8e8e 1px;

    margin: 10px 0px;
    padding: 0px !important;
    /*
    cursor: default;
    display: block;
     */
}

.my-inline-block {
    display:inline-block;
}

.fs-lg {
    font-size: .88rem!important;
}

.my-input-group-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: .5rem .875rem;
    margin-bottom: 0;
    font-size: .8125rem;
    font-weight: 400;
    line-height: 1.47;
    /* color: #495057; */
    text-align: center;
    white-space: nowrap;
    /* background-color: #f3f3f3; */
    border: 1px solid #e5e5e5;
    border-radius: 4px;
}

div.note-editor.panel.panel-default {
  box-shadow: none;
  cursor: pointer;
}

div.note-editor.panel.panel-default:active {
 outline: 1px solid #1dc958;
}

.my-select2-option:hover {
    background-color:#0080ff;
}

.my-table-sm td, .my-table-sm th {
    padding: 5px 0px;
}
.my-table-sm td input {
    font-size:13px;
}

.fs-10 { font-size:10px; }
.fs-11 { font-size:11px; }
.fs-12 { font-size:12px; }
.fs-13 { font-size:13px; }
.fs-14 { font-size:14px; }
.fs-15 { font-size:15px; }
.fs-16 { font-size:16px; }
.fs-18 { font-size:18px; }
.fs-20 { font-size:20px; }
.fs-22 { font-size:22px; }
.fs-24 { font-size:24px; }
.fs-28 { font-size:28px; }

nav.my-navbar {
    pedding:0px!important;
}

.my-navbar-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    /* display: flex; */
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}

/*.fullscreen-icon {*/
/*    position: absolute;*/
/*    right: 5px;*/
/*    top: 5px;*/
/*    width: 18px;*/
/*    height: 16px;*/
/*    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABV0RVh0Q3JlYXRpb24gVGltZQA4LzE2LzEzspl6ugAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAB7SURBVDiN7ZOxCsAgDESvxXyhi5P/Fif/0i6NGJH2KIUufVOUJB45s6lqw0DOGQylFHfeqSqCYEGMESJCF6aUAAC1Vt9IRPolixtDG1DVxjLnhtVL8yAvlZy8Nuy/0T1L19g1cY3Mavupd9bPWL5T9ERJV2SBrcfn238A3whjoYEPESwAAAAASUVORK5CYII=);*/
/*    cursor: pointer;*/
/*    z-index: 5;*/
/*}*/

.table-responsive {
    min-height: 50px;
    overflow-x:unset;
}

.pieLabel div {
    font-size:12px!important;
}

table thead.my-head-underline {
   border-bottom: solid 2px #ddd;
}
table tbody.my-body-underline {
   border-bottom: solid 1px #ddd;
}
/*
table tbody tr td.my-underline {
   border-bottom: solid 1px #ddd;
}
*/

.status-bbs:before {
    width: 5px;
    height: 5px;
    top: 18px;
    right: -2px;
}

.bbs-border {
    border: 1px solid #bbbbbb !important;
    border-style : dotted !important;
}
.bbs-border-top {
    border-top: 1px solid #ffd541 !important;
}
.bbs-border-warning {
    border-color: #ffd541 !important;
    border-style : dotted !important;
}
.bbs-border-dark {
    border-color: #777777 !important;
    border-style : dotted !important;
}

.bbs-hr {
    border:none;
    border-bottom: 2px #aaa;
}

.mobile-subheader-title {
    font-size: 12pt !important;
}
.mobile-subheader-title .small {
    font-size: 10pt !important;
}

/**** Summernote ******/
.note-editable p {
    margin-top:0px;
    margin-bottom:0px;
}

.note-editable .table td, .table th {
    padding: .2rem;
    vertical-align: middle;
    /* border-top: 1px solid #e9e9e9; */
}

.my-bg-info-50 {
    background-color: #ddeedd;
}

.my-list-text {
    margin:0;
    padding-left:20px;
}
.my-list-text li {
    text-indent: -4px;
}

/*
PopOver 툴팁 사용시 폭이 너무 좁아 Text가 Wrap되는 현상 제거.
*/
.popover{
    max-width:600px;
}

.br-0 { border-radius: 0px; }
.br-4 { border-radius: 4px; }
.br-8 { border-radius: 8px; }

.fa-ul {
    list-style-type: none;
    margin-left: 18px;
    padding-left: 0;
}

.fa-ul li input[type=checkbox] {
    display:inline-block;
    margin:3px 0 0 -5px !important;
    float:left;
}

.fa-ul li .tree-title {
    display:inline-block;
    margin-left:5px;
    float:left;
}

.my-table-hover > tbody > tr:hover {
  background-color:#cfc;
  color: #000;
}

.subheader-title sup.badge {
    text-shadow: none;
    position: absolute;
    margin-top: 15px;
    margin-left: 0.25rem;
    font-size: 40%;
    padding: 2px 5px;
    line-height: normal;
}

.progress {
  background-color:#ccc;
}

.nav-menu li a .dl-ref {
    border-radius: 12px;
    padding: 2px 0 0 0;
}


.form-control-in-table {
    height: calc(24px);
    padding: 2px;
    font-size: .75rem;
    line-height: 1.5;
    border-radius: 4px;
}

.dropdown-item:focus, .dropdown-item:hover {
    /* color: #9e4e86; */
    background-color: #96ee96;
}

.b-top { border-top:solid 1px #aaa !important; }
.b-right { border-right:solid 1px #aaa !important; }
.b-bottom { border-bottom:solid 1px #aaa !important; }
.b-left { border-left:solid 1px #aaa !important; }

.b-top2 { border-top:solid 2px #aaa !important; }
.b-right2 { border-right:solid 2px #aaa !important; }
.b-bottom2 { border-bottom:solid 2px #aaa !important; }
.b-left2 { border-left:solid 2px #aaa !important; }

.bg-eee { background-color:#eee !important; }
.bg-e8e8e8 { background-color:#e8e8e8 !important; }
.bg-f4f4f4 { background-color:#f4f4f4 !important; }
.bg-2ff { background-color:#2ff !important; }

/* froala editor insertFiles 사용 안하게 설정 */
#insertFiles-1, [data-cmd="insertFiles"]{
    display: none!important;
}
/* 편집기 라이센스 안보이게 */
.fr-wrapper div:nth-child(1) a {
    margin-top:-20px;
    height:0px;
}

/* 선택창 크기 크게 */
.select2-container--default .select2-results>.select2-results__options {
    max-height: 635px!important;
    overflow-y: auto;
}

ul.select2-results__options {
  max-height: 630px!important;
}

/*
 @media print
 */
@media print {
    my.btn.my-approval-line ,my.btn.my-approval-agree ,my.btn.my-approval-ref {
        display: inline-block !important;
    }
    .hide-on-print {
        display: none;
    }
}

/*BOM*/
.bom-container {
    max-width: 800px;
    margin: 0 auto;
    background: white;
    padding: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.bom-item {
    margin-left: 20px;
}

.bom-item ul {
    list-style-type: none;
    padding-left: 20px;
}

.error-message {
    color: red;
    margin-top: 10px;
    font-size: 14px;
}

.spinner {
    border: 16px solid #f3f3f3;
    border-top: 16px solid #3498db;
    border-radius: 50%;
    width: 120px;
    height: 120px;
    animation: spin 2s linear infinite;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -60px;
    margin-top: -60px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.text-deep-sky-blue {
    color: #00aaff;
}