@font-face {
    font-family: 'AnotherTag';
    src: url('fonts/aAnotherTag.ttf');
}


/* background */
html,
body {
    width: 100%;
    min-height: 100%;
    margin: 0;
    font-family: "Trebuchet MS", sans-serif;
    font-size: 0.9rem;
    background-color: #FFFAFB;
    overflow-x: hidden;
}

body {
    --background-url: url("images/background-3.jpg");
    --background-transform: translate(0, 0) scale(1.1);
}

body::before {
    content: "";
    position: fixed;
    inset: -2rem;
    z-index: 0;
    background-image: var(--background-url);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform: var(--background-transform);
}


/* text */
h1 {
    margin: 0.4rem;
}

p {
    line-height: 1.5;
}

mark {
    border-radius: 0.4rem;
    background-color: #6A706E;
    color: #FFFAFB;
    margin: 2px 0;
    font-weight: bold;
    padding: 0.20rem 0.35rem;
}


/* main containers */
#content {
    min-height: 100vh;
    width: 100%;
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    gap: 2rem;
}

#main {
    height: auto;
    width: 23.4rem;
    max-width: calc(100vw - 2rem);
    position: relative;
    background-color: #ebebeb;
    box-shadow: 1px 1px 48px -3px rgba(0, 0, 0, 0.81);
    display: flex;
    flex-direction: column;
    border-radius: 0.4rem;
    padding: 0.5rem;
    box-sizing: border-box;
    gap: 0.75rem;
}

#main h1 {
    font-size: 4.6rem;
    position: absolute;
    color: #FFFAFB;
    text-shadow: 5px 5px 10px rgba(0, 0, 0, 0.4);
    z-index: 1;
    font-family: AnotherTag;
    right: 9.2rem;
    top: -1.6rem;
    transform: translateY(-50%);
    transition: transform 0.25s ease;
}


/* buttons */
#main button,
#navbar button {
    border: none;
    background: none;
    font-family: "Trebuchet MS", sans-serif;
    font-weight: bold;
    padding: 0.4rem;
    color: #000000;
    transition: transform 0.2s ease;
}


/* info */
#info {
    height: 8rem;
    width: auto;
    position: relative;
    overflow: hidden;
    border-radius: 0.4rem;
    border: 1px dashed #000000;
    background: #fffafb;
    box-sizing: border-box;
    transition: height 0.35s cubic-bezier(.22, 1, .36, 1);
}


/* navbar */
#navbar {
    display: flex;
    z-index: 1;
    box-sizing: border-box;
}


/* content */
.page {
    display: flex;
    align-items: center;
    gap: 2rem;
    position: relative;
}

.container {
    width: auto;
    max-width: 100%;
    max-height: 13rem;
    padding: 0.4rem;
    overflow: auto;
    box-sizing: border-box;
    background: #fffafb;
    border-radius: 0.4rem;
}

.content-container {
    display: none;
    opacity: 0;
}

.content-container.show {
    display: block;
}


/* social */
#social {
    display: flex;
    box-sizing: border-box;
    gap: 0.75rem;
}

.fab,
.fas,
.fa-brands {
    font-size: 1.4rem;
    text-decoration: none;
    color: #333635;
    display: inline-block;
    transition: transform 0.25s ease;
}


/* status.cafe */
#status {
    width: auto;
    z-index: 10;
    top: 40%;
    left: 57%;
    position: absolute;
    flex-shrink: 0;
}

#status img {
    display: block;
    width: 9.2rem;
    height: auto;
    filter: drop-shadow(8px 8px 16px rgba(0, 0, 0, 0.5));
    cursor: pointer;
    transition: transform 0.25s ease;
}

#statuscafe {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 1.3rem);
    transform: translateX(-50%);
    width: 15rem;
    height: 3.5rem;
    padding: 5px;
    box-sizing: border-box;
    background-color: #fffafb;
    border-radius: 5px;
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.25s ease,
        visibility 0.25s ease;
}

#statuscafe::after {
    content: "";
    position: absolute;
    left: 70%;
    bottom: -8px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #fffafb;
    transform: translateX(-50%);
}

#statuscafe-username {
    margin-bottom: 10px;
    font-weight: bold;
    font-family: "Trebuchet MS", monospace;
}

#statuscafe-content {
    font-family: "Trebuchet MS", monospace;
}


/* marquees */
#album-marquee,
#games-marquee {
    width: 100%;
    overflow: hidden;
    background-color: #ebebeb;
    padding: 5px 0;
    border-radius: 4px;
}

#album-marquee-content,
#games-marquee-content {
    display: flex;
    width: max-content;
    animation: marquee 15s linear infinite;
}

.marquee-group {
    display: flex;
    gap: 0.5rem;
    padding-right: 0.5rem;
    flex-shrink: 0;
}

.marquee-group img {
    height: 4rem;
    width: auto;
    border-radius: 4px;
}

#album-marquee:hover #album-marquee-content,
#games-marquee:hover #games-marquee-content {
    animation-play-state: paused;
}

@keyframes marquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}


/* tooltip */
#s-m-t-tooltip {
    max-width: 300px;
    z-index: 10;
    margin: 24px 14px;
    padding: 0.4em;
    font-size: 0.8em;
    background-color: #474747;
    border: 1px solid #fffafb;
    color: #fffafb;
    border-radius: 5px;
    box-sizing: border-box;
}


/* hover effects */
a:hover {
    color: #474747;
    transform: scale(1.1);
}

#main h1:hover {
    transform: translateY(-50%) scale(1.1);
}

mark:hover {
    transform: scale(1.1);
}

#navbar button:hover,
#navbar button.active {
    color: #474747;
    transform: scale(1.15);
}

#status img:hover {
    transform: scale(1.1);
}

#status:hover #statuscafe {
    opacity: 1;
    visibility: visible;
}