@media only screen and (max-width: 450px) {
  #topmenu {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  #topmenu p {
    margin-bottom: 0.5em;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  nav ul {
    display: flex;
    flex-direction: column;
    list-style-type: none;
    color: inherit;
  }

  nav li {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  img,
  iframe {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  h1,
  h2,
  h3,
  p,
  ul,
  ol {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }

  h1,
  h2,
  h3 {
    text-align: center;
  }

  p {
    text-align: center;
  }

  #signup-form input,
  #signup-form label,
  #signup-form div {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  body {
    max-width: 400px;
  }

  #sidebar {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 1em;
  }

  #logoimg {
    margin-top: 70px;
  }

  #info-container,
  .first-section {
    margin-top: 30px;
  }

  #review-grid,
  #profile {
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 0 !important;
  }

  .profile-col {
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 20px;
  }

  #review-text {
    max-width: 300px;
  }

  .uno-credit ul,
  .uno-credit li {
    max-width: 300px !important;
    font-size: 0.8em;
  }
}

/* common & index.html */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
}

body {
  font-family: "Oxygen Mono", monospace;
  color: #3f3929;
}

.color-beige {
  background-color: #f6f7d7;
  width: 100%;
  padding-top: 30px;
  padding-bottom: 30px;
}

.color-orange {
  background-color: #ff9a00;
  width: 100%;
  padding-top: 30px;
  padding-bottom: 30px;
}

.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin: auto;
}

#topmenu {
  background-color: #ff165d;
  color: #f6f7d7;
  padding-top: 1em;
  padding-bottom: 1em;
  font-size: 1.2em;
  position: fixed;
  top: 0;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: baseline;
}

#topmenu p {
  margin-left: 2em;
}

#site-title {
  font-size: 3em;
  font-family: "Kanit", sans-serif;
  font-weight: 800;
}

#site-desc {
  font-size: 0.6em;
}

nav ul {
  display: flex;
  justify-content: flex-end;
  list-style-type: none;
  color: inherit;
}

nav li {
  margin-right: 30px;
  margin-left: 10px;
}

/* as much as footer expands, it should be modified */
#logo {
  margin-top: 100px;
}

main h1 {
  font-family: "Kanit", sans-serif;
  font-weight: 800;
  font-size: 3.5em;
  margin-bottom: 0;
  margin-top: 0;
}

main figure {
  margin-top: 20px;
  margin-bottom: 20px;
}

main h2 {
  font-family: "Kanit", sans-serif;
  font-weight: 400;
  font-size: 2em;
  margin-top: 0;
}

main h3 {
  margin-bottom: 0;
}

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

#index-description {
  max-width: 600px;
  margin-top: 1em;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

#learn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 10px;
}

#learn ul {
  width: 320px;
  margin: 0;
  padding: 0;
}

#learn li,
#sidebar li {
  list-style-type: none;
  padding: 10px;
  margin: 15px 0;
  background-color: #ff165d;
  color: #f6f7d7;
  border-radius: 5px;
  text-align: center;
}

#sidebar li {
  width: 230px;
}

#learn li:hover,
nav li:hover {
  color: #63a46c;
}

#learn span {
  margin-right: 10px;
}

footer {
  background-color: #ff165d;
  color: #f6f7d7;
  padding-top: 1em;
  padding-bottom: 1em;
  font-size: 0.8em;
}

#footer-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 32px;
}

#footer-container ul,
#about-icons ul {
  display: flex;
  align-items: center;
}

#footer-container li,
#about-icons li {
  list-style-type: none;
  margin-left: 1em;
  margin-right: 1em;
}

.devicon-github-original,
.devicon-linkedin-plain {
  font-size: 1.5em;
}

#signup {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  max-width: 600px;
  border: 2px dotted #ff165d;
  border-radius: 10px;
  padding: 20px;
  line-height: 2em;
}

#signup-form {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#agree {
  font-size: 0.5em;
  margin: auto;
}

#newsletter {
  padding: 0.2em;
  margin-left: 10px;
  width: 300px;
}

#newsletter-label {
  font-size: 0.8em;
}

.submit {
  padding: 0.5em;
  margin: 0.2em;
  border-radius: 5px;
  background-color: #3ec1d3;
  border: 1px solid #3ec1d3;
  color: #f6f7d7;
  font-family: "Kanit", sans-serif;
  width: 170px;
  font-size: 1em;
}

/* index.html carousel */

.slideshow-container {
  max-width: 600px;
  margin: auto;
}

.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #3ec1d3;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

/* info.html */

#info-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.uno-info {
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}

#info-container h1 {
  margin-top: 2em;
  font-family: "Kanit", sans-serif;
  font-weight: 800;
  font-size: 3.5em;
  margin-bottom: 0;
  text-align: center;
}

#info-container figure {
  text-align: center;
}

#info-container ul,
#info-container ol {
  margin-top: 16px;
  margin-bottom: 16px;
  line-height: 1.5em;
}
#info-container h2,
#info-container h3,
#info-container p {
  margin-top: 1.5em;
  margin-bottom: 1em;
  line-height: 1.5em;
}

#components {
  list-style-type: "\1F0CF";
}

#review h1 {
  margin-top: 2em;
}

#rules {
  list-style-type: "\1F44D";
}

#score {
  list-style-type: "\1F3C5";
}

#sidebar {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 1em;
}

#sidebar li {
  margin-left: 10px;
  margin-right: 10px;
}

#highlight {
  padding: 0.1rem;
  background-color: #ff9a00;
  width: auto;
}

figcaption {
  font-size: 0.8em;
  color: #3f3929;
}

/* review.html */

#review,
#review-form-container,
#review-form {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#review-form-container {
  max-width: 600px;
  margin: 20px auto 1.5em auto;
  border: 2px dotted #ff165d;
  border-radius: 10px;
  padding: 20px;
}

#review-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr;
  margin-top: 2em;
  justify-content: space-around;
  align-items: center;
}

#range {
  display: flex;
  align-items: center;
}

#textarea-label,
#review-text {
  margin-bottom: 1em;
  padding: 0.5em;
}

#review-grid input {
  padding: 0.5em;
  margin: 0.5em;
}

#review h2 {
  margin-bottom: 1em;
}

#review-form-container h2 {
  font-family: "Kanit", sans-serif;
  font-weight: 400;
  font-size: 2em;
}

#cards {
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
}

.card {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 350px;
  background-color: #f6f7d7;
  border: 2px dotted #ff165d;
  border-radius: 10px;
  margin: 10px;
  padding: 20px 30px;
  max-width: 300px;
  text-align: center;
}

.card img {
  border-radius: 9999px;
  width: 80px;
  margin-bottom: 10px;
}

#profile img {
  border-radius: 9999px;
  width: 240px;
  margin-bottom: 10px;
}

.card p {
  margin: 0.2em;
  font-family: "Oxygen", sans-serif;
}

.card-name {
  font-size: 1.2em;
  font-weight: bolder;
}

.card-date {
  font-size: 0.8em;
}

/*
#review-form label {
  margin: 10px auto;
}
*/
#range {
  margin-top: 12px;
  font-size: 0.8em;
}

#submit {
  margin: 16px auto 32px auto;
}

/* about.html */

#profile {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-row: 1fr;
  margin-bottom: 30px;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}

#profile h1 {
  margin-top: 2em;
  font-family: "Kanit", sans-serif;
  font-weight: 800;
  font-size: 3.5em;
  margin-bottom: 0;
  text-align: center;
}

#profile h2,
#profile ul {
  margin-top: 1em;
  margin-bottom: 1em;
  line-height: 1.5em;
}

#profile p {
  margin-top: 1em;
  margin-bottom: 1em;
  line-height: 1.5em;
  text-align: center;
}

.profile-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-right: 40px;
}

#profile-name {
  padding-bottom: 0.2em;
  border-bottom: 2px dotted;
}

.uno-credit {
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}

.uno-credit ul {
  margin-top: 16px;
  margin-bottom: 16px;
  line-height: 1.5em;
}

.uno-credit h2,
.uno-credit h3,
.uno-credit p {
  margin-top: 1em;
  margin-bottom: 1em;
  line-height: 1.5em;
}
