﻿@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');

/* 상단바 */
.navbar {
    background: #2a4471;
    height: 3.5rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.sidebar-brand a:hover {
    text-decoration:none;
}
/* 상단바 끝*/

/* 사이드 메뉴 */
.sidebar-link.active {
    color: white !important;
}
.sidebar-link i {
    min-width: 20px;
}
.sidebar-subitem.sidebar-third-depth {
    margin-left: 0.5rem;
}
    .sidebar-subitem.sidebar-third-depth .sidebar-link {
        background: #26477D;
    }
    .sidebar-subitem.sidebar-third-depth .sidebar-link:hover {
        color: #ffffff;
        background: #244472;
    }
/* 사이드 메뉴 끝 */

/* Content */
.b-layout-content {
    overflow: hidden;
    height: calc(100vh - 4rem);
}

.card {
    height: 100%;
    overflow-y: hidden;
}
    .card .card-header {
        height: 45px;
        padding: 0.5rem 1.25rem;
    }
    .card .card-body
    {
        height: 100%;
        min-height: 80px;
    }
    .card .card-loader
    {
        position: absolute;
        z-index: 1000;
        width: 100%;
        height: 90%;
        margin: -1.25rem;
        background-color: white;
    }

.card-main {
    flex-grow: 1;
    height: calc(100vh - 4rem - 1rem - 1rem);
    margin-top: 1rem;
    margin-bottom: 1rem;
}
    .card-main > .card-body {
        overflow-y: auto;
        height: calc(100vh - 4rem - 1rem - 1rem);
    }

.card-main-with-left {
    flex-grow: 1;
    margin-left: 1rem;
}

.card-main-with-right {
    flex-grow: 1;
    margin-right: 1rem;
}

.card-left {
    width: 300px;
    height: calc(100vh - 4rem - 1rem - 1rem);
    margin-top: 1rem;
    margin-bottom: 1rem;
}
    .card-left > .card-body {
        overflow-y: auto;
        height: calc(100vh - 4rem - 1rem - 1rem);
    }

.card-middle {
    width: 550px;
    height: calc(100vh - 4rem - 1rem - 1rem);
    margin-top: 1rem;
    margin-bottom: 1rem;
}

    .card-middle > .card-body {
        overflow-y: auto;
        height: calc(100vh - 4rem - 1rem - 1rem);
    }

.card-right {
    width: 450px;
    height: calc(100vh - 4rem - 1rem - 1rem);
    margin-top: 1rem;
    margin-bottom: 1rem;
}
    .card-right > .card-body {
        overflow-y: auto;
        height: calc(100vh - 4rem - 1rem - 1rem);
        padding: 0px;
    }
    .card-right .tab-content {
        padding: 1rem;
    }

    .modal-main > .modal-body
    {
        overflow-y: auto;
    }
/* Content 끝 */

/* 탭 */
.card-bottom .nav-link {
    outline: none !important;
    height: 48px;
    padding: .65rem 1rem;
}
    .card-bottom .nav-link.active {
        color: #212529;
    }

.card-bottom a.nav-link {
    color: #6c757d;
}

.card-bottom .nav-tabs {
    background-color: rgba(0,0,0,.03);
    height: 48px;
}

.card-bottom .nav-buttons {
    padding: .5rem 1.25rem;
}

.card-bottom .tab-loader {
    position: absolute;
    z-index: 1000;
    width: 100%;
    height: 80%;
    margin: -1rem;
    background-color: white;
}
/* 탭 끝 */

/* 폼 */
.form-group {
    margin-bottom: 0.75rem;
}
/* 폼 끝 */

/* 테이블 */
table.table tbody tr.selected {
    background-color: rgba(0, 123, 255, 0.25);
}

table.table-scroll thead {
    display: block;
}

table.table-scroll tbody {
    display: block;
    overflow: hidden auto;
}

table.table-setting-users-modal-columns thead th:nth-child(1),
table.table-setting-users-modal-columns tbody td:nth-child(1) {
    min-width: 160px;
    max-width: 160px;

    /* 텍스트 말줄임표 */
    text-overflow: ellipsis;
    white-space: nowrap;
    word-wrap: normal;
    overflow: hidden;
}

table.table-setting-users-modal-columns thead th:nth-child(n+2),
table.table-setting-users-modal-columns tbody td:nth-child(n+2) {
    min-width: 80px;
    max-width: 80px;

    /* 텍스트 말줄임표 */
    text-overflow: ellipsis;
    white-space: nowrap;
    word-wrap: normal;
    overflow: hidden;
}

table .light {
    color: #495057;
    background-color: #f3f3f3;
    border-color: #e9e9e9;
}

.table td.readonly {
    background-color: #e9ecef;
    opacity: 1;
    border: 1px solid #b0b0b0;
    color: #495057;
}
/* 테이블 끝*/

/* 페이징 */
/* 페이징 끝 */

/* 트리뷰 */
.tree-view {
}

.tree-node {
}

.tree-node-root {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 2rem;
    padding: 0 .5rem;
    cursor: pointer;
}
    .tree-node-root:hover {
        background-color: #E8F0FE;
    }
    .tree-node-root.selected {
        background-color: rgba(0, 123, 255, 0.25);
    }

.tree-node-content {
    align-items: center;
    display: flex;
    flex-basis: 0%;
    flex-grow: 1;
    flex-shrink: 0;
    min-width: 0;
    margin-left: .5rem;
}
    .tree-node-content .tree-node-label {
        display: flex;
        align-items: center;
    }
        .tree-node-content .tree-node-label > div:first-child {
            margin-right: 0.25rem;
        }

.tree-node-toggle {
    padding: 6px 12px;
    margin: 0 -12px;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.tree-node-toggle-empty {
    width: 11px;
}

.tree-arrow {
    min-width: 10px;
}

.tree-node-children {
    transition: all .2s cubic-bezier(0,0,.2,1);
}

.tree-node-level {
    width: 1rem;
}
/* 트리뷰 끝*/

/* 스위치 */
.custom-switch .custom-control-label {
    cursor: pointer;
}
    .custom-switch .custom-control-label::before {
        top: calc(.25rem - 1px);
        left: calc(-2.25rem - 1px);
        width: calc(1.75rem + 2px);
        height: calc(1rem + 2px);
    }

    .custom-switch .custom-control-label::after {
        top: calc(.25rem + 1px);
        left: calc(-2.25rem + 1px);
        width: calc(1rem - 2px);
        height: calc(1rem - 2px);
    }
    .custom-switch .custom-control-input:disabled ~ .custom-control-label {
        cursor: default;
    }

.custom-switch .custom-control-input:checked ~ .custom-control-label::before {
    border-color: forestgreen;
    background-color: forestgreen;
}
    .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
        border-color: lightgreen;
        background-color: lightgreen;
    }
/* 스위치 끝 */

/* 라디오 버튼 */
.btn-group-primary .btn-group .btn {
    color: #fff;
    background-color: #4679CC;
    border-color: #4679CC
}

    .btn-group-primary .btn-group .btn:hover {
        color: #fff;
        background-color: #;
        border-color: #7091C8
    }

    .btn-group-primary .btn-group .btn:focus, .btn-group-primary .btn-group .btn.focus {
        color: #fff;
        background-color: #4679CC;
        border-color: #7091C8;
        -webkit-box-shadow: 0 0 0 .2rem rgba(70,121,204,0.5);
        box-shadow: 0 0 0 .2rem rgba(70,121,204,0.5)
    }

    .btn-group-primary .btn-group .btn.disabled, .btn-group-primary .btn-group .btn:disabled {
        color: #fff;
        background-color: #4679CC;
        border-color: #4679CC
    }

    .btn-group-primary .btn-group .btn:not(:disabled):not(.disabled):active, .btn-group-primary .btn-group .btn:not(:disabled):not(.disabled).active, .show > .btn-group-primary .btn-group .btn.dropdown-toggle {
        color: #fff;
        background-color: #7091C8;
        border-color: #3060AF
    }

        .btn-group-primary .btn-group .btn:not(:disabled):not(.disabled):active:focus, .btn-group-primary .btn-group .btn:not(:disabled):not(.disabled).active:focus, .show > .btn-group-primary .btn-group .btn.dropdown-toggle:focus {
            -webkit-box-shadow: 0 0 0 .2rem rgba(70,121,204,0.5);
            box-shadow: 0 0 0 .2rem rgba(70,121,204,0.5)
        }
/* 라디오 버튼 끝 */

/* 로딩 */
.loading {
    position: absolute;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(88, 88, 88, 0.2);
}

.spinner {
    border: 10px solid silver;
    border-top: 10px solid #337AB7;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 700ms linear infinite;
    top: calc(50% - 25px);
    left: calc(50% - 25px);
    position: absolute;
}

.component-loader {
    width: 24px;
    height: 100%;
}

.component-spinner {
    border: 5px solid silver;
    border-top: 5px solid #337AB7;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    animation: spin 700ms linear infinite;
}

.button-loader {
    width: 28px;
    height: 100%;
    justify-content: center;
}

.button-spinner {
    border: 3px solid silver;
    border-top: 3px solid #337AB7;
    border-radius: 50%;
    width: 14px;
    height: 14px;
    animation: spin 700ms linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
/* 로딩 끝 */

/* 에러 */
#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* 에러 끝 */

/* 공통 */
.cursor-pointer {
    cursor: pointer !important;
}

.cursor-auto {
    cursor: auto !important;
}

.resize-none
{
    resize: none;
}

button[class*="btn-primary" i][data-toggle="button"]
{
    color: black !important;
    background-color: #dae0e5 !important;
    border-color: #dae0e5 !important;
}
button[class*="btn-primary" i][data-toggle="button"][class*="active" i]
{
    color: white !important;
    background-color: #007bff !important;
    border-color: #007bff !important;
}

.progress
{
    position: relative;
    height: 1rem;
    border-radius: 0;
}

.progress-bar-title
{
    position: absolute;
    font-weight: bold;
    text-align: right;
    line-height: 19px; /* line-height should be equal to bar height */
    overflow: hidden;
    color: black;
    right: 0;
    left: 0;
    top: 0;
}

.disable-click
{
    pointer-events: none;
}

.internal-link:hover
{
    cursor: pointer;
    text-decoration: underline;
}

.tooltip-inner
{
    max-width: 350px !important;
    text-align: left;
}

.overflow-visible
{
    overflow: visible !important;
}

.scroll-auto-x {
    overflow-x: auto !important;
    overflow-y: hidden !important;
}

.scroll-auto-y {
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

.scroll-auto {
    overflow-x: auto !important;
    overflow-y: auto !important;
}

.pulse-green {
    border-radius: 50%;
    animation: pulse-animation-green 1.5s infinite;
}

.font-size-11 {
    font-size: 11px;
}

.font-size-17 {
    font-size: 17px;
}

.fs-xs {
    font-size: 0.75rem !important; 
}

.color-red {
    color: red;
}

.color-limegreen {
    color: limegreen;
}

.word-break-keep-all {
    word-break: keep-all;
}

@keyframes pulse-animation-green {
    0% {
        box-shadow: 0 0 0 0px rgba(76, 175, 76, 0.4);
    }

    100% {
        box-shadow: 0 0 0 7px rgba(76, 175, 76, 0.0);
    }
}

.w-size-25
{
    width: 25px !important;
}

.w-size-50
{
    width: 50px !important;
}

.w-size-60
{
    width: 60px !important;
}

.w-size-70
{
    width: 70px !important;
}

.w-size-75
{
    width: 75px !important;
}

.w-size-80
{
    width: 80px !important;
}

.w-size-90
{
    width: 90px !important;
}

.w-size-100
{
    width: 100px !important;
}

.w-size-125
{
    width: 125px !important;
}

.w-size-150
{
    width: 150px !important;
}

.w-size-175
{
    width: 175px !important;
}

.w-size-200
{
    width: 200px !important;
}

.w-size-300
{
    width: 300px !important;
}

.w-size-400
{
    width: 400px !important;
}

.w-size-500
{
    width: 500px !important;
}

.w-size-600
{
    width: 600px !important;
}

.w-size-700
{
    width: 700px !important;
}

.w-size-800
{
    width: 800px !important;
}

.w-size-900
{
    width: 900px !important;
}

.w-min-size-25
{
    min-width: 25px !important;
}

.w-min-size-50
{
    min-width: 50px !important;
}

.w-min-size-60
{
    min-width: 60px !important;
}

.w-min-size-70
{
    min-width: 70px !important;
}

.w-min-size-75
{
    min-width: 75px !important;
}

.w-min-size-80
{
    min-width: 80px !important;
}

.w-min-size-90
{
    min-width: 90px !important;
}

.w-min-size-100
{
    min-width: 100px !important;
}

.w-min-size-125
{
    min-width: 125px !important;
}

.w-min-size-150
{
    min-width: 150px !important;
}

.w-min-size-175
{
    min-width: 175px !important;
}

.w-min-size-200
{
    min-width: 200px !important;
}

.w-min-size-300
{
    min-width: 300px !important;
}

.w-min-size-400
{
    min-width: 400px !important;
}

.w-min-size-500
{
    min-width: 500px !important;
}

.w-min-size-600
{
    min-width: 600px !important;
}

.w-min-size-700
{
    min-width: 700px !important;
}

.w-min-size-800
{
    min-width: 800px !important;
}

.w-min-size-900
{
    min-width: 900px !important;
}

.w-max-size-25
{
    max-width: 25px !important;
}

.w-max-size-50
{
    max-width: 50px !important;
}

.w-max-size-60
{
    max-width: 60px !important;
}

.w-max-size-70
{
    max-width: 70px !important;
}

.w-max-size-75
{
    max-width: 75px !important;
}

.w-max-size-80
{
    max-width: 80px !important;
}

.w-max-size-90
{
    max-width: 90px !important;
}

.w-max-size-100
{
    max-width: 100px !important;
}

.w-max-size-125
{
    max-width: 125px !important;
}

.w-max-size-150
{
    max-width: 150px !important;
}

.w-max-size-175
{
    max-width: 175px !important;
}

.w-max-size-200
{
    max-width: 200px !important;
}

.w-max-size-300
{
    max-width: 300px !important;
}

.w-max-size-400
{
    max-width: 400px !important;
}

.w-max-size-500
{
    max-width: 500px !important;
}

.w-max-size-600
{
    max-width: 600px !important;
}

.w-max-size-700
{
    max-width: 700px !important;
}

.w-max-size-800
{
    max-width: 800px !important;
}

.w-max-size-900
{
    max-width: 900px !important;
}

.h-size-fit-content
{
    height: fit-content !important;
}

.h-size-60
{
    height: 60px !important;
}

.h-size-100
{
    height: 100px !important;
}

.h-size-125
{
    height: 125px !important;
}

.h-size-150
{
    height: 150px !important;
}

.h-size-175
{
    height: 175px !important;
}

.h-size-200
{
    height: 200px !important;
}

.h-size-290
{
    height: 290px !important;
}

.h-size-300
{
    height: 300px !important;
}

.h-size-340
{
    height: 340px !important;
}

.h-size-350
{
    height: 350px !important;
}

.h-size-370
{
    height: 370px !important;
}

.h-size-400
{
    height: 400px !important;
}

.h-size-420
{
    height: 420px !important;
}

.h-size-460
{
    height: 460px !important;
}

.h-size-500
{
    height: 500px !important;
}

.h-size-530
{
    height: 530px !important;
}

.h-size-550
{
    height: 550px !important;
}

.h-size-570
{
    height: 570px !important;
}

.h-size-590
{
    height: 590px !important;
}

.h-size-600
{
    height: 600px !important;
}

.h-size-700
{
    height: 700px !important;
}

.h-min-size-50
{
    min-height: 50px !important;
}

.h-min-size-100
{
    min-height: 100px !important;
}

.h-min-size-125
{
    min-height: 125px !important;
}

.h-min-size-150
{
    min-height: 150px !important;
}

.h-min-size-175
{
    min-height: 175px !important;
}

.h-min-size-200
{
    min-height: 200px !important;
}

.h-min-size-300
{
    min-height: 300px !important;
}

.h-min-size-400
{
    min-height: 400px !important;
}

.h-min-size-500
{
    min-height: 500px !important;
}

.h-min-size-600
{
    min-height: 600px !important;
}

.h-min-size-700
{
    min-height: 700px !important;
}

.h-max-size-60
{
    max-height: 60px !important;
}

.h-max-size-100
{
    max-height: 100px !important;
}

.h-max-size-125
{
    max-height: 125px !important;
}

.h-max-size-150
{
    max-height: 150px !important;
}

.h-max-size-175
{
    max-height: 175px !important;
}

.h-max-size-200
{
    max-height: 200px !important;
}

.h-max-size-300
{
    max-height: 300px !important;
}

.h-max-size-340
{
    max-height: 340px !important;
}

.h-max-size-350
{
    max-height: 350px !important;
}

.h-max-size-400
{
    max-height: 400px !important;
}

.h-max-size-500
{
    max-height: 500px !important;
}

.h-max-size-600
{
    max-height: 600px !important;
}

.h-max-size-700
{
    max-height: 700px !important;
}

.h-percent-100
{
    height: 100% !important;
}

.h-percent-80 {
    height: 80% !important;
}

.h-percent-70 {
    height: 70% !important;
}

.h-percent-60 {
    height: 60% !important;
}

.h-percent-50 {
    height: 50% !important;
}

.h-percent-40 {
    height: 40% !important;
}

.h-percent-30 {
    height: 30% !important;
}

.h-percent-20 {
    height: 20% !important;
}

.mm-1 {
    margin: -.25rem !important;
}

.mm-2 {
    margin: -.5rem !important;
}

.mm-3 {
    margin: -1rem !important;
}

.mm-4 {
    margin: -1.5rem !important;
}

.mm-5 {
    margin: -3rem !important;
}

.mmr-1, .mmx-1 {
    margin-right: -.25rem !important;
}

.mmr-2, .mmx-2 {
    margin-right: -.5rem !important;
}

.mmr-3, .mmx-3 {
    margin-right: -1rem !important;
}

.mmr-4, .mmx-4 {
    margin-right: -1.5rem !important;
}

.mmr-5, .mmx-5 {
    margin-right: -3rem !important;
}

.mml-1, .mmx-1 {
    margin-left: -.25rem !important;
}

.mml-2, .mmx-2 {
    margin-left: -.5rem !important;
}

.mml-3, .mmx-3 {
    margin-left: -1rem !important;
}

.mml-4, .mmx-4 {
    margin-left: -1.5rem !important;
}

.mml-5, .mmx-5 {
    margin-left: -3rem !important;
}

.mmt-1, .mmy-1 {
    margin-top: -.25rem !important;
}

.mmt-2, .mmy-2 {
    margin-top: -.5rem !important;
}

.mmt-3, .mmy-3 {
    margin-top: -1rem !important;
}

.mmt-4, .mmy-4 {
    margin-top: -1.5rem !important;
}

.mmt-5, .mmy-5 {
    margin-top: -3rem !important;
}

.mmb-1, .mmy-1 {
    margin-bottom: -.25rem !important;
}

.mmb-2, .mmy-2 {
    margin-bottom: -.5rem !important;
}

.mmb-3, .mmy-3 {
    margin-bottom: -1rem !important;
}

.mmb-4, .mmy-4 {
    margin-bottom: -1.5rem !important;
}

.mmb-5, .mmy-5 {
    margin-bottom: -3rem !important;
}
/* 공통 끝*/
