#mainContent {
  display: grid;
  grid-template-rows: repeat(2, 1fr);
  padding: 0;
}

#mainContent .required,
#mainContent #form {
  grid-row: 2 / 3;
}

#lodgingInfo {
  font-size: 90%;
  text-align: center;
  margin-top: 3rem;
}

.required {
  color: rgb(173, 5, 5);
  font-size: 80%;
}

form {
  text-align: center;
}

label {
  text-transform: uppercase;
}

input, select {
  border: 2px solid #649bce;
  background-color: transparent;
  height: 1.8rem;
  width: 70%;
  margin-top: 1rem;
  display: inline-block;
}

select {
  height: 2rem;
}

input[type="submit"] {
  width: 30%;
  border: 3px solid #5389bb;
  border-radius: .625rem;
  margin: 1rem auto;
}

table {
  border-collapse: collapse;
  width: 100%;
  max-width: 100%;
  grid-row: 1 / 2;
}

td, th {
  border: 1px solid #999;
  padding: 1rem;
  text-align: left;
}

th:first-child {
  color: #3579b9;
}

td {
  text-align: center;
  font-size: 90%;
}

td > img {
  width: 40%;
  max-width: 100%;
}

@media screen and (min-width: 64rem) {
  #mainContent {
    grid-template-rows: none;
    grid-template-columns: repeat(2, 1fr);
    padding: 3.75rem 0;
    width: 100%;
  }

  .formInfo {
    width: 100%;
  }

  #lodgingInfo {
    margin-top: 0;
  }

  #mainContent p,
  #mainContent form {
    grid-column: 1 / 2;
  }

  #mainContent > table {
    grid-column: 2 / 3;
  }
}