html.page-loading {
    overflow: hidden !important;
}

#page-loader {
    position: fixed;
    inset: 0;
    background: #FBFAFE;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 1;
    transition: opacity 0.3s ease;
}

#page-loader.is-hidden {
    opacity: 0;
    pointer-events: none;
}

#page-loader .medical-loader {
    opacity: 0;
    transition: opacity 0.2s ease;
}

#page-loader .medical-loader.visible {
    opacity: 1;
}

#page-loader .ekg-svg {
    display: block;
    width: 220px;
    height: auto;
    aspect-ratio: 640 / 160;
}

#page-loader .ekg-wave {
    fill: none;
    stroke: #017DEF;
    stroke-width: 8;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 620 260;
    stroke-dashoffset: 880;
}

#page-loader .medical-loader.visible .ekg-wave {
    animation: ekg-wave-scroll 4s linear infinite;
}

@keyframes ekg-wave-scroll {
    to {
        stroke-dashoffset: -880;
    }
}
