.elementor-3622 .elementor-element.elementor-element-4a9918a{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:12px;--padding-right:12px;}.elementor-3622 .elementor-element.elementor-element-ef99558{--spacer-size:120px;}.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 );color:var( --e-global-color-primary );}.elementor-3622 .elementor-element.elementor-element-a440660{text-align:center;}.elementor-3622 .elementor-element.elementor-element-a440660 .elementor-heading-title{font-family:var( --e-global-typography-2717812-font-family ), Sans-serif;font-size:var( --e-global-typography-2717812-font-size );font-weight:var( --e-global-typography-2717812-font-weight );line-height:var( --e-global-typography-2717812-line-height );color:var( --e-global-color-ff9aeac );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );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-3622 .elementor-element.elementor-element-78d6306{text-align:center;font-family:var( --e-global-typography-91cfb6f-font-family ), Sans-serif;font-size:var( --e-global-typography-91cfb6f-font-size );font-weight:var( --e-global-typography-91cfb6f-font-weight );line-height:var( --e-global-typography-91cfb6f-line-height );color:var( --e-global-color-ff9aeac );}.elementor-3622 .elementor-element.elementor-element-78d6306 p{margin-bottom:0px;}.elementor-3622 .elementor-element.elementor-element-1cff60c.elementor-element{--align-self:center;}.elementor-3622 .elementor-element.elementor-element-51cdb50{--spacer-size:50px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-3622 .elementor-element.elementor-element-a440660 .elementor-heading-title{font-size:var( --e-global-typography-2717812-font-size );line-height:var( --e-global-typography-2717812-line-height );}.elementor-3622 .elementor-element.elementor-element-78d6306{font-size:var( --e-global-typography-91cfb6f-font-size );line-height:var( --e-global-typography-91cfb6f-line-height );}}@media(max-width:767px){.elementor-3622 .elementor-element.elementor-element-a440660 .elementor-heading-title{font-size:var( --e-global-typography-2717812-font-size );line-height:var( --e-global-typography-2717812-line-height );}.elementor-3622 .elementor-element.elementor-element-78d6306{font-size:var( --e-global-typography-91cfb6f-font-size );line-height:var( --e-global-typography-91cfb6f-line-height );}}/* Start custom CSS for html, class: .elementor-element-1cff60c */.elementor-3622 .elementor-element.elementor-element-1cff60c {
    width: 100% !important;
    max-width: 600px !important;
}

#contact-us-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.form-group {
  position: relative;
}

.input-group {
  position: relative;
}

.input-group input,
.input-group textarea {
  width: 100%;
  /* NEW: Adjusted padding: Top padding makes space for floated label */
  height: 64px;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  font-size: 1rem;
  color: #0b2850;
  background-color: #ffffff;
  transition: border-color 0.2s;
  box-sizing: border-box;
  padding-top: 20px;
}

.input-group textarea {
  min-height: 150px;
  resize: vertical;
}

.input-group label {
  position: absolute;
  /* NEW: Initial position of the label */
  top: 24px;
  left: 16px;
  font-size: 18px;
  font-weight: 600;
  color: #0b2850;
  pointer-events: none;
  transition: all 0.2s ease-in-out;
}

/* NEW: The floating label magic (adjusted) */
.input-group input:focus + label,
.input-group textarea:focus + label,
.input-group input:not(:placeholder-shown) + label,
.input-group textarea:not(:placeholder-shown) + label {
  /* NEW: Move label to top-left *inside* the padding */
  top: 0.5rem;
  font-size: 12px;
  color: #0b285099;
}

/* Keep label gray if not focused but has value */
.input-group input:not(:placeholder-shown):not(:focus) + label,
.input-group textarea:not(:placeholder-shown):not(:focus) + label {
  color: #4b5563;
}

/* Hide the actual placeholder to prevent overlap */
input::placeholder,
textarea::placeholder {
  color: transparent;
}

input:focus,
textarea:focus {
  outline: none;
  border-color: #0b2850;
}

/* Phone Number Field Specifics (Updated for new style) */
.phone-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  border: 1px solid #d1d5db;
  border-radius: 0.5rem;
  transition: border-color 0.2s;
  background-color: #ffffff;
}

.phone-input-wrapper > label {
  position: absolute;
  top: 0.5rem;
  left: 1rem;
  font-size: 12px;
  color: #0b285099;
  font-weight: 600;
}

.phone-input-wrapper:focus-within {
  outline: none;
  border-color: #0b2850;
}

.phone-input-wrapper .phone-prefix {
  color: #0b2850;
  font-size: 18px;
  line-height: 26px;
  font-weight: 600;
  padding-left: 1rem;
  padding-top: 22px;
  align-self: flex-start;
}

.phone-input-wrapper input[type="tel"] {
  border: none;
  flex-grow: 1;
  padding: 22px 0.5rem 0.5rem 0.5rem;
  background-color: transparent;
  font-size: 18px;
}

.phone-input-wrapper input[type="tel"]:focus {
  outline: none;
}

/* Custom Checkbox Styling (Remains the same) */
.checkbox-group {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  position: relative;
}
.checkbox-group input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 100%;
  width: 100%;
}
.checkbox-group label {
  color: #0B2850;
  font-size: 18px;
  line-height: 26px;
  cursor: pointer;
  position: relative;
  padding-left: 2rem;
}
.checkbox-group label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid #0B2850;
  border-radius: 0.25rem;
  background-color: white;
  transition: border-color 0.2s;
}
.checkbox-group input[type="checkbox"]:checked + label::after {
  content: "✔";
  position: absolute;
  left: 0.3rem;
  top: 2px;
  font-size: 1rem;
  color: white;
}

.checkbox-group input[type="checkbox"]:checked + label::before {
    background: #1077D6;
}

.checkbox-group input[type="checkbox"]:checked {
    border-color: #1077D6;
}

.checkbox-group input[type="checkbox"]:focus + label::before {
  border-color: #1077D6;
}

.checkbox-group label a {
  color: #3b82f6;
  text-decoration: none;
}
.checkbox-group label a:hover {
  text-decoration: underline;
}

/* Submit Button */
.primary-btn {
  width: 100%;
  padding: 16px;
  border: none;
  border-radius: 100px;
  color: rgb(107 114 128);
  font-size: 18px;
  line-height: 26px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.primary-btn:not(:disabled) {
  background-color: #1077d6;
  color: white;
}
.primary-btn:hover:not(:disabled) {
  background-color: #0b2850;
}
.primary-btn:disabled {
  cursor: not-allowed;
  background-color: rgb(198 208 229);
}

/* Error Message Styling */
.error-message {
  color: #ef4444;
  font-size: 0.875rem;
  display: none;
  margin-top: 0.5rem;
  padding-left: 0.5rem;
}
.form-group.error .error-message {
  display: block;
}

#form-alert {
    position: fixed;
    display: none;
    top: 100px;
    right: 0px;
    transform: translateX(-50%);
    padding: 15px 30px;
    border-radius: 5px;
    z-index: 1000;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    text-align: center;
    min-width: 300px;
}

#form-alert.alert-success {
    background-color: #009fea;
    color: white;
}

#form-alert.alert-error {
    background-color: #f8d7da;
    color: #721c24;
}

#close-alert {
    margin-left: 20px;
    background: none;
    border: none;
    font-size: 1.2em;
    cursor: pointer;
    color: inherit; 
}/* End custom CSS */