/* Homepage styles */

html {
  font-family: var(--default-font-family)
}

a {
  color: black;

  text-decoration: none;
  font-weight: bold;

  @media (prefers-color-scheme: dark) {
    color: white;
  }
}

/* Style of links wrapping a Fontawesome icon */
a:has(i[class^=fa-]) {
  font-size: xxx-large;
}

/* Style of links not wrapping a Fontawesome icon */
a:not(:has(i[class^=fa-])) {
  font-size: xx-large;
}

a:not(:has(i[class^=fa-])):hover {
  text-decoration: underline;
  text-decoration-thickness: 3px;
}

.page-body {
  @media (prefers-color-scheme: dark) {
    background-color: black;
    color: white;
  }

  min-height: 100vh;
  max-width: 100%;
  max-height: 100%;

  display: flex;
  flex-direction: column;
}

.page-layout {
  margin: auto;
}

/* Header section styles */

header {
  padding: 10px;
  margin: 0 auto;

  max-width: 20rem;
  @media (width >= 64rem) {
    max-width: 24rem;
  }
  @media (width >= 80rem) {
    max-width: 28rem;
  }
}

/* Offset un-centered logo image */
header img {
  padding-left: 2rem;
}

/* Main section styles */

main {
  text-align: center;

  margin: 0 auto;
  padding: 0 2.5rem;

  max-width: 36rem;

  @media (width >= 80rem) {
    max-width: none;
  }
}

main h1 {
  font-weight: bold;
  font-size: xxx-large;

  margin-bottom: 2.5rem;
}

main p {
  font-size: xx-large;

  margin-bottom: 1rem;
}


/* Navigation section styles */
nav {
  text-align: center;

  margin: 0 auto;
}

nav > * {
  margin-right: 2rem;
}

nav > *:last-child {
  margin-right: unset;
}

nav ul {
  display: inline;
}

nav ul > li {
  display: inline;
}
