/* I use the same breakpoints as Bootstrap v5.0
 * https://getbootstrap.com/docs/5.0/layout/breakpoints/
 */
#form-container {
  display: flex;
  flex-direction: column;
  justify-content: center; }

form {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem; }
  @media (min-width: 768px) {
    form {
      flex-direction: row;
      flex-wrap: wrap;
      gap: 1.25rem; } }
.field-container {
  display: flex;
  flex-direction: column;
  flex-grow: 1; }
  @media (min-width: 768px) {
    .field-container {
      max-width: 100%;
      display: flex; } }
@media (min-width: 768px) {
  .field-container.split {
    display: inline-flex;
    flex-shrink: 1; } }

@media (min-width: 768px) {
  .field-container:not(.split) {
    width: 100%; } }

@media (min-width: 768px) {
  .field-container ~ .field-container, .h-captcha {
    margin-top: 0; } }

.h-captcha {
  width: 100%; }

textarea {
  height: 10em;
  resize: none; }

input, select, textarea {
  margin-top: 0.2em;
  padding: 0.5em;
  border: 1px solid var(--color-primary-light);
  border-radius: 5px;
  background-color: white;
  font-family: sans-serif;
  outline: none; }
  input:focus, select:focus, textarea:focus {
    outline-width: 1px;
    outline-color: rgba(var(--color-values-primary), 0.66);
    outline-style: solid;
    box-shadow: 0 0 9px 2px rgba(var(--color-values-primary), 0.2); }

label {
  font-size: 0.9em; }

#submit-button {
  display: inline-block; }
  @media (max-width: 767px) {
    #submit-button {
      width: 100%; } }
main {
  padding-left: 2rem;
  padding-right: 2rem; }

#preamble {
  margin-top: 1rem; }

#preamble-list {
  margin-top: 1rem;
  margin-left: 2rem; }
  #preamble-list li {
    margin-top: 1rem; }

h1 {
  margin-top: 1rem; }

#contact-method-row {
  display: none;
  flex-direction: row; }
  #contact-method-row > .field-container {
    display: flex;
    flex-grow: 1;
    margin-top: 0; }
    #contact-method-row > .field-container > div {
      margin-top: 1rem;
      display: flex;
      flex-direction: row;
      flex-grow: 1;
      justify-content: space-between;
      width: 100%; }
      #contact-method-row > .field-container > div .field-container {
        margin-top: 0;
        text-align: center; }

#form-screen {
  position: relative;
  max-width: 40rem;
  left: 50%;
  transform: translateX(-50%); }

#success-screen {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh; }
  #success-screen p {
    margin-top: 0.5em; }
  #success-screen .button {
    margin-top: 1rem; }
