.elementor-67365 .elementor-element.elementor-element-6830a6e{--display:flex;--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;--overlay-opacity:0.59;--margin-top:40px;--margin-bottom:40px;--margin-left:0px;--margin-right:00px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67365 .elementor-element.elementor-element-6830a6e::before, .elementor-67365 .elementor-element.elementor-element-6830a6e > .elementor-background-video-container::before, .elementor-67365 .elementor-element.elementor-element-6830a6e > .e-con-inner > .elementor-background-video-container::before, .elementor-67365 .elementor-element.elementor-element-6830a6e > .elementor-background-slideshow::before, .elementor-67365 .elementor-element.elementor-element-6830a6e > .e-con-inner > .elementor-background-slideshow::before, .elementor-67365 .elementor-element.elementor-element-6830a6e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-67365 .elementor-element.elementor-element-6830a6e .trx_addons_bg_text{z-index:0;}.elementor-67365 .elementor-element.elementor-element-6830a6e .trx_addons_bg_text.trx_addons_marquee_wrap:not(.trx_addons_marquee_reverse) .trx_addons_marquee_element{padding-right:50px;}.elementor-67365 .elementor-element.elementor-element-6830a6e .trx_addons_bg_text.trx_addons_marquee_wrap.trx_addons_marquee_reverse .trx_addons_marquee_element{padding-left:50px;}.elementor-67365 .elementor-element.elementor-element-6bb8da0 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}#elementor-popup-modal-67365{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-67365 .dialog-message{width:640px;height:auto;}#elementor-popup-modal-67365 .dialog-close-button{display:flex;}#elementor-popup-modal-67365 .dialog-widget-content{box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}/* Start custom CSS for trx_sc_contact_form_7, class: .elementor-element-6bb8da0 */@import url('https://fonts.googleapis.com/css2?family=Alexandria:wght@100..900&display=swap');

/* Submit RFI RFP - Contact Form 7 Custom Styling */
.wpcf7 {
    font-family: 'Alexandria', sans-serif !important;
    margin: 0 auto !important;
    padding: 30px;
    background: #ffff;
    border-radius: 24px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

/* FIXED: Apply font to all text elements */
.wpcf7,
.wpcf7 *,
.wpcf7 p,
.wpcf7 label,
.wpcf7 span,
.wpcf7 input,
.wpcf7 select,
.wpcf7 textarea,
.wpcf7 .wpcf7-list-item-label {
    font-family: 'Alexandria', sans-serif !important;
}

/* Remove all default CF7 styles */
.wpcf7 p,
.wpcf7 label {
    margin: 0 !important;
}

/* Title */
.wpcf7 h2,
.wpcf7 h3 {
    color: #001662;
    font-size: 18px; 
    font-weight: 600;
    margin-bottom: 10px;
}

/* General Label */
.wpcf7 > p {
    color: #001662;
    font-size: 14px; 
    font-weight: 500;
    margin-bottom: 10px !important;
}

.wpcf7 a{
    font-size: 12px;
}
 

/* --- Input Fields & Icons - FIXED ALIGNMENT --- */
.field-with-icon {
    position: relative;
    margin-bottom: 20px !important;
}

.field-icon {
    position: absolute;
    left: 0;
    top: 40%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    pointer-events: none;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.field-with-icon.has-textarea {
    align-items: flex-start;
}

.field-with-icon.has-textarea .field-icon {
    top: 16px;
    transform: none;
}

/* All Input Fields */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
    width: 100%;
    padding: 12px 12px 12px 40px; 
    font-size: 14px;
    color: #333;
    background: transparent;
    border: none;
    border-bottom: 2px solid #ddd;
    outline: none;
    transition: border-color 0.3s ease;
    font-family: inherit;
    box-sizing: border-box;
    line-height: 1.5;
    height: auto;
    min-height: 44px;
}

.wpcf7 input[type="text"]:not(.with-icon),
.wpcf7 input[type="email"]:not(.with-icon),
.wpcf7 input[type="tel"]:not(.with-icon) {
    padding-left: 12px;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus {
    border-bottom-color: #0066cc;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
    color: #999;
    opacity: 1;
    transition: color 0.3s ease;
    line-height: normal;
    vertical-align: middle;
}



/* Two column layout */
.form-row-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 0;
}




/* --- Submit Button - IDENTICAL TO PREVIOUS FORMS --- */
.wpcf7-submit-style {
    display: inline-block !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    width: auto !important;
}

.submit-style-in {
    display: none !important;
}


.wpcf7-submit-style .wpcf7-form-control.wpcf7-submit,
.wpcf7-submit-style input[type="submit"], 
.wpcf7-submit-style .wpcf7-submit,
.wpcf7-submit-style #submitbutton,
.wpcf7-form-control.wpcf7-submit,
.wpcf7 input[type="submit"], 
.wpcf7-form input[type="submit"],
.wpcf7-form .wpcf7-submit,
.wpcf7 .wpcf7-submit,
#submitbutton, 
.wpcf7-form-control .wpcf7-submit,
.wpcf7-submit {
    background-color: #0059AA !important;
    color: white !important;
    padding: 12px 28px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border: none !important;
    border-radius: 99px !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    justify-content: center !important;
    text-transform: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
    font-family: 'Alexandria', sans-serif !important;
    line-height: normal !important;
    min-height: auto !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    position: relative !important;
    z-index: 10 !important;
}

.wpcf7-submit-style .wpcf7-form-control.wpcf7-submit:hover,
.wpcf7-submit-style input[type="submit"]:hover, 
.wpcf7-submit-style .wpcf7-submit:hover,
.wpcf7-submit-style #submitbutton:hover,
.wpcf7-form-control.wpcf7-submit:hover,
.wpcf7 input[type="submit"]:hover, 
.wpcf7-form input[type="submit"]:hover,
.wpcf7-form .wpcf7-submit:hover,
.wpcf7 .wpcf7-submit:hover,
#submitbutton:hover, 
.wpcf7-form-control .wpcf7-submit:hover,
.wpcf7-submit:hover {
    background-color: #004a8f !important;
    transform: translateY(-1px) !important;
    box-shadow: none !important;
}

/* Remove any button default styles */
input[type="submit"],
button[type="submit"],
.wpcf7-submit {
    all: unset;
}

.wpcf7 form input.wpcf7-submit:not([disabled]):not([type="hidden"]),
.wpcf7 form input[type="submit"]:not([disabled]):not([type="hidden"]) {
    background-color: #0059AA !important;
    color: #fff !important;
    border: none !important;
    border-radius: 99px !important;
    font-family: 'Alexandria', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    line-height: normal !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 28px !important;
    position: relative !important;
    z-index: 10 !important;
}


/* --- ERROR STYLING - IDENTICAL TO PREVIOUS FORMS --- */

/* 1. Hide the error text tooltip completely */
.wpcf7-not-valid-tip {
    display: none !important;
}

/* 2. Turn the bottom border red */
.wpcf7-not-valid {
    border-bottom-color: #dc3545 !important;
}

/* 3. Turn the PLACEHOLDER text red */
.wpcf7-not-valid::placeholder {
    color: #dc3545 !important;
    opacity: 1 !important;
    font-weight: 500;
}

/* Browser prefixes */
.wpcf7-not-valid::-webkit-input-placeholder {
    color: #dc3545 !important;
    opacity: 1 !important;
}
.wpcf7-not-valid::-moz-placeholder {
    color: #dc3545 !important;
    opacity: 1 !important;
}
.wpcf7-not-valid:-ms-input-placeholder {
    color: #dc3545 !important;
    opacity: 1 !important;
}

/* --- Response messages --- */
.wpcf7 .wpcf7-response-output {
    padding: 15px;
    margin: 20px 0;
    border-radius: 8px;
    font-size: 13px;
}

.wpcf7-mail-sent-ok {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.wpcf7-validation-errors,
.wpcf7-mail-sent-ng {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

/* --- Responsive - IDENTICAL TO PREVIOUS FORMS --- */
@media (max-width: 1024px) {
  html, body {
    height: auto !important;
    overflow-y: auto !important;
  }

  .wpcf7 {
    padding: 40px 15px !important;
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }

  /* Optional: add breathing room at bottom */
  .wpcf7::after {
    content: "";
    display: block;
    height: 60px;
  }
}

@media (max-width: 768px) {
    .wpcf7 {
        padding: 15px;
    }
    
    .form-row-2col {
        grid-template-columns: 1fr;
        gap: 0;
    }
    
    .wpcf7 input[type="text"],
    .wpcf7 input[type="email"],
    .wpcf7 input[type="tel"],
    .wpcf7 select,
    .wpcf7 textarea {
        padding: 10px 10px 10px 35px;
        font-size: 13px;
        min-height: 40px;
    }
    
    .field-icon {
        width: 20px;
        height: 20px;
    }
    
    .field-with-icon.has-textarea .field-icon {
        top: 16px;
    }
    
    .wpcf7 h2,
    .wpcf7 h3 {
        font-size: 18px; 
    }

   
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6830a6e */body.elementor-popup-modal-active {
  overflow: hidden !important;
}

/* Desktop & All Devices */
.elementor-popup-modal .dialog-widget-content,
.elementor-popup-modal .dialog-lightbox-widget-content {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
  background: rgba(0, 0, 0, 0.5) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-behavior: smooth !important;
  padding-top: calc(10vh + 40px) !important;
  padding-bottom: calc(10vh + 40px) !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
  box-sizing: border-box !important;
  display: block !important;
}

.elementor-popup-modal .dialog-widget-content::before,
.elementor-popup-modal .dialog-lightbox-widget-content::before {
  content: "";
  display: block;
  height: 0 !important;
}

.elementor-popup-modal .dialog-widget-content::after,
.elementor-popup-modal .dialog-lightbox-widget-content::after {
  content: "";
  display: block;
  height: calc(10vh + 40px) !important;
}

.elementor-popup-modal .dialog-message,
.elementor-popup-modal .dialog-lightbox-message {
  border-radius: 16px !important;
  max-width: 640px !important;
  width: 100% !important;
  margin: 0 auto !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15) !important;
  position: relative !important;
  padding: 36px 28px !important;
  animation: fadeInUp 0.35s ease !important;
  overflow: visible !important;
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(25px); }
  to { opacity: 1; transform: translateY(0); }
}

.elementor-popup-modal .dialog-close-button,
.elementor-popup-modal .dialog-lightbox-close-button {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(0, 0, 0, 0.5) !important;
  color: #fff !important;
  cursor: pointer !important;
  z-index: 10000 !important;
  border: none !important;
  transition: all 0.2s ease !important;
}

.elementor-popup-modal .dialog-close-button:hover,
.elementor-popup-modal .dialog-lightbox-close-button:hover {
  background: rgba(0, 0, 0, 0.7) !important;
  transform: scale(1.08) !important;
}

.elementor-popup-modal .dialog-close-button svg,
.elementor-popup-modal .dialog-lightbox-close-button svg,
.elementor-popup-modal .dialog-close-button i,
.elementor-popup-modal .dialog-lightbox-close-button i {
  width: 18px !important;
  height: 18px !important;
  fill: #fff !important;
  stroke: #fff !important;
}

/* Tablet (768px - 1024px) - Increased top spacing */
@media (max-width: 1024px) and (min-width: 769px) {
  .elementor-popup-modal .dialog-widget-content,
  .elementor-popup-modal .dialog-lightbox-widget-content {
    padding-top: calc(15vh + 60px) !important; /* INCREASED */
    padding-bottom: calc(10vh + 40px) !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  
  .elementor-popup-modal .dialog-widget-content::after,
  .elementor-popup-modal .dialog-lightbox-widget-content::after {
    height: calc(10vh + 40px) !important;
  }
  
  .elementor-popup-modal .dialog-message,
  .elementor-popup-modal .dialog-lightbox-message {
    padding: 32px 24px !important;
    border-radius: 14px !important;
  }
}

/* Mobile/Tablet (up to 768px) - More top spacing */
@media (max-width: 768px) {
  .elementor-popup-modal .dialog-widget-content,
  .elementor-popup-modal .dialog-lightbox-widget-content {
    padding-top: calc(18vh + 80px) !important; /* MUCH MORE */
    padding-bottom: calc(10vh + 40px) !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  
  .elementor-popup-modal .dialog-widget-content::after,
  .elementor-popup-modal .dialog-lightbox-widget-content::after {
    height: calc(10vh + 40px) !important;
  }
  
  .elementor-popup-modal .dialog-message,
  .elementor-popup-modal .dialog-lightbox-message {
    padding: 28px 20px !important;
    border-radius: 12px !important;
    max-width: 100% !important;
  }
  
  .elementor-popup-modal .dialog-close-button,
  .elementor-popup-modal .dialog-lightbox-close-button {
    top: 12px !important;
    right: 12px !important;
    width: 36px !important;
    height: 36px !important;
  }
  
  .elementor-popup-modal .dialog-close-button svg,
  .elementor-popup-modal .dialog-lightbox-close-button svg {
    width: 16px !important;
    height: 16px !important;
  }
}

/* Phone (up to 480px) - MAXIMUM top spacing */
@media (max-width: 480px) {
  .elementor-popup-modal .dialog-widget-content,
  .elementor-popup-modal .dialog-lightbox-widget-content {
    padding-top: calc(22vh + 100px) !important; /* BIGGEST INCREASE */
    padding-bottom: calc(10vh + 40px) !important;
  }
  
  .elementor-popup-modal .dialog-message,
  .elementor-popup-modal .dialog-lightbox-message {
    padding: 24px 16px !important;
  }
}/* End custom CSS */
/* Start custom CSS *//* === CENTER CONTACT FORM POPUP (Elementor + CF7) === */

/* Make the outer popup fill the viewport and center content */
.dialog-message.dialog-lightbox-message {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100vh !important;
  width: 100vw !important;
  padding: 60px 20px !important; /* Top/bottom margin via padding */
  box-sizing: border-box !important;
  background: transparent !important; /* Remove background */
}

/* Ensure the inner popup is centered and sized nicely */
.elementor-location-popup,
.elementor-67365 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  max-width: 720px !important;
  margin: 0 auto !important;
  border-radius: 24px !important;
  overflow: visible !important; /* Allow shadow to show */
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15) !important; /* Add elevation */
  background: transparent !important; /* Remove white background */
}

/* Remove background from all popup layers */
.elementor-67365 .elementor-widget-wrap,
.elementor-67365 .e-con,
.elementor-67365 .elementor-element,
.dialog-widget-content,
.dialog-message {
  background-color: transparent !important;
  background: transparent !important;
}

/* Center the actual form content */
.elementor-67365 .e-con-inner {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
}

/* Remove Elementor's default positioning */
.elementor-67365[data-elementor-type="popup"] {
  transform: none !important;
  top: auto !important;
  left: auto !important;
  position: relative !important;
}

/* Ensure popup content is scrollable if needed */
.dialog-widget-content {
  overflow-y: visible !important;
  max-height: none !important;
}

/* Optional: Smooth popup appearance */
.dialog-message.dialog-lightbox-message {
  animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .dialog-message.dialog-lightbox-message {
    padding: 40px 15px !important;
  }
  
  .elementor-location-popup,
  .elementor-67365 {
    max-width: 100% !important;
    border-radius: 16px !important;
  }
  
  .dialog-widget-content {
    max-height: calc(100vh - 80px) !important;
  }
}/* End custom CSS */