html {
    font-size: 18pt;
    font-family: "Noto Serif KR", "Noto Serif K", "Source Han Serif KR", "Source Han Serif K", "Noto Serif", "Source Han Serif", "본명조", sans-serif;
    line-height: 1.26;
}

#content {
    max-width: 800px;
    margin: 0 auto;
    padding: 100px 20px;
}

/* Medium screens: tablets */
@media (max-width: 1200px) {
  html {
    font-size: 17pt; /* ~22.7px */
  }
}

/* Small tablets / large phones (landscape) */
@media (max-width: 992px) {
  html {
    font-size: 16pt; /* ~21.3px */
  }
}

/* Phones (portrait) */
@media (max-width: 768px) {
  html {
    font-size: 15pt; /* ~20px */
  }
}

/* Small phones */
@media (max-width: 576px) {
  html {
    font-size: 14pt; /* ~18.7px */
  }

  #content {
    padding: 100px 10px;
  }
}

/* Very small / legacy devices */
@media (max-width: 400px) {
  html {
    font-size: 13pt; /* ~17.3px */
  }
}

i {
    font-style: italic;
}

strong {
    font-weight: bold;
}

header,
main,
footer {
    padding: 15px 20px;
    margin-bottom: 1em;
}

header {
    text-align: center;
}

.bio {
    max-width: 500px;
    margin: 0 auto;
}

section {
    margin-bottom: 1em;
}

h1 {
    font-size: 1.8em;
    font-weight: bold;
}

h2 {
    font-size: 1.3em;
    font-weight: bold;
    margin-bottom: 0.5em;
}

li {
    margin-left: 1.5em;
    text-indent: -1.5em;
    margin-bottom: 0.3em;
}

a, a:visited {
    color: #ff581c;
    transition: 0.05s color;
}

a:hover {
    color: #ff7f50;
}

footer {
    border-top: 1px solid #ccc;
    color: #888;
    font-size: 0.8em;
    text-align: center;
}