@font-face {
  font-family: "Libre Baskerville";
  src: url("fonts/LibreBaskerville-Bold.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Bricolage Grotesque";
  src: url("fonts/BricolageGrotesque-Regular.ttf") format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "XCharter";
  src: url("fonts/XCharter-Roman.otf") format("opentype");
  font-display: swap;
}


@font-face {
  font-family: "XCharter";
  src: url("fonts/XCharter-Bold.otf") format("opentype");
  font-weight: 700;
  font-display: swap;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

* {
    margin: 0;
}

body {
    margin: 2rem auto;
    width: 50%;
    border: 2px solid black;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    font-family: "XCharter";
}

@media (max-width: 768px) {
    body {
        width: calc(100% - 2rem);
        margin: 1rem;
        padding: 1rem;
    }
}

header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.description {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  font-size: 2rem;
  line-height: 1.5;
}

.nameplate {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.nameplate > h1 {
    margin: 0;
    font-size: 2rem;
}

.wordmark {
  font-weight: bold;
}

.nameplate > p {
    font-size: 1.1rem;
}

a {
  color: black;
  font-weight: bold;
}

.issue-box {
    border: 1.5px solid black;
    padding: 0.5rem;
}

.box {
    border: 2px solid black;
    padding: 1rem;
}

.box > p {
  font-size: 1.6rem;
}

h2 {
  font-size: 2rem;
  margin-bottom: -2rem;
}

.seal {
  display: inline-flex;
  float: left;
  width: 5.1rem;
  height: 5rem;
  margin-top: 0.7rem;
  margin-right: 1.1rem;
  margin-left: 0.3rem;
  background-color: hsl(255, 50%, 35%);
}

form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  font-size: 1.6rem;
  margin-top: 1rem;
}

form button {
  border: 2px solid black;
  background-color: transparent;
  padding: 0.5rem 1rem;
  cursor: pointer;
}

input {
  border: 2px solid black;
  padding: 0.6rem;
}

input:focus, textarea:focus {
  outline: none;
}

textarea {
  border: 2px solid black;
  padding: 0.6rem;
}

.sections {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}

.section {
    font-size: 2rem;
    font-weight: bold;
    display: flex;
    padding: 1rem;
    flex-direction: column;
    justify-content: end;
    border: 2px solid black;
    aspect-ratio: 1 / 1;
    text-decoration: none;
    color: inherit;
}

.section-page {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.section-page > ol {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    list-style: none;
    padding: 0;
    font-family: serif;
}

.section-page > ol > li {
    padding: 1rem;
    background-color: hsl(0 0 90);
}

.section-page > ol > li > pre {
    font-family: serif;
    font-size: 1.5rem;
}

.section-page > header {
    height: 8rem;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: end;
    border: 2px solid black;
    padding: 1rem;
    font-size: 2rem;
    font-weight: bold;
}
