html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
}

.subtle-bg {
    background-color: #ededed;
}

.muted-bg {
    background-color: #f7f7f7;
}

.tbl-pad-sm {
    padding: 5px;
}

.hdr-size {
    height: 100px;
}

.ftr-size {
    height: 100px;
}

.hidden-state {
    display: none
}

.visible-state {
    display: block !important;
}

.datepicker table tr td, .datepicker table tr th {
    width: 40px !important;
    height: 40px !important;
    padding: 8px;
    font-weight: 600;
    font-size: 1.5em;
}

.datepicker table {
    width: 260px;
}

.col-form-label {
    font-weight: 600;
}

.form-control[readonly] {
    background-color: transparent;
}

.form-control[disabled] {
    background-color: #ededed !important;
}

fieldset {
    display: block;
    margin-inline-start: 2px;
    margin-inline-end: 2px;
    padding-inline-start: 0.75em;
    padding-inline-end: 0.75em;
    padding-block-end: 0.625em;
    min-inline-size: min-content;
    border: 1px solid rgba(0,0,0,.125);
    border-radius: 5px;
}

legend {
    float: none;
    width: auto;
    padding: 0;
    padding-bottom: 5px;
    margin-bottom: 0px;
    font-size: calc(1.275rem + .3vw);
    line-height: inherit;
    font-size: 18px !important;
    font-weight: 600;
}

.input-invalid {
    border: 1px solid red;
    background: #ff00000f !important;
}

input.error {
    border: 1px solid red;
    background: #ff00000f;
}

label.error {
    color: red;
    font-style: italic;
}

#FromDate-error, #ToDate-error, #ToDate-error-GreatedThen {
    margin-left: 2px;
    position: absolute;
    margin-top: 47px;
}

.card-info table tr td {
    padding: 8px 15px;
}

.card {
    border-radius: 5px;
}

.card .card-header {
    padding: 15px;
}

.card .card-header h3 {
    font-size: 24px;
    margin: 0;
    color: #555;
}

.blockUI.blockMsg.blockPage {
    border: 0 !important;
    border-radius: 5px;
    height: 200px;
}

.blockUI.blockMsg.blockPage h1 {
    font-size: 20px;
    font-weight: 200;
    line-height: 200px;
}

.blockUI.blockMsg.blockPage h1 img {
    height: 80px;
}

.loading-skeleton:empty {
    width: 100%;
    height: 25px;
    display: block;
    background: linear-gradient( to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 80% ), lightgray;
    background-repeat: repeat-y;
    background-size: 50px 500px;
    background-position: 0 0;
    animation: shine 1s infinite;
}

@keyframes shine {
    to {
        background-position: 100% 0;
    }
}

.data-wrapper {
    display: none;
    width: 100%;
    margin: 15px 0;
    border: 1px solid rgba(0,0,0,.125);
    border-radius: 6px;
    padding: 15px;
}

.data-wrapper .data-row {
    display: flex;
    flex-direction: row;
}

.data-wrapper .data-col {
    display: flex;
    flex-direction: column;
}

.data-wrapper .data-details {
    width: 100%;
}

.data-wrapper .data-details .data-name {
    margin-bottom: 5px;
    display: block;
    max-width: 100%;
}

.notice-info {
    color: #6b6b6b;
    background-color: #e8f0fe;
    border-color: #e2e2e2;
    padding: 1rem;
    border-radius: 0.5rem;
    border: 1px solid #e2e2e2;
}

.icon-2x {
    font-size: 2em;
    height: 2em;
    padding: inherit;
    padding-top: 8px;
}

.side-nav {
    position: -webkit-sticky;
    position: sticky;
    top: 5rem;
    display: block !important;
    height: calc(90vh - 6rem);
    padding-left: .25rem;
    margin-left: -.25rem;
    overflow-y: auto;
}

.side-nav.full-w {
    width: 100%;
}

.side-nav .narrow-w {
    width: 280px;
}

.clickable {
    cursor: pointer;
}

.brand-height {
    height: 82px;
}

.striked-text {
    text-decoration: line-through;
    background-color: #ff00003d;
}

.gap-top-sm {
    margin-top: 3px!important;
}
