* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  min-height: 100vh;
  background-color: #cee5d0;
  font-family: "Georgia", "serif";
  font-size: 1.2rem;
}

/* These dims are width/height */
@media (max-aspect-ratio: 3/4) {
  .fixed-width {
    width: 100%;
  }
}

@media (min-aspect-ratio: 3/4) {
  .fixed-width {
    width: 75vh;
  }
}

.side-margins {
  margin-left: 2vw;
  margin-right: 2vw;
}

.root {
  min-height: 100vh;
  display: flex;
  justify-content: center;
  flex-direction: column;
  position: absolute;
  width: 100%;
}

.content {
  min-height: 60vh;
  background-color: #f3f0d7;
  width: 100%;
  display: flex;
  justify-content: center;
}

header {
  display: flex;
  justify-content: center;
}

nav {
  padding-top: 2vh;
  padding-bottom: 2vh;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

nav .left-side-stuff {
  float: left;
  display: flex;
  justify-content: space-between;
}

/* Left-aligned class of divs inside nav */
.left-side-stuff a div {
  margin-right: 2vw;
}

/* Right aligned divs inside nav */
.right-side-stuff {
  min-width: 10%;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
}

i {
  width: 1em;
  height: 1em;
}

.right-side-stuff a div {
  margin-left: 2vw;
}

.content div {
  margin-top: 2.5vh;
  margin-bottom: 2vh;
}

footer {
  position: relative;
  width: 100%;
  margin-top: 2vmin;
  margin-bottom: 10%;
  display: flex;
  justify-content: center;
}

footer .fixed-width {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
}

footer .row {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.wide-bottom-margin {
  margin-bottom: 12%;
}
