body {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
}

body > * {
  width: 60rem;
}

h1, h2 {
  display: block;
  text-align: center;
}

body > nav {
  float: left;
  margin: 2em;
  border: solid 1px gray;
  position: absolute;
  display: inline;
  width: fit-content;
  left: 0;
}

nav > a {
  padding: 2em;
}

h1 {
  width: 100%;
}

.full-width {
  width: 100%;
}

.hidden {
  display: none !important;
}

.inputs-form .control-group {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-evenly;
  align-items: stretch;
  margin: 0.5em -0.75em;
}

.control-group label {
  margin-bottom: 0.2em;
  text-decoration: underline;
}

.control-group input, .control-group select {
  margin-bottom: 0.2em;
}

.inputs-form {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  align-content: center;
  column-gap: 2em;
}

.modal {
  position: fixed;
  display: none;
  top: 0;
  bottom: 0;
  width: 100%;
  background: #333e;
}

.modal.visible {
  display: block;
}
