:root {
  --clr-neutral-100: #f3f3f3;
  --clr-neutral-200: #e7e7e7;
  --clr-neutral-500: #777777;
  --clr-neutral-700: #555555;
  --clr-blue: rgb(9, 128, 170);
  --header-height: 280px;
  --footer-height: 100px;
  --footer-padding-v: 20px;
  --article-width: 600px;
  --article-padding: 20px;
  --article-padding-v: 20px;
  --article-padding-h: 40px;
  --article-gap: 10px;
  --article-border-radius: 20px;
  --container-gap: 20px;
  --container-padding: 30px;
  --section-padding-left: 40px;
  --logo-padding-v: 50px;
}

html,
body {
  font-family: "Lato", sans-serif;
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
  background-color: var(--clr-neutral-100);
}

body,
html,
button,
input,
select,
textarea {
  font-family: "Source Sans 3", sans-serif;
  font-size: 14px;
  font-weight: 300;
  color: var(--clr-neutral-700);
}

h1,
h2,
h3,
h4 {
  font-family: "Josefin Sans", sans-serif;
  color: var(--clr-neutral-500);
}

header,
footer,
.centering-container {
  display: flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -webkit-flex;
  flex-direction: column;
  align-items: center;
}

.centering-container {
  gap: var(--container-gap);
  padding: var(--container-padding);
  min-height: calc(100vh - var(--header-height) - var(--footer-height));
  box-sizing: border-box;
}

header {
  height: var(--header-height);
  background-color: white;
  justify-content: flex-end;
}

header > div {
  width: var(--article-width);
  box-sizing: border-box;
  margin: var(--logo-padding-v) 0;
}

header > nav {
  width: var(--article-width);
  box-sizing: border-box;
}

header > nav > ul {
  display: flex;
  justify-content: space-around;
  padding: 0;
}

header > nav > ul li {
  list-style: none;
  font-family: "Josefin Sans", sans-serif;
  font-size: 16px;
}

header > nav > ul li a {
  color: var(--clr-neutral-500);
  text-decoration: none;
}

header > nav > ul li a:hover {
  color: var(--clr-blue);
}

footer {
  min-height: var(--footer-height);
  background-color: var(--clr-neutral-200);
  padding: var(--footer-padding-v) 0;
}

footer > div {
  width: var(--article-width);
  box-sizing: border-box;
}

article {
  background-color: white;
  width: var(--article-width);
  box-sizing: border-box;
  padding: var(--article-padding-v) var(--article-padding-h);
  border-radius: var(--article-border-radius);
}

section {
  padding-left: var(--section-padding-left);
}
