body {
    background-image: linear-gradient(-90deg, rgb(233, 23, 223), indigo, rgb(7, 0, 4));
    margin: 0px;

    width: 100vw;
    height: 100vh;
    max-width: 100vw;

    /* align-items: center; */
    overflow-x: hidden;
    overflow-y: hidden;
    align-items: center;
    justify-content: center;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}

.fixed-info {
    display: none;
    background: rgba(76, 72, 77, 0.212);
    box-shadow: 0px 1px 5px #673585, 0px -1px 5px #aeafb1;
    border-bottom-right-radius: 70%;
    color: white;
    position: fixed;
    top: 0px;
    height: 150px;
    width: 250px;
    line-height: 50px;
    align-items: center;
    justify-content: center;
    transition: bottom 0.5s ease;
    background-image: radial-gradient(circle, rgba(117, 44, 117, 0.897) 0%, rgba(57, 43, 58, 0.246) 100%);
}

.fixed-info>#left-side {
    left: 0px;
    color: white;
    font-size: larger;
    font-weight: 500;

    border-bottom-right-radius: 70%;
}

.fixed-info>#right-side {
    right: 0;
    border-bottom-left-radius: 70%;
}

#game-screen {
    width: 100vw;
    height: 100vh;
}

.startBtn {
    background-image: linear-gradient(rgba(75, 29, 97, 0.808), rgb(37, 2, 70));
    left: 50%;
    top: 50%;
    height: 75px;
    width: 75px;
    color: whitesmoke;
    border-radius: 50%;
    position: absolute;
    display: none;
    animation: shifty 2.5s ease-in-out infinite alternate,
        glow-frame 5s ease-in-out infinite alternate;
    cursor: pointer;
}

#game-title {
    display: block;
    height: auto;
    margin: auto;
    text-align: center;
    color: whitesmoke;
    position: absolute;
    display: flex;
    top: 30%;
    font-size: xx-large;
}

#modal-bg {
    display: none;
    position: absolute;
    margin: 0px;
    background-image: radial-gradient(rgba(28, 22, 44, 0.781), rgba(50, 12, 58, 0.705));
    left: 0px;
    top: 0px;
    width: 100vw;
    height: 100vh;
}

.modal-body {
    position: relative;
    float: left;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 50%;
    height: 25%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: linear-gradient(rgba(255, 255, 255, 0.575), rgba(128, 128, 128, 0.521));
    border-radius: 25px;
    animation: shifty 2.5s ease-in-out infinite alternate,
        glow-frame 5s ease-in-out infinite alternate;
}

.modal-text {
    display: flex;
    justify-content: center;
}

#ready-modal,
#continue-modal,
#return-modal {
    position: absolute;
    background-image: linear-gradient(rgba(246, 244, 247, 0.808), rgb(37, 2, 70));
    color: aliceblue;
    height: 50px;
    width: 150px;
    border-radius: 150px;
    left: 65%;
    top: 80%;
}

#done-modal {
    position: absolute;
    background-image: linear-gradient(rgba(246, 244, 247, 0.808), rgb(37, 2, 70));
    color: aliceblue;
    height: 50px;
    width: 150px;
    border-radius: 150px;
    left: 65%;
    top: 80%;
}

#temp-field {
    display: none;
    position: absolute;
    border-radius: 50%;
    left: calc(100vw / 2 - 150px);
    top: calc(100vh / 2 - 150px);
    transform-origin: center;
    width: 300px;
    height: 300px;
    box-shadow: inset 0 0 50px #fff,
        inset 20px 0 60px #a166ab,
        inset -20px 0 60px #07b39b,
        inset 20px 0 300px #a166ab,
        inset -20px 0 300px #07b39b,
        0 0 50px #fff,
        -10px 0 60px #a166ab,
        10px 0 60px #07b39b;
    animation: wave 1s infinite;
    transition: .5s all;
}

#temp-field:after {
    border-radius: 50%;
    box-shadow: inset 0 0 50px #fff,
        inset 20px 0 60px #a166ab,
        inset -20px 0 60px #07b39b,
        inset 20px 0 300px #a166ab,
        inset -20px 0 300px #07b39b,
        0 0 50px #fff,
        -10px 0 60px #a166ab,
        10px 0 60px #07b39b;
}

.color-flash {
    /* background-image: radial-gradient(farthest-corner at 10px 0, rgb(31, 27, 32), rgb(170, 230, 248)); */
    background-image: linear-gradient(-180deg, rgba(255, 0, 234, 0.692), rgb(54, 202, 247), rgb(4, 0, 7));
}

.collision-detected {
    border-radius: 50%;
    background-image: linear-gradient(-90deg, rgb(238, 49, 228), rgb(148, 28, 235), rgb(7, 0, 4));
    animation: damage 1s linear 0s infinite normal;
}

@keyframes damage {
    0% {
        transform: scale(0.3) rotate(0deg);
        box-shadow: 10 0 0 25px rgb(237, 253, 15);
    }

    25% {
        transform: scale(2) rotate(360deg);
        box-shadow: 100 0 15px rgb(1, 19, 24);
        ;
    }

    50% {
        transform: scale(0.3) rotate(720deg);
        box-shadow: 0 0 25px rgb(249, 253, 15);
    }

    100% {
        transform: scale(0.3) rotate(0deg);
        box-shadow: 0 0 15px rgb(14, 58, 70);
    }
}

.hit-box {
    display: none;
    border-radius: 50%;
    position: absolute;
    left: calc(100vw / 2 - 75px);
    top: calc(100vh / 2 - 75px);
    width: 150px;
    height: 150px;
    transition: .5s all;
}

@keyframes field {
    0% {
        box-shadow: inset 50 0 0px rgba(255, 255, 255, 0.473),
            inset 20px 0 60px #a166ab70,
            inset -20px 0 60px #07b39c6e,
            inset 20px 0 150px #a166ab8a,
            inset -20px 0 150px #07b39c6e,
            0 0 50px rgba(255, 255, 255, 0.623),
            -10px 0 60px #6695ab77,
            10px 0 60px #07b39c49;
        transform: scale(.5);
    }

    100% {
        background-image: linear-gradient(-90deg, rgb(238, 49, 228), rgb(148, 28, 235), rgb(7, 0, 4));
        box-shadow: inset 0 0 50px rgba(255, 255, 255, 0.473),
            inset -20px 0 60px #a166ab6e,
            inset 20px 0 60px #07b39c6e,
            inset -20px 0 150px #a166ab8a,
            inset 20px 0 150px #07b39c6e,
            0 0 150px rgba(255, 255, 255, 0.623),
            10px 0 60px #a166ab3f,
            -10px 0 60px #07b39c49;
        transform: scale(1.5);


    }
}

.turret {
    display: none;
    background-image: radial-gradient(farthest-corner at 10px 0, rgb(12, 11, 12), rgb(166, 119, 253));
    border-radius: 50%;
    position: absolute;
    left: calc(100vw / 2 - 50px);
    top: calc(100vh / 2 - 50px);
    width: 100px;
    height: 100px;
}

.wing {
    display: none;
    position: absolute;
    border-radius: 50%;
    position: absolute;
    left: calc(100vw / 2 - 80px);
    top: calc(100vh / 2 - 30px);
    width: 50px;
    height: 50px;
    border-top: 55px solid rgba(51, 21, 51, 0.856);
    border-left: 55px solid transparent;
    border-right: 55px solid transparent;
    transform-origin: center 30px;
}

.shockwave {
    box-shadow: 10 0 0 10 rgba(248, 79, 248, 0.329);
    left: calc(100vw / 2 - 75px);
    top: calc(100vh / 2 - 75px);
    width: 150px;
    height: 150px;
    border-radius: 100%;
    animation: field .25s infinite;
}

/* ******************** */
.force-field {
    position: absolute;
    border-radius: 50%;
    top: 25px;
    left: 25px;
    width: 0px;
    height: 0px;
    border: 50px solid rgba(5, 19, 214, 0.356);
    transform-origin: center;
}

#touch-ship {
    display: none;
    position: absolute;
    border-radius: 50%;
    top: 25px;
    left: 25px;
    width: 0px;
    height: 0px;
    border: 50px solid rgba(26, 61, 77, 0.356);
    transform-origin: center;
}

#cross-hair {
    position: relative;
    display: none;
    width: 50px;
    height: 50px;
    transform: translate(25px, 15px);
    border-radius: 70%;
    border-top: 5px solid rgb(255, 0, 200);
}

#blaster {
    display: none;
    background-image: radial-gradient(farthest-corner at 10px 0, rgba(31, 27, 32, 0.808), rgba(170, 230, 248, 0.698), rgb(37, 2, 70));
    position: absolute;
    left: calc(100vw / 2);
    top: calc(100vh / 2);
    width: 0px;
    height: 0px;
    width: 0;
    height: 0;
    touch-action: none;
}

.laser-beam {
    position: absolute;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    box-shadow: inset 0 0 50px #fff,
        inset 20px 0 60px #a166ab,
        inset -20px 0 60px #07b39b,
        inset 20px 0 300px #a166ab,
        inset -20px 0 300px #07b39b,
        0 0 50px #fff,
        -10px 0 60px #a166ab,
        10px 0 60px #07b39b;
}

.laser-beam:after {
    border-radius: 50%;
    box-shadow: inset 0 0 50px #fff,
        inset 20px 0 60px #a166ab,
        inset -20px 0 60px #07b39b,
        inset 20px 0 300px #a166ab,
        inset -20px 0 300px #07b39b,
        0 0 50px #fff,
        -10px 0 60px #a166ab,
        10px 0 60px #07b39b;
}

.bubble {
    position: absolute;
    border-radius: 100%;
    box-shadow: 0 0 0 rgba(79, 228, 248, 0.4);
    animation: pulse 2s infinite;
    transition: .5s all;
}

.laser-beam:after {
    box-shadow: 0 0 0 rgba(79, 228, 248, 0.4);
    animation: wave 2s infinite;
    transition: .5s all;
}

@keyframes pulse {
    0% {
        -moz-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.37);
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.37);
    }

    70% {
        -moz-box-shadow: 0 0 0 30px rgba(204, 169, 44, 0);
        box-shadow: 0 0 0 30px rgba(204, 169, 44, 0);
    }

    100% {
        -moz-box-shadow: 0 0 0 0 rgba(204, 169, 44, 0);
        box-shadow: 0 0 0 0 rgba(204, 169, 44, 0);
    }
}

@keyframes wave {
    0% {
        box-shadow: 0 0 0 0 rgba(118, 68, 177, 0.712);
        box-shadow: 0 0 0 125px rgba(54, 6, 63, 0.787);
        opacity: 0;
        transform: scale(.5);

    }

    50% {
        box-shadow: 10 0 0 250px rgba(255, 93, 233, 0.596);
        /* box-shadow: 0 0 0 50px rgba(161, 68, 177, 0.424); */
        opacity: 100%;
        transform: rotate(360deg);
        transform: scale(.75);
    }

    100% {
        box-shadow: 20 0 20 0 rgba(210, 10, 245, 0.486);
        /* box-shadow: 0 0 0 0 rgba(226, 2, 246, 0.424); */
        opacity: 75%;
        box-shadow: 10 0 250px rgba(255, 255, 255, 0.767);

        transform: scale(.5);
    }
}

/* *************************************** */
#time-bubble {
    display: block;
    position: absolute;
    border-radius: 50%;
    left: calc(100vw / 2 - 150px);
    top: calc(100vh / 2 - 150px);
    transform-origin: center;
    width: 300px;
    height: 300px;
    box-shadow: inset 0 0 50px #fff,
        inset 20px 0 60px #a166ab,
        inset -20px 0 60px #07b39b,
        inset 20px 0 300px #a166ab,
        inset -20px 0 300px #07b39b,
        0 0 50px #fff,
        -10px 0 60px #a166ab,
        10px 0 60px #07b39b;
    animation: shift 3s infinite;
    transition: .5s all;
}

#time-bubble:after {
    border-radius: 50%;
    box-shadow: inset 0 0 50px #fff,
        inset 20px 0 60px #a166ab,
        inset -20px 0 60px #07b39b,
        inset 20px 0 300px #a166ab,
        inset -20px 0 300px #07b39b,
        0 0 50px #fff,
        -10px 0 60px #a166ab,
        10px 0 60px #07b39b;
}

.glow {
    font-size: 80px;
    color: #fff;
    text-align: center;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    animation: glow 1s ease-in-out infinite alternate;
}

@keyframes glow {
    from {
        transform: rotate(-90);
        transform: skewX(.5deg) translateY(5px);
        text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #e60073, 0 0 40px #e60073, 0 0 50px #e60073, 0 0 60px #e60073, 0 0 70px #e60073;
    }

    to {
        transform: rotate(360);
        transform: skewX(0deg) translateX(2px);
        text-shadow: 0 0 20px #fff, 0 0 30px #ff4da6, 0 0 40px #ff4da6, 0 0 50px #ff4da6, 0 0 60px #ff4da6, 0 0 70px #ff4da6, 0 0 80px #ff4da6;
    }
}

@keyframes glow-frame {
    from {
        box-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #e60073, 0 0 40px #e60073, 0 0 50px #e60073, 0 0 60px #e60073, 0 0 70px #e60073;
    }

    to {
        box-shadow: 0 0 20px #fff, 0 0 30px #ff4da6, 0 0 40px #ff4da6, 0 0 50px #ff4da6, 0 0 60px #ff4da6, 0 0 70px #ff4da6, 0 0 80px #ff4da6;
    }
}

@keyframes shift {
    25% {
        /* transform: skew(15deg, 15deg); */

    }

    75% {
        opacity: 0.5;
    }
}

@keyframes shifty {
    25% {}

    75% {
        opacity: 0.5;
    }
}

.msg-block {
    height: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
    /* transition: bottom 1.5s ease-in-out; */
}

#intro-msg {
    display: flex;
    text-align: center;
    height: 100%;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    color: rgb(185, 228, 245);
    transition: .5s all;
}

.enter-btn {
    text-decoration: none;
    display: none;
    position: absolute;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 50px;
    left: calc(100vw / 2 - 75px);
    top: calc(100vh / 2 - 35px);
    border-top: rgba(243, 246, 247, 0.596) solid 5px;
    border-bottom: rgb(243, 246, 247, 0.596) solid 5px;
    color: rgb(243, 246, 247, 0.596);
    line-height: 65px;
    height: 70px;
    width: 150px;
    cursor: pointer;

}

.enter-btn:hover {
    animation: glow 1s ease-in-out infinite alternate;
}

#num-seq {
    margin: 0;
    top: 0;
    left: 0;
    display: block;
    position: absolute;
    width: 100vw;
    height: 100vh;
    color: whitesmoke;
    text-align: center;
    font-size: 90vh;
    line-height: 95vh;
    animation: glow 1s ease-in-out infinite alternate;
}

.skip-btn {
    position: absolute;
    /* border:#07b39b solid 2px;
    width: 100px;
    height: 100px; */
    right: 50px;
    bottom: 50px;
    display: flex;
    /* justify-content:start; */
    /* justify-content: center; */

    /* align-items: left; */
    cursor: pointer;
    width: 0;
    height: 0;
    border-top: 30px solid transparent;
    border-left: 60px solid rgba(70, 51, 92, 0.705);
    border-bottom: 30px solid transparent;
}

.skip-btn-text {
    position: relative;
    color: #fff;
    left: -50px;
    /* right: 60px; */
    /* top: 15px; */
    display: flex;
    text-align: center;
    justify-content: center;
    line-height: 0px;
}

.skip-btn {
    animation: shifty 4s ease-in-out infinite alternate;
}

.skip-btn-text:hover {
    animation: glow 1s ease-in-out infinite alternate;
}

.toggle-mute-btn {
    position: absolute;
    display: flex;
    align-content: space-around;
    top: 25px;
    right: 25px;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.541);
}

.toggle-mute-btn>div>i {
    margin-right: 10px;
}

.toggle-mute-btn:hover {
    animation: shifty 2s ease-in-out infinite;
}

#muted-music {
    display: none;
}