/* Page-specific layout. Shared component rules are in theme.css. */
.needs-contact .n-element.n-contact-layout-03 {
  --display: flex;
  --flex-direction: row;
  --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );
  --container-widget-flex-grow: 1;
  --container-widget-align-self: stretch;
  --flex-wrap-mobile: wrap;
  --align-items: stretch;
  --row-gap: 0px;
  --column-gap: 0px;
  --margin-top: 0rem;
  --margin-bottom: -5rem;
  --margin-left: 0rem;
  --margin-right: 0rem;
  --padding-top: 5rem;
  --padding-bottom: 10rem;
  --padding-left: 2rem;
  --padding-right: 2rem;
}

.needs-contact .n-element.n-contact-layout-03:not(.n-motion-effects-element-type-background) {
  background-color: var( --needs-global-color-text );
}

.needs-contact .n-element.n-contact-layout-04 {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
  --align-items: stretch;
  --row-gap: 0px;
  --column-gap: 0px;
  --border-radius: 15px 15px 15px 15px;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.08);
  --margin-top: 0px;
  --margin-bottom: 0px;
  --margin-left: 0px;
  --margin-right: 0px;
  --padding-top: 0rem;
  --padding-bottom: 0rem;
  --padding-left: 0rem;
  --padding-right: 0rem;
}

.needs-contact .n-element.n-contact-layout-04:not(.n-motion-effects-element-type-background) {
  background-color: #FFFFFF;
}

.needs-contact .n-element.n-contact-heading-03 {
  padding: 2rem 2rem 2rem 2rem;
  border-style: solid;
  border-width: 0px 0px 1px 0px;
  border-color: var( --needs-global-color-text );
  text-align: center;
}

.needs-contact .n-element.n-contact-heading-03 .n-heading-title {
  font-size: 1.4rem;
  font-weight: 700;
}

.needs-contact .n-element.n-contact-text-01 {
  margin: 0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;
  padding: 2rem 2rem 2rem 2rem;
  text-align: center;
  font-size: 1rem;
  line-height: 1.5rem;
}

.needs-contact .n-element.n-contact-shortcode-01 {
  margin: 0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;
  padding: 0rem 2rem 0rem 2rem;
}

@media (max-width:1024px) {
.needs-contact .n-element.n-contact-heading-01 {
    text-align: center;
  }

.needs-contact .n-element.n-contact-heading-02 {
    text-align: center;
  }

.needs-contact .n-element.n-contact-text-01 {
    line-height: 1.7rem;
  }
}

@media (max-width:767px) {
.needs-contact .n-element.n-contact-layout-01 {
    --margin-top: 0px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
    --padding-top: 2rem;
    --padding-bottom: 0rem;
    --padding-left: 1rem;
    --padding-right: 1rem;
  }

.needs-contact .n-element.n-contact-layout-02 {
    --flex-direction: column;
    --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
    --justify-content: center;
    --align-items: center;
    --row-gap: 5px;
    --column-gap: 0px;
  }

.needs-contact .n-element.n-contact-heading-01 {
    width: 100%;
    max-width: 100%;
    margin: 0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;
    padding: 0px 0px 0px 0px;
    text-align: center;
  }

.needs-contact .n-element.n-contact-heading-01 .n-heading-title {
    font-size: 2.4rem;
  }

.needs-contact .n-element.n-contact-heading-02 {
    width: 100%;
    max-width: 100%;
    margin: 0rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;
    padding: 0px 0px 0px 0px;
  }

.needs-contact .n-element.n-contact-heading-02 .n-heading-title {
    font-size: 0.9rem;
  }

.needs-contact .n-element.n-contact-divider-01 .n-divider-separator {
    width: 1px;
    margin: 0 auto;
  }

.needs-contact .n-element.n-contact-divider-01 .n-divider {
    text-align: center;
    padding-block-start: 0px;
    padding-block-end: 0px;
  }

.needs-contact .n-element.n-contact-divider-02 .n-divider-separator {
    width: 1px;
    margin: 0 auto;
  }

.needs-contact .n-element.n-contact-divider-02 .n-divider {
    text-align: center;
    padding-block-start: 0px;
    padding-block-end: 0px;
  }

.needs-contact .n-element.n-contact-layout-03 {
    --margin-top: 0rem;
    --margin-bottom: -5rem;
    --margin-left: 0rem;
    --margin-right: 0rem;
    --padding-top: 2rem;
    --padding-bottom: 7rem;
    --padding-left: 1rem;
    --padding-right: 1rem;
  }

.needs-contact .n-element.n-contact-heading-03 .n-heading-title {
    font-size: 1.2rem;
  }

.needs-contact .n-element.n-contact-text-01 {
    padding: 1.5rem 1.5rem 01.5rem 1.5rem;
    text-align: justify;
    font-size: 1rem;
  }

.needs-contact .n-element.n-contact-shortcode-01 {
    margin: 0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;
    padding: 0rem 1.5rem 0rem 1.5rem;
  }
}
