* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: "Noto Sans TC", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Kosugi", sans-serif;
  font-weight: 400;
  font-style: normal;
}

header div.top {
  padding: 2.25rem;
  background: linear-gradient(
      rgba(255, 255, 255, 0.5),
      rgba(255, 255, 255, 0.5)
    ),
    url("./images/background.jpeg");
  background-position: center bottom;
}

header div.top h1 {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

header div.top h3 {
  font-size: 1rem;
}

header nav {
  background-color: black;
}

header nav ul {
  display: flex;
  list-style-type: none;
}

header nav ul li {
  padding: 0.8rem 1.2rem;
}

nav ul li a {
  color: white;
  text-decoration: none;
  font-size: 1.25rem;
  transition: all 0.3s ease;
}

.active {
  color: yellow;
}

nav ul li a:hover {
  color: yellow;
}

main {
  display: flex;
  flex-wrap: wrap;
}

main.no-flex {
  display: block;
}

main section {
  padding: 1rem;
}

section.left {
  flex: 1 1 200px;
}

section.left img {
  width: 90%;
}

section.left h3 {
  font-size: 2rem;
  color: rgb(12, 122, 92);
  margin-bottom: 1.25rem;
}

section.left table {
  margin-top: 1rem;
}

section.left table,
tr,
td {
  padding: 0.25rem;
}
section.right {
  flex: 4 1 500px;
}

section.right h3 {
  font-size: 1.5rem;
  color: rgb(0, 90, 91);
  margin-top: 3rem;
}

p {
  padding: 0.5rem 0rem;
}

section.right ul {
  margin-left: 2rem;
}

/* history.html */
.origin {
  border: 3px solid burlywood;
  margin: 2rem 2rem;
  padding: 0.5rem;
}

section.history h3 {
  font-size: 2rem;
  color: rgb(12, 122, 92);
  margin-bottom: 1.25rem;
}

.origin h4 {
  font-size: 1.5rem;
  color: rgb(0, 90, 91);
}

.origin h5 {
  font-size: 1.05rem;
  color: rgb(6, 120, 120);
}

/* location.html */
main h3.tokushima {
  font-size: 2rem;
  color: rgb(12, 122, 92);
  margin-top: 1.25rem;
  margin-left: 2rem;
}

div.location {
  display: flex;
  flex-wrap: wrap;
  padding: 1rem;
}

div.location h3 {
  font-size: 1.5rem;
  color: rgb(0, 90, 91);
  margin-bottom: 1rem;
}

div.location img {
  flex: 1 1 300px;
  width: 60vh;
  max-width: 60vh;
}

div.location .info {
  flex: 3 1 600px;
  padding: 2rem;
}

div.kaikan {
  display: flex;
  flex-wrap: wrap;
  padding: 1rem;
}

div.kaikan div.text {
  flex: 5 1 300px;
  padding: 1rem;
}

div.kaikan div.text h3 {
  font-size: 1.5rem;
  color: rgb(0, 90, 91);
}
div.kaikan div.text h4 {
  font-size: 1.05rem;
  color: rgb(6, 120, 120);
}

#awaodori-kaikan {
  flex: 1 1 200px;
}

/* glossary.html */
section.glossary h3 {
  font-size: 2rem;
  color: rgb(12, 122, 92);
  margin-bottom: 1.25rem;
}

th {
  background-color: rgb(86, 224, 192);
  color: white;
}

.glossary table,
th,
td {
  border: 1px solid rgb(210, 247, 195);
  border-collapse: collapse;
  padding: 2px 4px;
  margin-top: 1.25rem;
}

/* dance.html */
.dance div hr {
  margin: 0 1rem;
}

.dance h3 {
  font-size: 2rem;
  color: rgb(12, 122, 92);
  margin: 1.25rem;
}

.dance h4 {
  font-size: 1.5rem;
  color: rgb(0, 90, 91);
}

.dance .content {
  display: flex;
  flex-wrap: wrap;
}

.dance .content section.left,
.dance .content section.right {
  flex: 1;
  width: 45%;
  margin-right: 5%;
}

.dance .content section.right {
  margin-right: 0;
}

.dance ol li {
  list-style-type: none;
  margin-left: 2rem;
  margin-bottom: 1rem;
}

.dance section.left ol li {
  margin-bottom: 2.5rem;
}

.dance ol li img {
  float: left;
  margin-right: 10px;
  margin-left: 2rem;
  width: 55px;
  vertical-align: bottom;
}

.dance ol li p {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-bottom: 0;
}

.dance ol li p span {
  font-size: 1.05rem;
  color: rgb(6, 120, 120);
}

/* FOOTER */
.fa-github {
  color: #ddd;
  font-size: 1.35rem;
}

.fa-github:hover {
  animation: github-animation-in 0.5s ease infinite alternate;
}

.footer b i {
  font-size: 13px;
  font-style: italic;
  font-weight: 900;
}

.fa-github:not(:hover) {
  animation: github-animation-out 0.5s ease-out;
}

@keyframes github-animation-in {
  from {
    transform: translateY(0rem) scale(1.2);
  }
  to {
    transform: translateY(-0.3rem) scale(1.2);
  }
}

@keyframes github-animation-out {
  from {
    transform: translateY(0rem) scale(1.2);
  }
  to {
    transform: translateY(0rem) scale(1);
  }
}

@media screen and (max-width: 600px) {
  header nav ul {
    flex-direction: column;
  }
}
