@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&display=swap');
/* MAIN CONTACT BLOCK */
:root {
  --main-light: #ffffff;

  --main-dark: #101010;

  --secondary-dark: #ababab;

  --main-pink: #dd67c7;

  --main-blue: #5f41fb;

  --main-purple: #9b76e0;

  --main-link: #6579f4;
}

.main-contact-form {
    padding: 140px 0px;
    background: var(--main-light);
    border-radius: 54px 54px 0px 0px;
  }
  
  .main-contact-form>div {
    position: relative;
    z-index: 99;
  }

  .main-contact-form h2 {
    color: var(--primary-black);
    font-family: 'Manrope', Arial, Helvetica, sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 110%;
    margin-bottom: 30px;
  }
  
  .contact-form-info {
    font-family: 'Manrope', Arial, Helvetica, sans-serif;
    font-weight: 400;
    max-width: 956px;
  }
  
  .contact-form-info a {
    color: var(--main-link);
  }
  
  .contact-form-info a:hover {
    text-decoration: underline;
  }

  .services-review-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  
  .main-contact-container {
    margin-top: 50px;
  }
  
  .form-flex-container {
    display: flex;
  
    gap: 60px;
  }
  
  .contact-budget-box {
    display: flex;
  
    flex-direction: column;

  }
  
  .contact-budget-box p,
  .form-info p {
    font-size: 20px;
  
    line-height: 24px;
  }
  
  .contact-buttons {
    display: flex;
  
    flex-direction: row;
  
    gap: 20px;
  
    flex-wrap: wrap;
  }
  
  .contact-button {
    padding: 19px 0px;
  
    background: #f8f8f9;
  
    border-radius: 13px;
  
    text-align: center;
  }
  
  .contact-button input[type="radio"] {
    display: none;
  }
  
  .contact-button label {
    padding: 19px 32px;
  
    background: #f8f8f9;
  
    border-radius: 13px;
  
    text-align: center;
  
    font-weight: 400;
  
    font-size: 18px !important;
  
    color: var(--main-dark) !important;
  
    line-height: 25px;
  }
  
  .contact-button label:hover,
  .contact-button input[type="radio"]:checked+label {
    cursor: pointer;
  
    background: var(--main-link);
  
    color: #ffffff !important;
  }
  
  .form-inputs {
    margin-top: 30px;
  
    display: flex;
  
    flex-direction: column;
  
    gap: 20px;
  }
  
  .input-row {
    display: flex;
  
    gap: 10px;
  
    position: relative;
  }
  
  .form-inputs .input-row input,
  .form-inputs textarea {
    flex: 1;
  
    padding: 19px 20px !important;
  
    background: #f8f8f9 !important;
  
    border-radius: 13px !important;
  
    font-weight: 400 !important;
  
    border: none !important;
  
    box-sizing: border-box !important;
  
    font-size: 18px !important;
  
    line-height: 25px;
  
    color: #101010 !important;
  
    margin: 0 !important;
  
    height: auto !important;
  
    max-height: 194px;
  
    border: 1px solid #fff !important;
  
    position: relative;
  }
  
  textarea {
    resize: none;
  }
  
  .form-inputs .input-row input:focus,
  textarea:focus {
    outline: none;
  
    box-shadow: none !important;
  
    border: 1px solid var(--main-link) !important;
  }
  
  .form-inputs .input-row input::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
  
    color: currentColor;
  }
  
  input::-moz-placeholder {
    /* Firefox 19+ */
  
    color: currentColor;
  }
  
  input:-ms-input-placeholder {
    /* IE 10+ */
  
    color: currentColor;
  }
  
  input:-moz-placeholder {
    /* Firefox 18- */
  
    color: currentColor;
  }
  
  textarea::placeholder {
    color: #101010 !important;
  
    /* Use the current color. */
  }
  
  textarea::-webkit-input-placeholder {
    color: #101010 !important;
  }
  
  textarea::-moz-placeholder {
    color: currentColor;
  
    opacity: 1;
  
    /* Firefox adds an extra layer of 'hidden' opacity. */
  }
  
  textarea:-ms-input-placeholder {
    color: currentColor;
  }
  
  textarea:-moz-placeholder {
    color: currentColor;
  
    opacity: 1;
  }
  
  .form-inputs button {
    padding: 20px 43px;
  
    gap: 10px;
  
    width: 146px;
  
    background: #101010;
  
    color: #ffffff;
  
    border-radius: 13px;
  
    border: none !important;
  
    box-sizing: border-box !important;
  
    font-weight: 700;
  
    font-size: 16px;
  
    line-height: 22px;
  
    text-transform: uppercase;
  }
  
  .form-inputs button:hover {
    cursor: pointer;
  
    background: var(--main-link);
  }
  
  #leadName-error,
  #email-error {
    position: absolute;
  
    top: 20px;
  
    right: 15px;
  }
  
  div#leadName-error {
    left: 15%;
  }
  
  .front input:not([type]),
  .front input[type="date"]:not(.browser-default),
  .front input[type="datetime-local"]:not(.browser-default),
  .front input[type="datetime"]:not(.browser-default),
  .front input[type="email"]:not(.browser-default),
  .front input[type="number"]:not(.browser-default),
  .front input[type="password"]:not(.browser-default),
  .front input[type="search"]:not(.browser-default),
  .front input[type="tel"]:not(.browser-default),
  .front input[type="text"]:not(.browser-default),
  .front input[type="time"]:not(.browser-default),
  .front input[type="url"]:not(.browser-default),
  .front textarea.materialize-textarea {
    transition: none !important;
  }


@media (min-width: 139px) {
  .main-contact-form h2 {
    font-size: calc(30px + 50 * (100vw - 139px) / 1461);
    margin-bottom: 30px;
  }
  .contact-form-info {
    font-size: 18px;
    max-width: 100%;
    width: 100%;
    line-height: 120%;
    margin-bottom: 30px;
  }
  .form-flex-container {
    flex-direction: column;
  }
  .contact-buttons {
    max-width: 100%;
  }
  .input-row {
    flex-direction: column;
  }
  .form-inputs {
    max-width: 100%;
  }
}

@media (min-width: 319px) {
  .contact-form-info {
    font-size: 18px;
  }
}

@media (min-width: 690px) {
  .services-review-links a:first-child {
    margin-right: 60px;
  }
}

@media (min-width: 767px) {
  .main-contact-form h2 {
    max-width: 750px;
    margin-bottom: 50px;
  }
  .contact-form-info {
    max-width: 965px;
    font-size: 28px;
    margin-bottom: 50px;
  }
}

@media (min-width: 890px) {
  .form-inputs {
    min-width: 860px;
  }
  .input-row {
    flex-direction: row;
  }
}

@media (min-width: 992px) {
  .main-contact-form h2 {
    font-size: 47px !important;
    max-width: 610px;
  }
}

@media (min-width: 1144px) {
  .form-flex-container {
    flex-direction: row;
  }
  .contact-buttons {
    max-width: 510px;
  }
}