html, body {
    height: 100%;
    margin: 0px;
    background: #1E002E;
    color: #fff;
    overflow: hidden; 
}

body {
    cursor: url('data:image/x-icon;base64,AAACAAEAICAAAAAAAACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAA/gAAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA/sDAwP7AwMD+AAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgID+/////sDAwP4AAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA/v////7AwMD+AAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAAAAAAAAAACAgID+/////sDAwP4AAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgID+AAAA/gAAAAAAAAAAgICA/v////7AwMD+AAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgP7AwMD+AAAA/gAAAACAgID+/////sDAwP4AAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA/v////7AwMD+AAAA/v////7AwMD+AAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgID+/////v////7AwMD+AAAA/gAAAP4AAAD+AAAA/gAAAP4AAAD+AAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgP7////+/////v////7AwMD+wMDA/sDAwP7AwMD+wMDA/gAAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA/v////7////+/////sDAwP7AwMD+wMDA/sDAwP4AAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgID+/////v////7AwMD+wMDA/sDAwP7AwMD+AAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgP7////+/////sDAwP7AwMD+wMDA/gAAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA/v////7AwMD+wMDA/sDAwP4AAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgID+/////sDAwP7AwMD+AAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgP7AwMD+wMDA/gAAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA/sDAwP4AAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgID+AAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////////////////////////////////4////8P////D////h///94f///MP///xD///8B////AB///wA///8Af///AP///wH///8D////B////w////8f////P////3////8='), auto;
}

/* idk man https://stackoverflow.com/questions/67758479/how-to-fit-html-canvas-to-screen-while-maintaining-aspect-ratio-and-not-cutting */
/* body canvas {
    object-fit: contain;
    max-height: 100%;
    max-width: 100%;
} */

a {
    text-decoration: none;
    color: #fff;
}

#spectrogram {
    display: block;
    height: 100%;
    width: 100%;
    /* filter: url("#blurMe"); */
}

#hidden-controls {
    display: none;
    position: absolute;
    top: 10%;
    margin: 0;
}

#hidden-controls-toggle {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 40px;
    height: 40px;
    border-bottom: 1px solid white;
    border-left: 1px solid white;
    cursor: pointer;
}

#logo-container {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 142px;
    transform: translate(-50%, -50%);
    cursor: pointer;
    /* background: url('../img/logo-final_v7_final2-realfinal.png') no-repeat center center; */
    background-size: contain;
    /* filter: url("#blurMe"); */
    font-size: 80px;
    text-align: center;
}

svg { position: absolute; height: 0; }

.logo-fade-out {
    pointer-events: none;
    opacity: 0;
    transition: opacity 1s;
}

#volume-display {
    font-size: 4em;
    position: absolute;
    top: 100px;
    right: 100px;
    width: 250px;
    height: 133px;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    background: url('data:image/png;base64,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') no-repeat;
    text-align: right;
    padding-top: 50px;
    box-sizing: border-box;
    /* background: #FF5161;
    box-shadow: 0 0 25px 2.5px #D30302; */
}

/* #volume-display:before { content: '🔊 '; } */
#volume-display:after { content: '%'; }

.fade-in {
    opacity: 1 !important;
    transition: opacity 0.5s;
}

.fade-out {
    pointer-events: none;
    opacity: 0 !important;
    transition: opacity 2s;
}

#spectrogram-cutoff {
    position: absolute;
    width: 100%;
    height: 30%;
    /* border-bottom: 1px dashed #fff; */
    top: 0px;
    font-family: 'Ishmeria', sans-serif;
    font-size: 16px;
    text-align: center;
    padding-top: 25px;
    box-sizing: border-box;
    pointer-events: none;
}

.ishmeria {
    font-family: 'Ishmeria', sans-serif;
    font-size: 16px;
}

.chronotype {
    font: 16px 'ChronoType', sans-serif;
    text-transform: uppercase;
}

.chronotype-invert {
    font: 16px 'ChronoType', sans-serif;
    text-transform: uppercase;
    background: #fff;
    color: #000;
    padding: 0px 2px;
}

.floatleft { float: left; }
.floatright { float: right; }
.centertext { text-align: center; }


#tracklist-container {
    margin-top: 1em;
}

#tracklist {
    height: 325px;
    display: block;
    margin-left: 2em;
    line-height: 13px;
}

#tracklist a:hover {
    animation: rainbow 2.5s linear;
    animation-iteration-count: infinite;
}

/* #timer-container {
    font-size: 64px;
} */

#beefbrain {
    margin-top: 10px;
    font-size: 5px;
    font-family: monospace;
    text-transform: lowercase;
}