@media screen and (pointer: coarse) and (max-device-width: 600px) {

    body{
        overflow: hidden;
    }

    #page-loading{
        background-image: radial-gradient(circle, rgba(0,0,0,0.75), rgba(0,0,0,1)), url('https://zero-network.net/phasmophobia/static/imgs/background.jpg');
        background-repeat: no-repeat;
        background-attachment: fixed;
        background-position: center;
        background-size: cover;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: -8px;
        z-index: 999;
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        color: #ccc;
        font-family: "ZNDefault";
        font-size: 75px;
    }
    
    .not-loading{
        position: absolute;
        bottom: 5px;
        opacity: 0.7;
        text-decoration: none;
        font-size: 35px;
    }
    
    .not-loading a:link{
        color: #ffff00;
    }
    
    .not-loading a:visited{
        color: #ffff00;
    }
    
    .not-loading a:hover{
        color: #ff9100;
    }
    
    .not-loading a:active{
        color: #00ff00;
    }

    .dot-loading {
        margin: 40px;
        align-self: center;
        position: relative;
        width: 40px;
        height: 40px;
        border-radius: 20px;
        background-color: #393c64;
        color: #393c64;
        animation: dotLoading 1s infinite linear alternate;
        animation-delay: .5s;
    }
    
    .dot-loading::before, .dot-loading::after {
        content: '';
        display: inline-block;
        position: absolute;
        top: 0;
    }
    
    .dot-loading::before {
        left: -50px;
        width: 40px;
        height: 40px;
        border-radius: 20px;
        background-color: #393c64;
        color: #393c64;
        animation: dotLoading 1s infinite alternate;
        animation-delay: 0s;
    }
    
    .dot-loading::after {
        left: 50px;
        width: 40px;
        height: 40px;
        border-radius: 20px;
        background-color: #393c64;
        color: #393c64;
        animation: dotLoading 1s infinite alternate;
        animation-delay: 1s;
    }
    
    @keyframes dotLoading {
        0% {
            background-color: #393c64;
        }
        50%,
        100% {
            background-color: #ccc;
        }
    }

    hr{
        border: 2px dashed rgba(204, 204, 204, 0.26);
        margin: 15px;
        width: 95%;
    }

    .broadcast {
        display: flex;
        justify-content: center;
        align-items: start;
        position: fixed;
        top: 20px;
        left: 0;
        right: 0;
        z-index: 1000;
        box-shadow: 0px 0px 40px 85px rgba(0, 0, 0, 0.8);
        background: rgba(0, 0, 0, 0.8);
    }
    
    .broadcast-content {
        background-color: #313248;
        color: #fff;
        padding: 20px 20px 30px 20px;
        border-radius: 5px;
        width: auto;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        max-width: 90%;
    }

    .broadcast-content img{
        width: 64px;
        height: 64px;
    }
    
    #broadcast-message{
        max-width: 100%;
        text-wrap: wrap;
        margin-left: 40px;
        margin-right: 110px;
        font-size: 35px;
    }
    
    .broadcast-timer-bar-container {
        width: 100%;
        height: 3px;
        background-color: rgb(32, 32, 32);
        margin-top: 10px;
        position: absolute;
        margin-left: -10px;
        bottom: 3px;
    }
    
    .broadcast-timer-bar {
        width: 100%;
        height: 100%;
        background-color: rgb(199, 199, 199);
        transition: width 0.1s;
    }
    

    #blackout, #blackout_voice, #blackout_zndl, #blackout_debug, #blackout_image, #blackout_calibrate, #blackout_weekly{
        position: fixed;
        background: rgba(0,0,0,0.9);
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        justify-content: center;
        align-content: center;
        z-index: 110;
        color: #cccccc44;
    }

    #debug-console{
        width: 100%;
        height: 100%;
        margin-top: 58px;
        background-color: #111;
        border: none;
        resize: none;
        overflow: auto;
        color: #33ff33;
        font-size: 20px;
    }

    .debug-copy{
        cursor: pointer;
        text-decoration: underline;
        padding-top: 10px;
        color: #ffff00;
    }
    .debug-copy:hover{
        color: #ff9100;
    }

    #blackout_image{
        opacity: 0;
        transition: opacity 0.5s;
        cursor: zoom-out;
    }

    #blackout_image_subtitle{
        text-align: center;
        padding-top: 5px;
    }

    #zoom_image{
        object-fit: contain;
        max-width: 750px;
        width: calc(100% - 50px);
        cursor: zoom-out;
    }

    .zoomable{
        cursor: zoom-in;
        margin: 10px 0px;
    }

    #info_box_weekly h3{
        font-size: 40px;
    }

    #weekly_info_box h1{
        font-size: 60px;
    }

    #weekly_info_box h4{
        font-size: 30px;
        margin: 0px 50px 30px 50px;
    }

    .weekly-modifiers{
        width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: space-around;
        flex-wrap: wrap;
    }

    .weekly-mod{
        flex:1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 10px;
        font-size: 35px;
        line-height: 65px;
        min-width: 40%;
        font-weight: lighter;
    }

    .weekly-image{
        width: calc(100% - 10px);
        margin-top: 40px;
    }

    #weekly_footer{
        font-size: 30px;
    }

    .weekly-mod a:link, #weekly_footer a:link{
        color: #ffff00;
    }
    
    .weekly-mod a:visited, #weekly_footer a:visited{
        color: #ffff00;
    }
    
    .weekly-mod a:hover, #weekly_footer a:hover{
        color: #ff9100;
    }
    
    .weekly-mod a:active, #weekly_footer a:active{
        color: #00ff00;
    }

    #settings_box, #links_box{
        position: fixed;
        top: 0;
        width: calc(100% - 40px);
        height: 100%;
        background-color: #313248;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: stretch;
        align-items: flex-start;
        color: #fff;
        padding: 5px 20px 38px 20px;
        font-size: 40px;
        transition: left 0.5s ease;
    }

    .less_pad{
        padding-top: 20px !important;
    }

    .settings_check{
        margin-left: 0 !important;
        height: 30px;
        width: 30px;
        margin-right: 15px;
        cursor: pointer;
    }

    .tab_rotate{
        transform: rotate(-90deg);
        width: max-content;
    }

    #settings_tab{
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        width: 40px;
        height: 70px;
        text-align: center;
        top: 16px;
        right: -51px;
        background-color: #313248;
        padding: 5px;
        cursor: pointer;
        border-style: solid;
        border-color: #ccc;
        border-width: 3px 3px 3px 0px;
        border-radius: 0px 20px 20px 0px;
        font-size: 30px;
    }

    .settings_icon{
        width: 40px;
    }

    #settings_status, #discord_link_status{
        width: 50px;
        height: 10px;
        border-radius: 0px 20px 0px 0px;
        top: 0px;
        right: 0px;
        position: absolute;
    }

    #dllink_status{
        width: 50px;
        height: 10px;
        border-radius: 0px 0px 0px 0px;
        top: 12px;
        right: 0px;
        position: absolute;
    }

    #voice_recognition_status{
        background-size: cover;
        background-repeat: no-repeat;
        width: 30px;
        height: 30px;
        bottom: 10px;
        left: 12px;
        position: absolute;
        
    }

    .pulse_animation{
        animation: mic_pulse 3s infinite;
    }

    @keyframes mic_pulse{
        0% {
            filter: opacity(1);
            -webkit-filter: opacity(1);
        }
        50% {
            filter: opacity(0.5);
            -webkit-filter: opacity(0.3);
        }
        100% {
            filter: opacity(1);
            -webkit-filter: opacity(1);
        }
    }

    .connected{
        background: #2ccc29;
    }

    .pending{
        background: #b5c710;
    }

    .error{
        background: #db4d48;
    }

    .zndlinfo{
        position: absolute;
        left: 0;
        bottom: 0;
        width: 20px;
        cursor: pointer;
        filter: invert(1);
        opacity: 0.5;
    }

    .zndlinfo:hover{
        opacity: 1.0;
    }

    .download{
        position: absolute;
        right: 0;
        bottom: 0;
    }

    .download_icon{
        width: 20px;
        cursor: pointer;
    }

    .download_icon:hover{
        filter: opacity(0.5);
    }

    #links_tab{
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        width: 40px;
        height: 200px;
        text-align: center;
        top: 114px;
        right: -51px;
        background-color: #313248;
        padding: 5px;
        cursor: pointer;
        border-style: solid;
        border-color: #ccc;
        border-width: 3px 3px 3px 0px;
        border-radius: 0px 20px 20px 0px;
        font-size: 30px;
    }

    #discord_link_box{
        position: fixed;
        top: 0;
        width: calc(100% - 40px);
        height: 100%;
        background-color: #313248;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: stretch;
        align-items: flex-start;
        color: #fff;
        padding: 5px 20px 38px 20px;
        font-size: 40px;
        transition: left 0.5s ease;
    }

    #discord_link_tab{
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        width: 40px;
        height: 200px;
        text-align: center;
        top: 343px;
        right: -51px;
        background-color: #313248;
        padding: 5px;
        cursor: pointer;
        border-style: solid;
        border-color: #ccc;
        border-width: 3px 3px 3px 0px;
        border-radius: 0px 20px 20px 0px;
        font-size: 30px;
    }

    #event_box{
        position: fixed;
        top: 0;
        width: calc(100% - 40px);
        height: 100%;
        background-color: #313248;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: stretch;
        align-items: flex-start;
        color: #fff;
        padding: 5px 20px 38px 20px;
        font-size: 40px;
        transition: left 0.5s ease;
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
        will-change: transform;
    }

    #event_tab{
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        width: 40px;
        height: 200px;
        text-align: center;
        top: 1030px;
        right: -51px;
        background-color: #313248;
        padding: 5px;
        cursor: pointer;
        border-style: solid;
        border-color: #ccc;
        border-width: 3px 3px 3px 0px;
        border-radius: 0px 20px 20px 0px;
        font-size: 30px;
    }

    #wiki_box{
        position: fixed;
        top: 0;
        width: calc(100% - 40px);
        height: 100%;
        background-color: #313248;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: stretch;
        align-items: flex-start;
        color: #fff;
        padding: 5px 20px 38px 20px;
        font-size: 40px;
        transition: left 0.5s ease;
    }

    #wiki_tab{
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        width: 40px;
        height: 200px;
        text-align: center;
        top: 573px;
        right: -51px;
        background-color: #313248;
        padding: 5px;
        cursor: pointer;
        border-style: solid;
        border-color: #ccc;
        border-width: 3px 3px 3px 0px;
        border-radius: 0px 20px 20px 0px;
        font-size: 30px;
    }

    #guide_tab_footstep{
        background-image: url(../imgs/footsteps.png);
        filter: invert(1);
        opacity: 0.5;
        width: 40px;
        height: 40px;
        background-size: cover;
        position: absolute;
        bottom: 9px;
        left: 7px;
    }

    .data-warning {
        display: flex;
        align-items: center;
        font-size: 22px;
        color: #fbfe9f;
        
    }

    .data-warning img{
        height: 50px;
        padding-right:20px
    }

    .data-bug {
        display: flex;
        align-items: center;
        font-size: 22px;
        color: #ff7279;
        margin-top: 10px;
    }

    .data-bug img{
        height: 50px;
        padding-right:20px
    }

    .research-link{
        display: flex;
        justify-content: center;
        color: #fbfe9f;
        margin-top: 10px;
        margin-bottom: 15px;
        font-size: 22px;
    }

    .research-link a{
        color: #fbfe9f;
    }

    #maps_box{
        position: fixed;
        top: 0;
        width: calc(100% - 40px);
        height: 100%;
        background-color: #313248;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: stretch;
        align-items: flex-start;
        color: #fff;
        padding: 5px 20px 38px 20px;
        font-size: 40px;
        transition: left 0.5s ease;
    }

    #maps_tab{
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        width: 40px;
        height: 200px;
        text-align: center;
        top: 803px;
        right: -51px;
        background-color: #313248;
        padding: 5px;
        cursor: pointer;
        border-style: solid;
        border-color: #ccc;
        border-width: 3px 3px 3px 0px;
        border-radius: 0px 20px 20px 0px;
        font-size: 30px;
    }

    #map-explorer-link-2{
        display: none;
    }

    #search_box{
        display: none;
    }

    #search_tab{
        display: none;
    }

    #news_box{
        display: none;
    }

    #news_tab{
        display: none;
    }

    .blockout-invis{
        position: fixed;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        z-index: 10;
    }

    #blockout{
        display: none;
    }

    #language_box, #theme_box{
        display: none;
    }

    #language_tab, #theme_tab{
        display: none;
    }

    #discord_tab{
        display: none;
    }

    #youtube_tab{
        display: none;
    }

    #z3d-box{
        display: none;
    }

    #z3d-tab{
        display: none;
    }

    #debug_tab{
        position: fixed;
        width: 70px;
        height: 70px;
        bottom: 90px;
        left: 5px;
        z-index: 1;
        box-shadow: 5px 5px 10px #000;
        border: 1px solid #CCC;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #debug_tab img{
        width: 80% !important;
    }

    .settings_title{
        font-size: 70px;
        margin: 10px 0px 10px 0px;
    }

    .moving_content{
        width: 100%;
        overflow-x: hidden;
        display: flex;
        flex-direction: column;
    }

    #settings_box .icon, #links_box .icon, #discord_link_box .icon, #event_box .icon, #wiki_box .icon, #maps_box .icon, #news_box .icon, #info_box_zndl .icon, .broadcast-content .icon{
        position: absolute;
        top: 24px;
        right: 24px;
        width: 60px;
        height: 60px;
        -ms-transform: rotate(45deg); /* IE 9 */
        -webkit-transform: rotate(45deg); /* Chrome, Safari, Opera */
        transform: rotate(45deg);
        cursor: pointer;
    }

    #settings_box .icon:before, #links_box .icon:before, #discord_link_box .icon:before, #event_box .icon:before, #wiki_box .icon:before, #maps_box .icon:before, #news_box .icon:before, #info_box_zndl .icon:before, .broadcast-content .icon:before{
        content:"";
        position: absolute;
        width:8px;
        height:50px;
        background-color:#fff;
        left:20px;
        top:0px;
    }

    #settings_box .icon:after, #links_box .icon:after, #discord_link_box .icon:after, #event_box .icon:after, #wiki_box .icon:after, #maps_box .icon:after, #news_box .icon:after, #info_box_zndl .icon:after, .broadcast-content .icon:after{
        content:"";
        position: absolute;
        width:50px;
        height:8px;
        background-color:#fff;
        left:0px;
        top:20px;
    }

    #settings_box .info_block, #links_box .info_block, #discord_link_box .info_block, #event_box .info_block, #wiki_box .info_block, #info_box_weekly .info_block{
        display: flex;
        flex-direction: column;
        z-index: 2;
        box-shadow: inset 0 0 10px #161615;
        background: rgba(0,0,0,0.25);
        align-items: center;
        width: 100%;
        padding: 20px 0px 80px 0px;
        user-select: none;
        overflow-y: scroll;
        overflow-x: hidden;
        margin-bottom: 13px;
        border-radius: 5px;
    }

    #speed_offset{
        margin-top: 5px;
        font-weight: bold;
        width: calc(100% - 160px);
        display: flex;
        justify-content: space-evenly;
        align-items: center;
    }

    #offset_value{
        font-size: 60px;
    }

    .speed_icon{
        display: flex;
        align-items: center;
        justify-content: center;
        background: #FFF;
        border-radius: 50px;
        color: #444;
        width: 80px;
        height: 80px;
        text-align: center;
        margin: 0;
        padding: 0;
        cursor: pointer;
        font-size: 42px;
    }

    #info_box, #info_box_voice, #info_box_zndl, #info_box_debug, #info_box_weekly{
        z-index: 100;
        width: calc(100% - 100px);
        height: calc(100% - 100px);
        background-color: #313248;
        border-radius: 5px;  
        display: flex;
        flex-direction: column;
        position: relative;
        flex-wrap: nowrap;
        align-content: stretch;
        align-items: stretch;
        color: #fff;
        padding: 20px;
        overflow-y: scroll;
        font-size: 12px;
    }

    #info_box_weekly{
        padding-bottom: 10px;
    }

    #info_box .icon, #info_box_voice .icon, #info_box_zndl .icon, #info_box_debug .icon, #info_box_weekly .icon{
        position: absolute;
        top: 24px;
        right: 24px;
        width: 40px;
        height:40px;
        -ms-transform: rotate(45deg); /* IE 9 */
        -webkit-transform: rotate(45deg); /* Chrome, Safari, Opera */
        transform: rotate(45deg);
        cursor: pointer;
    }

    #info_box .icon:before, #info_box_voice .icon:before, #info_box_zndl .icon:before, #info_box_debug .icon:before, #info_box_weekly .icon:before{
        content:"";
        position: absolute;
        width:7px;
        height:28px;
        background-color:#fff;
        left:14px;
        top:4px;
    }

    #info_box .icon:after, #info_box_voice .icon:after, #info_box_zndl .icon:after, #info_box_debug .icon:after, #info_box_weekly .icon:after{
        content:"";
        position: absolute;
        width:28px;
        height:7px;
        background-color:#fff;
        left:4px;
        top:14px;
    }

    #info_box .info_block, #info_box_voice .info_block, #info_box_zndl .info_block{
        font-family: 'Courier New', Courier, monospace;
        box-shadow: inset 0 0 10px #161615;
        background: rgba(0,0,0,0.25);
        padding: 10px;
        height: fit-content;
    }

    #info_box .info_block hr, #info_box_voice .info_block hr, #info_box_zndl .info_block hr{
        width: calc(100% - 10px);
        margin-bottom: 20px;
        margin-top: 20px;
    }

    #info_box .info_text, #info_box_voice .info_text, #info_box_zndl .info_text{
        margin-left: 10px;
    }

    #info_box .info_image_text{
        margin-left: 10px;
        display: grid;
        align-content: center;
        grid-template-columns: 140px auto;
        align-items: center;
    }

    .info_image_text img{
        margin-right: 20px;
        max-height: 120px;
        max-width: 120px;
        filter: drop-shadow(5px 5px 5px black);
        position: relative;
        z-index: -1;
    }

    #info_box .copyright_text, #info_box_voice .copyright_text, #info_box_zndl .copyright_text{
        margin-top: 20px;
        text-align: center;
        align-self: center;
        font-size: 11px;
        width: 100%;
    }

    #info_box .thankyou_text{
        color: #ffffffa0;
        margin-top: 40px;
        text-align: center;
        align-self: center;
        font-size: 10px;
        width: 100%;
    }

    .thankyou_text_img{
        display: flex;
        align-items: center;
        color: #ffffffa0;
        margin: 30px 10px 0px 10px;
        align-self: center;
        font-size: 20px;
    }

    .thankyou_text_img img{
        border-radius: 50%;
        height: 80px;
        margin-right: 10px;
    }

    #info_box_zndl img{
        align-self: center;
        margin: 10px;
        border: 1px solid #FFF;
        max-height: 225px;
    }

    input[type="range"] {
        margin-left: 0;
        -webkit-appearance: none;
        margin: 10px 0px;
    }
    input[type=range]:focus {
        outline: none;
    }
    input[type=range]::-webkit-slider-runnable-track {
        width: 100%;
        height: 20px;
        cursor: pointer;
        animate: 0.2s;
        box-shadow: 0px 0px 0px #000000;
        background: #ffffff60;
        border-radius: 1px;
        border: 0px solid #000000;
    }
    input[type=range]::-webkit-slider-thumb {
        box-shadow: 0px 0px 0px #000000;
        border: 1px solid #ffffff60;
        height: 40px;
        width: 40px;
        border-radius: 50%;
        background: #ccc;
        cursor: pointer;
        -webkit-appearance: none;
        margin-top: -10px;
    }
    input[type=range]:focus::-webkit-slider-runnable-track {
        background: #ffffff60;
    }
    input[type=range]::-moz-range-track {
        width: 100%;
        height: 10px;
        cursor: pointer;
        animate: 0.2s;
        box-shadow: 0px 0px 0px #000000;
        background: #ffffff60;
        border-radius: 1px;
        border: 0px solid #000000;
    }
    input[type=range]::-moz-range-thumb {
        box-shadow: 0px 0px 0px #000000;
        border: 1px solid #ffffff60;
        height: 18px;
        width: 18px;
        border-radius: 25px;
        background: #ccc;
        cursor: pointer;
    }
    input[type=range]::-ms-track {
        width: 100%;
        height: 10px;
        cursor: pointer;
        animate: 0.2s;
        background: transparent;
        border-color: transparent;
        color: transparent;
    }
    input[type=range]::-ms-fill-lower {
        background: #ffffff60;
        border: 0px solid #000000;
        border-radius: 2px;
        box-shadow: 0px 0px 0px #000000;
    }
    input[type=range]::-ms-fill-upper {
        background: #ffffff60;
        border: 0px solid #000000;
        border-radius: 2px;
        box-shadow: 0px 0px 0px #000000;
    }
    input[type=range]::-ms-thumb {
        margin-top: 1px;
        box-shadow: 0px 0px 0px #000000;
        border: 1px solid #ffffff60;
        height: 18px;
        width: 18px;
        border-radius: 25px;
        background: #ccc;
        cursor: pointer;
    }
    input[type=range]:focus::-ms-fill-lower {
        background: #ffffff60;
    }
    input[type=range]:focus::-ms-fill-upper {
        background: #ffffff60;
    }

    .data{
        width: 100%;
        height: 100%;
        display: grid;
        grid-template-columns: 100%;
        grid-template-rows: auto min-content;
    }

    .menu{
        grid-row: 2;
        display: grid;
        width:100%;
        grid-template-rows: 60px auto 35px 35px;
        background-color: #313248;
        margin: -8px;
        margin-bottom: -8px;
        padding: 8px;
        box-shadow: 0px -15px 20px 0px #000;
        z-index: 2;   
        height: 620px;
        transition: margin 500ms;
    }

    .tools-filter-buttons{
        grid-row: 1;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-evenly;
    }

    .filter_tool_button{
        cursor: pointer;
        width: 50%;
        margin-bottom: 10px;
        font-family: 'ZNSecondary';
        font-size: 45px;
    }

    .filter_tool_button_live{
        border-left: 1px solid #ccc;
        border-top: 1px solid #ccc;
        border-right: 1px solid #ccc;
        border-bottom: none;
        background: none;
        color: #fff;
        border-radius: 10px 10px 0px 0px;
    }

    .filter_tool_button_back{
        border-left: none;
        border-top: none;
        border-right: none;
        border-bottom: 1px solid #ccc;
        background: none;
        background-image: linear-gradient(rgba(0 0 0 / 0%), rgb(0 0 0 / 40%));
        transition: 0.3s;
        color: #aaa;
    }

    .filter_tool_button_back:hover{
        background-image: linear-gradient(rgba(0 0 0 / 0%), rgb(204 204 204 / 40%));
    }

    .tools-content{
        grid-row: 2;
        display: grid;
        width:100%;
        grid-template-rows: 50px min-content 50px auto;
    }

    .spin_hide{
        animation-name: spinhide;
        animation-duration: 150ms;
        animation-timing-function: linear;
        animation-fill-mode: forwards;
    }

    @keyframes spinhide {
        from {
            transform: rotateY(0deg);
        }
        to{
            transform: rotateY(90deg);
        }
    }

    .spin_show{
        animation-name: spinshow;
        animation-duration: 150ms;
        animation-timing-function: linear;
        animation-fill-mode: forwards;
    }

    @keyframes spinshow {
        from {
            transform: rotateY(270deg);
        }
        to{
            transform: rotateY(360deg);
        }
    }

    .timer_title{
        grid-column: 1;
        grid-row: 1;
        font-size: 40px;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }

    .timers{
        grid-column: 1;
        grid-row: 2;
        font-size: 30px;
        text-align: center;
        display: flex;
        flex-direction: row;
        z-index: 2;
        box-shadow: inset 0 0 10px #161615;
        background: rgba(0,0,0,0.25);
        align-items: flex-start;
        border-radius: 5px;
        padding: 2px 4px 10px 4px;
        margin-bottom: 10px;
        justify-content: space-around;
        flex-wrap: wrap;
    }

    .timer_block{
        width: calc(50% - 20px);
        padding: 0px 10px;
    }

    .timers hr{
        display: none;
    }

    .filter-content{
        grid-row: 2;
        display: grid;
        width:100%;
        grid-template-rows: 60px min-content 40px min-content 40px min-content;
        overflow-x: hidden;
    }

    .evidence_title{
        grid-column: 1;
        grid-row: 1;
        font-size: 40px;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }

    .blood-moon-icon{
        float: right;
        height: 44px;
        opacity: 0.5;
        cursor: pointer;
        padding-left: 20px;
    }

    .blood-moon-icon:hover{
        opacity: 1.0;
    }

    .blood-moon-active{
        opacity: 1.0 !important;
        filter: drop-shadow(0px 0px 15px #a00);
    }

    .forest-minion-icon{
        float: right;
        height: 44px;
        opacity: 0.5;
        cursor: pointer;
        padding-left: 20px;
    }

    .forest-minion-icon:hover{
        opacity: 1.0;
    }

    .forest-minion-active{
        opacity: 1.0 !important;
        filter: drop-shadow(0px 0px 5px rgb(185, 184, 98));
    }

    #blood-moon-effect-top, #blood-moon-effect-bottom{
        z-index: 0;
        position: absolute;
        left: 0;
        width: 100%;
        height: 200px;
        pointer-events: none;
    }

    .blood-moon-effect-top {
        top: 0;
        background: linear-gradient(180deg, rgba(255, 74, 74, 0.5) 0%, rgba(255, 74, 74,0) 80%);
        animation: blood-moon-pulse-top 10s infinite;
    }
    
    .blood-moon-effect-bottom {
        bottom: 0;
        background: linear-gradient(0deg, rgba(255, 74, 74, 0.5) 0%, rgba(255, 74, 74,0) 80%);
        animation: blood-moon-pulse-bot 10s infinite;
    }
    
    @keyframes blood-moon-pulse-top {
        0% {
            opacity: 0.3;
            transform: translateY(-50px);
        }
        50% {
            opacity: 0.7;
            transform: translateY(0);
        }
        100% {
            opacity: 0.3;
            transform: translateY(-50px);
        }
    }

    @keyframes blood-moon-pulse-bot {
        0% {
            opacity: 0.3;
            transform: translateY(50px);
        }
        50% {
            opacity: 0.7;
            transform: translateY(0);
        }
        100% {
            opacity: 0.3;
            transform: translateY(50px);
        }
    }

    .difficulty_holder{
        grid-column: 1;
        grid-row: 1;
        width: calc(33% + 75px);
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
        position: absolute;
        right: 0;
        z-index: 2;
    }

    .num_evidence{
        flex: 1;
        border: none;
        color: #FFF;
        background: rgba(0,0,0,0.25);
        box-shadow: inset 0 0 10px #161615;
        height: 45px;
        font-size: 35px;
        padding: 2px 10px;
        margin: 2px 10px;
        font-family: 'ZNSecondary';
    }

    #weekly_icon{
        width: 45px;
        height: 45px;
        margin-right: 6px;
        opacity: 0.5;
        cursor: pointer;
    }

    #custom_options{
        grid-column: 1;
        grid-row: 1;
        margin-top: 56px;
    }

    .cust_num_evidence{
        border: none;
        color: #FFF;
        background: rgba(0,0,0,0.25);
        box-shadow: inset 0 0 10px #161615;
        height: 45px;
        font-size: 35px;
        padding: 2px 10px;
        font-family: 'ZNSecondary';
        width: calc(50% - 5px) !important;
    }

    .cust_lobby_type{
        border: none;
        color: #FFF;
        background: rgba(0,0,0,0.25);
        box-shadow: inset 0 0 10px #161615;
        height: 45px;
        font-size: 40px;
        padding: 2px 10px;
        font-family: 'ZNSecondary';
        width: 75% !important;
    }

    .cust_label{
        font-size: 26px !important;
    }

    #cust_starting_sanity, #cust_sanity_pill_rest, #cust_sanity_drain{
        width: 75%;
        background: none;
    }

    #game_mode{
        grid-column: 1;
        grid-row: 2;
        font-size: 60px;
        text-align: center;
        display: flex;
        flex-direction: column;
        justify-content: center;
        z-index: 4;
        box-shadow: inset 0 0 10px #161615;
        background: rgba(0,0,0,0.90);
        position: relative;
        letter-spacing: 3px;
        margin-bottom: 22px;
    }

    #game_mode span{
        font-size:40px;
    }

    .evidence{
        grid-column: 1;
        grid-row: 2;
        font-size: 30px;
        text-align: center;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-content: flex-start;
        justify-content: flex-start;
        align-items: center;
        z-index: 2;
        box-shadow: inset 0 0 10px #161615;
        background: rgba(0,0,0,0.25);
        margin-bottom: 20px;
    }

    .speed_title{
        grid-column: 1;
        grid-row: 3;
        font-size: 40px;
        z-index: 2;
    }

    .speed{
        grid-column: 1;
        grid-row: 4;
        font-size: 30px;
        text-align: center;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-content: flex-start;
        justify-content: flex-start;
        align-items: center;
        z-index: 2;
        box-shadow: inset 0 0 10px #161615;
        background: rgba(0,0,0,0.25);
        margin-bottom: 20px;
    }

    .speed hr{
        border: 1px dashed rgba(204, 204, 204, 0.26);
        margin: 5px;
        margin-left: -8px;
        width: 1px;
        height: 75%;
        display: block;
    }

    .hunt_sanity_title{
        grid-column: 1;
        grid-row: 5;
        font-size: 40px;
        z-index: 2;
    }

    .hunt_sanity{
        grid-column: 1;
        grid-row: 6;
        font-size: 30px;
        text-align: center;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-content: flex-start;
        justify-content: flex-start;
        align-items: center;
        z-index: 2;
        box-shadow: inset 0 0 10px #161615;
        background: rgba(0,0,0,0.25);
        margin-bottom: 10px;
    }

    .hunt_sanity_num{
        color: #bbb;
        font-size: 20px;
        display: block;
        padding-top: 5px;
    }

    #modifier_sound_type {
        font-size: 30px;
        width: calc(100% - 45px);
    }

    .speed_logic_select{
        font-size: 40px;
        display: flex;
        padding: 5px;
        font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    }

    .speed_logic_select span{
        align-self: center;
        margin: 0px 5px;
    }

    #speed_logic_type, #bpm_type {
        display: none;
    }

    .shared_journal{
        display: flex;
        flex-direction: column;
        align-content: center;
        justify-content: flex-start;
        align-items: center;
    }

    #room_id, #link_id {
        border: none;
        background: rgba(0,0,0,0.25);
        box-shadow: inset 0 0 10px #161615;
        padding: 20px;
        margin: 0px 0px 30px 0px;
        width: 100%;
        color: white;
        font-size: 55px;
        outline: none;
        text-align: center;
    }

    .clipboard_icon{
        width: 60px;
        position: absolute;
        right: 5px;
        top: 22px;
        cursor: pointer;
        filter: opacity(0.4);
    }

    #link_pos{
        width: 50px;
        height: 50px;
        position: absolute;
        top: 16px;
        left: 5px;
        border-radius: 30px;
        display: flex;
        align-items: flex-start;
        justify-content: center;
    }

    .copy_cover{
        background-color: #ffffffaa;
        color: #000000;
        position: absolute;
        top: 0;
        width: 100%;
        height: 63px;
        margin: 10px 0px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .journal_link {
        position: relative;
        width: 75%;
    }

    .vc_link{
        width: 75%; 
        margin-top: 10px;
    }

    .journal_link_buttons{
        width: 100%;
        display: flex;
        flex-wrap: nowrap;
        flex-direction: row;
        justify-content: space-between;
    }

    .journal_link_button{
        width: 100%;
        cursor: pointer;
        border: none;
        margin: 0px 10px;
        padding: 15px;
        background: #ccc;
        font-size: 45px;
    }

    .desktop_link_button{
        flex-grow:1;
        cursor: pointer;
        border: none;
        margin: 0px 10px;
        padding: 15px;
        background: #ccc;
        font-size: 45px;
    }

    .toggle {
        height: 40px;
        width: 100px;
        border-radius: 25px;
        box-shadow: inset 0 0 10px #161615;
        background: rgba(0, 0, 0, 0.25);
        position: relative;
        cursor: pointer;
        transition: all 0.2s ease-in-out;
        margin: 10px;
    }
    
    .toggle::before {
        content: "";
        height: 40px;
        width: 40px;
        position: absolute;
        left: 0;
        border-radius: 50%;
        background-color: #f4f4f4;
        transition: all 0.2s ease-in-out;
    }

    #speed_logic_type:checked + .toggle::before {
        position: absolute;
        left: calc(100% - 30px);
    }

    #bpm_type:checked + .toggle::before {
        position: absolute;
        left: calc(100% - 30px);
    }
    
    #modifier_sound_type:checked + .toggle::before {
        position: absolute;
        left: calc(100% - 30px);
    }

    .modifier_title{
        grid-column: 1;
        grid-row: 3;
        font-size: 40px;
        z-index: 2;
    }

    .modifier{
        grid-column: 1;
        grid-row: 4;
        font-size: 30px;
        text-align: center;
        display: grid;
        grid-template-columns: 50% 50%;
        grid-template-rows: 45px 50px 50px auto;
        z-index: 2;
        box-shadow: inset 0 0 10px #161615;
        background: rgba(0,0,0,0.25);
        align-items: stretch;
        margin-bottom: 10px;
        padding-top: 10px;
    }

    .modifier hr{
        display: none;
    }

    .modifier_ghost_speed{
        font-size: 35px;
        grid-column: 1;
        grid-row: 1;
    }

    .modifier_smudge_timer{
        font-size: 35px;
        padding: 10px 10px 0px 10px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    #ghost_modifier_speed{
        margin: 0px 20px;
        background: none;
        grid-column: 1;
        grid-row: 2;
    }

    #modifier_volume{
        width: 75%;
        background: none;
    }

    .modifier_ghost_speed_labels{
        grid-column: 1;
        grid-row: 3;
        display: flex;
        justify-content: space-between;
        margin: 0px 20px;
    }

    .modifier_ghost_speed_label{
        color: #fff;
        font-size: 22px;
        rotate: 340deg;
    }

    .modifier_sound_select{
        grid-row: 4;
        grid-column: 2;
        padding-top: 45px;
    }

    .modifier_sound_select img{
        display: none;
    }

    .modifier_note{
        color: #ffffffa0;
        font-size: 26px;
        padding-top: 25px;
        margin: 0px 10px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .title_note{
        display: none;
    }

    .modifier_option{
        color: #ffffffa0;
        font-size: 30px;
        padding-top: 30px;
        margin: 0px 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: calc(100% - 40px);
    }

    .modifier_note_2, .modifier_note_3{
        display:none;
    }

    .play_button {
        filter: invert(1);
        opacity: 1;
        cursor: pointer;
        position: relative;
        width: 45px;
        float: left;
        z-index: 5;
    }
      
    .play_button:hover {
        opacity: 0.5;
    }

    #time_left{
        color: #fff;
        font-size: 20px;
        text-align: end;
        position: relative;
    }

    #progress {
        width: calc(100% - 5px);
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-around;
    }

    #progressBar {
        width: calc(100% - 140px);
        margin: 20px 0px;
        height: 15px;
        box-shadow: inset 0 0 10px #161615;
        background: rgba(0,0,0,0.25);
        display: inline-block;
        position: relative;
    }
      
    #progressBar .bar {
        height: 15px;
        text-align: right;
        line-height: 15px;
        width: 0;
        background-color: #ffffff60;
        box-sizing: border-box;
        position: absolute;
        float: left;
    }

    #progressBar .demon_line {
        height: 25px;
        border-left: 5px #fff dotted;
        left: 66.666%;
        width: 0;
        top: -10px;
        position: absolute;
        float: left;
    }

    #progressBar .ghost_line {
        height: 35px;
        border-left: 5px #fff solid;
        left: 50%;
        width: 0;
        top: -10px;
        position: absolute;
        float: left;
    }

    #progressBar .spirit_line {
        height: 25px;
        border-left: 5px #fff dotted;
        width: 0;
        top: -10px;
        position: absolute;
        float: left;
    }

    .line_labels{
        display: block;
        height: 6px;
        width: calc(100% - 60px);
        margin: 0px 10px 0px 55px;
        text-align: left;
        position: relative;
        margin-top: 15px;
    }

    .spirit_line_label{
        color: rgb(145, 145, 145);
        font-size: 22px;
        display: inline-block;
        left: 8px;
        bottom: -12px;
        position: absolute;
    }

    .demon_line_label{
        color: rgb(145, 145, 145);
        font-size: 22px;
        display: inline-block;
        left: 54.666%;
        bottom: -12px;
        position: absolute;
    }

    #time_left_cooldown{
        color: #fff;
        font-size: 20px;
        text-align: end;
        position: relative;
    }

    #cooldownProgress {
        width: calc(100% - 5px);
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-around;
    }

    #cooldownProgressBar {
        width: calc(100% - 140px);
        margin: 20px 0px;
        height: 15px;
        box-shadow: inset 0 0 10px #161615;
        background: rgba(0,0,0,0.25);
        display: inline-block;
        position: relative;
    }
      
    #cooldownProgressBar .bar {
        height: 15px;
        text-align: right;
        line-height: 15px;
        width: 0;
        background-color: #ffffff60;
        box-sizing: border-box;
        position: absolute;
        float: left;
    }

    #cooldownProgressBar .demon_line {
        height: 25px;
        border-left: 5px #fff dotted;
        left: 20%;
        width: 0;
        top: -10px;
        position: absolute;
        float: left;
    }

    #cooldownProgressBar .ghost_line {
        height: 35px;
        border-left: 5px #fff solid;
        left: 0;
        width: 0;
        top: -10px;
        position: absolute;
        float: left;
    }

    .cooldown_demon_line_label{
        color: rgb(145, 145, 145);
        font-size: 22px;
        display: inline-block;
        left: 18%;
        bottom: -12px;
        position: absolute;
    }

    #time_left_hunt{
        color: #fff;
        font-size: 20px;
        text-align: end;
        position: relative;
    }

    #huntProgress {
        width: calc(100% - 5px);
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-around;
    }

    #huntProgressBar {
        width: calc(100% - 140px);
        margin: 20px 0px;
        height: 15px;
        box-shadow: inset 0 0 10px #161615;
        background: rgba(0,0,0,0.25);
        display: inline-block;
        position: relative;
    }
      
    #huntProgressBar .bar {
        height: 15px;
        text-align: right;
        line-height: 15px;
        width: 0;
        background-color: #ffffff60;
        box-sizing: border-box;
        position: absolute;
        float: left;
    }

    #huntProgressBar .cursed_line {
        height: 25px;
        border-left: 5px #fff dotted;
        left: 0;
        width: 0;
        top: -10px;
        position: absolute;
        float: left;
    }

    #huntProgressBar .normal_line {
        height: 35px;
        border-left: 5px #fff solid;
        left: 20%;
        width: 0;
        top: -10px;
        position: absolute;
        float: left;
    }

    .hunt_cursed_line_label{
        color: rgb(145, 145, 145);
        font-size: 22px;
        display: inline-block;
        left: 8px;
        bottom: -12px;
        position: absolute;
    }

    .hunt_size_label{
        color: rgb(145, 145, 145);
        font-size: 22px;
        display: inline-block;
    }

    #time_left_sound{
        color: #fff;
        font-size: 20px;
        text-align: end;
        position: relative;
    }

    #soundProgress {
        width: calc(100% - 5px);
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-around;
    }

    #soundProgressBar {
        width: calc(100% - 140px);
        margin: 20px 0px;
        height: 15px;
        box-shadow: inset 0 0 10px #161615;
        background: rgba(0,0,0,0.25);
        display: inline-block;
        position: relative;
    }
      
    #soundProgressBar .bar {
        height: 15px;
        text-align: right;
        line-height: 15px;
        width: 0;
        background-color: #ffffff60;
        box-sizing: border-box;
        position: absolute;
        float: left;
    }

    #soundProgressBar .myling_line {
        height: 25px;
        border-left: 5px #fff dotted;
        left: 18.75%;
        width: 0;
        top: -10px;
        position: absolute;
        float: left;
    }

    #soundProgressBar .normal_line {
        height: 35px;
        border-left: 5px #fff solid;
        left: 0;
        width: 0;
        top: -10px;
        position: absolute;
        float: left;
    }

    .sound_myling_line_label{
        color: rgb(145, 145, 145);
        font-size: 22px;
        display: inline-block;
        left: 17%;
        bottom: -12px;
        position: absolute;
    }

    #tap{
        font-size: 35px;
        color: #ccc;
        border: 4px solid #ccc;
        background: none;
        border-radius: 5px;
        padding: 11px;
        cursor: pointer;
        z-index: 100;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        grid-column: 2;
        grid-row: 2 / 4;
        margin: 0px 10px;
    }

    #tap_viz{
        color: #ffffff;
        font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
        font-size: 40px;
        height: 33px;
        overflow: hidden;
        margin-top: -48px;
        grid-column: 2;
        grid-row: 4;
        font-weight: bold;
        margin: 0px 10px;
    }

    .legend{
        display: none
    }

    .sanity_labels{
        text-align: left;
        font-size: 42px;
        padding: 35px 0px 8px 0px;
        letter-spacing: 1px;
        position: relative;
        width: 75%;
    }

    .modifier_volume{
        font-size: 60px;
        padding: 15px 10px 10px 10px;
        grid-column: 1;
        grid-row: 5;
    }

    .modifier_volume_labels{
        display: flex;
        justify-content: space-between;
        width: 75%;
        padding-top: 2px;
    }

    .modifier_volume_label{
        color: #fff;
        font-size: 30px;
        rotate: 340deg;
    }

    .modifier_bpm_finder{
        font-size: 35px;
        grid-column: 2;
        grid-row: 1;
    }

    #bpm_hist{
        display: none;
    }

    .cards{
        grid-row: 1;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-evenly;
        overflow-y: scroll;
        align-content: flex-start;
        user-select: none;
        background: rgba(0,0,0,0.5);
        padding-bottom: 30px;
        padding-left: 45px;
    }

    .copyright{
        grid-column: 1;
        grid-row: 4;
        width: 30%;
        text-align: left;
        z-index: 2;
        color: #FFF;
        font-size: 19px;
        padding-right: 10px;
        cursor: pointer;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: left;
        padding-left: 13px;
    }

    .copyright img{
        height: 30px;
        filter: invert(1);
        padding: 0px 10px;
    }

    .copyright:hover{
        filter: opacity(0.5)
    }

    .flex-holder-right{
        display: flex;
        width: calc(100% - 20px);
        margin-left: 10px;
        justify-content: flex-end;
    }

    .flex-holder-split{
        display: flex;
        width: calc(100% - 20px);
        margin-left: 10px;
        justify-content: space-between;
    }

    .button-gray{
        background-color: #ccc;
        color: black;
        text-decoration: none;
        padding: 17px;
        border: none;
        border-radius: 15px;
        margin: 0px 0px 25px 0px;
        display: inline-flex;
        cursor: pointer;
        float: right;
        font-size: 33px;
    }

    .button-gray:hover{
        background-color: rgb(128,128,128);
    }

    .find-overlay{
        display: none;
    }

    .active_title,.info_title,.maps_title{
        font-size: 70px;
        height: 50px;
        padding: 15px;
    }

    .maps_image{
        width: calc(100% - 20px);
        height: 60%;
        margin: 0px 0px 10px 10px;
        background-color: #000;
        overflow: hidden;
        position: relative;
        cursor: zoom-in;
        touch-action:none;
    }

    .map_image{
        width: 100%;
        height: 100%;
        background-color: #000;
        background-image: url(https://zero-network.net/phasmophobia/static/imgs/maps/tanglewood.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        position: absolute;
    }

    .hover_zoom{
        color: white;
        position: absolute;
        background: rgba(255,255,255,0.2);
        padding: 5px;
        font-size: 25px;
        border-radius: 10px;
        filter: opacity(0.8);
        bottom: 5px;
        left: 5px;
    }

    .map_size_info{
        color: white;
        position: absolute;
        background: rgba(255,255,255,0.2);
        padding: 5px;
        font-size: 25px;
        border-radius: 10px;
        filter: opacity(0.8);
        top: 5px;
        left: 5px;
    }

    .maps_credit{
        color: #FFF;
        text-align: right;
        right: 35px;
        font-size: 20px;
        margin-bottom: 15px;
    }

    .maps_credit a{
        text-decoration: none;
        color:#00aa2b;
    }

    .map_event_check{
        color: #FFF;
        text-align: left;
        right: 35px;
        font-size: 20px;
        margin-bottom: 15px;
        display: flex;
        align-items: center;
    }

    .maps_buttons{
        display: flex;
        height: 45%;
        width: calc(100% - 20px);
        margin: 0px 0px 10px 10px;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-content: stretch;
        overflow: auto;
    }

    .maps_button{
        background: none;
        cursor: pointer;
        border: 1px solid #FFF;
        color: #fff;
        border-radius: 5px;
        margin: 10px;
        padding: 10px 0px;
        position: relative;
        font-size: 25px;
        width: calc(50% - 20px);
    }

    .selected_map{
        background-color: #FFF;
        border: 1px solid #FFF;
        color: #313248;
    }

    .maps_button:hover{
        background-color: #ffffff60;
    }

    .map_size{
        position: absolute;
        top: 0px;
        left: 0px;
        height: 100%;
        width: 30px;
        display: flex;
        border-radius: 4px 0px 0px 4px;
        align-items: center;
        align-content: center;
        justify-content: center;
        font-size: 25px;
    }

    .event_map{
        background-color: #fff;
        color: #333 !important;
        top: 0px;
        right: 0px;
        height: 100%;
        width: 30px;
        display: flex;
        border-radius: 0px 4px 4px 0px;
        justify-content: center;
        font-size: 25px;
        position: absolute;
    }

    .maps_button .s{
        background-color: #1d8100;
        color: #fff;
    }

    .maps_button .m{
        background-color: #d1cc00;
        color: #000;
    }

    .maps_button .l{
        background-color: #e90000;
        color: #fff;
    }

    #kofi{
        display: none;
    }

    #active-users{
        grid-column: 1;
        grid-row: 3;
        width: 30%;
        text-align: left;
        z-index: 2;
        font-size: 18px;
        padding-top: 5px;
        padding-left: 13px;
        z-index:50;
    }

    #active-users-label{
        color: #0abdce;
    }

    #current-version-label{
        color: #0abdce;
    }
    
    #session, #prev-session{
        color: rgb(255 255 255 / 50%);
        font-size: 20px;
        text-align: center;
        align-self: center;
        width: 100%;
    }

    #prev-session{
        padding-bottom: 20px;
    }

    #close-menu-button{
        grid-column: 1;
        grid-row: 3 / 5;
        width: 30px;
        height: 30px;
        margin: 20px;
        justify-self: center;
        border-right: solid 5px #CCC;
        border-bottom: solid 5px #CCC;
        transform: rotate(45deg);
        z-index: 110;
    }

    #cur_map_label, #cur_map{
        display: none;
    }

    #reset{
        grid-column: 1;
        grid-row: 3 / 5;
        width: auto;
        justify-self: right;
        font-size: 45px;
        color: #ccc;
        border: 2px solid #ccc;
        background: none;
        border-radius: 5px;
        padding: 10px;
        margin: 5px;
        cursor: pointer;
        z-index: 100;
    }

    .standard_reset:hover{
        background-color: #ffffff60 !important;
    }

    .reset_pulse{
        padding-top:5px !important;
        animation: blink 0.5s;
        animation-iteration-count: 3;
    }

    @keyframes blink { 
        50% { background-color:rgba(75, 0, 0, 0.705);}  
    }

    .reset_note{
        display: none;
    }

    .ghost_card{
        display: grid;
        width: calc(50% - 20px);
        border-radius: 5px;
        grid-template-columns: 55% 45%;
        grid-template-rows: auto 250px auto auto;
        color: white;
        background-color: #313248;
        margin-top: 75px;
        padding-top: 5px;
        height: auto;
        position: relative;
        align-items: center;
    }

    .ghost_card_hidden{
        grid-template-rows: auto 0px auto auto !important;
    }

    .ghost_name{
        grid-column: 1;
        grid-row: 1;
        font-family:"ZNPrimary";
        font-size: 30px;
        font-weight: bold;
        padding: 10px 0px 10px 10px;
        text-align: center;
        letter-spacing: 4px;
    }

    .ghost_evidence{
        grid-column: 2;
        grid-row: 1;
        font-size: 24px;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        flex-direction: column;
        padding: 5px 0px;
    }

    .ghost_evidence_found{
        opacity: 0.3;
    }

    .ghost_evidence_not{
        opacity: 0.2;
        text-decoration: line-through;
    }

    .ghost_evidence_item{
        height: fit-content;
    }

    .ghost_evidence_item img{
        height: 24px;
        padding-right: 10px;
    }

    .ghost_nightmare_evidence, .ghost_hunt_high, .ghost_hunt_low, .ghost_has_los{
        display: none;
    }

    .ghost_hunt_info{
        grid-column: 1 / 3;
        grid-row: 3;
        display: grid;
        grid-template-columns: 28% 72%;
        justify-content: space-evenly;
    }
    
    .ghost_speed{
        font-size: 22px;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 27px;
        margin: 8px 8px 8px 0px;
        border-radius: 0px 10px 10px 0px;
        background: rgb(0,0,0,0.25);
        height: 85px;
    }

    .ghost_speed img{
        height: 30px;
        cursor: pointer;
    }

    .footstep_los{
        display: flex;
        flex-direction: column;
        margin-right: 3px;
    }

    .ghost_speed .ms{
        font-size: 20px;
        color: #ffffff60;
        margin-left: -3px;
    }

    .ghost_speed_values{
        width: fit-content;
    }

    .ghost_hunt{
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 27px;
        border-radius: 10px 0px 0px 10px;
        margin: 8px 0px 8px 8px;
        height: 85px;
    }

    .ghost_hunt_values{
        display: flex;
        flex-direction: column;
    }

    .ghost_hunt_alt{
        font-size: 21px;
        color: rgba(255,255,255,0.4);
        margin: -6px 0px;
    }

    .ghost_hunt img{
        height: 35px;
        padding-right: 5px;
    }

    .ghost_behavior{
        grid-column: 1 / 3;
        grid-row: 2;
        font-size: 18px;
        padding:10px 20px;
        margin: 10px;
        box-shadow: inset 0 0 10px #161615;
        border-radius: 10px;
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        justify-content: flex-start;
        overflow-y: scroll;
        background: rgba(0,0,0,0.25);
        height: calc(100% - 30px);
    }

    .ghost_behavior_hidden{
        display: none !important;
    }
    
    .ghost_behavior_item{
        line-height: 32px;
        font-size: 24px;
    }

    .ghost_behavior_item .dtitle{
        width: 100%;
        display: flex;
        flex-direction: row;
        align-content: center;
        color: rgba(255 255 255 / 50%);
        justify-content: space-between;
        font-size: 18px;
        padding-top: 0;
    }

    .ghost_behavior_item .ddash{
        border-bottom: 1px dashed rgb(255 255 255 / 50%);
        flex-grow: 1;
        margin-bottom: 15px;
        margin-left: 5px;
    }

    .ghost_behavior_item ul{
        margin: 0px;
        padding: 0px 0px 0px 10px;
        list-style-type: '- ';
    }

    .ghost_behavior_item li{
        padding: 0px;
    }

    .ghost_tests_button{
        opacity: 0.4;
        font-size: 18px;
        cursor: pointer;
        width: 100%;
        text-align: right;
        margin: 0px 0px -5px 0px;
    }

    .ghost_tests_button:hover{
        opacity: 0.8;
    }

    .ghost_clear{
        grid-column: 1 / 3;
        grid-row: 4;
        display: flex;
        align-content: center;
        justify-content: space-evenly;
        align-items: center;
        padding-bottom: 10px;
        flex-direction: row-reverse;
    }

    .ghost_guesses{
        position: absolute;
        height: 70px;
        width: calc(100% - 20px);
        top: -70px;
        right: 0px;
        padding-right: 20px;
        z-index: 0;
        overflow: hidden;
        display: flex;
        flex-direction: row-reverse;
        justify-content: flex-start;
        align-items: flex-end;
    }

    .ghost_guess{
        width: 75px;
        height: 75px;
        background-size: contain;
        border-radius: 40px;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        margin-bottom: -35px;
        cursor: pointer;
        margin-right: -2px;
        font-size: 35px;
        transition: margin-bottom 0.25s;
    }

    .ghost_guess:hover{
        margin-bottom: -10px;
    }
    
    .card_icon{
        width: 40px;
        cursor: pointer;
    }
    
    .space{
        height:40px;
    }
}

@media screen and (pointer: coarse) and (max-device-width: 600px) {
    
    .label-font-s{
        font-size: 27px;
    }

    .tricheck{
        border: 0;
        width: 25%;
        background:none;
        position: relative;
        margin: 25px 0px;
        cursor: pointer;
        font-size: 30px;
        font-family: "ZNSecondary";
        display: grid;
        justify-content: start;
        letter-spacing: 3px;
        align-items: center;
    }

    .evidence-row .tricheck{
        width: 100% !important;
    }

    #checkbox{
        grid-column: 1;
        width: 35px;
        height: 35px;
        cursor: pointer;
        margin-right: 10px;
        margin-left: 10px;
        border-radius: 10px;
        border: solid 2px #ccc;
        display: flex;
        align-content: center;
        justify-content: center;
        align-items: center;
    }

    .evidence-row{
        display: flex;
        flex-wrap: nowrap;
        align-content: center;
        align-items: center;
        justify-content: space-between;
        position: relative;
        width: 25%;
    }

    .monkey-smudge{
        position: absolute;
        left: 0;
        z-index: 1;
        width: 85%;
    }

    .monkey-paw-select{
        height: 32px;
        cursor: pointer;
        margin-right: 10px;
        filter: opacity(0.2);
    }

    .monkey-paw-select:hover{
        filter: opacity(0.9);
    }

    .monkey-paw-selected{
        filter: opacity(0.9) !important;
    }

    .neutral{}

    .neutral:hover{
        background-color: #ffffff60;
    }

    .block{
        cursor: not-allowed !important;
    }

    .disabled, .disabled:hover{
        background-color: #ffffff14;
        border: solid 2px #ffffff00 !important;
    }

    .disabled .icon{
        background: #4c4e74;
        border-radius: 3px;
        width: 25px;
        height: 17px;
        top: 18px;
        left: 22px;
        position: absolute;
    }
    
    .disabled .icon:before {
        content: "";
        display: block;
        position: absolute;
        border:2px solid #4c4e74;
        top: -13px;
        left: 3px;
        width: 15px;
        height: 11px;
        border-radius: 35px 35px 0 0;
    }

    .disabled-text{
        color: #4c4e74;
    }

    .good{
        background-color: #ccc;
        border-color: #1d8100 !important;
    }

    .good .icon{
        display:inline-block;
        width: 25px;
        height:25px;
        margin-top: -6px;
        -ms-transform: rotate(45deg); /* IE 9 */
        -webkit-transform: rotate(45deg); /* Chrome, Safari, Opera */
        transform: rotate(45deg);
    }

    .good .icon:before{
        content:"";
        position: absolute;
        width:7px;
        height:30px;
        background-color: #313248;
        left:20px;
        top:4px;
    }

    .good .icon:after{
        content:"";
        position: absolute;
        width:14px;
        height:7px;
        background-color: #313248;
        left:10px;
        top:26px;
    }

    .bad{
        background-color: #ccc;
        border-color: #e90000 !important;
    }

    .bad .icon{
        display:inline-block;
        width: 25px;
        height:25px;
        margin-top: -6px;
        -ms-transform: rotate(45deg); /* IE 9 */
        -webkit-transform: rotate(45deg); /* Chrome, Safari, Opera */
        transform: rotate(45deg);
    }

    .bad .icon:before{
        content:"";
        position: absolute;
        width:6px;
        height:35px;
        background-color:#313248;
        left:18px;
        top:3px;
    }

    .bad .icon:after{
        content:"";
        position: absolute;
        width:35px;
        height:6px;
        background-color:#313248;
        left:4px;
        top:17px;
    }

    .footer_link{
        font-size: large;
    }

    #eye{
        display: none;
    }

    #priority_sort, #priority_sort + label{
        display: none;
    }

    #domovoi{
        position: fixed;
        bottom: 660px;
        right: 10px;
        display: flex;
        animation: domovoi-float 2s cubic-bezier(0.1, -0.6, 0.2, 0) infinite;
        flex-direction: column;
        align-items: flex-end;
        z-index: 50;
    }

    .domovoi-flip{
        align-items: flex-start !important;
        left: 205px !important;
    }

    .domovoi-menu-hidden{
        animation: domovoi-float-menu-hidden 2s cubic-bezier(0.1, -0.6, 0.2, 0) infinite !important;
    }

    .domovoi-custom{
        animation: domovoi-float-menu-custom 2s cubic-bezier(0.1, -0.6, 0.2, 0) infinite !important;
    }

    @keyframes domovoi-float {
        0% {
            bottom: 660px;
        }
        50% {
            bottom: 665px;
        }
        100% {
            bottom: 660px;
        }
    }

    @keyframes domovoi-float-menu-hidden {
        0% {
            bottom: 70px;
        }
        50% {
            bottom: 75px;
        }
        100% {
            bottom: 70px;
        }
    }

    @keyframes domovoi-float-menu-custom {
        0% {
            bottom: 705px;
        }
        50% {
            bottom: 710px;
        }
        100% {
            bottom: 705px;
        }
    }

    #domovoi-text{
        font-family: "ZNSecondary";
        font-size: 35px;
        letter-spacing: 2;
        font-weight: bold;
        border-radius: 20px;
        padding: 10px;
        background-image: radial-gradient(#ffffff, #ffffff77);
        box-shadow: 0px 0px 10px 5px rgb(0 0 0);
    }

    #domovoi-img{
        height: 55px;
        cursor: pointer;
    }

    .domovoi-img-flip{
        -webkit-transform: scaleX(-1);
        transform: scaleX(-1);
    }
}