:root {
  --color-dark: #0e0e0f;
  --color-light: #f2eff5;

  --color-forest: #062423;
  --color-moss: #547475;
  --color-sage: #a8bebd;
}

html,
body {
  margin: 0;
  height: 100%;
  padding: 0;
}

body {
  align-items: stretch;
  background-color: var(--color-light);
  color: var(--color-dark);
  display: flex;
  flex-direction: column;
  font-family: sans-serif;
  justify-content: space-between;
  line-height: 1.4;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

a,
a:link,
a:active {
  color: var(--color-forest);
}

a:visited,
a:hover {
  color: var(--color-moss);
}

ul,
ol {
  margin: 0;
  padding: 0;
}

.card {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid;
  border-radius: 1rem;
}

.card h3 {
  margin-bottom: 1rem;
}

.card ul {
  list-style: none;
}

.card li {
  margin-bottom: 1rem;
}

.container {
  margin: 0 auto;
  max-width: 950px;
}

.content {
  margin-bottom: 4rem;
}

.btn {
  border-radius: 1rem;
  display: inline-block;
  padding: 1rem 2rem;
  text-decoration: none;
}

.btn,
.btn:link,
.btn:active {
  background-color: var(--color-forest);
  color: var(--color-light);
}

.btn:visited,
.btn:hover {
  background-color: var(--color-forest);
  color: var(--color-light);
}

.col {
  margin: 0 2rem;
}

.hero {
  background-color: var(--color-forest);
  padding: 4rem 2rem;
  border-radius: 1rem;
  color: var(--color-light);
  text-align: center;
}

.site-footer {
  background-color: var(--color-sage);
  color: var(--color-dark);
}

.site-footer__bottom {
  border-top: 1px solid #52525b;
}

.site-footer__top {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 2rem;
}

.site-footer__top ul {
  list-style: none;
  margin-top: 1rem;
}

.site-footer__top li {
  display: inline-block;
}

.site-nav {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  padding: 2rem 0;
  margin: 0 2rem;
}

.site-nav ul {
  list-style: none;
}

.site-nav li {
  display: inline-block;
}

.text-center {
  text-align: center;
}

#purpose {
  font-size: 1.3rem;
  margin: 0 2rem;
}

#framework {
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 2rem;
}
#framework .card {
  width: 30%;
}
