/* latin-ext */
@font-face {
  font-family: 'Source Serif Pro';
  font-style: normal;
  font-weight: 400;
  src: local('Source Serif Pro'), local('SourceSerifPro-Regular'), url(https://fonts.gstatic.com/s/sourceserifpro/v6/neIQzD-0qpwxpaWvjeD0X88SAOeauXo-oBOL.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Source Serif Pro';
  font-style: normal;
  font-weight: 400;
  src: local('Source Serif Pro'), local('SourceSerifPro-Regular'), url(https://fonts.gstatic.com/s/sourceserifpro/v6/neIQzD-0qpwxpaWvjeD0X88SAOeauXQ-oA.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

* {
  margin: 0;
  padding: 0;
}

body {
  --fg-color: #303030;
  --bg-color: #FEFEFE;

  display: flex;
  flex-direction: column;
  align-items: center;

  padding-bottom: 2rem;

  color: var(--fg-color);
  background-color: var(--bg-color);
}

.banner {
  box-sizing: border-box;
  width: 100%;
  height: 1rem;

  background: linear-gradient(
    to right, #c01e27 0%, #d84130 15%, #e57b4a 40%,
    #e7905e 50%, #eb996e 60%, #d79453 75%, #a47e42 100%
  );
}

.banner-separator {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 0.5rem;

  border-bottom: 1px solid gray;
}

.navbar {
  display: flex;
  justify-content: center;

  box-sizing: border-box;
  width: 550px;
}

.navbar a {
  box-sizing: border-box;

  text-decoration: none;
  color: var(--fg-color);
  border-bottom: 1px solid var(--bg-color);
}

.navbar a:hover {
  box-sizing: border-box;
  text-decoration: none;
  border-bottom: 1px solid var(--fg-color);
}

.navbar ul {
  display: flex;
  flex-direction: row;

  box-sizing: border-box;
  padding-top: 1rem;
  padding-bottom: 0.8rem;

  list-style-type: none;
  text-transform: uppercase;
  font-family: helvetica;
  font-weight: 600;
}

.navbar li {
  display: flex;
  justify-content: center;
  align-items: baseline;
}

.navbar li ~ li {
  margin-left: 1.5rem;
}

.nav-separator {
  box-sizing: border-box;
  width: 650px;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;

  border-bottom: 1px solid gray;
}

@media screen and (max-width: 600px) {
  .navbar {
    width: 95%;
  }

  .nav-separator {
    width: 95%;
  }
}

@media screen and (max-width: 400px) {
  .navbar li ~ li {
    margin-left: 0.5rem;
  }
}
