.elementor-216 .elementor-element.elementor-element-aed7f18{--display:flex;--min-height:70vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--overlay-opacity:0.6;--border-radius:24px 24px 24px 24px;--padding-top:24px;--padding-bottom:64px;--padding-left:24px;--padding-right:24px;}.elementor-216 .elementor-element.elementor-element-aed7f18:not(.elementor-motion-effects-element-type-background), .elementor-216 .elementor-element.elementor-element-aed7f18 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://lusoinc.com/wp-content/uploads/2026/08/contact-us-hero-section.webp");background-position:center center;background-repeat:repeat;background-size:cover;}.elementor-216 .elementor-element.elementor-element-aed7f18::before, .elementor-216 .elementor-element.elementor-element-aed7f18 > .elementor-background-video-container::before, .elementor-216 .elementor-element.elementor-element-aed7f18 > .e-con-inner > .elementor-background-video-container::before, .elementor-216 .elementor-element.elementor-element-aed7f18 > .elementor-background-slideshow::before, .elementor-216 .elementor-element.elementor-element-aed7f18 > .e-con-inner > .elementor-background-slideshow::before, .elementor-216 .elementor-element.elementor-element-aed7f18 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(0deg, #000000 14%, #00000000 42%);}.elementor-216 .elementor-element.elementor-element-fec1a48{--display:flex;--gap:24px 24px;--row-gap:24px;--column-gap:24px;}.elementor-216 .elementor-element.elementor-element-89e1185{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:8px 8px;--row-gap:8px;--column-gap:8px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#FFA52761;--border-color:#FFA52761;--border-radius:99px 99px 99px 99px;--padding-top:8px;--padding-bottom:8px;--padding-left:16px;--padding-right:16px;}.elementor-216 .elementor-element.elementor-element-89e1185:not(.elementor-motion-effects-element-type-background), .elementor-216 .elementor-element.elementor-element-89e1185 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFA52738;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-216 .elementor-element.elementor-element-eb7685f{font-family:"Poppins", Sans-serif;font-weight:400;line-height:1;color:var( --e-global-color-accent );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-216 .elementor-element.elementor-element-7914266{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;}.elementor-216 .elementor-element.elementor-element-7914266 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:72px;font-weight:600;line-height:120%;letter-spacing:-2px;color:#F4F4F4;}.elementor-216 .elementor-element.elementor-element-98819ea{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;font-family:"Poppins", Sans-serif;font-size:18px;font-weight:400;line-height:140%;color:#CACDCD;}.elementor-216 .elementor-element.elementor-element-e2ed8c4{--display:flex;}.elementor-216 .elementor-element.elementor-element-bd7f0f6{--display:flex;--border-radius:24px 24px 24px 24px;--padding-top:48px;--padding-bottom:48px;--padding-left:48px;--padding-right:48px;}.elementor-216 .elementor-element.elementor-element-bd7f0f6:not(.elementor-motion-effects-element-type-background), .elementor-216 .elementor-element.elementor-element-bd7f0f6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-216 .elementor-element.elementor-element-cd463e0{--display:flex;--gap:16px 16px;--row-gap:16px;--column-gap:16px;}.elementor-216 .elementor-element.elementor-element-4397537{font-family:"Poppins", Sans-serif;font-size:32px;font-weight:400;line-height:140%;}.elementor-216 .elementor-element.elementor-element-26a6b9a{font-family:"Poppins", Sans-serif;font-weight:400;line-height:140%;}.elementor-216 .elementor-element.elementor-element-5e7b7c6{--display:flex;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-216 .elementor-element.elementor-element-aed7f18{--padding-top:120px;--padding-bottom:48px;--padding-left:12px;--padding-right:12px;}.elementor-widget-text-editor{line-height:var( --e-global-typography-text-line-height );}.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-216 .elementor-element.elementor-element-7914266 .elementor-heading-title{font-size:48px;}.elementor-216 .elementor-element.elementor-element-98819ea{font-size:16px;}.elementor-216 .elementor-element.elementor-element-bd7f0f6{--padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px;}.elementor-216 .elementor-element.elementor-element-4397537{font-size:32px;}.elementor-216 .elementor-element.elementor-element-26a6b9a{font-size:14px;}}@media(max-width:767px){.elementor-widget-text-editor{line-height:var( --e-global-typography-text-line-height );}.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-216 .elementor-element.elementor-element-7914266{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-216 .elementor-element.elementor-element-98819ea{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-216 .elementor-element.elementor-element-bd7f0f6{--padding-top:24px;--padding-bottom:24px;--padding-left:16px;--padding-right:16px;}.elementor-216 .elementor-element.elementor-element-4397537{font-size:24px;}.elementor-216 .elementor-element.elementor-element-26a6b9a{font-size:14px;}}@media(min-width:768px){.elementor-216 .elementor-element.elementor-element-fec1a48{--width:100%;}.elementor-216 .elementor-element.elementor-element-89e1185{--width:fit-content;}}/* Start custom CSS for container, class: .elementor-element-89e1185 */.elementor-216 .elementor-element.elementor-element-89e1185 {
    width:fit-content;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-17a8e09 *//* ==========================================================================
   Ninja Forms Custom Styling — Luso Energy Contact Form
   Builder: Elementor

   Where to paste:
   - Elementor Pro: Site Settings -> Custom CSS (site-wide, recommended)
   - No Pro: Appearance -> Customize -> Additional CSS
   - Alternative: give the widget wrapping the form a CSS ID (Advanced tab,
     e.g. "luso-contact-form") and swap ".nf-form-cont" below for
     "#luso-contact-form .nf-form-cont" if you have multiple NF forms on
     the site and only want this one styled.

   Scoped to .nf-form-cont (a stable class NF applies to every form)
   instead of the auto-incrementing #nf-form-X-cont ID, since that ID
   shifts per instance/embed.

   Assumes Poppins is already enqueued on the site (add a Google Fonts
   <link> or @import if it isn't).
   ========================================================================== */

.nf-form-cont,
.nf-form-cont input,
.nf-form-cont textarea,
.nf-form-cont select,
.nf-form-cont label {
  font-family: 'Poppins', sans-serif;
}

/* ---- Optional heading block (add manually above the form if you want
   "Send us a message" + subtext — NF's title field is empty by default) ---- */
.nf-form-cont .nf-form-title {
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 32px;
  font-weight: 700;
  color: #1B2A4A;
  margin-bottom: 8px;
}

/* ---- Two-column layout for First / Last Name ----
   NF's real DOM is: .nf-form-content > nf-fields-wrap > nf-field > .nf-field-container
   so the flex container has to go on nf-fields-wrap, and nf-field (an
   otherwise-empty wrapper custom element) needs display:contents so it
   doesn't become the flex item instead of .nf-field-container. */
.nf-form-cont nf-fields-wrap {
  display: flex;
  flex-wrap: wrap;
  column-gap: 24px;
}

.nf-form-cont nf-field {
  display: contents;
}

.nf-form-cont .nf-field-container {
  flex: 0 0 100%;
  margin-bottom: 20px;
  max-width: 100%;
  box-sizing: border-box;
}

.nf-form-cont .firstname-container,
.nf-form-cont .lastname-container {
  flex: 0 0 calc(50% - 12px);
  max-width: calc(50% - 12px);
}

/* ---- Labels ---- */
.nf-form-cont .nf-field-label label {
  font-weight: 600;
  font-size: 14px;
  color: #1F2937;
  margin-bottom: 6px;
  display: inline-block;
}

.nf-form-cont .ninja-forms-req-symbol {
  color: #EF4444;
}

/* ---- Inputs, textarea, select ---- */
.nf-form-cont input[type="text"],
.nf-form-cont input[type="email"],
.nf-form-cont textarea,
.nf-form-cont select {
  width: 100%;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 15px;
  color: #1F2937;
  background-color: #FFFFFF;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box;
}

.nf-form-cont input::placeholder,
.nf-form-cont textarea::placeholder {
  color: #9CA3AF;
}

.nf-form-cont textarea {
  min-height: 140px;
  resize: vertical;
}

.nf-form-cont input:focus,
.nf-form-cont textarea:focus,
.nf-form-cont select:focus {
  outline: none;
  border-color: #FFA527;
  box-shadow: 0 0 0 3px rgba(255, 165, 39, 0.15);
}

/* Select dropdown arrow spacing */
.nf-form-cont select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 18px;
  padding-right: 44px;
}

/* ---- Submit button ---- */
.nf-form-cont input[type="submit"] {
  background-color: #FFA527;
  color: #FFFFFF;
  border: none;
  border-radius: 999px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 16px;
  padding: 14px 40px;
  cursor: pointer;
  transition: background-color 0.15s ease, transform 0.1s ease;
}

.nf-form-cont input[type="submit"]:hover {
  background-color: #E6941F;
}

.nf-form-cont input[type="submit"]:active {
  transform: translateY(1px);
}

.nf-form-cont .submit-container {
  margin-top: 8px;
}

/* ---- Required fields note ---- */
.nf-form-cont .nf-form-fields-required {
  font-size: 13px;
  color: #6B7280;
  margin-bottom: 20px;
}

/* ==========================================================================
   Responsive breakpoints
   ========================================================================== */

/* Tablet: keep two columns but tighten spacing */
@media (max-width: 1024px) {
  .nf-form-cont .nf-form-title {
    font-size: 28px;
  }
}

/* Mobile: stack First/Last Name, full-width button, tighter padding */
@media (max-width: 640px) {
  .nf-form-cont .firstname-container,
  .nf-form-cont .lastname-container {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .nf-form-cont .nf-form-title {
    font-size: 24px;
  }

  .nf-form-cont input[type="text"],
  .nf-form-cont input[type="email"],
  .nf-form-cont textarea,
  .nf-form-cont select {
    padding: 10px 14px;
    font-size: 16px; /* 16px prevents iOS Safari from auto-zooming on focus */
  }

  .nf-form-cont input[type="submit"] {
    width: 100%;
    padding: 14px 24px;
  }
}

/* Small phones */
@media (max-width: 400px) {
  .nf-form-cont .nf-field-container {
    margin-bottom: 16px;
  }
}/* End custom CSS */