:root {
    color-scheme: only light;
}

html,
body {
    color: #7e80a2;
    scrollbar-gutter: stable;
    overflow-x: hidden;
}

h1,
h2,
h3,
h4 {
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-weight: normal;
    margin: 0;
}

h3 {
    margin-top: 16px;
}

p,
li,
a {
    font-family: Arial, Helvetica, sans-serif;
}

a {
    text-decoration: none;
    color: inherit;
}

.link {
    text-decoration: underline;
    color: #76c2f1;
}

#title-wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transform-origin: top;
    transition-duration: 1s;
    z-index: 1;
}

#melvin-title {
    font-size: 63.3px;
    color: #f7996e;
}

#title-container {
    display: flex;
    position: relative;
    justify-content: center;
    animation: fall-intro 2s;
    padding: 20px 0 20px 0;
    text-wrap: nowrap;
}

#title-container h1 {
    text-align: right;
}

@keyframes fall-intro {
    0% {
        filter: opacity(0);
        transform: translateY(-50%);
    }
}

#menu-list {
    border-left: 2px dotted #65678cb9;
    padding-left: 20px;
    margin: 0;
    margin-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 19px;
}

#menu-list a {
    font-size: 20px;
    transition-duration: 0.5s;
}

#menu-list a:hover {
    font-size: 1.5rem;
}

#menu-list a:nth-child(1) {
    animation: list-intro-1 1s;
}

#menu-list a:nth-child(2) {
    animation: list-intro-2 1s;
}

#menu-list a:nth-child(3) {
    animation: list-intro-3 1s;
}

@keyframes list-intro-1 {
    0% {
        transform: translateX(+40%);
    }
}

@keyframes list-intro-2 {
    0% {
        transform: translateX(+60%);
    }
}

@keyframes list-intro-3 {
    0% {
        transform: translateX(+80%);
    }
}

#content-container {
    margin-top: 115px;
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translate(-50%);
    transform-origin: center;
    transition-duration: 1s;
    width: 460px;
}

#digital-art,
#programming,
#about {
    position: absolute;
    visibility: hidden;
    opacity: 0;
    padding-bottom: 200px;
    margin-top: 0;
    scroll-margin: 100vh;
    transition-duration: 1s;
}

#grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 2ch;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 1.5em;
}

.thumbnail {
    border-radius: 5px;
    box-shadow: 0 4px 8px 0 #7e80a236, 0 6px 20px 0 #7e80a261;
    object-fit: cover;
    width: 100px;
    height: 100px;
    cursor: pointer;
    transition-duration: 0.35s;
}

.thumbnail:hover {
    scale: 1.1;
}

#modal {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    overflow: auto;
    justify-content: center;
    align-items: flex-start;
}

#thumbnail-enlarged {
    align-self: center;
    margin-left: auto;
    height: 90%;
    padding-left: 35.36px;
}

#close {
    border: none;
    margin-right: auto;
    background-color: transparent;
    font-size: 40px;
    color: white;
    right: 10px;
    cursor: pointer;
}

.title-top {
    top: 0% !important;
    left: 50% !important;
    transform: translate(-50%, -0%) scale(0.75) !important;
}

.page-show {
    display: initial !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.flex {
    display: flex;
    align-items: center;
    justify-content: center;
}

.w-5 {
    width: 1.5rem;
}

.h-5 {
    height: 1.5rem;
}

@media only screen and (max-width: 600px) {
    #content-container {
        max-width: 90%;
    }

    #thumbnail-enlarged {
        width: 80%;
        height: auto;
    }

    #grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media only screen and (max-width:999px) and (orientation: portrait) {
    #thumbnail-enlarged {
        width: 80%;
        height: auto;
    }
}