/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

.ehf-header #masthead {
	position: sticky;
	top: 0;
}
.wp-block-query ul.wp-block-post-template-is-layout-grid {
    list-style: none;
    padding: 0;
}

/* Keep focused items from hiding under the sticky header (Tab / Shift+Tab) */
html { scroll-padding-top: 180px; }
@media (max-width: 1024px) { html { scroll-padding-top: 150px; } }
@media (max-width: 767px) { html { scroll-padding-top: 120px; } }

/* One clear, two-tone focus ring for keyboard users on every background.
   !important is needed because Elementor's link/image bases use "all: unset". */
html body :is(a, button, input, select, textarea, summary, iframe, [tabindex]):not([tabindex="-1"]):focus-visible {
	outline: 3px solid #FFFFFF !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 6px #00247D !important;
}
html body a.e-image-link-base:focus-visible { display: inline-block !important; }
#content:focus { outline: none; box-shadow: none; }
/* Focusable text blocks: keep the ring tidy around paragraphs/headings */
[data-js-focus]:focus-visible { border-radius: 2px; }

/* ==========================================================
   Jet Speed – Gravity Forms styling (matches mock-ups)
   #1 Contact Us (red), #4 Fundraising/Sponsorship (blue), #5 Careers (blue)
   ========================================================== */
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) {
	--gf-ctrl-radius: 0;
	--gf-ctrl-shadow: none;
	--gf-font-family-base: "Nunito", sans-serif;
	--gf-form-gap-y: 16px;
	--gf-form-gap-x: 12px;
	--gf-ctrl-btn-bg-color-primary: #0033A1;
	--gf-ctrl-btn-bg-color-hover-primary: #00247D;
	--gf-ctrl-btn-color-primary: #fff;
	--gf-ctrl-btn-radius: 2px;
	--gf-ctrl-border-color: #0033A1;
	--gf-ctrl-color: #0033A1;
	--gf-ctrl-placeholder-color: #0033A1;
	--gf-ctrl-label-color-primary: #00247D;
	font-family: "Nunito", sans-serif;
}
/* Override GF per-form colour variables (printed inline with high specificity) */
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) {
	--gf-color-primary: #0033A1 !important;
	--gf-color-primary-rgb: 0, 51, 161 !important;
	--gf-color-primary-darker: #00247D !important;
	--gf-color-primary-lighter: #0A82D3 !important;
	--gf-color-in-ctrl-primary: #0033A1 !important;
	--gf-color-in-ctrl-primary-rgb: 0, 51, 161 !important;
	--gf-color-in-ctrl-primary-darker: #00247D !important;
	--gf-color-in-ctrl-primary-lighter: #0A82D3 !important;
}
#gform_wrapper_1.gform-theme {
	--gf-ctrl-border-color: #E31B23;
	--gf-ctrl-color: #0A82D3;
	--gf-ctrl-placeholder-color: #0A82D3;
}
/* Card already shows the heading, so hide the duplicate GF titles */
#gform_wrapper_1 .gform_heading,
#gform_wrapper_4 .gform_heading { display: none; }

/* Placeholder-style forms: hide visible labels on Contact + Fundraising */
#gform_wrapper_1 .gfield_label,
#gform_wrapper_4 .gfield_label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Text-like controls */
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) input[type="text"],
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) input[type="email"],
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) input[type="tel"],
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) input[type="number"],
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) input[type="url"],
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) select,
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) textarea {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 2px solid #0033A1;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
	font-family: "Nunito", sans-serif;
	font-size: 13px;
	font-weight: 700;
	color: #0033A1;
	transition: border-color .3s cubic-bezier(0.22,1,0.36,1), box-shadow .3s cubic-bezier(0.22,1,0.36,1);
}
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) textarea { min-height: 200px; resize: vertical; }
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) ::placeholder { color: #0033A1; opacity: 1; font-weight: 800; }
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) input:focus,
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) select:focus,
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) textarea:focus {
	outline: none;
	border-color: #0A82D3;
	box-shadow: 0 0 0 3px rgba(10,130,211,.18);
}

/* Contact Us – red borders, sky-blue text */
.gform_wrapper#gform_wrapper_1.gform-theme input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]),
.gform_wrapper#gform_wrapper_1.gform-theme .gfield textarea { border-color: #E31B23; color: #0A82D3; }
.gform_wrapper#gform_wrapper_1.gform-theme .gfield ::placeholder { color: #0A82D3; }
.gform_wrapper#gform_wrapper_1.gform-theme input:not([type="submit"]):focus,
.gform_wrapper#gform_wrapper_1.gform-theme .gfield textarea:focus { border-color: #0033A1; box-shadow: 0 0 0 3px rgba(0,51,161,.15); }

/* Submit buttons */
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) .gform_footer { justify-content: center; text-align: center; padding-top: 10px; margin-top: 8px; }
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) .gform_footer input.gform_button,
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) .gform_page_footer input.button {
	background: #0033A1;
	color: #fff;
	border: 0;
	border-radius: 2px;
	padding: 12px 24px;
	min-height: 0;
	font-family: "Nunito", sans-serif;
	font-weight: 900;
	font-size: 14px;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: .03em;
	box-shadow: none;
	cursor: pointer;
	transition: transform .35s cubic-bezier(0.22,1,0.36,1), background-color .35s cubic-bezier(0.22,1,0.36,1);
}
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) .gform_footer input.gform_button:hover { background: #00247D; transform: translateY(-2px); }

/* Careers application – labels, headings, choices */
#gform_wrapper_5 .gform_title {
	font-family: "Nunito", sans-serif; font-weight: 900; font-size: clamp(20px, 2vw, 26px);
	text-transform: uppercase; color: #1A1A1A; text-align: center; margin: 0 0 10px;
}
#gform_wrapper_5 .gfield_label,
#gform_wrapper_5 .gform-field-label {
	font-family: "Nunito", sans-serif; font-size: 12px; font-weight: 800; color: #00247D;
}
#gform_wrapper_5 .gfield_required { color: #E31B23; }
#gform_wrapper_5 .gfield_html { font-family: "Nunito", sans-serif; font-size: 14px; font-weight: 800; color: #1A1A1A; line-height: 1.5; }
#gform_wrapper_5 .gfield_html h2 {
	font-family: "Nunito", sans-serif; font-weight: 900; font-size: 20px; text-transform: uppercase; color: #1A1A1A; margin: 18px 0 4px;
}
#gform_wrapper_5 .gfield_html h3,
#gform_wrapper_5 .gfield_html h4 {
	font-family: "Nunito", sans-serif; font-weight: 800; font-size: 14px; text-transform: none; color: #1A1A1A; line-height: 1.5; margin: 0;
}
#gform_wrapper_5 .gfield.b-bottom { border-bottom: 3px solid #E31B23; padding-bottom: 8px; }
#gform_wrapper_5 .gfield-choice-input,
#gform_wrapper_5 input[type="radio"],
#gform_wrapper_5 input[type="checkbox"] { accent-color: #0033A1; }
#gform_wrapper_5 .gchoice label { font-size: 12px; font-weight: 700; color: #00247D; }

.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) select { height: auto; min-height: 44px; line-height: 1.4; padding-block: 10px; }
#gform_wrapper_5 .gform_required_legend { font-family: "Nunito", sans-serif; font-size: 12px; font-weight: 700; color: #00247D; text-align: center; }
#gform_wrapper_5 .gfield--type-signature canvas { border: 2px solid #0033A1 !important; border-style: solid !important; border-radius: 0; }

/* Validation messages */
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) .gfield_validation_message,
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) .gform_validation_errors { font-family: "Nunito", sans-serif; font-weight: 700; }
.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) .gform_validation_errors { border-radius: 0; }

/* Confirmation */
.gform_confirmation_message { font-family: "Nunito", sans-serif; font-weight: 800; color: #0033A1; text-align: center; padding: 20px 0; }

@media (max-width: 767px) {
	.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) .gfield--width-half,
	.gform_wrapper.gform-theme:is(#gform_wrapper_1, #gform_wrapper_4, #gform_wrapper_5) .gfield--width-third { grid-column: 1 / -1; }
}

