* {
    box-sizing: border-box;
}
@font-face {
    font-family: 'SilentHillFont';
    src: url('fonts/SLNTHLE.TTF') format('truetype');
}
@font-face {
    font-family: 'book antiqua';
    src: url('fonts/book-antiqua.ttf') format('truetype');
}
@font-face {
    font-family: 'emotion engine';
    src: url('fonts/emotion-engine.ttf') format('truetype');
}
@keyframes bob {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-7px); 
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* menu */
body {
    background-color: black;
    margin: 0;
    cursor: url('cursors/DefaultPointer@1x.png'), auto;
    color: white;
}
#menu-page {
    background-image: url('pics/backgrounds/silenthill4background.jpg');
    background-size: auto;
    position: absolute;
    overflow: hidden;
    opacity: 1; 
    transition: opacity 1.5s ease-in-out;
    display: block;
    flex-direction: column;
}
#menu-page.hidden {
  opacity: 0;
}
#cat {
    position: absolute;
    width: 170px;
    height: auto;
    top: 515px;
    left: 1260px;
}
#cat:hover {
    cursor: grab;
}
#cat:active {
    cursor: grabbing;
}
.title-box {
    height: 60vh;
} 
#header {
    font-family: 'SilentHillFont', sans-serif;
    font-weight: 900;
    font-size: min(8.5rem, 14vw);
    color: white;
    margin: auto;
    opacity: 70%;
    text-align: center;
    padding: 10vh 0 0 6vw;
    text-shadow: 5px 5px 3px #000000;
    letter-spacing: 1rem;
    animation: bob 3s ease-in-out infinite;
}
.lighter {
    font-weight: 100;
}
.light {
    font-weight: 500;
}
.selection-container {
    height: 40vh;
    width: 100vw;
    padding-top: 3.5vw;
    text-align: center;
}
h2 {
    font-family:  'book antiqua', serif;
    font-weight: 500;
    font-size: 1.4rem;
    color: #7e7e7e;
    letter-spacing: .24rem;
    padding: 2px 6px;
    text-shadow: 3.3px 3.3px #000000;
    opacity: 90%;
    width: fit-content;
    margin: 15px auto;
}
.enabled:hover {
    color: white;
}
.disabled {
    color: #3d3d3d;
}
.page-container {
    display: none; 
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
    flex-direction: column;
    align-items: center;
}
.page-container.visible {
    opacity: 1;
}

/* about */
#about-page {
    display: none;
}
.back-button {
    position: absolute;
    display: flex;
    border:  2px solid white;
    border-radius: 15px;
    box-shadow: 0 0 15px white;
    height: 37px;
    align-items: center;
    z-index: 10;
    top: 10px;
    left: 10px;
}
.back-button:hover {
    background-color: white;
    color: black;
}
.circle-button {
    width: 36px;
    height: 36px;
}
.back-text {
    font-family: 'emotion engine', sans-serif;
    font-weight: 100;
    font-size: 1rem;
    line-height: 36px;
    padding-right: 5.5px;
}
.layout-container {
    display: flex;
    justify-content: center;
    align-items: flex-start; 
    font-family: Pixelify Sans, sans-serif;
    visibility: visible;
}
.about-container {
    width: 600px;
}
#about-header {
    font-size: 0.9rem;
    padding: 0 15px;
    text-align: center;
    visibility: visible;
    z-index: 1;
}
#div1 {
    display: flex;
    height: 150px;
    margin-bottom: 15px;
    border: 2px solid white;
}
#prof-pic {
    width: 150px;
    display: block;
}
#prof-pic-container {
    margin: 8px;
}
#about-text {
    margin-top: -8px;
    padding-right: 8px;
}
#div2 {
    border: 2px solid white;
}
#status-content {
    display: flex;
}
.table-title {
    margin: 0;
    text-align: center;
    color: black;
    background-color: white;
    font-size: 22px;
}
.about-table {
    padding: 0;
    margin-left: 0;
    border-collapse: collapse;
}
.about-table td {
    padding: 0;
    margin: 0;
}
.table-left {
    background-color: white;
    color: black;
    text-align: center;
    font-weight: 800;
    border: 2px solid black;
}
#statuscafe {
    padding: .5em 0 .5em .5em;
    border-left: 2px solid white;
}
#statuscafe-username {
    margin-bottom: .5em;
}
#div3 {
    margin-top: 15px;
    border: 2px solid white;
}
.about-table tr {
    border-bottom: 2px dashed white;
}
.about-table tr:last-child {
    border-bottom: none;
}
#div4 {
    width: 203.5px;
    margin: 0 20px;
}
#webrings-container {
    border: 2px solid white;
    height: 191px;
    overflow-y: auto
}
#WiiRing {
    margin: 7.5px auto;
}
#gummy {
    margin-top: 10px;
}
#gif-container1 {
    border: 2px dashed white;
    margin-bottom: 15px;
}
#gif-container2 {
    border: 2px dashed white;
    margin-bottom: 29px;
}
.about-gif {
    width: 200px;
    display: block;
    text-align: center;
}
.marquee-container {
    overflow: hidden;
    margin: 15px 0;
}
.marquee-wrapper {
    display: flex;
    width: fit-content;
    animation: scroll 8s linear infinite;
}
.marquee-content {
    display: flex;
    flex-shrink: 0;
    padding: 0;
    white-space: nowrap;
}

/* blog */

#blog-page {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}
#blog-background {
    background-image: url(pics/backgrounds/memomenu1.jpg);
    font-family: 'book antiqua', sans-serif;
    width: 843px;
    height: 490px;
    opacity: 80%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
}
#blog-button-wrapper {
    margin-top: -9.6vh;
    padding-left: 15px;
    max-height: 190px;
    min-width: 843px;
    overflow-y: auto;
    transition: opacity 2s ease-in-out;
    opacity: 1;
    display: block;
}
#blog-button-wrapper.hidden {
  opacity: 0;
}
.blog-buttons {
    color: white;
    letter-spacing: .2rem;
    opacity: 75%;
    padding: 0 5px;
    margin: 10px auto;
}
.blog-buttons:hover {
    background-color: rgba(42, 206, 42, 0.65);
}
#blog-button-wrapper {
    display: block;
}
.blog-entry {
    margin-top: -10vh;
    margin-left: 15px;
    max-width: 600px;
    max-height: 400px;
    overflow-y: auto;
    opacity: 0;
    transition: opacity 0.8s ease-in-out;
}
.blog-entry.visible {
    opacity: 1;
}
.blog-entry-text {
    font-size: 1.3rem;
    opacity: 90%;
    font-weight: 800;
    color: #9696e6;
    letter-spacing: .2rem;
}

