@font-face {
  font-family: "Source Sans 3";
  font-display: swap;
  src: url("../fonts/SourceSans3-Regular.otf.woff2") format("woff2");
}

body {
  font-family: "Source Sans 3", sans-serif;
  color: #FFC000;
  background-color: #282828;
}

/* TODO fix insufficient contrast for some link states */

a {
  color: #5D9AFB;
}
a:link {
  color: #5D9AFB;
}
a:visited {
  color: #5D9AFB;
}
a:hover {
  color: #FF21D3;
}
a:active {
  color: #FF21D3;
}

/* Nav: left-aligned row on larger screens */
nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background-color: #333;
}

nav li a {
  display: block;
  color: white;
  text-align: left;
  padding: 14px 16px;
  text-decoration: none;
}

nav li a:hover {
  background-color: #ddd;
  color: black;
}

nav li a:active {
  background-color: #04AA6D;
  color: white;
}

/* Logo image: match nav text height on larger screens */
.logo img {
  height: 1.25em;
  width: auto;
  display: block;
}

/* Mobile: logo full-width on top, nav stacked under (all left-aligned) */
@media (max-width: 600px) {
  nav ul {
    flex-direction: column;
    align-items: stretch;
  }

  nav ul li:first-child {
    width: 100%;
  }

  .logo {
    display: block;
    width: 100%;
  }

  .logo img {
    width: 100%;
    height: auto;
  }

  nav li a {
    text-align: left;
  }
}
