.elementor-kit-7{--e-global-color-primary:#2A4A9F;--e-global-color-secondary:#D4D4D4;--e-global-color-text:#3B3C3F;--e-global-color-accent:#E5E6E8;--e-global-color-9505e4f:#0D1630;--e-global-color-9786780:#8697C5;--e-global-color-350363d:#576CA5;--e-global-color-932e046:#3A518E;--e-global-color-435507c:#243B7A;--e-global-color-2be357f:#122760;--e-global-color-2505047:#FFFFFF;--e-global-color-7f568b3:#EAEDF5;--e-global-color-83af10e:#040710;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:2.3em;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-letter-spacing:-0.02em;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:1em;--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:1em;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:0.9em;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:uppercase;color:var( --e-global-color-accent );font-family:"Montserrat", Sans-serif;--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-exit-animation:e-page-transition-fade-in;--e-page-transition-animation-duration:300ms;}.elementor-kit-7 a{font-family:"Montserrat", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1024px){.elementor-kit-7{--e-global-typography-primary-font-size:2em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-primary-font-size:2em;font-size:1em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.portfolio-image {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: inline-block;
}

.portfolio-image:hover {
  transform: scale(1.03);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
  cursor: pointer;
}

.portfolio-image:active {
  transform: scale(0.99); /* Slight press effect on click */
}

/* Caption stays at bottom and hover passes through */
.portfolio-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 10px;
  color: #fff;
  pointer-events: none;
  z-index: 2; /* above overlay */
}

/* Blue overlay effect */
.portfolio-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(42, 74, 159, 0); /* transparent by default */
  transition: background 0.3s ease;
  z-index: 1; /* sits above the image but below text */
}

.portfolio-image:hover::after {
  background: rgba(42, 74, 159, 0.25); /* soft blue overlay on hover */
}

/* give anchor targets top breathing room equal to your sticky header */
.elementor-menu-anchor { scroll-margin-top: 95px !important; }   /* adjust to your header height */

/* different offsets by breakpoint if your header is taller on mobile */
@media (max-width: 767px){
  .anchor-target { scroll-margin-top: 80px !important; } /* example mobile header height */
}


/* Make Gravity Forms section headers white Montserrat */
body .gform_wrapper .gform_heading .gform_title,
body .gform_wrapper .gform_heading .gform_description {
    font-family: 'Montserrat', sans-serif !important;
    color: #FFFFFF !important; /* White */
}

/* Make the field labels white Montserrat too */
body .gform_wrapper .gfield_label {
    font-family: 'Montserrat', sans-serif !important;
    color: #FFFFFF !important;
}

/* Soften the red for Required text */
body .gform_wrapper .gfield_required {
    color: #ff6b6b !important; /* Soft red */
    font-weight: normal;
}

/* Style sub-type field labels */
body .gform_wrapper .gform-field-label.gform-field-label--type-sub {
    color: #BFC9E2 !important;
}

/* keep labels white, but not dropdown text */
body .gform_wrapper .gfield_checkbox label,
body .gform_wrapper .gfield_radio label { color:#FFFFFF !important; }

/* readable dropdown text */
body .gform_wrapper select,
body .gform_wrapper select option { color:#222 !important; }


/* Make file upload field description (file types, limits) #BFC9E2 */
body .gform_wrapper .gfield_description {
    color: #BFC9E2 !important;
}

/* Optional: also style placeholder text in dropdowns and inputs */
body .gform_wrapper input::placeholder,
body .gform_wrapper textarea::placeholder {
    color: #BFC9E2 !important;
}

/* Style the Gravity Forms submit button */
body .gform_wrapper .gform_footer input[type=submit],
body .gform_wrapper .gform_page_footer input[type=submit] {
    font-family: 'Montserrat', sans-serif !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    font-size: 1.1em !important; /* Increase size */
    padding: 18px 200px !important; /* Bigger button area */
    border-radius: 6px;
}


/* Mobile adjustment: full width */
@media (max-width: 767px) {
    body .gform_wrapper .gform_footer input[type=submit],
    body .gform_wrapper .gform_page_footer input[type=submit] {
        width: 100% !important;
        padding: 18px !important; /* even padding all around */
        box-sizing: border-box !important;
    }
}

/* Force the submit button itself to center regardless of floats */
.gform_wrapper .gform_footer .gform_button,
.gform_wrapper .gform_page_footer .gform_button,
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_page_footer input[type="submit"],
.gform_wrapper .gform_footer button[type="submit"],
.gform_wrapper .gform_page_footer button[type="submit"],
.gform_wrapper input[id^="gform_submit_button_"] {
  float: none !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Target only the first/last name container */
body .gform_wrapper .ginput_container_name.ginput_complex.g1_name_has_2 {
    display: grid !important;
    grid-template-columns: 2fr 2fr !important /* Both equal, change if needed */
    gap: 16px; /* space between */
}

/* Ensure the child inputs stretch to fill */
body .gform_wrapper .ginput_container_name.ginput_complex.g1_name_has_2 > span {
    width: 100% !important;
}

.gform_title {
    display: none;
}


/* Prevent Elementor anchor widget from becoming a tappable overlay */
.elementor-menu-anchor{
  position: static !important;
  height: 0 !important;
  pointer-events: none !important;
  visibility: hidden;
}

.white-link {
    color: #D4D4D4;
    transition: color 0.3s ease-in-out;
}
.white-link:hover {
    color: #fff;
    transition: color 0.3s ease-in-out;
}/* End custom CSS */