:root {
    --bezier: cubic-bezier(0.22, 0.61, 0.36, 1);
    --edge-light: hsla(0, 0%, 50%, 0.8);
    --text-light: rgba(255, 255, 255, 0.4);

    --accent-red: 33,0,0
}

/* latin-ext */
@font-face {
    font-family: 'Courier Prime';
    font-style: normal;
    font-weight: 100;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/courierprime/v9/u-450q2lgwslOqpF_6gQ8kELaw9pWt_-.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Courier Prime';
    font-style: normal;
    font-weight: 100;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/courierprime/v9/u-450q2lgwslOqpF_6gQ8kELawFpWg.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

html, body {
    height: 100%;
    margin: 0;
}

body {
    background: rgb(83,0,0);
    background: -moz-linear-gradient(30deg, rgba(83,0,0,1) 0%, rgba(0,0,0,1) 100%);
    background: -webkit-linear-gradient(30deg, rgba(83,0,0,1) 0%, rgba(0,0,0,1) 100%);
    background: linear-gradient(30deg, rgba(83,0,0,1) 0%, rgba(0,0,0,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#530000",endColorstr="#000000",GradientType=1);
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;

    font-family: "Courier Prime", "Courier New", Courier, monospace, serif;
    color: white;
    text-align: center;
    font-size: 4vmin;
}

#topSpacer {
    height: 17vmin;
}

#header {
    z-index: 1;

    position: fixed;
    left: 4vmin;
    right: 4vmin;
    top: 4vmin;
    width: calc(100% - 8vmin);

    background: rgb(var(--accent-red));
    background: -moz-linear-gradient(90deg, rgba(var(--accent-red),1) 0%, rgba(27,0,0,1) 50%, rgba(var(--accent-red),1) 100%);
    background: -webkit-linear-gradient(90deg, rgba(var(--accent-red),1) 0%, rgba(27,0,0,1) 50%, rgba(var(--accent-red),1) 100%);
    background: linear-gradient(90deg, rgba(var(--accent-red),1) 0%, rgba(27,0,0,1) 50%, rgba(var(--accent-red),1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#210000",endColorstr="#210000",GradientType=1);

    text-align: center;
    font-size: smaller;
    padding: 2vmin;
    vertical-align: middle;

    align-items: center;
    gap: 0.5em;

    font-family: "Courier Prime", "Courier New", Courier, monospace, serif;
    letter-spacing: 0.05em;
    line-height: 1;
    font-weight: bold;

    color: hsla(0, 0%, 90%);
    border: 0;
    box-shadow: inset 0.4px 1px 4px var(--edge-light);

    #headerTableLogo {
        width: 9vmin;
        text-align: right;
    }
    #headerTableText {
        text-align: left;
        #headerText {
            margin: 0;
            padding-left: 2.5vmin;
        }
    }
    #headerTableMenu {
        width: 10vmin;
        cursor: pointer;
    }

    #logo {
        width: 7vmin;
        opacity: 75%;
    }

    /* Thanks to vinodjangid07 for the menu button design template */
    /* >      https://uiverse.io/vinodjangid07/tame-eagle-29       */
    #headerMenuButton {
        display: none;
    }
    .toggle {
        position: relative;
        width: 9vmin;
        height: 9vmin;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px;
        transition-duration: .3s;
    }
    .bars {
        width: 60%;
        height: 4px;
        background-color: rgb(253, 255, 243);
        border-radius: 5px;
        transition-duration: .3s;
    }
    #headerMenuButton:checked + .toggle #bar2 {
        transform: translateY(14px) rotate(60deg);
        margin-left: 0;
        transform-origin: right;
        transition-duration: .3s;
        z-index: 2;
    }
    #headerMenuButton:checked + .toggle #bar1 {
        transform: translateY(28px) rotate(-60deg);
        transition-duration: .3s;
        transform-origin: left;
        z-index: 1;
    }
    #headerMenuButton:checked + .toggle {
        transform: rotate(-90deg);
    }
}

.headerWhenMenuOpen {
    border-radius: 0.5em 0.5em 0 0;
}

.headerWhenMenuClosed {
    border-radius: 0.5em;
}

#menu {
    z-index: 1;
    display: none;

    position: fixed;
    left: 4vmin;
    right: 4vmin;
    top: 17vmin;

    text-align: center;
    font-size: smaller;
    padding: 2vmin;

    background: rgb(var(--accent-red));
    background: -moz-linear-gradient(90deg, rgba(var(--accent-red),1) 0%, rgba(27,0,0,1) 50%, rgba(var(--accent-red),1) 100%);
    background: -webkit-linear-gradient(90deg, rgba(var(--accent-red),1) 0%, rgba(27,0,0,1) 50%, rgba(var(--accent-red),1) 100%);
    background: linear-gradient(90deg, rgba(var(--accent-red),1) 0%, rgba(27,0,0,1) 50%, rgba(var(--accent-red),1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#210000",endColorstr="#210000",GradientType=1);

    border-bottom-left-radius: 0.5em;
    border-bottom-right-radius: 0.5em;
    align-items: center;
    gap: 0.5em;

    font-family: "Courier Prime", "Courier New", Courier, monospace, serif;
    letter-spacing: 0.05em;
    line-height: 1;
    font-weight: bold;

    color: hsla(0, 0%, 90%);
    border: 0;
    border-top: 2px rgba(138, 138, 138, 0.8) solid;
    box-shadow: inset 0.4px 1px 4px var(--edge-light), 2px 150px 200px #000000;

    transition: all .2s linear;

    button {
        font-size: smaller;
    }

    .textTop {
        margin-top: 0;
    }
    .textBottom, h2 {
        margin-bottom: 0;
    }
}

#spaceAroundMenu {
    position: fixed;

    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.hidden {
    display: none;
}

.visuallyHidden {
    opacity: 0;
}

.hint {
    font-size: small;
}

/* Thanks to milegelu for the button design template */
/* >   https://uiverse.io/milegelu/tough-cobra-42    */
button {
    cursor: pointer;
    padding: 0.7em 1em;
    margin: 1vmin;
    border-radius: 0.5em;
    min-height: 2.4em;
    min-width: 3em;
    align-items: center;
    gap: 0.5em;

    font-size: 4vmin;
    font-family: "Courier Prime", "Courier New", Courier, monospace, serif;
    letter-spacing: 0.05em;
    line-height: 1;
    font-weight: bold;

    background: linear-gradient(
            140deg,
            rgba(var(--accent-red), 0.3) min(2em, 20%),
            rgba(var(--accent-red), 0.6) min(8em, 100%)
    );
    color: rgba(255, 255, 255, 0.9);
    border: 0;
    box-shadow: inset 0.4px 1px 4px var(--edge-light);

    transition: all 0.1s var(--bezier);
}

button:hover {
    --edge-light: rgba(128, 128, 128, 1);
    text-shadow: 0 0 10px var(--text-light);
    box-shadow: inset 0.4px 1px 4px var(--edge-light),
    2px 4px 8px rgba(0, 0, 0, 0.295);
    background: linear-gradient(
            140deg,
            rgba(var(--accent-red), 1) min(2em, 20%),
            rgba(var(--accent-red), 0.6) min(8em, 100%)
    );
    transform: scale(1.1);
}

button:active {
    --text-light: rgba(255, 255, 255, 1);

    background: linear-gradient(
            140deg,
            rgba(var(--accent-red), 1) min(2em, 20%),
            rgba(var(--accent-red), 0.6) min(8em, 100%)
    );
    box-shadow: inset 0.4px 1px 8px var(--edge-light),
    0 0 8px rgba(var(--accent-red), 0.6);
    text-shadow: 0 0 20px var(--text-light);
    color: rgba(255, 255, 255, 1);
    letter-spacing: 0.1em;
    transform: scale(1);
}

a {
    color: white;
}

.contentDiv {
    margin: 5vmin auto;
    max-width: calc(100% - 20vmin);
    text-align: center;
    background-color: rgba(0, 0, 0, 0.3);
    padding: 2vmin;

    border-radius: 0.5em;
    align-items: center;
    gap: 0.5em;

    font-size: 4vmin;
    font-family: "Courier Prime", "Courier New", Courier, monospace, serif;
    letter-spacing: 0.05em;
    line-height: 1;
    font-weight: bold;

    color: hsla(0, 0%, 90%);
    border: 0;
    box-shadow: inset 0.4px 1px 4px var(--edge-light);

    .textTop {
        margin-top: 0;
    }
    .textBottom {
        margin-bottom: 0;
    }
}

.separatorLine {
    height: 0.5vmin;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.07);
    border: 0;
    box-shadow: inset 0.4px 1px 4px var(--edge-light);
    border-radius: 0.1em;
    margin: 0;
}

#newMusic {
    a {
        text-decoration: none;
        line-height: 0;
    }
    .albums {
        display: inline-block;
        margin: 0 auto;
    }
}


.platformIcon {
    width: 4vmin;
    height: 4vmin;
    cursor: pointer;
}

.navigationPlatformIcon {
    width: 2em;
    height: 2em;
    cursor: pointer;
    vertical-align: middle;
}

/* ALBUM PAGE */
.bigAlbum {
    height: 80vmin;
    width: 80vmin;
    max-width: 100%;

    margin: 1.25vmin;
    padding: 0.5vmin;
    border-radius: 0.5em;
    align-items: center;
    gap: 0.5em;

    border: 0;
    box-shadow: inset 0.4px 1px 4px var(--edge-light);
}

.streams {
    height: 16px;
    width: 16px;
    cursor: pointer;
}

.streamingButtonWithLogo {
    margin-right: 1em;
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
}

.videoStreaming {
    display: none;
}

#videolink {
    margin: 0 auto;
}

#videoThumbnail {
    height: 18vmin;
    cursor: pointer;

    margin: 1.25vmin;
    padding: 0.5vmin;
    border-radius: 0.5em;
    align-items: center;
    gap: 0.5em;

    border: 0;
    box-shadow: inset 0.4px 1px 4px var(--edge-light);

    transition: all 0.1s var(--bezier);
}

#videoThumbnail:hover {
    --edge-light: hsla(0, 0%, 50%, 1);
    --back-color-hsla: 1, 70%;
    text-shadow: 0 0 10px var(--text-light);
    box-shadow: inset 0.4px 1px 4px var(--edge-light),
    2px 4px 8px hsla(0, 0%, 0%, 0.295);
    transform: scale(1.1);
}

#videoThumbnail:active {
    transform: scale(1);
}

.albumPageContentHidden {
    display: none;
    transition-duration: 400ms;
}

.albums, .album {
    height: 30vmin;
    width: 30vmin;
    cursor: pointer;

    margin: 1.25vmin;
    padding: 0.5vmin;
    border-radius: 0.5em;
    align-items: center;
    gap: 0.5em;

    border: 0;
    box-shadow: inset 0.4px 1px 4px var(--edge-light);

    transition: all 0.1s var(--bezier);
}

.albums:hover, .album:hover {
    --edge-light: hsla(0, 0%, 50%, 1);
    --back-color-hsla: 1, 70%;
    text-shadow: 0 0 10px var(--text-light);
    box-shadow: inset 0.4px 1px 4px var(--edge-light),
    2px 4px 8px hsla(0, 0%, 0%, 0.295);
    transform: scale(1.1);
}

.albums:active, .album:active {
    transform: scale(1);
}

.albumDate {
    margin: 0;
    font-size: smaller;
}

.albumLink {
    display: inline-block;
    text-decoration: none;
}

#albumCover {
    margin-top: 4vmin;
}

#streamingInfoMessage {
    color: #ca4848;
}

.infoTable {
    margin: 0 auto;
    width: fit-content;
    text-align: left;
    background-color: rgba(0, 0, 0, 0.3);

    padding: 10px;

    border-radius: 0.5em;
    align-items: center;
    gap: 0.5em;

    font-size: 4vmin;
    font-family: "Courier Prime", "Courier New", Courier, monospace, serif;
    letter-spacing: 0.05em;
    line-height: 1;
    font-weight: bold;

    color: hsla(0, 0%, 90%);
    border: 0;
    box-shadow: inset 0.4px 1px 4px var(--edge-light);

    transition: all 0.1s var(--bezier);
}

.infoTableNumber {
    width: 25px;
}

.infoTableLeft {
    width: 230px;
    font-weight: bold;
}

.infoTableRight {
    font-weight: normal;
}

.numberCell {
    font-weight: bold;
}

#socialMediaPlatformsSeparator {
    margin-top: 2vmin;
}

.asciiArt {
    font-size: 2.5vmin;
    text-align: center;
}

/* For Desktop View */
@media screen and (min-width: 1024px) {
    body, .contentDiv, button, .infoTable, .tableDiv {
        font-size: 3vmin;
        font-family: "Courier Bold", "Courier Prime", "Courier New", Courier, monospace, serif;
    }

    #menu {
        width: fit-content;
        left: auto;
        right: 4vmin;
    }

    .headerWhenMenuOpen {
        border-radius: 0.5em 0.5em 0 0.5em;
    }
}
