main#home {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6rem;

  padding-block: 8.5rem calc(9.375rem + (16.25rem - 4.25rem));
  padding-inline: 1.125rem;
  max-width: 1380px;
  margin-inline: auto;
}

#home h2 {
  font-family: "museo-sans", sans-serif;
  font-weight: 500;
  font-size: 2.25rem;
  line-height: 2.875rem;
  letter-spacing: 0.72px;

  color: var(--purple);

  margin-bottom: 1.125rem;

  opacity: 80%;
}

#home h1 {
  font-family: "museo-sans", sans-serif;
  font-weight: 700;
  font-size: 4rem;
  line-height: 4.375rem;
  letter-spacing: 0;

  color: var(--purple);
}

#home ul.contact_info {
  margin-block: 2.25rem;

  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

#home ul.contact_info li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.625rem;
}

#home ul.contact_info li p {
  font-family: "museo-sans", sans-serif;
  font-size: 1.125rem;

  color: var(--purple);
}

#home .content #map_container {
  width: 620px;
  height: 420px;
  border-radius: 10px;
  border: 4px solid #fff;

  box-shadow: 0px 3px 6px #00000029;
}

#home .content #map_container iframe {
  height: 100%;
  width: 100%;
  border-radius: 10px;
}

#home .form_container {
  padding: 2.375rem 3rem;
  background-color: #fff;
  border-radius: 12px;

  width: 100%;
  max-width: 590px;

  margin-right: 1.75rem;

  box-shadow: 0px 6px 6px #00000029;

  text-align: center;
  position: relative;
}

#home .form_container::before {
  content: "";
  width: 100%;
  height: 50%;
  background-color: #fff;
  transform: skewY(-3deg);
  border-radius: 12px;

  box-shadow: 0px 3px 6px #00000029;

  position: absolute;
  top: -1rem;
  left: 0;
  z-index: -1;
}

#home .form_container .form_overlay {
  width: 100%;
  height: 100%;
  background-color: var(--light-blue);
  border-radius: 12px;

  position: absolute;
  right: -1.75rem;
  top: -1rem;
  z-index: -2;
}

#home .form_container .form_overlay::before {
  content: "";
  width: 100%;
  height: 50%;
  background-color: var(--light-blue);
  transform: skewY(-3deg);
  border-radius: 12px;

  position: absolute;
  top: -1.75rem;
  left: 0;
  z-index: -2;
}

#home .form_container h2 {
  font-family: "museo-sans", sans-serif;
  font-size: 1.75rem;
  line-height: 1.75rem;
  color: var(--purple);
  font-weight: 700;
  letter-spacing: 0;

  opacity: 1;

  margin-bottom: 2.375rem;
  margin-inline: auto;
}

#home .form_container .form {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.75rem;

  max-width: 500px;
  margin-inline: auto;
}
#home .form_container .form button {
  padding: 0.75rem 2.25rem;
}

#home .form_container .form .fields {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.125rem;

  width: 100%;
}

#home .form_container .form .fields .field {
  display: grid;

  width: 100%;
}

#home .form_container .form .fields .radioField {
  display: grid;
  gap: 0.5rem;

  width: 100%;
}

#home .form_container .form .fields .radioField .radio_button {
  cursor: pointer;

  display: flex;
  align-items: center;
  gap: 6px;
}

#home .form_container .form .fields .radioField .radio_button input {
  display: none;
}

#home
  .form_container
  .form
  .fields
  .radioField
  .radio_button
  input
  + label::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 1px solid var(--purple);
  vertical-align: middle;
  border-radius: 50%;
  margin-right: 0.5rem;
  margin-bottom: 3px;

  box-sizing: border-box;
  transition: border 0.1s;
}

#home
  .form_container
  .form
  .fields
  .radioField
  .radio_button
  input:checked
  + label::before {
  border: 4px solid var(--purple);
}

#home .form_container .form .fields .name {
  width: 100%;

  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.125rem;
}
#home .form_container .form .fields .radioField label {
  line-height: 1.125rem;
  cursor: pointer;
}

#home .form_container .form .fields .field label,
#home .form_container .form .fields .radioField label {
  font-family: "freight-sans-pro", sans-serif;
  color: var(--purple);
  font-size: 1.125rem;
  text-align: left;
}

#home .form_container .form .fields .field input,
#home .form_container .form .fields .field select {
  flex: 1;

  outline: none;
  border-radius: 3px;
  border: 1px solid #b7b7b780;
  background-color: #f8f8f8;

  padding: 0.825rem 0.5rem;

  transition: transform 0.3s, background 0.3s;
}

#home .form_container .form .fields .field input:hover,
#home .form_container .form .fields .field input:focus {
  border: 3px solid var(--purple-hover);
  background-color: #fcfcfc;

  padding: calc(0.825rem - 2px) calc(0.5rem - 2px);

  transform: scale(102%);
}

#home .form_container .privacy_policy_terms {
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: #5c5c5c;
  font-family: "freight-sans-pro", sans-serif;

  margin-top: 1.75rem;
}

#home .form_container .privacy_policy_terms a {
  color: #5c5c5c;
  font-family: "freight-sans-pro", sans-serif;
}

@media only screen and (min-height: 1700px) {
  footer {
    position: absolute;
    bottom: 0;
    width: 100%;
  }
}

@media only screen and (max-width: 1240px) {
  main#home {
    gap: 4rem;
  }

  #home h2 {
    font-size: 1.75rem;
  }

  #home h1 {
    font-size: 2.5rem;
    line-height: 3rem;
  }

  #home .content #map_container {
    width: 100%;
    height: 355px;
  }

  #home .form_container {
    width: 80%;
  }
}

@media only screen and (max-width: 1020px) {
  .g-recaptcha {
    margin-inline: auto;
  }

  main#home {
    flex-direction: column;

    padding-inline: 0;
    padding-block: 3rem 3.5rem;
    gap: 4rem;
  }

  #home h2 {
    font-size: 2.25rem;
    line-height: 2.875rem;
    letter-spacing: 0.72px;
  }

  #home h1 {
    font-size: 4rem;
    line-height: 4.375rem;
    letter-spacing: 0;
  }

  #home .content {
    text-align: left;

    width: 100%;
    max-width: none;

    padding-inline: 4rem;
    margin-inline: 0;
  }

  #home .content #map_container {
    height: 260px;
  }

  #home .form_container {
    border-radius: 0;
    max-width: 100%;
    margin-right: 0;
    margin-top: 5rem;
    width: 100%;

    padding-inline: 1.75rem;
    padding-top: 1.375rem;
  }

  #home .form_container::before {
    border-radius: 0;
    top: -2rem;
  }

  #home .form_container .form_overlay {
    right: 0;
  }

  #home .form_container .form_overlay::before {
    border-radius: 0;
    top: -2.75rem;
  }

  #home .form_container .form button {
    width: 100%;
    max-width: 400px;
    margin-inline: auto;
  }
}

@media only screen and (max-width: 800px) {
  #home .content {
    padding-inline: 1.125rem;
  }
}

@media only screen and (max-width: 600px) {
  #home .form_container .privacy_policy_terms {
    text-align: left;
    max-width: 220px;
    font-size: 0.875rem;
    line-height: 1.25rem;
    letter-spacing: 0;
  }

  #home h2 {
    font-size: 1.75rem;
    line-height: 2rem;
    letter-spacing: 0.36px;
  }

  #home h1 {
    font-size: 2rem;
    line-height: 2.75rem;
    letter-spacing: -0.72px;
  }

  #home .form_container .form .fields .name {
    grid-template-columns: 1fr;
  }
}
