html, body {
    height: 100%;
}
body {
    background: #303030;
    min-height: 100vh;
/*    min-height: -webkit-fill-available;*/
}

html {
/*    height: -webkit-fill-available;*/
}
.tab-content {
    overflow-y: auto;
    padding: 10px 15px;
}
.pointer {
    cursor: pointer;
    z-index: 1000;
    margin-top: 9px;
    margin-left: -9px;
    border: none;
    color: #6c757d;
}
.text-white-hover {
    color: rgb(200,200,200);
}
.dropdown-toggle::after {

}
.text-white-hover:hover, .text-white-hover:focus {
    color: rgb(255,255,255);
}
.nav-tabs .nav-link {
    color: #6c757d;
}
.btn-group-ssm>.btn, .btn-ssm {
    --bs-btn-padding-y:0.01rem;
    --bs-btn-padding-x:0.5rem;
    --bs-btn-font-size:0.8rem;
    --bs-btn-border-radius:0.25rem
}
main {
        height: 100vh;
    /*    height: -webkit-fill-available;*/
    max-height: 100vh;
    overflow-x: auto;
    overflow-y: hidden;
}
.list-group-item {
    color: #e0e0e0;
    background: rgba(40,40,40,0.5);
}
.list-group-item-danger {
    color: rgb(255, 139, 151);
    background: rgba(20,20,20,0.2);
}
.list-group-item:hover {
    background: rgba(40,40,40,0.3);
}
.list-group-item.active {
    border-color: rgba(40,40,40,0.6);
    background: rgba(40,40,40,0.6);
}
.link-cursor {
    cursor: pointer;
}
.max-w-offcanvas {
    max-width: 600px;
    width: 600px!important;
}
.form-control {
    background: #303030;
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #0a4975;
    color: #d0d0d0;
}
.form-control:disabled {
    background: #303030;
    color: #818181;
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #08304c;
}
.form-floating>label {
    color: #a0a0a0;
}
.form-floating>.form-control-plaintext~label, .form-floating>.form-control:focus~label, .form-floating>.form-control:not(:placeholder-shown)~label, .form-floating>.form-select~label {
    color: #c0c0c0;
    transform: scale(.85) translateY(-.7rem) translateX(.15rem);
}
.form-floating>.form-select {
    background: #303030;
    border: none;
    color: #d0d0d0;
    border-radius: 0;
    border-bottom: 1px solid #0a4975;

}
.form-control:focus {
    background: #303030;
    box-shadow: none;
    color: #d0d0d0;
    border-bottom: 1px solid #0f5a8e;
}
.btn-primary {
    background: #0a4975;
    border-radius: 0;
    border-color: #0a4975;
}
.btn-check:active+.btn:focus, .btn-check:checked+.btn:focus, .btn.active:focus, .btn.show:focus, .btn:active:focus {
    box-shadow: 0 0 0 0.15rem rgb(15,90,142);
}
.btn-primary:hover,.btn-primary:focus, .btn-primary:active {
    background: #0f5a8e;
    border-color: #0f5a8e;
    box-shadow: none;
}
.alert-danger {
    border-radius: 0;
    background: none;
    border: none;
    color: rgb(252, 168, 176);
}
.img-thumbnail {
    border-radius: 1.3rem;
}
.bg-dark, .text-bg-dark {
    background: #303030 !important;
}
@media (max-width: 640px) {
    .max-w-offcanvas {
        width: 100%!important;
    }
}
.w-rem {
    width: 4.5rem;
}
.hide, .hidden {
    display: none!important;
}
.form-signin {
    max-width: 330px;
    padding: 15px;
    padding-top: 100px;
/*    display: flex;justify-content: center; align-items: center;
    height: 400px;*/
}

.form-signin input[type="text"] {
    margin-bottom: -1px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
.form-signin input[type="password"] {
    margin-bottom: 10px;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
}
@media (min-width: 1280px) {
    .modal-lg {
        width: 1100px;
    }
}
@media (min-width: 1280px) {
    .auto-width {
        width: 300px;
    }
}
@media (min-width: 1024px) {
    .auto-width {
        width: 250px;
    }
}
@media (min-width: 640px) {
    .auto-width {
        width: 4.5rem;
    }
}
.no-border {
    border: none;
}
.abs-dropdown {
    display: block;
    position: absolute;
    z-index: 200;
    left: 0;
    width: 100%;
    border: 1px solid #ced4da;
    border-radius: 0 0 5px 5px;
    box-shadow: 0 0.15rem 0.15rem -1px rgba(60, 60, 60, 0.25);
    background-color: #ffffff;
    overflow: auto;
    max-height: 300px;
}
.has-dropdown:focus {
    border-radius: .375rem .375rem 0 0;
    border-color: #ced4da;
}
.abs-right {
    display: block;
    position: absolute;
    z-index: 200;
    right: 20px;
    top: 20px;
}
.abs-top {
    right: 21px;
    top: -5px;
}
.control-button {
    display: block;
    position: absolute;
    z-index: 12;
}
.fixed-bottom {
    display: block;
    position: fixed;
    bottom: 50px;
    right: 50px;
    z-index: 120;
}
#stat {
    display: block;
    position: absolute;
    right: -30px;
    bottom: 5px;
    color: #505050;
}
.meterInf {
    padding: 0;
}
.btn-circle {
    color: #ffffff;
    background: #c12e2a;
    border: 1px solid #902624;
    border-radius: 50%;
    display: block;
    width: 70px;
    height: 70px;
    line-height: 70px;
    font-size: 22px;
    opacity: 0.4;
    transition: all 0.3s ease;
    box-shadow: 0 0 5px rgba(144,38,36,0.8);
    outline: none;
}
.btn-circle:hover {
    width: 78px;
    height: 78px;
/*    line-height: 78px;*/
    font-size: 26px;
    opacity: 1;
    transform: translate(4px, 4px);
    box-shadow: 0 0 10px rgba(144,38,36,0.8);
}
.btn-circle.blue {
    background: #2a5cc1;
    border: 1px solid #244f90;
    box-shadow: 0 0 5px rgb(36, 79, 144);
}
.btn-circle.blue:hover{
    box-shadow: 0 0 10px rgb(36, 79, 144);
}
.slideUp {
    animation-name: slideUp;
    animation-duration: .2s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
}
.opacity {
    animation-name: opacity;
    animation-duration: .1s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
}
.slideTop {
    animation-name: slideTop;
    animation-duration: .5s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
}

.slideHide {
    transform: translateY(-100%);
}
.max-heigth {
    max-height: 320px;
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
}
#contractIframe, #viewIframe, .iframe {
    height: 100%;
}
#contractFrame, #viewFrame, .frame {
    border: 1px solid #e0e0e0;
    width: 100%;
    height: 100%;
}
.frameHidden {
    width: 100%;
    height: 1px;
    display: none;
}
.microImg {
    width: 20px;
    height: 20px;
}
.spin {
    animation: spin 2s infinite linear;
}
.modalSlg {
    width: 100%;
}
.preLog {
    overflow: auto;
    border: 1px solid #8c8c8c;
}
@keyframes opacity{0%{opacity: 1;}50%{opacity: 0;}100%{opacity: 0;}}
@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
@keyframes slideTop {
    0% {
        transform: translateY(-100%) scale(0.3,0.3);
        opacity: 0;
    }
    50% {
        opacity: 0;
    }
    100% {
        transform: translateY(0%) scale(1,1);
        opacity: 1;
    }
}

@keyframes slideUp {
    0% {
        transform: translateY(0%) scale(1,1);
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        transform: translateY(-100%) scale(0.3,0.3);
        opacity: 0;
    }
}

.schedule-parent,.schedule-header  {
    overflow: hidden;
    display: flex;
    align-items: stretch;
    flex: 1 1 auto;
}
.schedule-header {
    margin-top: 20px;
}
.schedule-hour {
    overflow: hidden;
    flex: none;
    width: 40px;
    min-width: 40px;
    align-items: flex-start;
    display: flex;
}
h3 {
    color: rgb(120,120,120);
}
.unvalid {
    border-color: #c94141;
}
.schedule {
    display: flex;
    align-items: flex-start;
    flex: 1 1 auto;
}
.schedule-row {
    min-width: 100%;
    flex: none;
    display: inline-flex;
    position: relative;
    overflow: hidden;
    vertical-align: top;
}
.schedule-cell {
    position: relative;
    outline: none;
    flex: 1 1 auto;
    border-left: 1px solid rgb(170,170,170);
}
.schedule-day-cell {
    outline: none;
    flex: 1 1 auto;
    text-align: center;
    color: rgb(170,170,170);
}
.schedule-day-cell:hover {
    color: rgb(120,120,120);
}
.schedule-day-cell.active {
    color: #13653f;
}
.schedule-day-cell.active strong {
    background-color: #198754;
    border-color: #146c43;
    color: #ffffff;
}
.schedule-day-cell span {
    display: block;
    text-align: center;
    font-size: 11px;
    font-weight: 500;
    line-height: 32px;
}
.schedule-day-cell div {
    display: block;
    text-align: center;
    height: 52px;
    margin: -4px auto 0 auto;
}
.schedule-day-cell strong {
    font-size: 26px;
    font-weight: 500;
    line-height: 46px;
    border-radius: 100%;
    padding: 8px 12px;

}
.schedule-hour-column {
    position: relative;
    box-sizing: border-box;
    margin-left: auto;
}
.schedule-hour-cell {
    position: relative;
    height: 48px;
    padding-right: 8px;
    text-align: right;
}
.schedule-hour-cell span {
    display: block;
    position: relative;
    top: -8px;
    font-size: 10px;
}
.schedule-line {
    width: 8px;
}
.schedule-line div {
    height: 48px;
}
.schedule-line div::after {
    content: "";
    border-bottom: 1px solid rgb(170,170,170);
    position: absolute;
    width: 100%;
    margin-top: -1px;
    z-index: 3;
    pointer-events: none;
}
.schedule-block {
    width: 100%;
    left: 0;
    margin: 0;
    padding: 1px;
    box-sizing: border-box;
    outline: none;
    /*border-radius: 5px;
    padding: 5px;*/
    cursor: pointer;
    position: absolute;
    z-index: 10;
    white-space: nowrap;
    overflow: hidden;
    font-size: 11px;
}
.alert {
    padding: 5px 10px;
}
#scheduleDataChecks {
    padding: 10px 0 50px 0;
}
.check-done {
    color: rgb(25,135,84);
}
.loader {
    text-align: center;
    margin: 200px auto auto;
}
.modal-backdrop {
    background-color: #222;
}
#loader{
    --bs-modal-bg: #222;
    --bs-backdrop-bg: #222;
    --bs-border-color-translucent: rgba(25,25,25,0.175);
}

.bg-gray-light {
    color: #909090;
}
small {
    font-size: .875rem;
}
#qrCode {
    display: block;
    position: absolute;
    right: 10px;
    color: #c0c0c0;
}
input:-webkit-autofill,
input:-webkit-autofill:focus {
    transition: background-color 0s 600000s, color 0s 600000s;
}

.table {
    --bs-table-color: #e0e0e0;
    --bs-table-border-color: #0a4975;
}
.alert-dark {
    --bs-alert-bg: rgba(20,20,20,0.2);
    --bs-alert-color: #ddd;
}