.pmb-page-loader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at 35% 30%, rgba(48, 133, 242, .08), transparent 22rem),
        radial-gradient(circle at 64% 68%, rgba(124, 221, 96, .1), transparent 18rem),
        rgba(255, 255, 255, .97);
    opacity: 1;
    visibility: visible;
    transition: opacity .38s ease, visibility .38s ease;
}

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

.pmb-loader-mark {
    position: relative;
    width: 170px;
    height: 170px;
    display: grid;
    place-items: center;
    border-radius: 999px;
}

.pmb-loader-ring {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: conic-gradient(
        from 0deg,
        #3342df 0deg,
        #426df4 78deg,
        #72c9ca 154deg,
        #92dd5f 230deg,
        #3342df 360deg
    );
    animation: pmbLoaderSpin .86s linear infinite;
    box-shadow: 0 18px 40px rgba(20, 91, 184, .16);
}

.pmb-loader-ring::after {
    content: "";
    position: absolute;
    inset: 18px;
    border-radius: inherit;
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(219, 231, 246, .9);
}

.pmb-loader-mark img,
.pmb-loader-mark strong {
    position: relative;
    z-index: 1;
}

.pmb-loader-mark img {
    width: 82px;
    max-height: 60px;
    object-fit: contain;
}

.pmb-loader-mark strong {
    color: #155db8;
    font-size: 18px;
    font-weight: 800;
}

@keyframes pmbLoaderSpin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 520px) {
    .pmb-loader-mark {
        width: 132px;
        height: 132px;
    }

    .pmb-loader-ring::after {
        inset: 15px;
    }

    .pmb-loader-mark img {
        width: 66px;
        max-height: 48px;
    }
}
