:root {
    --font-body: "Courier Prime", monospace;
    --font-title: "Courier Prime", monospace;
}

body {
    font-family: var(--font-body);
    background-color: #0D0D0B;
    color: white;
}

h1, h2, h3 {
    font-family: var(--font-title);
}

pre {
    width: fit-content;
    margin: 0;
    text-align: center;
    font-size: clamp(8px, 2vw, 16px);
}

.container {
    display: flex;
    margin: 0 auto;
    width: clamp(100px, 80vw, 1500px);
    transform: scale(0.9);
    transform-origin: top center;
    box-shadow: 0 0 20px rgba(0,0,0,.5);
    background-color: #0D0D0B;
    border: 4px solid white;
}

#left-box {
    flex: 1;
    padding: 10px;
    border-right: 1px solid white;
}

#right-box {
    flex: 3;
    padding: 10px;
}

.pfp {
    max-width: 80%;
    height: auto;
    margin-bottom: 20px;
}

a {
    position: relative;
    color: grey;
    text-decoration: none;
    transition: all 0.3s ease;
}

a.no-hover-link {
    color: white;
}

a::before,
a::after {
    content: "";
    position: absolute;
    bottom: -3px;
    width: 0;
    height: 1px;
    background: #8aff80;
    transition: width 0.4s ease;
}

a::before {
    left: 50%;
}

a::after {
    right: 50%;
}

a:hover::before,
a:hover::after {
    width: 50%;
}

a:hover {
    color: #8aff80;
}

a.no-hover-link::before,
a.no-hover-link::after {
    display: none;
}

.mp3-player {
    position: relative;
    width: clamp(200px, 65vw, 300px);
    transform-origin: top left;
}

.mp3-player img,
.welcome img {
    width: 100%;
    height: auto;
    display: block;
}

.screen-mp3 {
    position: absolute;
    left: 26.5%;
    top: 41.5%;
    width: 51.5%;
    height: 12%;
    overflow: visible;
    font-family: monospace;
    font-size: 10px;
    color: black;
}

.screen-mp3 iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

.welcome img {
    width: 50%;
    margin: 0 auto;
}

@media (max-width: 640px) {

    header nav {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }

    #left-box {
        border-right: none;
        border-bottom: 1px solid white;
    }

    #left-box, #right-box {
        flex-direction: column;
    }

        .container {
        flex-direction: column;
    }
    
}

@media (max-width: 400px) {

        header nav {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }

    #left-box, #right-box {
        flex-direction: column;
    }

        .container {
        flex-direction: column;
    }

}

@media (max-width: 200px) {
    iframe {
        font-size: 1.5rem;
    }
}