* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {

    --red: #e53935;
    --red-dark: #7f1111;
    --green: #4caf50;

    --white: #ffffff;

    --muted: rgba(255,255,255,.52);

}


/* =========================================================
   BODY
========================================================= */

html,
body {

    width: 100%;
    height: 100%;

    overflow: hidden;

}

body {

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    color: var(--white);

    background:

        linear-gradient(
            90deg,
            rgba(0,0,0,.94) 0%,
            rgba(0,0,0,.72) 40%,
            rgba(0,0,0,.30) 100%
        ),

        linear-gradient(
            0deg,
            rgba(110,0,0,.45),
            transparent 65%
        ),

        url("../assets/background.jpg")
        center center /
        cover
        no-repeat;

}


/* =========================================================
   RED LIGHT
========================================================= */

.red-glow {

    position: fixed;

    width: 550px;
    height: 550px;

    top: -300px;
    right: 5%;

    background:
        rgba(220,0,0,.25);

    filter: blur(110px);

    animation:
        pulse 3s
        ease-in-out
        infinite
        alternate;

    pointer-events: none;

}

@keyframes pulse {

    from {
        opacity: .25;
    }

    to {
        opacity: .75;
    }

}


/* =========================================================
   CONTENT
========================================================= */

.container {

    position: relative;

    z-index: 2;

    width: 100%;
    height: 100%;

    display: flex;

    align-items: center;

    padding-left: 9%;

}

.content {

    width: 600px;

}


/* =========================================================
   TITLE
========================================================= */

.server-type {

    color: var(--red);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 5px;

    text-transform: uppercase;

    margin-bottom: 15px;

}

.title {

    font-size: 110px;

    line-height: .8;

    font-weight: 900;

    letter-spacing: -7px;

    text-shadow:
        0 10px 35px rgba(0,0,0,.9);

}

.subtitle {

    margin-top: 20px;

    font-size: 21px;

    font-weight: 300;

    letter-spacing: 7px;

    color:
        rgba(255,255,255,.78);

}


/* =========================================================
   PLAYER
========================================================= */

.player {

    display: flex;

    align-items: center;

    margin-top: 42px;

}

.avatar-wrapper {

    width: 74px;
    height: 74px;

    padding: 3px;

    border-radius: 50%;

    background:

        linear-gradient(
            135deg,
            var(--red),
            #3b0000
        );

    box-shadow:
        0 0 25px
        rgba(220,0,0,.25);

}

#avatar {

    width: 100%;
    height: 100%;

    object-fit: cover;

    border-radius: 50%;

    background: #111;

}

.player-info {

    margin-left: 18px;

}

.player-label {

    color: var(--muted);

    font-size: 10px;

    letter-spacing: 2px;

    text-transform: uppercase;

    margin-bottom: 5px;

}

#player-name {

    font-size: 18px;

    font-weight: 600;

}


/* =========================================================
   SERVER INFO
========================================================= */

.server-info {

    display: flex;

    gap: 45px;

    margin-top: 34px;

}

.info-label {

    color: var(--muted);

    font-size: 9px;

    letter-spacing: 2px;

    text-transform: uppercase;

    margin-bottom: 7px;

}

.info-value {

    font-size: 15px;

    font-weight: 600;

    max-width: 250px;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;

}


/* =========================================================
   LOADING
========================================================= */

.loading {

    width: 520px;

    margin-top: 45px;

}

.loading-header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 10px;

}

#status {

    color: var(--muted);

    font-size: 11px;

    letter-spacing: 1.5px;

}

#percentage {

    color: var(--red);

    font-size: 12px;

    font-weight: 700;

}

.progress-background {

    width: 100%;

    height: 5px;

    background:
        rgba(255,255,255,.10);

    overflow: hidden;

}

#progress {

    width: 0%;

    height: 100%;

    background:
        linear-gradient(
            90deg,
            #9c1717,
            var(--red)
        );

    box-shadow:
        0 0 18px
        var(--red);

    transition:
        width .2s ease;

}

#current-file {

    display: block;

    margin-top: 10px;

    color:
        rgba(255,255,255,.35);

    font-size: 10px;

    max-width: 520px;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;

}


/* =========================================================
   WORKSHOP
========================================================= */

.workshop {

    width: 520px;

    margin-top: 22px;

    padding: 14px 16px;

    background:
        rgba(0,0,0,.25);

    border-left:
        2px solid
        rgba(229,57,53,.7);

}

.workshop-header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 9px;

}

.workshop-title {

    color: var(--muted);

    font-size: 9px;

    letter-spacing: 2px;

    text-transform: uppercase;

}

#workshop-status {

    color: var(--red);

    font-size: 10px;

    font-weight: 700;

}

#workshop-file {

    color:
            rgba(255,255,255,.65);

    font-size: 11px;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;

}

#workshop-count {

    margin-top: 6px;

    color:
            rgba(255,255,255,.42);

    font-size: 10px;

    letter-spacing: .8px;

    text-transform: uppercase;

}

.workshop-progress-bg {

    margin-top: 9px;

    width: 100%;

    height: 2px;

    background:
            rgba(255,255,255,.08);

}

#workshop-progress {

    width: 0%;

    height: 100%;

    background: #b72b2b;

    box-shadow:
            0 0 12px
            rgba(229,57,53,.55);

    transition:
            width .15s ease;
}


/* =========================================================
   FOOTER
========================================================= */

.footer {

    position: fixed;

    z-index: 5;

    left: 9%;
    right: 9%;

    bottom: 30px;

    display: flex;

    justify-content: space-between;

    color:
        rgba(255,255,255,.32);

    font-size: 10px;

    letter-spacing: 1.5px;

}

.online {
    color: var(--green);
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width: 800px) {

    .container {
        padding: 30px;
    }

    .content {
        width: 100%;
    }

    .title {
        font-size: 75px;
    }

    .loading,
    .workshop {
        width: 90%;
    }

    .server-info {
        gap: 20px;
    }

    .footer {
        left: 30px;
        right: 30px;
    }

}