@charset "utf-8";

#staff {
  display: grid;
  grid-template-rows: auto 1fr 1fr;
  grid-template-columns: 1fr;
  grid-row-gap: 2rem;
}

#staff h2 {
  text-align: center;
  margin-bottom: unset;
}

@media (min-width: 1400px) {
  #staff h2 {
    grid-column-start: 1;
    grid-column-end: 3;
  }
  
  #staff {
    grid-template-rows: auto 1fr;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 2rem;
  }
}

.staff-element {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto 1fr;
  align-items: center;
}

.staff-element h3 {
  text-align: center;
  margin-top: 1rem;
}

.staff-element p {
  text-align: center;
  font-size: 1.25rem;
  padding-right: 12px;
}

.portrait {
  grid-column-start: 2;
  grid-row-start: 1;
  grid-row-end: 3;
  width: 100%;
  height: 100%;
  margin: auto;
}

@media (max-width: 800px) {
  .staff-element {
    display: flex;
    flex-direction: column;
  }

  .staff-element h3 {
    margin-top: unset;
  }
  
  .staff-element p {
    padding: 6px;
    margin-bottom: 0.75rem;
  }
}

#booking-form form {
  display: flex;
  flex-direction: column;
  background-color: #2c0073;
  padding: 1rem;
  margin-top: 1rem;
  border-radius: 1rem;
  box-shadow: 0px 0px 10px black;
}

#booking-form label {
  font-family: "Varela Round", sans-serif;
}

#booking-form label:not(fieldset label, label[for="confirmation"]), legend {
  font-weight: bold;
  margin-bottom: 0.2rem;
}

#booking-form .booking-form-element {
  margin-bottom: 0.75rem;
  padding: 4px;
  color: white;
  background-color: black;
  border: thin solid white;
  border-radius: 0.5rem;
  font-family: "Roboto", sans-serif;
}

#booking-form fieldset {
  margin-bottom: 0.75rem;
  padding: 8px;
  display: flex;
  flex-direction: column;
  border-radius: 0.5rem;
  border: thin solid white;
}

#booking-form legend {
  margin-left: 0.5rem;
  border: thin solid white;
  border-radius: 1rem;
  padding: 4px;
}

#booking-form .booking-form-radio-choice {
  margin-left: 1rem;
}

#booking-form .booking-form-radio-choice input {
  margin-right: 0.25rem;
}

#booking-form textarea {
  resize: vertical;
}

#booking-form input[type="checkbox"] {
  margin-left: 0.25rem;
}

#booking-form .form-buttons {
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 2rem;
  margin-top: 1rem;
}

#booking-form .form-buttons input {
  background-color: #37006a;
  padding: 4px;
  font-family: "Varela Round", sans-serif;
  font-size: 1.15rem;
  color: white;
  border: solid white;
  border-radius: 2rem;
  transition: 0.25s ease-in-out;
}

#booking-form .form-buttons input:hover {
  cursor: pointer;
  transition: 0.25s ease-in-out;
  scale: 1.02 1.15;
  background-color: white;
  border: solid #37006a;
  color: #37006a;
}

#contact {
  margin: auto;
  margin-top: 2rem;
  margin-bottom: 2rem;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto 0.5fr 1fr;
  grid-column-gap: 2rem;
  align-items: center;
  text-align: center;
}

#contact div {
  grid-column: 1;
  grid-row: 2;
}

address {
  grid-column: 1;
  grid-row: 3;
}

#map {
  grid-row-start: 1;
  grid-row-end: 4;
  width: 25vw;
  height: 40vh;
  border: 2px solid black;
  border-radius: 1rem;
  box-shadow: 0px 0px 10px black;
}