
/* MT Public Motion v1 */
:root{
    --mt-public-gold:#e01020;
    --mt-public-bg:#101010;
    --mt-public-ease:cubic-bezier(.22,.8,.22,1)
}

html.mt-public-loading,
html.mt-public-loading body{
    overflow:hidden
}

#mt-public-loader{
    position:fixed;
    inset:0;
    z-index:99999;
    display:grid;
    place-items:center;
    background:#0e0e0e;
    opacity:1;
    visibility:visible;
    transition:
        opacity .32s ease,
        visibility .32s ease
}

#mt-public-loader.is-leaving{
    opacity:0;
    visibility:hidden;
    pointer-events:none
}

.mt-public-loader-card{
    width:min(360px,82vw);
    text-align:center;
    animation:mtPublicLoaderEnter .48s var(--mt-public-ease) both
}

.mt-public-loader-mark{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:88px;
    min-height:88px;
    margin-bottom:15px;
    border:1px solid rgba(201,151,69,.45);
    border-radius:50%;
    color:#fff;
    font-size:32px;
    font-weight:950;
    letter-spacing:-2px;
    overflow:hidden
}

.mt-public-loader-mark::after{
    content:"";
    position:absolute;
    inset:-20%;
    width:32%;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.55),
        transparent
    );
    transform:rotate(-28deg) translateX(-260%);
    animation:mtPublicLogoShine 1.05s ease-in-out infinite
}

.mt-public-loader-title{
    display:block;
    color:#fff;
    font-size:17px;
    font-weight:900;
    letter-spacing:.8px
}

.mt-public-loader-sub{
    display:block;
    margin-top:4px;
    color:rgba(255,255,255,.5);
    font-size:9px;
    letter-spacing:1.2px;
    text-transform:uppercase
}

.mt-public-loader-line{
    position:relative;
    width:128px;
    height:2px;
    margin:17px auto 0;
    overflow:hidden;
    border-radius:999px;
    background:rgba(255,255,255,.12)
}

.mt-public-loader-line::after{
    content:"";
    position:absolute;
    inset:0;
    width:38%;
    border-radius:inherit;
    background:var(--mt-public-gold);
    animation:mtPublicLoaderBar .9s ease-in-out infinite
}

body.mt-public-ready main,
body.mt-public-ready .site-main,
body.mt-public-ready .page-wrap,
body.mt-public-ready .booking-wrap,
body.mt-public-ready .lookup-wrap{
    animation:mtPublicMainEnter .44s var(--mt-public-ease) both
}

.mt-reveal{
    opacity:0;
    transform:translateY(14px);
    transition:
        opacity .5s ease,
        transform .58s var(--mt-public-ease)
}

.mt-reveal.is-visible{
    opacity:1;
    transform:translateY(0)
}

body.mt-page-leaving{
    opacity:.72;
    transform:translateY(2px);
    transition:
        opacity .15s ease,
        transform .15s ease
}

@keyframes mtPublicLoaderEnter{
    from{opacity:0;transform:translateY(10px) scale(.97)}
    to{opacity:1;transform:translateY(0) scale(1)}
}

@keyframes mtPublicLogoShine{
    0%{transform:rotate(-28deg) translateX(-280%)}
    100%{transform:rotate(-28deg) translateX(520%)}
}

@keyframes mtPublicLoaderBar{
    0%{transform:translateX(-140%)}
    100%{transform:translateX(350%)}
}

@keyframes mtPublicMainEnter{
    from{opacity:.55;transform:translateY(5px)}
    to{opacity:1;transform:translateY(0)}
}

@media(max-width:600px){
    .mt-public-loader-mark{
        min-width:76px;
        min-height:76px;
        font-size:28px
    }

    .mt-public-loader-title{
        font-size:15px
    }

    .mt-reveal{
        transform:translateY(10px)
    }
}

@media(prefers-reduced-motion:reduce){
    #mt-public-loader,
    .mt-public-loader-card,
    .mt-public-loader-mark::after,
    .mt-public-loader-line::after,
    body.mt-public-ready main,
    body.mt-public-ready .site-main,
    body.mt-public-ready .page-wrap,
    body.mt-public-ready .booking-wrap,
    body.mt-public-ready .lookup-wrap,
    .mt-reveal,
    body.mt-page-leaving{
        animation:none!important;
        transition:none!important;
        transform:none!important
    }

    .mt-reveal{
        opacity:1!important
    }
}
