#veoveo-preloader{
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    pointer-events:auto;
    opacity:1;
    visibility:visible;
    transition:opacity var(--vvp-fade,1200ms) ease, visibility var(--vvp-fade,1200ms) ease;
}
#veoveo-preloader.vvp-hidden{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}
#veoveo-preloader .vvp-overlay{
    position:absolute;
    inset:0;
    background:var(--vvp-bg,#000034);
    opacity:var(--vvp-opacity,0.95);
}
#veoveo-preloader .vvp-inner{
    position:relative;
    z-index:1;
    width:min(92vw, 760px);
    padding:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    box-sizing:border-box;
}
#veoveo-preloader .vvp-logo{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    will-change:transform, opacity;
    animation:vvpFloat 2.8s ease-in-out infinite;
}
#veoveo-preloader .vvp-logo-image{
    display:block;
    width:var(--vvp-logo-width, 200px) !important;
    max-width:var(--vvp-logo-width, 200px) !important;
    min-width:var(--vvp-logo-width, 200px);
    height:auto !important;
    max-height:70vh;
    object-fit:contain;
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
    flex:0 0 var(--vvp-logo-width, 200px);
}
@keyframes vvpFloat{
    0%{transform:translateY(0) scale(1);}
    50%{transform:translateY(-4px) scale(1.008);}
    100%{transform:translateY(0) scale(1);}
}
@media (max-width: 767px){
    #veoveo-preloader .vvp-inner{
        width:100%;
        padding:24px;
    }
    #veoveo-preloader .vvp-logo-image{
        width:60vw !important;
        max-width:60vw !important;
        min-width:0;
        flex:0 1 60vw;
    }
}
