html.preloading::after {
    content: "";
    position: fixed;
    inset: 0;
    backdrop-filter: blur(10px);
    background: var(--e-global-color-nvsitebg, #fff);
    z-index: 999997;
}
html::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    height: 5px;
    width: var(--progress);
    background-color: var(--e-global-color-nvprimaryaccent, #0177b3);
    transition: width 0.4s;
    z-index: 999998;
}
html.preloading body::before {
    content: "";
    position: fixed;
    top: 50%;
    left: 50%;
    width: 120px;
    height: 120px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transform: translate(-50%, -50%);
    z-index: 999999;
    pointer-events: none;
    animation: 1.8s cubic-bezier(0.75, 0, 0.3, 1) infinite heartbeat-fluido;
}
html.preloading {
    --progress: 0%;
}
html.preloading body {
    overflow: hidden;
}
@keyframes heartbeat-fluido {
    0%,
    100%,
    60% {
        transform: translate(-50%, -50%) scale(1);
    }
    15% {
        transform: translate(-50%, -50%) scale(1.12);
    }
    30% {
        transform: translate(-50%, -50%) scale(0.97);
    }
    45% {
        transform: translate(-50%, -50%) scale(1.05);
    }
}
