body {
  font-family: "Montserrat", sans-serif;
  background-color: white;
  display: flex;
  justify-content: center;
  margin: 0;
  height: 100vh;
  background-image: url("../images/contact-blob.svg");
  background-repeat: no-repeat;
  background-position: bottom right;
}

.container {
  display: flex;
  flex-direction: row;
  max-width: 1440px;
  width: calc(100vw - 128px);
  justify-content: space-between;
}

.navbar {
  display: flex;
  flex-direction: row;
  height: fit-content;
  position: fixed;
  width: 100%;
  justify-content: center;
  padding-right: 16px;
  padding-left: 16px;
  padding-top: 32px;
  padding-bottom: 32px;
  background-color: white;
  z-index: 1000;
}

.navbar-content {
  display: flex;
  flex-direction: row;
  gap: 16px;
  width: 100%;
  max-width: 1440px;
  justify-content: flex-end;
}

.menu-button {
  font-style: normal;
  font-weight: 500;
  font-size: 18px;
  line-height: 22px;
  color: #201f1f;

  padding: 8px 16px;
  cursor: pointer;
}

#contact {
  background-image: url("../images/contact-active.svg");
  background-repeat: no-repeat;
  background-position: center;
  color: #f5774f;
}

.menu-button:hover {
  color: #696765;
}

a {
  text-decoration: none;
}

.form {
  margin-top: 166px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 32px 48px;
  background-color: white;
  border: 1px solid #dbd4ce;
  height: fit-content;
  width: -webkit-fill-available;
  max-width: 408px;
}

.input-with-label {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.label {
  font-style: normal;
  font-weight: bold;
  font-size: 14px;
  line-height: 17px;
  color: #948f8a;
}

.input,
.textarea {
  border: 1px solid #dbd4ce;
  border-radius: 0;
  width: -webkit-fill-available;
  max-width: 358px;
  font-style: normal;
  font-weight: normal;
  font-size: 16px;
  line-height: 20px;
  color: #201f1f;
  padding: 15px 24px;
}

.input-error {
  border-color: #e12014;
}

.input:focus,
.textarea:focus {
  border-color: #f5774f;
  outline: none;
}

.input::placeholder,
textarea::placeholder {
  color: #948f8a;
}

.textarea {
  height: 100px;
}

.error-message {
  font-style: normal;
  font-weight: normal;
  font-size: 12px;
  line-height: 15px;
  color: #e12014;
}

.sendErrorMessageHidden {
  visibility: hidden;
}

.sendErrorMessageVisible {
  visibility: visible;
}

.primary-button {
  font-style: normal;
  font-weight: bold;
  font-size: 18px;
  line-height: 22px;
  color: #ffffff;
  padding: 16px 32px;
  background-color: #f5774f;
  width: 100%;
  border: none;
  cursor: pointer;
}

.button-message-sent {
  background-color: #7cbc3c !important;
}

.send-email-button-enabled {
  background-color: #f5774f;
}

.send-email-button-enabled:hover {
  background-color: #f88f6e;
}

.send-email-button-enabled:active {
  background-color: #e7633a;
}

.send-email-button-enabled:focus {
  outline-width: 2px;
  outline-color: black;
  outline-offset: 4px;
}

.send-email-button-disabled {
  background-color: #a5a7ac;
}

.contact-details {
  display: flex;
  flex-direction: column;
  gap: 88px;
  margin-top: 166px;
}

.title {
  font-style: normal;
  font-weight: bold;
  font-size: 96px;
  line-height: 117px;
  color: #f5774f;
}

.details {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.detail {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
}

.icon-container {
  display: flex;
  align-content: center;
  justify-items: center;
  padding: 4px;
  width: 24px;
  height: 24px;
}

.detail-content {
  font-style: normal;
  font-weight: normal;
  font-size: 18px;
  line-height: 22px;
  color: #201f1f;
}

@media only screen and (max-width: 860px) {
  .navbar {
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .navbar-content {
    justify-content: center;
    gap: 0px;
  }
  .container {
    width: calc(100vw - 32px);
  }
}

@media only screen and (max-width: 1163px) {
  body {
    background-image: none;
    height: unset;
    padding-bottom: 64px;
  }
  .container {
    flex-direction: column;
    gap: 64px;
    align-items: center;
  }
  .form {
    margin-top: 0;
  }
  .title {
    font-size: 48px;
    line-height: 59px;
  }
  .contact-details {
    gap: 48px;
    max-width: 408px;
    width: -webkit-fill-available;
  }
}

@media only screen and (max-width: 550px) {
  .form {
    border: none;
    padding: 0;
  }
  .contact-details {
    margin-top: 134px;
  }
}
