:root { 
    --bg: #eceff4;
    --txt: #2e3440;
    --hili: #5e81ac;
    --bottom: #d8dee9;
}

.font-general {
    font-family: "Lora", Georgia, sans-serif;
}

.font-other {
    font-family: "Inter", Arial, sans-serif;
}

html {
    min-height: 100%;
    position: relative;
}

body {
    background: linear-gradient(var(--bg), 80%, var(--bottom));
    font-family: "Lora", Georgia, sans-serif;
    text-align: center;
    color: var(--txt);
    transition: color 0.2s ease;
}

#menu {
    z-index: 999;
    display: flex;
    margin-left: 25%;
    margin-right: 25%;
    padding: 8px;
    justify-content: left;
    align-items: center;
}

#name {
    color: var(--txt);
    /* text-transform: lowercase; */
    margin-top: 16px;
    font-weight: 500;
    font-size: 32px;
    letter-spacing: 0.1em;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    background-image: linear-gradient(var(--hili), var(--hili));
    background-repeat: no-repeat;
    background-position: 0% 100%;
    background-size: 10% 0%;
    transition: all 0.8s ease;
}

#name:hover {
    background-position: 0% 100%;
    background-size: 10% 100%;
    transition: all 0.8s ease;
}

a {
    font-weight: 500;
    text-decoration: none;
    box-shadow: none;
    border-style: none;
    padding-bottom: 2px;
    background-image: linear-gradient(var(--hili), var(--hili));
    background-size: 100% 2px;
    background-repeat: no-repeat;
    background-position: 0 100%;
    transition: all 0.2s ease;
}

a:hover {
    background-size: 100% 100%;
    color: var(--bg) !important;
}

a:link {
    color: var(--txt);
}

a:visited {
    text-decoration: none;
    color: var(--txt); 
}

#curtain {
    opacity: 0;
    transition: opacity 1.6s ease-out;
}

#curtain.introduce {
    opacity: 1;
}

#info {
    line-height: 1.5em;
    font-size: 16px;
    text-align: left;
    margin-left: 25%;
    margin-right: 25%;
}

.subinfo {
    opacity: 0;
    transition: opacity 1s ease-in-out; 
}

.header {
    padding-left: 12px;
    margin: 8px 0px 8px 0px;
    background-image: linear-gradient(var(--hili), var(--hili));
    background-size: 1% 20%;
    background-repeat: no-repeat;
    background-position: 0% 90%;
    display: flex;
    justify-content: left;
    text-align: left;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.05em;
    word-spacing: 0.2em;
    line-height: 1.5em;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

.content {
    display: inline-block;
    padding-left: 12px;
}

#about {
    transition-delay: 0.2s;
}

#about.introduce {
    opacity: 1;
}

#projects {
    transition-delay: 0.4s;
}

#projects.introduce {
    opacity: 1;
}

#misc {
    transition-delay: 0.6s;
}

#misc.introduce {
    opacity: 1;
}