

.main-section-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 97px;
  padding-top:15px;

  @media (max-width: 960px) {
    flex-direction: column;
  }
}

.text-container {
  max-width: 456px;
  gap: 32px;
}

.call-us-button {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

/* FORM */
textarea:focus-visible, input:focus-visible {
  outline: none;
}

.contact-form {
  /* width: 616px; */
  padding: 50px;
  background-color: #fff;
  border-radius: 15px;
  box-shadow: 0 4px 200px 0 rgba(53, 51, 74, 0.25);

  @media (max-width: 960px) {
    margin-left: calc(-50vw + 50%);
    width: 100dvw;
    box-shadow: none;
    /* padding: 50px; */
    margin-bottom: -26px;
    border-radius: 0;
  }

  @media (min-width: 961px) and (max-width: 1439px) {
    width: 530px;
    padding: 50px;
  }
}

.contact-form-content {
  justify-content: center;
  gap: 21px;

  @media (min-width: 769px) and (max-width: 1439px) {
    gap: 12px;
  }
}

.form-row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 24px;
  width: 100%;

  @media (max-width: 960px) {
    flex-direction: column;
  }
}

.form-label {
  color: #0D3050;
  font-family: var(--font-dm-sans);
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  text-transform:uppercase;

  @media (min-width: 769px) and (max-width: 1439px) {
    font-size: 16px;
  }
}

.form-input-control {
  width: 100%;
  gap: 12px;

  @media (max-width: 768px) {
    width: auto;
    /* padding: 0 48px; */
  }
}

.form-input {
  border: 1px solid rgba(20, 33, 61, 0.10);
  border-radius: 4px;
  background-color: #fff;
  font-family: var(--font-dm-sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 18px; /* 100% */
  padding: 25px;

  @media (min-width: 769px) and (max-width: 1439px) {
    font-size: 16px;
    padding: 18px;
  }
}

.messages {
  color: red;

  @media (min-width: 769px) and (max-width: 1439px) {
    font-size: 14px;
  }
}

.form-textarea {
  height: 142px;
}

.recaptcha-container {
  justify-content: center;
  align-items: center;
}

.submit-button-container {
  @media (max-width: 768px) {
    padding: 0 48px;
  }
}

.submit-button {
  width: 100%;
  height: 66px;
  background-color: var(--dark-blue);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  color: white;
  text-align: center;
  font-family: var(--font-dm-sans);
  font-size: 18px;
  font-weight: 700;
  border:none;
  line-height: 18px;
}

.submit-button:hover {
  cursor: pointer;
}

.submit-error-container {
  text-align: center;
}

.form-disclaimer-container {
  text-align: center;
  padding: 25px 94px;
}

.form-disclaimer {
  text-align: center;
  color: #000;
  font-family: var(--font-dm-sans);
  font-size: 12px;
  font-weight: 300;
  line-height: 18px;
}

.form-terms-link {
  color: #000;
  font-family: var(--font-dm-sans);
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 18px;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}









/* RESPONSIVE LAYER */

@media (max-width: 768px) {
  .main-section-container {
    width: 100%;
    gap: 40px;
  }

  .text-container {
    max-width: 100%;
  }

  .contact-form {
    max-width: 100vw;
  }

  .form-input-control {
    min-width: 0;
  }

  .form-input {
    width: 100%;
    min-height: 48px;
  }

  .form-textarea {
    min-height: 142px;
  }

  .form-disclaimer-container {
    padding: 25px 24px;
  }
}

@media (min-width: 769px) and (max-width: 960px) {
  .main-section-container {
    width: 100%;
    gap: 40px;
    flex-direction: column;
  }

  .text-container {
    max-width: 100%;
  }

  .contact-form {
    max-width: 100vw;
    padding: 50px;
  }

  .form-input-control {
    min-width: 0;
  }

  .form-input {
    width: 100%;
    min-height: 48px;
  }

  .form-textarea {
    min-height: 142px;
  }

  .form-disclaimer-container {
    padding: 25px 24px;
  }
}

@media (min-width: 961px) and (max-width: 1024px) {
  .main-section-container {
    align-items: center;
    gap: 40px;
    flex-direction:column;
  }

  .text-container {
    max-width: 44%;
  }

  .contact-form {
    width: min(80vw, 616px);
    padding: 32px;
  }

  .form-row {
    gap: 16px;
  }

  .form-label {
    /* font-size: 17px;
    line-height: 1.4; */
  }

  .form-input {
    font-size: 16px;
    padding: 18px;
    min-height: 48px;
  }

  .form-disclaimer-container {
    padding-left: 24px;
    padding-right: 24px;
  }
}

@media (min-width: 1025px) and (max-width: 1919px) {
  .main-section-container {
    gap: clamp(50px, 7vw, 97px);
  }

  .contact-form {
    width: max(50vw, 616px);
    /* max-width: 616px; */
  }

  .text-container {
    max-width: 456px;
  }
}

@media (min-width: 1920px) and (max-width: 2559px) {
  .main-section-container {
    gap: 120px;
  }

  .contact-form {
    width: max(50vw, 640px);
  }

  .text-container {
    max-width: 500px;
  }
}

@media (min-width: 2560px) {
  .main-section-container {
    gap: 140px;
  }

  .contact-form {
    width: max(50vw, 660px);
  }

  .text-container {
    max-width: 520px;
  }
}
