/* New fonts */
@font-face {
  font-family: Tangerine;
  src: url('Tangerine-Regular.ttf') format('truetype');
}

@font-face {
  font-family: Sofia;
  src: url('Sofia-Regular.ttf') format('truetype');
}

/* CSS Reset */
* {
  margin: 0rem;
  padding: 0rem;
  box-sizing: border-box;
}

/* Styles for all screens, small screens first */
body {
  background-color: #292747;
  font-family: sans-serif;
  font-size: 12pt;
  color: #fff;
}

a {
  text-decoration: none;
}

.center {
  text-align: center;
}

.justify {
  text-align: justify;
}

.warning {
  color: #ff0000;
}

header {
  background-color: #6a7ca0;
  width: 100%;
  padding: 5px 0;
}

h1, .tagline, h2, h3 {
  font-family: "Tangerine", "Brush Script MT", sans-serif;
}

h1 {
  font-size: 4rem;
}

h1 a {
  color: #fff;
}

h1, h2, h3, h4, .tagline {
  text-align: center;
}

.tagline {
  margin: -12px 0 -8px;
  font-size: 2.2rem;
  font-weight: bold;
}

.nav {
  background-color: #d2578d;
  width: 100%;
  border-top: 5px solid #e0ce6a;
  border-bottom: 5px solid #e0ce6a;
  padding: 0;
}

nav, main {
  width: 95vw;
  margin: 0 auto;
}

nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: space-around;
}

nav ul li {
  display: inline-block;
  vertical-align: middle;
  padding: 2px 6px;
  font-family: "Sofia", "Brush Script MT", sans-serif;
  font-size: 1.2rem;
  font-weight: bold;
}

nav a {
  color: #fff;
}

h2 {
  font-size: 2rem;
}

h3 {
  font-size: 1.8rem;
  margin-top: 10px;
}

h4 {
  margin-top: 15px;
}

main {
  padding: 10px 0;
}

main a {
  color: #e0ce6a;
  border-bottom: 1px dotted #e0ce6a;
}

main p {
  line-height: 1.2rem;
  margin: 1rem 0;
}

main p.center a {
  margin: 0 5px;
}

.char-box, .manga-box, .manga-chap,
.bssm-eps-box, .bssm-movies-box,
.crystal-eps-box, .crystal-movies-box {
  display: grid;
}

.char-box, .bssm-eps-box {
  grid-template-columns: repeat(2, 1fr);
}

.manga-box, .manga-chap, .bssm-movies-box,
.crystal-eps-box, .crystal-movies-box {
  grid-template-columns: repeat(1, 1fr);
}

figure {
  margin: 5px 0;
}

figure, figure figcaption {
  text-align: center;
  font-size: 0.9rem;
}

#articles ul, #updates ul {
  list-style: none;
}

#articles ul li, #updates ul li {
  display: flex;
  align-items: flex-start;
  text-align: justify;
}

#articles ul li::before, #updates ul li::before {
  content: "☾";
  font-size: 1.2rem;
  line-height: 1.2rem;
  flex-shrink: 0;
  margin-right: 1rem;
}

#articles ul li a, #updates ul li a {
  margin: 0 4px;
}

footer {
  background-color: #0f0f0f;
  font-size: 0.9rem;
  width: 100%;
  margin: 0;
  padding: 15px 0;
}

@media screen and (width >= 430px) {
  .bssm-movies-box, .crystal-eps-box,
  .crystal-movies-box {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (width >= 540px) {
  h1 {
    font-size: 5rem;
  }

  .tagline {
    font-size: 2.5rem;
  }

  h2 {
    font-size: 2.5rem;
  }

  h3 {
    font-size: 2rem;
    margin-top: 12px;
  }

  .char-box, .bssm-eps-box {
    grid-template-columns: repeat(3, 1fr);
  }

  .manga-box, .manga-chap {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (width >= 750px) {
  h1 {
    font-size: 6rem;
  }

  .tagline {
    font-size: 3rem;
  }

  nav, main {
    width: 85%;
  }

  nav ul li {
    font-size: 1.3rem;
  }

  h2 {
    font-size: 3rem;
  }

  h3 {
    font-size: 2.5rem;
    margin-top: 14px;
  }

  .char-box, .bssm-eps-box {
    grid-template-columns: repeat(4, 1fr);
  }

  .manga-box, .bssm-movies-box,
  .crystal-eps-box, .crystal-movies-box {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (width >= 900px) {
  .char-box {
    grid-template-columns: repeat(5, 1fr);
  }

  .manga-box, .bssm-movies-box,
  .crystal-eps-box, .crystal-movies-box {
    grid-template-columns: repeat(4, 1fr);
  }

  .manga-chap {
    grid-template-columns: repeat(3, 1fr);
  }

  #articles, #updates {
    display: inline-block;
    vertical-align: top;
    width: 49.5%;
  }

  #articles {
    margin-right: 3px;
  }

  #updates {
    margin-left: 3px;
  }
}

@media screen and (width >= 1000px) {
  .bssm-eps-box {
    grid-template-columns: repeat(5, 1fr);
  }
}

@media screen and (width >= 1280px) {
  nav, main {
    width: 75%;
  }

  .char-box, .bssm-eps-box {
    grid-template-columns: repeat(6, 1fr);
  }

  .manga-box, .bssm-movies-box,
  .crystal-eps-box {
    grid-template-columns: repeat(5, 1fr);
  }

  .manga-chap {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media screen and (width >= 1440px) {
  nav, main {
    width: 65%;
  }

  .char-box {
    grid-template-columns: repeat(7, 1fr);
  }

  .manga-box {
    grid-template-columns: repeat(6, 1fr);
  }

  .manga-chap {
    grid-template-columns: repeat(5, 1fr);
  }
}

@media screen and (width >= 1600px) {
  .bssm-eps-box {
    grid-template-columns: repeat(7, 1fr);
  }
}

@media screen and (width >= 1760px) {
  .bssm-movies-box, .crystal-eps-box {
    grid-template-columns: repeat(6, 1fr);
  }
}
