.contact img {
  max-width: 100%;
}

.contact .form__message {
  align-items: flex-start;
}

.contact .icon-success {
  margin-top: 0.2rem;
}

.contact .field {
  margin-bottom: 1.5rem;
}

@media screen and (min-width: 750px) {
  .contact .field {
    margin-bottom: 2rem;
  }
}


.contact__button {
  margin-top: 3rem;
  width: 100%;
}

.contact__button .button {
  width: 100%;
  display: block;
}

@media screen and (min-width: 750px) {
  .contact__button {
    margin-top: 4rem;
  }
}

@media screen and (min-width: 750px) {
  .contact__fields {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 2rem;
  }
}

.contact__layout {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.contact__form,
.contact__details {
  width: 100%;
  min-width: 0;
}

.contact__map-wrapper {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.contact__map {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 320px;
  border: 0;
}

.contact__address-link:hover {
  text-decoration: underline;
  text-decoration-color: #fff;
}

@media screen and (min-width: 750px) {
  .contact__layout {
    flex-direction: row;
    align-items: flex-start;
  }

  .contact__form {
    flex: 1 1 0;
  }

  .contact__details {
    flex: 0 1 40%;
  }
}
