body {
    display: flex;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    font-size: 1.5em;
    line-height: 1.6;
    font-weight: 400;
    font-family: 'Montserrat';
    color: rgb(0, 0, 0);
}

.page {
    position: absolute;
    min-width: 1160px !important;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

#page-content:empty[data-dash-is-loading="true"] {
    pointer-events: none;
    cursor: progress;
}

#page-content:has(#labs-container:not([style*="display: none"]) #lab-main-plot[data-dash-is-loading="true"]),
#page-content:has(#vitals-container:not([style*="display: none"]) #vital-main-plot[data-dash-is-loading="true"]),
#page-content:has(#cardio-container:not([style*="display: none"]) #cardio-main-plot[data-dash-is-loading="true"]),
#page-content:has(#ae-container:not([style*="display: none"]) #ae-all-trt-chart[data-dash-is-loading="true"]),
#page-content:has(#ae-container:not([style*="display: none"]) #ae-trt-chart[data-dash-is-loading="true"]),
#page-content:has(#perf-container:not([style*="display: none"]) #perf-main-plot[data-dash-is-loading="true"]),
#page-content:has(#perf-container:not([style*="display: none"]) #perf-main-graph[data-dash-is-loading="true"]),
#page-content:has(#qa-container:not([style*="display: none"]) #qa-main-plot[data-dash-is-loading="true"]),
#page-content:has(#qa-container:not([style*="display: none"]) #qa-main-graph[data-dash-is-loading="true"]) {
    pointer-events: none;
    cursor: progress;
}

#page-content:empty[data-dash-is-loading="true"] ~ #page-loading {
    display: flex;
}

#page-content:has(#labs-container:not([style*="display: none"]) #lab-main-plot[data-dash-is-loading="true"]) ~ #page-loading,
#page-content:has(#vitals-container:not([style*="display: none"]) #vital-main-plot[data-dash-is-loading="true"]) ~ #page-loading,
#page-content:has(#cardio-container:not([style*="display: none"]) #cardio-main-plot[data-dash-is-loading="true"]) ~ #page-loading,
#page-content:has(#ae-container:not([style*="display: none"]) #ae-all-trt-chart[data-dash-is-loading="true"]) ~ #page-loading,
#page-content:has(#ae-container:not([style*="display: none"]) #ae-trt-chart[data-dash-is-loading="true"]) ~ #page-loading,
#page-content:has(#perf-container:not([style*="display: none"]) #perf-main-plot[data-dash-is-loading="true"]) ~ #page-loading,
#page-content:has(#perf-container:not([style*="display: none"]) #perf-main-graph[data-dash-is-loading="true"]) ~ #page-loading,
#page-content:has(#qa-container:not([style*="display: none"]) #qa-main-plot[data-dash-is-loading="true"]) ~ #page-loading,
#page-content:has(#qa-container:not([style*="display: none"]) #qa-main-graph[data-dash-is-loading="true"]) ~ #page-loading {
    display: flex;
}

.page-loading-overlay {
    align-items: flex-start;
    bottom: 0;
    display: none;
    justify-content: center;
    left: 0;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 520px;
    z-index: 480;
}

.page-loading-spinner {
    animation: page-loading-spin 0.7s linear infinite;
    border: 5px solid rgba(66, 166, 121, 0.24);
    border-top-color: #42a679;
    border-radius: 50%;
    height: 44px;
    width: 44px;
}

@keyframes page-loading-spin {
    to {
        transform: rotate(360deg);
    }
}

.banner {
    background-color: #272b50;
    min-width: 1160px !important;
    height: 120px;
    width: 100%;
    padding: 0;
    margin: 0;
    position: fixed;
    z-index: 500;
 }

 .banner-logo {
    width: 433px;
    height: 99px;
    margin-top: 10px;
    cursor: default;
    opacity: 1.0;
    visibility: visible;
    user-select: none;
    -webkit-user-select: none;
 }

 #logo-container:hover .hover-home{
    opacity: 0.8;
    left: 50px;
 }

 .hover-home {
    opacity: 0.0;
    position: fixed;
    top: 40px;
    left: -20px;
    color: white;
    font-size: 18px;
    z-index: 500;
    transition: 0.2s;
 }

#banner-right-hover-zone {
    position: fixed;
    top: 0;
    left: calc(50% + 216px);
    right: 0;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 24px;
    z-index: 520;
}

.logout-flyout {
    opacity: 0;
    transform: translateX(20px);
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    color: white;
    text-decoration: none;
    font-size: 18px;
    font-weight: 600;
}

#banner-right-hover-zone:hover .logout-flyout {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}

.logout-flyout:hover {
    text-decoration: underline;
}

 ._dash-undo-redo {
    display: none;
 }

.viz {
    width: 100%;
    margin-right: auto;
    background-color: #FFFFFF;
    margin-top: 30px;
    position: relative;
}

.viz[data-dash-is-loading="true"]::after,
.viz:has([data-dash-is-loading="true"])::after {
    bottom: 0;
    content: "";
    cursor: progress;
    left: 0;
    pointer-events: auto;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 350;
}

.selector {
    width: 100%;
    display: flow-root;
    height: auto;
    max-height: 400px;
    top: 325px;
    position: fixed;
    z-index: 400;
    transition: visibility 0s, opacity 100ms;
    opacity: 1.0;
    visibility: visible;
}

.hidden {
    transition: visibility 0s linear 0s, opacity 100ms;
    visibility: hidden;
    opacity: 0.0;
}

.view {
    position: absolute;
    top: 150px;
    width: 100%;
}

.tab {
    color: #000000;
}

.center-button {
    opacity: 1.0;
    background-color: rgba(255, 255, 255, 1.0);
    width: 100%;
    height: 40px;
    position: fixed;
    top: 285px;
    z-index: 450;
    border-width: 0;
    transition: 0.2s;
}

.center-button:hover {
    background-color: rgba(220, 220, 220, 0.5);
}

.center-button-icon {
    height: 30px;
    width: 30px;
    border-radius: 5px;
    background-color: rgba(255, 255, 255, 0.0);
    margin-top: 5px;
}

.plot-container {
    height: 500px;
    left: 0;
    right: 0;
    width: 100%;
}

#ae-table-container {
    height: 446px;
    margin-left: auto;
    margin-right: auto;
}

#ae-charts {
    height: 200px;
}

#ae-all-trt-chart {
    float: left;
    height: 200px;
    width: 50%;
}

#ae-trt-chart {
    height: 200px;
    width: 50%;
    float: right;
}

._dash-loading-callback{
  display: none;
}


@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Firefox < 16 */
@-moz-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Opera < 12.1 */
@-o-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
