/* SOG Gravity Forms — public site styles. */

/* Optional page numbers and the individual progress meters connecting them. */
.gf_progressbar_wrapper.sog-gf-numbered-progress {
	container: sog-gf-progress / inline-size;
	margin: 0;
}

.gform_wrapper .sog-gf-numbered-progress .gf_progressbar {
	display: none;
}

.gform_wrapper .sog-gf-progress-pages {
	display: flex;
	padding: 40px 0 0;
	justify-content: center;
	align-items: center;
	gap: 30px;
	align-self: stretch;
	list-style: none;
	margin: 0;
}

.sog-gf-progress-pages .sog-gf-progress-page {
	display: flex;
	flex: 1 1 0;
	justify-content: center;
	align-items: center;
	gap: 30px;
	align-self: stretch;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.sog-gf-progress-pages .sog-gf-progress-page[hidden] { display: none; }
.sog-gf-progress-pages .sog-gf-progress-page:last-child,
.sog-gf-progress-pages .sog-gf-progress-page.is-last { flex: 0 0 auto; }
.sog-gf-progress-pages .is-last .sog-gf-progress-meter { display: none; }

.sog-gf-progress-number {
	box-sizing: border-box;
	display: inline-flex;
	flex: 0 0 auto;
	justify-content: center;
	align-items: center;
	width: 49.206px;
	height: 49.206px;
	padding: 0;
	border: 2px solid #D9E0E4;
	border-radius: 50%;
	color: var(--text-primary, #3D3D3D);
	background: #fff;
	text-align: center;
	/* SOG/Body/Open Sans 18 Medium / Variant 2 */
	font-family: "Open Sans", sans-serif;
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 33.286px;
}

.is-current > .sog-gf-progress-number {
	border: none;
	background-color: #2C5080;
	color: var(--neutral-surface, #FFF);
	/* SOG/Body/Open Sans 18 Bold */
	font-weight: 700;
	line-height: 26.05px;
}

.is-completed > .sog-gf-progress-number {
	border-color: #1e3a57;
	background: #1e3a57;
	color: #fff;
}

.is-completed > .sog-gf-progress-number::after {
	content: '\2713';
	margin-inline-start: 0.1em;
	font-size: 0.75em;
}

.sog-gf-progress-meter {
	box-sizing: border-box;
	display: block;
	flex: 1 1 auto;
	height: 0.5rem;
	margin-inline: 0.375rem;
	border: 1px solid #D9E0E4;
	border-radius: 1rem;
	background: #fff;
}

.sog-gf-progress-fill {
	display: block;
	width: 0;
	height: 100%;
	border-radius: inherit;
	background: #1e3a57;
}

.is-completed > .sog-gf-progress-meter > .sog-gf-progress-fill { width: 100%; }

.gform_wrapper .sog-gf-progress-stacked .sog-gf-progress-pages { flex-direction: column; align-items: flex-start; }
.sog-gf-progress-stacked .sog-gf-progress-page { flex-direction: column; flex: 0 0 auto; }
.sog-gf-progress-stacked .sog-gf-progress-meter { flex: 0 0 auto; width: 0.5rem; height: 1.5rem; margin: 0.375rem 0; }

@media (max-width: 600px) {
	.gform_wrapper .sog-gf-numbered-progress .sog-gf-progress-pages { flex-direction: column; align-items: flex-start; }
	.sog-gf-numbered-progress .sog-gf-progress-page { flex-direction: column; flex: 0 0 auto; }
	.sog-gf-numbered-progress .sog-gf-progress-meter { flex: 0 0 auto; width: 0.5rem; height: 1.5rem; margin: 0.375rem 0; }
}

/* Container units follow text resizing, keeping longer indicators inside forms. */
@container sog-gf-progress (max-width: 45rem) {
	.gform_wrapper .sog-gf-progress-pages { flex-direction: column; align-items: flex-start; }
	.sog-gf-progress-page { flex-direction: column; flex: 0 0 auto; }
	.sog-gf-progress-meter { flex: 0 0 auto; width: 0.5rem; height: 1.5rem; margin: 0.375rem 0; }
}

@media (forced-colors: active) {
	.sog-gf-progress-number, .sog-gf-progress-meter { border-color: CanvasText; }
	.is-current > .sog-gf-progress-number { background: Highlight; color: HighlightText; forced-color-adjust: none; }
	.is-completed > .sog-gf-progress-number { border-color: Highlight; background: Highlight; color: HighlightText; forced-color-adjust: none; }
	.sog-gf-progress-fill { background: Highlight; forced-color-adjust: none; }
}

.gfield {
	padding-bottom: 20px;
}

/* SOG/Heading/H3/Source Serif 4 32 Medium Italic */
.gfield--type-section {
	color: var(--brand-SOG-navy, #1E3A57);
	font-family: "Source Serif 4", serif;
	font-size: 32px;
	font-style: italic;
	font-weight: 500;
	line-height: 42px;
}

.gform_wrapper.gform-theme--framework .gfield--type-section {
	border-block-end: none;
}

.gform_wrapper .gfield--type-section :is(h3.section-title, .gsection_title) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	color: inherit;
	font: inherit;
}

.gfield--type-section :is(h3.section-title, .gsection_title)::after {
	content: "";
	flex: 1 0 2rem;
	height: 1px;
	background: #2C5080;
}

/* SOG/Body/Open Sans 16 Regular / Variant 2 */
.gfield.gfield--type-html.gfield--input-type-html {
	color: var(--text-primary, #3D3D3D);
	font-family: "Open Sans", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0.25px;
}

/* SOG/Body/Open Sans 16 Bold */
.gform_wrapper .gfield_label.gform-field-label {
	margin-bottom: 20px;
	color: var(--text-primary, #3D3D3D);
	font-family: "Open Sans", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 22px;
	letter-spacing: 0.25px;
}

/* Entry controls retain native choice indicators, select arrows, and focus styles. */
.gform_wrapper .gfield input:where(:not([type="hidden"], [type="submit"], [type="button"], [type="reset"], [type="image"], [type="checkbox"], [type="radio"], [type="range"])),
.gform_wrapper .gfield select,
.gform_wrapper .gfield textarea {
	border-radius: 4px;
	border: 1px solid var(--border-default, #D9E0E4);
	background-color: var(--neutral-surface, #FFF);
}

.gchoice_other_control,
.gform_wrapper.gform-theme.gform-theme--framework .gfield input.gchoice_other_control {
	box-sizing: border-box;
	display: flex;
	width: 256px;
	max-width: 256px;
	padding: 10px 14px;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 8px;
	border-radius: 4px;
	border: 1px solid var(--border-default, #D9E0E4);
	background: var(--neutral-background, #EFF2F4);
	color: var(--text-primary, #3D3D3D);
	align-self: stretch;
	/* SOG/Body/Open Sans 16 Regular / Variant 2 */
	font-family: "Open Sans", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0.25px;
}

.gform_wrapper .gform_button.button:not(button[type="submit"]),
.gform_wrapper.gform-theme.gform-theme--framework :is(.gform_footer, .gform_page_footer) .gform_button.button:not(button[type="submit"]) {
	display: flex;
	color: var(--neutral-surface, #FFF);
	/* SOG/Body/Open Sans 16 Medium */
	font-family: "Open Sans", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px;
	letter-spacing: 0.25px;
	height: 46px;
	padding: 10px 18px;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	background: var(--button-default, #2C5282);
	box-shadow: 0 3px 6px 0 var(--neutral-black-alpha-6, rgba(0, 0, 0, 0.06));
}

.gfield_choice_all_toggle:not(input.gfield-choice-input),
.gform-theme-button--size-sm:not(input.gfield-choice-input),
.gfield_choice_all_toggle.gform-theme-button--size-sm:not(input.gfield-choice-input),
.gfield-choice-toggle-all button,
.gform_wrapper.gform-theme.gform-theme--framework :is(
	.gfield_choice_all_toggle,
	.gform-theme-button--size-sm,
	button.gfield_choice_all_toggle.gform-theme-button--size-sm,
	.gfield-choice-toggle-all button
):not(input.gfield-choice-input) {
	display: flex;
	height: 46px;
	padding: 10px 18px;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	background: var(--button-default, #2C5282);
	box-shadow: 0 3px 6px 0 var(--neutral-black-alpha-6, rgba(0, 0, 0, 0.06));
	color: var(--neutral-surface, #FFF);
	/* SOG/Body/Open Sans 16 Medium */
	font-family: "Open Sans", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px;
	letter-spacing: 0.25px;
}

.gfield_checkbox .gfield_choice--select_all_enabled .gchoice.gchoice_select_all input.gfield-choice-input.gfield_choice_all_toggle,
.gfield_checkbox.gfield_choice--select_all_enabled .gchoice.gchoice_select_all input.gfield-choice-input.gfield_choice_all_toggle {
	border-radius: 4px;
	box-shadow: 0 3px 6px 0 var(--neutral-black-alpha-6, rgba(0, 0, 0, 0.06));
	color: var(--neutral-surface, #FFF);
	font-family: "Open Sans", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px;
	letter-spacing: 0.25px;
	border: 1px solid #000000;
}

.gform-field-label.gform-field-label--type-inline {
	color: #3D3D3D !important;
	/* SOG/Body/Open Sans 16 Regular / Variant 2 */
	font-family: "Open Sans", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0.25px;
}

.gform-field-label.gform-field-label--type-sub,
.gform-theme--framework .field_sublabel_below .gform-field-label--type-sub {
	color: #3D3D3D;
	color: var(--text-description, #3D3D3D);
	/* SOG/Caption/Open Sans 15 Regular */
	font-family: "Open Sans", sans-serif;
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	line-height: 22px;
}

.gform-page-footer.gform_page_footer.top_label {
	display: flex;
	padding: 60px 135px;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 10px;
	align-self: stretch;
}

.gform_next_button,
.gform_next_button.gform-theme-button.button,
.gform_wrapper.gform-theme.gform-theme--framework .gform_next_button.gform-theme-button.button,
.gform_previous_button.gform-theme-button.gform-theme-button--secondary.button,
.gform_wrapper.gform-theme.gform-theme--framework .gform_previous_button.gform-theme-button.gform-theme-button--secondary.button,
button.gform_button.button[type="submit"],
.gform_wrapper.gform-theme.gform-theme--framework button.gform_button.button[type="submit"] {
	display: flex;
	padding: 20px 34px;
	justify-content: center;
	align-items: flex-start;
	border-radius: 100px;
	background: var(--button-default, #2C5282);
	box-shadow: 0 3px 6px 0 var(--neutral-black-alpha-6, rgba(0, 0, 0, 0.06));
	color: var(--neutral-surface, #FFF);
	/* SOG/Body/Montserrat 16 SemiBold / Variant 2 */
	font-family: Montserrat, sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: 22px;
	letter-spacing: 0.25px;
}

@media (max-width: 600px) {
	.gform-page-footer.gform_page_footer.top_label { padding-inline: 1rem; }
}

.mb-1 {
	margin-bottom: 1rem;
}

/* Public opening and closing dates beneath the form page title. */
.sog-gf-form-schedule {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 2rem;
	margin: 0 0 1.5rem;
}

.sog-gf-form-schedule > div {
	display: flex;
	flex-wrap: wrap;
	gap: 0 0.4rem;
}

.sog-gf-form-schedule dt {
	font-weight: 600;
}

.sog-gf-form-schedule dd {
	margin: 0;
}

.gform-body.gform_body {
	padding-top: 60px;
}

.gform_validation_errors {
	margin-bottom: 0 !important;
	margin-top: 60px !important;
}

/* Shared introduction on individual linked form pages. */
.sog-gf-form-intro {
	display: flex;
	box-sizing: border-box;
	width: 100vw;
	max-width: none;
	margin-inline: calc(50% - 50vw);
	/* Match the containing form's content edges inside the full-width band. */
	padding: 60px max(0px, calc((100vw - 100%) / 2)) 70px;
	flex-direction: column;
	align-items: flex-start;
	gap: 19px;
	align-self: stretch;
	background: var(--neutral-background, #EFF2F4);
	margin-bottom: 0;
}
.sog-gf-form-intro > * {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	margin-block: 0;
}
.sog-gf-form-intro .nv-page-title h1,
.sog-gf-form-intro .gform_heading > :last-child,
.sog-gf-form-intro-field > .gfield,
.sog-gf-form-intro-field > .gfield > :last-child {
	margin-bottom: 0;
}
/* SOG/Body/Open Sans 16 Regular / Variant 2 */
.sog-gf-form-intro-field p {
	color: var(--text-primary, #3D3D3D);
	font-family: "Open Sans", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0.25px;
}
.sog-gf-form-intro-field[hidden] { display: none; }
.sog-gf-form-intro > ul.sog-gf-form-intro-field {
	list-style: none;
	padding: 0;
}
@media (max-width: 600px) {
	.sog-gf-form-intro { padding-block: 40px; }
}

/* Administrator tools on individual form pages. */
.sog-gf-form-admin {
	margin: 0 0 1.5rem;
	padding: 1rem 1.25rem;
	border: 1px solid #dcdcde;
	border-left: 4px solid #4b9cd3;
	border-radius: 4px;
	background: #f6f7f7;
	color: #1e293b;
}

.sog-gf-form-admin .sog-gf-form-admin-count {
	margin: 0 0 0.5rem;
}

.sog-gf-form-admin-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
}

.sog-gf-form-admin-links a {
	color: #005a8b;
	text-decoration: underline;
}

.sog-gf-form-admin-links a:hover {
	color: #13294b;
}

.sog-gf-form-admin-links a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.sog-gf-form-admin-details {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 2rem;
	margin: 0 0 1rem;
}

.sog-gf-form-admin-details dt {
	font-weight: 600;
}

.sog-gf-form-admin-details dd {
	margin: 0;
}

.sog-gf-form-alert {
	margin-top: 1rem;
	border-top: 1px solid #dcdcde;
	padding-top: 0.75rem;
}

.sog-gf-form-alert summary {
	cursor: pointer;
	color: #005a8b;
	font-weight: 600;
	list-style: none;
}

.sog-gf-form-alert summary::marker { content: ""; }
.sog-gf-form-alert summary::-webkit-details-marker { display: none; }

.sog-gf-form-alert summary .fa-solid {
	display: inline-block;
	width: 1.25em;
	line-height: 1;
	vertical-align: middle;
}

.sog-gf-form-alert summary .fa-solid::before {
	content: none;
}

.sog-gf-form-alert summary svg {
	display: block;
	width: 100%;
	height: auto;
}

.sog-gf-form-admin > .sog-gf-form-alert:only-child {
	margin-top: 0;
	border-top: 0;
	padding-top: 0;
}

.sog-gf-form-alert summary:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.sog-gf-form-alert form {
	margin-top: 1rem;
}

.sog-gf-form-alert label {
	display: block;
	font-weight: 600;
}

.sog-gf-form-alert p {
	margin: 0.5rem 0 1rem;
}

.sog-gf-form-alert-controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
}

.sog-gf-form-alert-controls input {
	max-width: 100%;
}

/* Forms directory */
.sog-gf-table-wrap [hidden] {
	display: none !important;
}

.sog-gf-view-table {
	overflow-x: auto;
}

.sog-gf-status-badge {
	display: flex;
	width: fit-content;
	padding: 6px 10px;
	align-items: center;
	gap: 7px;
	border-radius: 4px;
	border: 1px solid var(--border-filter, #D9E0E4);
	background: var(--neutral-surface, #FFF);
}

.sog-gf-status-badge::before {
	content: "";
	display: inline-block;
	background: var(--semantic-success, #2F855A);
	width: 16px;
	height: 16px;
	aspect-ratio: 1/1;
	flex-shrink: 0;
}

/* Keep the theme's cell borders from overriding the row separators. */
.sog-gf-view-table table tbody tr,
.sog-gf-view-table table tbody tr > td {
	border-bottom: 1px solid var(--border-default, #D9E0E4) !important;
}

.sog-gf-forms-table .sog-gf-table-sort-button {
	display: inline-flex;
	min-height: 24px;
	min-width: 24px;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	text-align: left;
	text-transform: none;
	cursor: pointer;
}
.sog-gf-forms-table .sog-gf-table-sort-button:focus-visible {
	outline: 2px solid #4B9CD3;
	outline-offset: 4px;
}
.sog-gf-forms-table .sog-gf-table-sort-icon {
	width: 14px;
	height: 8px;
	flex-shrink: 0;
	opacity: 0.5;
}
.sog-gf-forms-table .sog-gf-table-sort-icon path { stroke: var(--text-primary, #3D3D3D); }
.sog-gf-forms-table th[aria-sort] .sog-gf-table-sort-icon { opacity: 1; }
.sog-gf-forms-table th[aria-sort="ascending"] .sog-gf-table-sort-icon { transform: rotate(180deg); }

.sog-gf-table-wrap .sog-gf-directory-items {
	list-style: none;
	padding: 0;
	margin: 0;
}

.sog-gf-directory-item {
	overflow-wrap: anywhere;
}

.sog-gf-view-card .sog-gf-directory-item,
.sog-gf-homepage-section .sog-gf-homepage-card {
	display: flex;
	padding: 30px;
	flex-direction: column;
	align-items: flex-start;
	gap: 26px;
	align-self: stretch;
	grid-row: span 1;
	grid-column: span 1;
	justify-self: stretch;
	border-radius: 8px;
	border: 1px solid var(--border-default, #D9E0E4);
	background: var(--neutral-surface, #FFF);
	box-shadow: 0 8px 22px 0 var(--brand-primary-alpha-4, rgba(44, 80, 128, 0.04));
}

.sog-gf-view-card .sog-gf-directory-item {
	margin: 0;
}

.sog-gf-homepage-card > [data-field="title"],
.sog-gf-view-card .sog-gf-directory-item > [data-field="title"] {
	margin: 0;
}

.sog-gf-view-list .sog-gf-directory-item {
	padding: 1.25rem 0;
	border-bottom: 1px solid #dcdcde;
	margin: 0;
}
.sog-gf-view-list .sog-gf-directory-item h3 {
	font-size: 1.15rem;
	margin: 0;
}

.sog-gf-homepage-card:hover,
.sog-gf-directory-item:hover {
	border-radius: 8px;
	border: 3px solid var(--button-default, #2C5282);
	background: var(--nv-text-dark-bg, #FFF);
	box-shadow: 0 2px 20px 0 rgba(44, 80, 128, 0.15);
}

.sog-gf-homepage-card:focus,
.sog-gf-homepage-card:focus-within,
.sog-gf-directory-item:focus,
.sog-gf-directory-item:focus-within {
	border-radius: 8px;
	border: 3px solid #007BFF;
	background: var(--nv-text-dark-bg, #FFF);
	box-shadow: 0 2px 20px 0 rgba(44, 80, 128, 0.15);
}

.sog-gf-homepage-card:active,
.sog-gf-directory-item:active {
	border-radius: 8px;
	border: 3px solid var(--button-default, #2C5282);
	background: var(--neutral-step, #F4F4F5);
	/* bucket box */
	box-shadow: 0 2px 4px 0 rgba(44, 80, 128, 0.08);
}

.sog-gf-directory-item a {
	text-decoration: underline;
}
.sog-gf-directory-item p {
	margin: 0.5rem 0;
}
.sog-gf-directory-item dl {
	margin: 0.75rem 0 0;
	font-size: 0.9rem;
}
.sog-gf-directory-item dt {
	font-weight: 600;
}
.sog-gf-view-list .sog-gf-directory-item dd {
	margin: 0 0 0.5rem;
}

.sog-gf-accordion-list .sog-gf-form-details {
	/* margin: 0; 0.5rem 0; */
	/* display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 6px; */
	margin: 0;

	display: flex;
	padding: 8px 0;
	flex-direction: column;
	align-items: flex-start;
	gap: 7px;
}

.sog-gf-accordion-list .sog-gf-form-details [data-field="opening_date"] dt,
.sog-gf-accordion-list .sog-gf-form-details [data-field="opening_date"] dd,
.sog-gf-accordion-list .sog-gf-form-details [data-field="closing_date"] dt,
.sog-gf-accordion-list .sog-gf-form-details [data-field="closing_date"] dd {
	padding-left: 5px !important;
}

.sog-gf-accordion-list .sog-gf-form-details dt { font-weight: 600; }
.sog-gf-accordion-list .sog-gf-form-details dd { margin: 0 0 0.5rem; }
.sog-gf-form-details > [data-field="opening_date"],
.sog-gf-form-details > [data-field="closing_date"] {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	/* gap: 0 0.4rem;
	margin-bottom: 0.5rem; */
}
.sog-gf-form-details > [data-field="opening_date"] > dt,
.sog-gf-form-details > [data-field="opening_date"] > dd,
.sog-gf-form-details > [data-field="closing_date"] > dt,
.sog-gf-form-details > [data-field="closing_date"] > dd { margin: 0; }
.sog-gf-view-list dl { display: flex; flex-wrap: wrap; gap: 0.5rem 2rem; }

.sog-gf-form-details > [data-field="opening_date"] > dt,
.sog-gf-form-details > [data-field="opening_date"] > dd {
	color: #2C5080 !important;

	/* SOG/Caption/Open Sans 14 Medium */
	font-family: "Open Sans" !important;
	font-size: 14px !important;
	font-style: normal !important;
	font-weight: 500 !important;
	line-height: normal !important;
}

.sog-gf-form-details > [data-field="closing_date"] > dt,
.sog-gf-form-details > [data-field="closing_date"] > dd {
	color: #C53030 !important;

	/* SOG/Caption/Open Sans 14 Medium */
	font-family: "Open Sans" !important;
	font-size: 14px !important;
	font-style: normal !important;
	font-weight: 500 !important;
	line-height: normal !important;
}

.sog-gf-table-wrap {
	margin-top: 2rem;
}

.sog-gf-table-wrap[data-controls-layout="directory"] {
	margin-top: 0;
}

.sog-gf-table-controls {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
	align-items: end;
	margin-bottom: 1.75rem;
}

.sog-gf-table-controls label {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	font-weight: 600;
	font-size: 0.95rem;
}

/* Grouped category and sorting controls occupy their own row. */
.sog-gf-table-wrap[data-controls-layout="directory"] .sog-gf-directory-filter-section {
	display: flex;
	padding: 40px 135px;
	flex-direction: column;
	align-items: center;
	gap: 60px;
	align-self: stretch;
	background: var(--neutral-background, #EFF2F4);
	flex: 0 0 var(--sog-gf-filter-width, 100%);
	width: var(--sog-gf-filter-width, 100%);
	margin-left: var(--sog-gf-filter-offset, 0px);
	margin-right: var(--sog-gf-filter-end-offset, 0px);
	min-width: 0;
	box-sizing: border-box;
}

.sog-gf-directory-filter-fields {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: center;
	gap: 24px;
	width: 100%;
	min-width: 0;
}

/* Neve supplies a responsive --container value through its theme settings. */
.sog-gf-table-wrap[data-controls-layout="directory"] .sog-gf-directory-filter-section[data-contained-fields="true"] {
	padding-inline: 0;
}

.sog-gf-directory-filter-section[data-contained-fields="true"] > .sog-gf-directory-filter-fields {
	max-width: var(--container, 1170px);
	padding-inline: 15px;
	margin-inline: auto;
	box-sizing: border-box;
}

.sog-gf-directory-filter-fields > label {
	flex: 1 1 140px;
	min-width: 0;
}

.sog-gf-table-controls .sog-gf-directory-filter-fields select {
	width: 100%;
	min-width: 0;
}

@media (max-width: 960px) {
	.sog-gf-table-wrap[data-controls-layout="directory"] .sog-gf-directory-filter-section {
		padding: 40px 24px;
	}
}

@media (max-width: 600px) {
	.sog-gf-directory-filter-fields > label {
		flex-basis: 100%;
	}
}

.sog-gf-table-controls .sog-gf-checkbox-label {
	flex-direction: row;
	align-items: center;
	gap: 0.45rem;
	padding-bottom: 0.2rem;
}
.sog-gf-table-controls .sog-gf-checkbox-label span {
	font-weight: 600;
}
.sog-gf-table-controls input[type="checkbox"][role="switch"] {
	appearance: none;
	-webkit-appearance: none;
	position: relative;
	flex: 0 0 auto;
	width: 2.5rem;
	height: 1.375rem;
	min-width: 0;
	padding: 0;
	margin: 0;
	border: 2px solid #64748b;
	border-radius: 999px;
	background: #64748b;
	cursor: pointer;
}
.sog-gf-table-controls input[type="checkbox"][role="switch"]::before {
	content: "";
	position: absolute;
	top: 0.125rem;
	left: 0.125rem;
	width: 0.875rem;
	height: 0.875rem;
	margin: 0;
	border-radius: 50%;
	background: #fff;
}
.sog-gf-table-controls input[type="checkbox"][role="switch"]:checked { background: #005a8b; border-color: #005a8b; }
.sog-gf-table-controls input[type="checkbox"][role="switch"]:checked::before { left: calc(100% - 1rem); }
.sog-gf-table-controls input[type="checkbox"][role="switch"]:focus-visible { outline: 2px solid #005a8b; outline-offset: 3px; }
@media (forced-colors: active) {
	.sog-gf-table-controls input[type="checkbox"][role="switch"] { forced-color-adjust: none; background: Canvas; border-color: CanvasText; }
	.sog-gf-table-controls input[type="checkbox"][role="switch"]::before { background: CanvasText; }
	.sog-gf-table-controls input[type="checkbox"][role="switch"]:checked { background: Highlight; border-color: Highlight; }
	.sog-gf-table-controls input[type="checkbox"][role="switch"]:checked::before { background: HighlightText; }
	.sog-gf-table-controls input[type="checkbox"][role="switch"]:focus-visible { outline-color: Highlight; }
}
.sog-gf-table-controls select {
	min-width: 180px;
	padding: 0.375rem 0.5rem 0.375rem 0.75rem;
	min-height: 2.25rem;
	height: auto;
	border: 1px solid #8c8f94;
	border-radius: 4px;
	box-sizing: border-box;
}
.sog-gf-table-controls select option {
	padding-left: 0.75rem;
}

.sog-gf-table-controls :is(.sog-gf-filter-category, .sog-gf-sort-by, .sog-gf-secondary-sort-by, .sog-gf-secondary-sort-order, .sog-gf-view-mode, .sog-gf-sort-order) {
	appearance: none;
	padding-right: 1.75rem !important; /* Override Neve's select padding. */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M0.75 0.749999L6.75 6.75L12.75 0.75' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' stroke='%233D3D3D'/%3E%3C/svg%3E");
	background-position: right 0.625rem center;
	background-repeat: no-repeat;
	background-size: 14px 8px;
}

.sog-gf-table-controls label:is([data-control="order"], [data-control="secondary_order"]) {
	display: grid;
	row-gap: 0;
}

.sog-gf-table-controls label:is([data-control="order"], [data-control="secondary_order"]) > .sog-gf-control-label:not(.sog-gf-control-label-hidden) {
	margin-bottom: 0.25rem;
}

.sog-gf-table-controls :is(.sog-gf-sort-order, .sog-gf-secondary-sort-order) {
	grid-area: 2 / 1;
	background-image: none;
}

.sog-gf-table-controls label:is([data-control="order"], [data-control="secondary_order"])::after {
	content: "";
	grid-area: 2 / 1;
	place-self: center right;
	width: 8px;
	height: 13px;
	margin-right: 0.625rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='8' height='13' viewBox='0 0 8 13' fill='none'%3E%3Cdefs%3E%3Cpath id='arrow' d='M4.18632 1.17582C4.14289 1.13974 4.186 11.498 4.17115 11.5021C4.17115 11.6074 4.07886 11.6982 3.99391 11.693C3.87143 11.6856 3.82145 11.5718 3.82145 11.4492C3.81187 11.4335 3.84029 1.1648 3.81235 1.17315C3.77801 1.2215 3.54456 1.47282 3.50144 1.52437C2.79165 2.31905 2.00122 3.2042 1.29382 3.99924L0.795448 4.55379C0.705546 4.63964 0.535164 4.58774 0.509455 4.4555C0.493646 4.39116 0.493646 4.31171 0.541072 4.25892L3.85578 0.569011C3.92317 0.494004 4.05155 0.47072 4.12804 0.556036L7.46159 4.26887C7.59365 4.4475 7.35508 4.70949 7.20083 4.55237C6.21095 3.45179 5.1687 2.28421 4.18632 1.17582Z'/%3E%3Cmask id='outline' maskUnits='userSpaceOnUse' x='-.5' y='-.306763' width='9' height='13' fill='black'%3E%3Crect fill='white' x='-.5' y='-.306763' width='9' height='13'/%3E%3Cuse xlink:href='%23arrow'/%3E%3C/mask%3E%3C/defs%3E%3Cuse xlink:href='%23arrow' fill='%233D3D3D'/%3E%3Cuse xlink:href='%23arrow' stroke='%233D3D3D' mask='url(%23outline)'/%3E%3C/svg%3E");
	pointer-events: none;
}

.sog-gf-table-controls label:is([data-control="order"], [data-control="secondary_order"]):has(> select > option[value="desc"]:checked)::after {
	transform: rotate(180deg);
}

@media (forced-colors: active) {
	.sog-gf-table-controls :is(.sog-gf-filter-category, .sog-gf-sort-by, .sog-gf-secondary-sort-by, .sog-gf-secondary-sort-order, .sog-gf-view-mode, .sog-gf-sort-order) {
		appearance: auto;
		padding-right: 0.5rem !important;
		background-image: none;
	}

	.sog-gf-table-controls label:is([data-control="order"], [data-control="secondary_order"])::after {
		content: none;
	}
}

.sog-gf-table-controls input[type="search"] {
	min-width: 240px;
	padding: 0.375rem 0.5rem 0.375rem 0.75rem;
	min-height: 2.25rem;
	height: auto;
	border: 1px solid #8c8f94;
	border-radius: 4px;
	box-sizing: border-box;
}
.sog-gf-table-controls input[type="search"]::placeholder {
	padding-left: 0.05rem;
}

.sog-gf-table-wrap[data-directory-output="category"][data-controls-layout="directory"] .sog-gf-table-controls :is(select, input[type="search"]) {
	border-color: var(--sog-gf-control-border, #767676);
}

.sog-gf-results-count {
	font-weight: 600;
}

.sog-gf-table-wrap[data-controls-layout="directory"] > .sog-gf-table-controls {
	justify-content: flex-end;
}

.sog-gf-directory-results-controls {
	padding-top: 30px;
	padding-bottom: 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem;
	flex: 0 0 100%;
	width: 100%;
	min-width: 0;
}

.sog-gf-directory-results-controls > .sog-gf-results-count {
	min-width: 2rem;
	width: 100%;
	max-width: 25%;
	text-align: left;
}

.sog-gf-directory-view-controls {
	display: flex;
	flex: 1 1 40rem;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
	gap: 0.75rem;
	margin-inline-start: auto;
	min-width: 0;
	width: 100%;
}

.sog-gf-directory-view-controls > label:not(.sog-gf-checkbox-label) {
	flex: 1 1 10rem;
	min-width: 9rem;
	max-width: 16rem;
}

.sog-gf-directory-view-controls select {
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.sog-gf-directory-results-controls .sog-gf-directory-view-controls .sog-gf-checkbox-label:last-child {
	width: auto;
}

.sog-gf-directory-results-controls .sog-gf-directory-view-controls .sog-gf-checkbox-label:last-child span {
	width: 300px;
}

@media (max-width: 1030px) {
	.sog-gf-directory-results-controls,
	.sog-gf-directory-results-controls .sog-gf-directory-view-controls {
		flex-wrap: wrap;
	}

	.sog-gf-directory-view-controls > label:not(.sog-gf-checkbox-label) {
		max-width: 100%;
	}

	.sog-gf-directory-results-controls .sog-gf-directory-view-controls .sog-gf-checkbox-label:last-child {
		width: 100%;
	}
}

@media (max-width: 600px) {
	.sog-gf-directory-results-controls > .sog-gf-results-count {
		flex-basis: 100%;
		max-width: 100%;
	}

	.sog-gf-directory-view-controls {
		flex-wrap: wrap;
	}

	.sog-gf-directory-view-controls > label {
		max-width: 100%;
	}

	.sog-gf-directory-results-controls .sog-gf-directory-view-controls .sog-gf-checkbox-label:last-child {
		width: 100%;
	}

	.sog-gf-directory-view-controls > label:not(.sog-gf-checkbox-label) {
    	flex: 1 100% !important;
	}
}

.sog-gf-results-row {
	margin: 0.25rem 0 1.75rem;
	display: block;
}
.sog-gf-empty-state {
	margin: 0.25rem 0 0.75rem;
	padding: 0.625rem 0.75rem;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #f6f7f7;
	font-weight: 600;
}

.sog-gf-view-accordion {
	border-radius: 4px;
	background: #fff;
}

.sog-gf-accordion-list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	align-self: stretch;
}

details.sog-gf-accordion-item {
	/* border-bottom: 1px solid #dcdcde; */
	display: flex;
	padding: 28px 28px 28px 40px;
	flex-direction: column;
	align-items: stretch;
	gap: 26px;
	align-self: stretch;
	border-radius: 4px;
	border: 1px solid #D9E0E4;
	background: #FFF;
	box-shadow: 0 8px 22px 0 rgba(44, 80, 128, 0.04);
}

details.sog-gf-accordion-item:last-child {
	border-bottom: 0;
}

details.sog-gf-accordion-item summary {
	cursor: pointer;
	font-weight: 600;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 14px;
	grid-template-rows: auto auto;
	column-gap: 1rem;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	list-style: none;
	padding: 0.75rem 1rem;
}

details.sog-gf-accordion-item > summary::marker { content: ""; }
details.sog-gf-accordion-item > summary::-webkit-details-marker { display: none; }
details.sog-gf-accordion-item > summary > .sog-gf-accordion-title { grid-column: 1; grid-row: 1; overflow-wrap: anywhere; }
details.sog-gf-accordion-item > summary > .sog-gf-accordion-count { grid-column: 1; grid-row: 2; }
details.sog-gf-accordion-item > summary > .sog-gf-accordion-icon {
	grid-column: 2;
	grid-row: 1 / 3;
	width: 14px;
	height: 8px;
	display: block;
	pointer-events: none;
}
details.sog-gf-accordion-item > summary > .sog-gf-accordion-icon-open,
details.sog-gf-accordion-item[open] > summary > .sog-gf-accordion-icon-closed { display: none; }
details.sog-gf-accordion-item[open] > summary > .sog-gf-accordion-icon-open { display: block; }

details.sog-gf-accordion-item summary .sog-gf-accordion-title {
	color: #1E3A57;

	/* SOG/Body/Montserrat 20 SemiBold */
	font-family: Montserrat;
	font-size: 20px;
	font-style: normal;
	font-weight: 600;
	line-height: 24px; /* 120% */
}

details.sog-gf-accordion-item summary .sog-gf-accordion-count {
	color: var(--sog-gf-updated-text, #9B6008);
	/* SOG/Body/Montserrat 16 SemiBold / Variant 2 */
	font-family: Montserrat;
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: 22px; /* 137.5% */
	letter-spacing: 0.25px;
}

details.sog-gf-accordion-item ul {
	/* margin: 0;
	padding: 0 1rem 0.85rem 1.75rem; */

	display: flex;
	width: 100%;
	box-sizing: border-box;
	padding-right: 86px;
	flex-direction: column;
	align-items: stretch;
	gap: 20px;
	align-self: stretch;
}

details.sog-gf-accordion-item ul li {
	position: relative;
}

/* Equalize rows within each category, then share the tallest open row across categories. */
.sog-gf-view-accordion[data-equal-height="1"] details.sog-gf-accordion-item > ul {
	display: grid;
	grid-auto-rows: 1fr;
}
.sog-gf-view-accordion[data-equal-height="1"] details.sog-gf-accordion-item > ul > li {
	display: flex;
	align-items: stretch;
	box-sizing: border-box;
	min-height: var(--sog-gf-accordion-item-height, 0px);
}
.sog-gf-view-accordion[data-equal-height="1"] details.sog-gf-accordion-item > ul > li > .sog-gf-accordion-form-link {
	flex: 1;
	align-items: stretch;
}

details.sog-gf-accordion-item ul li a.sog-gf-accordion-form-link {
	position: relative;
	/* margin: 0.45rem 0; */
	display: flex;
	align-items: flex-start;
	gap: 18px;
	align-self: stretch;
}

details.sog-gf-accordion-item ul li a.sog-gf-accordion-form-link span.marker {
	display: block;
	/* Keep the marker in the flex layout so the link's gap separates it from the content. */
	flex: 0 0 3px;
	align-self: stretch;
	box-sizing: border-box;
	border-radius: 4px;
	border-left: 3px solid #4B9CD3;
	width: 3px;
	pointer-events: none;
}

details.sog-gf-accordion-item ul li a .sog-gf-accordion-form-content {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	align-self: stretch;
	padding: 0.5rem 0 0 0;
}

details.sog-gf-accordion-item ul li a .sog-gf-accordion-form-content p,
details.sog-gf-accordion-item ul li a .sog-gf-accordion-form-content [data-field="description"] {
	color: #3D3D3D !important;
	margin: 0 !important;

	/* SOG/Body/Open Sans 16 Regular / Variant 2 */
	font-family: "Open Sans" !important;
	font-size: 16px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 24px !important; /* 150% */
	letter-spacing: 0.25px !important;
}

.sog-gf-accordion-list .sog-gf-accordion-form-link {
	/* display: flow-root; */
	/* padding: 0.5rem;
	color: inherit;
	text-decoration: none;
	overflow-wrap: anywhere; */

	display: flex;
	align-items: flex-start;
	gap: 18px;
	align-self: stretch;
}

details.sog-gf-accordion-item a.sog-gf-accordion-form-link .sog-gf-accordion-form-content .sog-gf-accordion-form-title {
	color: #2C5080 !important;

	/* SOG/Body/Open Sans 18 Semibold */
	font-family: "Open Sans" !important;
	font-size: 18px !important;
	font-style: normal !important;
	font-weight: 600 !important;
	line-height: 22px !important; /* 122.222% */
}

.sog-gf-accordion-list .sog-gf-accordion-item.sog-gf-accordion-group .sog-gf-accordion-form-link.sog-gf-form-link {
	text-decoration: none !important;
}

details.sog-gf-accordion-item a.sog-gf-accordion-form-link:hover { background: #f6f7f7; }
details.sog-gf-accordion-item a.sog-gf-accordion-form-link:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.sog-gf-accordion-date {
	font-size: 0.9rem;
	color: #50575e;
}
.sog-gf-accordion-count {
	font-size: 0.9rem;
	font-weight: 500;
	color: #50575e;
}

/* Homepage form sections */
.sog-gf-directory-feature { width: 100%; min-width: 0; }
.sog-gf-directory-feature > .sog-gf-homepage-site-search,
.sog-gf-directory-feature > .sog-gf-homepage-categories,
.sog-gf-directory-feature > .sog-gf-feature-intro { margin-left: auto; margin-right: auto; max-width: calc(100% - 2rem); }
.sog-gf-directory-feature > .sog-gf-homepage-categories { width: 445px; }
.sog-gf-directory-feature > .sog-gf-feature-intro { width: 1100px; }
.sog-gf-feature-image-overlay { position: relative; isolation: isolate; }
.sog-gf-feature-image-overlay::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.60); z-index: 0; pointer-events: none; }
.sog-gf-feature-has-content { display: grid; grid-template-rows: 1fr auto 1fr; position: relative; isolation: isolate; }
.sog-gf-feature-has-content::before { content: ""; grid-area: 1 / 1 / 4 / 2; padding-bottom: var(--sog-gf-feature-image-ratio); }
.sog-gf-feature-has-content > .sog-gf-homepage-feature-image { position: absolute; inset: 0; z-index: 0; }
.sog-gf-feature-overlay { grid-area: 2 / 1; z-index: 1; display: flex; align-items: center; justify-content: center; min-width: 0; padding: clamp(1rem, 3vw, 2rem); }
.sog-gf-feature-byline { z-index: 2; margin: 0.75rem; padding: 0.5rem 0.75rem; max-width: calc(100% - 1.5rem); color: #fff; font-size: 0.9rem; line-height: 1.4; overflow-wrap: anywhere; }
.sog-gf-byline-top { grid-area: 1 / 1; align-self: start; }
.sog-gf-byline-bottom { grid-area: 3 / 1; align-self: end; }
.sog-gf-byline-left { justify-self: start; text-align: left; }
.sog-gf-byline-right { justify-self: end; text-align: right; }
.sog-gf-byline-center { justify-self: center; text-align: center; }
.sog-gf-feature-content { width: 100%; min-width: 0; padding: clamp(1rem, 2vw, 2rem); color: #fff; text-align: center; overflow-wrap: anywhere; }
.sog-gf-feature-content .sog-gf-feature-title { color: inherit; margin: 0 0 0.75rem; }
.sog-gf-feature-content .sog-gf-feature-description { margin: 0 0 1rem; }
.sog-gf-feature-search { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin: 0 auto; min-width: 0; width: 100%; }
.sog-gf-feature-search > * { flex: 1 1 16rem; min-width: 0; }
.sog-gf-feature-content .sog-gf-homepage-site-search { margin: 0; }
.sog-gf-feature-content .sog-gf-homepage-categories { margin: 0; }
.sog-gf-feature-search .sog-gf-category-navigation { flex-direction: row; flex-wrap: wrap; align-items: center; }
.sog-gf-feature-search .sog-gf-category-select { flex: 1; }
.sog-gf-feature-search .sog-gf-category-select,
.sog-gf-feature-search .sog-gf-category-select select {
	color: var(--text-primary, #3D3D3D);
	/* SOG/Body/Open Sans 18 Regular */
	font-family: "Open Sans";
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0.25px;
}
.sog-gf-feature-intro { margin: 0 0 1.5rem; }
.sog-gf-feature-intro .sog-gf-feature-title { margin: 0 0 0.75rem; }
.sog-gf-feature-intro .sog-gf-feature-description { margin: 0; }
.sog-gf-homepage-site-search {
	display: flex;
	width: 695px;
	max-width: 100%;
	box-sizing: border-box;
	padding: 10px 18px;
	align-items: center;
	gap: 14px;
	border-radius: 100px;
	border: 1px solid var(--sog-gf-control-border, #767676);
	background: var(--neutral-surface, #FFF);
	box-shadow: 0 3px 30px 0 var(--neutral-black-alpha-50, rgba(0, 0, 0, 0.50));
	margin: 0 0 2rem;
}
.sog-gf-homepage-categories { margin: 0 0 2rem; }
.sog-gf-category-navigation { display: flex; flex-direction: column; align-items: stretch; gap: 0.5rem; }
.sog-gf-category-navigation label { margin: 0; line-height: 1.5; }
.sog-gf-category-label-row { display: flex; align-items: center; gap: 0.5rem; flex-basis: 100%; }
.sog-gf-category-input-row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	width: 100%;
	max-width: calc(445px + 24px + 0.5rem);
	min-width: 0;
}
.sog-gf-category-input-row .sog-gf-category-select { flex: 1; }
.sog-gf-feature-search .sog-gf-category-input-row { flex: 1; max-width: none; }
.sog-gf-category-help-row { display: flex; flex-basis: 100%; align-self: stretch; }
.sog-gf-category-navigation .sog-gf-category-help-trigger {
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	flex: 0 0 24px;
	width: 24px;
	min-width: 24px;
	height: 24px;
	padding: 0;
	border: 1px solid #13294B;
	border-radius: 50%;
	background: #fff;
	color: #13294B;
	cursor: help;
}
.sog-gf-category-navigation .sog-gf-category-help-trigger:hover {
	background: #13294B;
	color: #fff;
}
.sog-gf-category-help-trigger svg { display: block; pointer-events: none; }
.sog-gf-category-navigation .sog-gf-category-navigation-help {
	flex-basis: 100%;
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.5;
}
.sog-gf-category-navigation[data-tooltip-ready] .sog-gf-category-navigation-help {
	position: fixed;
	z-index: 1000;
	box-sizing: border-box;
	width: max-content;
	max-width: min(20rem, calc(100vw - 16px));
	padding: 0.5rem 0.75rem;
	border: 1px solid #13294B;
	border-radius: 4px;
	background: #13294B;
	color: #fff;
	text-align: left;
	font-weight: 400;
	overflow-wrap: anywhere;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
/* A transparent bridge keeps the tooltip hoverable across its positioning gap. */
.sog-gf-category-navigation[data-tooltip-ready] .sog-gf-category-navigation-help::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: 8px;
}
.sog-gf-category-navigation-help[data-placement="above"]::after { top: 100%; }
.sog-gf-category-navigation-help[data-placement="below"]::after { bottom: 100%; }
.sog-gf-category-navigation [hidden] { display: none !important; }
.sog-gf-category-select {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	width: 445px;
	min-width: 0;
	max-width: 100%;
	align-self: stretch;
}
.sog-gf-category-navigation select {
	grid-area: 1 / 1;
	display: flex;
	width: 445px;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
	padding: 20px 30px;
	padding-right: 50px !important; /* Reserve space for the icon and override the theme's select padding. */
	justify-content: space-between;
	align-items: center;
	align-self: stretch;
	border-radius: 100px;
	border: 1px solid var(--sog-gf-control-border, #767676);
	background-color: var(--neutral-surface, #FFF);
	background-image: none;
	appearance: none;
	box-shadow: 0 3px 30px 0 var(--neutral-black-alpha-50, rgba(0, 0, 0, 0.50));
}
.sog-gf-category-select-icon {
	grid-area: 1 / 1;
	justify-self: end;
	align-self: center;
	margin-right: 30px;
	width: 12px;
	height: 6px;
	transform: scaleX(-1);
	flex-shrink: 0;
	stroke-width: 1.5px;
	stroke: var(--text-primary, #3D3D3D);
	pointer-events: none;
}
.sog-gf-category-navigation [hidden] { display: none !important; }
.sog-gf-category-archive { width: min(calc(100% - 2rem), 1100px); margin: 0 auto 2rem; }
.sog-gf-category-archive > header { margin-bottom: 2rem; }
.sog-gf-homepage-site-search .sog-gf-site-search-form { display: flex; flex-direction: column; align-items: stretch; gap: 0.5rem; width: 100%; }
.sog-gf-homepage-site-search .sog-gf-site-search-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.sog-gf-homepage-site-search.sog-gf-search-label-inside { border-radius: 2rem; }
.sog-gf-homepage-site-search .sog-gf-search-label-inside { color: var(--text-primary, #3D3D3D); }
.sog-gf-site-search-input-with-label {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.5rem;
	min-width: 0;
}
.sog-gf-homepage-site-search .sog-gf-site-search-input-with-label > label {
	flex: 0 1 auto;
	min-width: 0;
	max-width: 100%;
	color: var(--text-primary, #3D3D3D);
	font: 400 18px/1.5 "Open Sans", sans-serif;
	letter-spacing: 0.25px;
}
.sog-gf-homepage-site-search .sog-gf-site-search-input-with-label > .search-field {
	flex: 1 1 8ch;
	width: 0;
	min-width: min(8ch, 100%);
	padding-inline: 0;
}
.sog-gf-homepage-site-search .search-field {
	min-width: 0;
	width: 100%;
	max-width: 100%;
	align-self: stretch;
	color: var(--text-primary, #3D3D3D);
	/* SOG/Body/Open Sans 18 Regular */
	font-family: "Open Sans";
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0.25px;
}
.sog-gf-homepage-site-search .search-submit { margin: 0; }
/* Keep theme borders and shared focus shadows out of the search controls. */
form.search-form.sog-gf-site-search-form,
form.search-form.sog-gf-site-search-form .sog-gf-site-search-controls,
form.search-form.sog-gf-site-search-form .search-field,
form.search-form.sog-gf-site-search-form .search-submit {
	border: none !important;
	outline: none;
	box-shadow: none;
}
form.search-form.sog-gf-site-search-form .search-field:focus-visible,
form.search-form.sog-gf-site-search-form .search-submit:focus-visible {
	outline: 2px solid #005a8b;
	outline-offset: 2px;
}
.sog-gf-homepage-site-search .search-submit .sog-gf-search-button-icon { display: block; width: 1.25em; height: 1.25em; opacity: 1; flex: none; }
.sog-gf-homepage-site-search label, .sog-gf-homepage-site-search .sog-gf-site-search-description { margin: 0; overflow-wrap: anywhere; line-height: 1.5; }
.sog-gf-homepage-section { margin: 2rem 0; }

.sog-gf-homepage-all-forms,
.sog-gf-directory-all-forms {
	display: flex;
	justify-content: center;
	margin: 2rem 0;
}

.sog-gf-homepage-all-forms-button,
.sog-gf-homepage-all-forms-button:visited,
.sog-gf-directory-all-forms-button,
.sog-gf-directory-all-forms-button:visited {
	display: flex;
	padding: var(--button-padding-vertical, 20px) var(--button-padding-horizontal, 34px);
	justify-content: center;
	align-items: flex-start;
	border-radius: var(--button-radius, 100px);
	border: 1px solid transparent;
	background: var(--button-default, #2C5282);
	box-shadow: 0 3px 6px 0 var(--neutral-black-alpha-6, rgba(0, 0, 0, 0.06));
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.sog-gf-homepage-all-forms-button:not(:disabled):hover,
.sog-gf-directory-all-forms-button:not(:disabled):hover {
	border-color: #2C5282;
	background: #fff;
	color: var(--button-default, #2C5282);
}
.sog-gf-homepage-all-forms-button:focus-visible,
.sog-gf-directory-all-forms-button:focus-visible {
	outline: 3px solid var(--button-focus-ring, #13294B);
	outline-offset: 2px;
	scroll-margin-block: var(--sog-gf-focus-scroll-margin, 6rem);
}

.sog-gf-homepage-all-forms-button:disabled,
.sog-gf-directory-all-forms-button:disabled {
	cursor: default;
	pointer-events: none;
}

.sog-gf-directory-all-forms-button {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	cursor: pointer;
}

.sog-gf-homepage-section > h2,
.sog-gf-table-wrap[data-directory-output="homepage"] > h2 {
	display: flex;
	align-items: center;
	gap: 1rem;
	overflow-wrap: anywhere;
	color: #1E3A57;
	font-family: "Source Serif 4", serif;
	font-size: 32px;
	font-style: italic;
	font-weight: 500;
	line-height: 42px;
}

.sog-gf-homepage-section > h2::after,
.sog-gf-table-wrap[data-directory-output="homepage"] > h2::after {
	content: "";
	flex: 1 0 2rem;
	height: 1px;
	background: #D9E0E4;
}

.sog-gf-homepage-section .sog-gf-homepage-cards,
.sog-gf-view-card.sog-gf-layout-card > .sog-gf-directory-items {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
	gap: 1rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.sog-gf-homepage-section .sog-gf-homepage-card,
.sog-gf-view-card.sog-gf-layout-card .sog-gf-directory-item {
	position: relative;
	margin: 0;
	overflow-wrap: anywhere;
}

/* Extend the existing title link across the card without adding a tab stop. */
.sog-gf-homepage-card [data-field="title"] > a::after,
.sog-gf-view-card.sog-gf-layout-card [data-field="title"] > a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: 8px;
}

.sog-gf-homepage-card [data-field="title"] > a:focus-visible::after,
.sog-gf-view-card.sog-gf-layout-card [data-field="title"] > a:focus-visible::after {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.sog-gf-homepage-section h3 a,
.sog-gf-view-card.sog-gf-layout-card h3 a {
	font-size: 1.15rem;
	margin: 0;
	color: #2C5080;

	/* SOG/Body/Montserrat 18 SemiBold */
	font-family: Montserrat;
	font-size: 18px;
	font-style: normal;
	font-weight: 600;
	line-height: 24px; /* 133.333% */
	text-decoration: none;
}

.sog-gf-homepage-section a,
.sog-gf-view-card.sog-gf-layout-card a { text-decoration: underline; }
.sog-gf-homepage-section p,
.sog-gf-view-card.sog-gf-layout-card p { margin: 0.5rem 0 0; }
.sog-gf-homepage-section dl,
.sog-gf-view-card.sog-gf-layout-card dl { margin: 0.75rem 0 0; font-size: 0.9rem; }

.sog-gf-homepage-section .sog-gf-homepage-card dl.sog-gf-form-details,
.sog-gf-view-card.sog-gf-layout-card dl.sog-gf-form-details {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 26px;
	align-self: stretch;
	grid-row: span 1;
	grid-column: span 1;
	justify-self: stretch;
}

.sog-gf-homepage-section dt,
.sog-gf-view-card.sog-gf-layout-card dt { font-weight: 600; }

.sog-gf-homepage-section dd,
.sog-gf-view-card.sog-gf-layout-card dd {
	padding: 0;
	/* margin: 0 0 0.5rem; */
	color: var(--text-primary, #3D3D3D);

	/* SOG/Label/Uppercase/Montserrat 14 Medium */
	font-family: Montserrat;
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 22px; /* 157.143% */
	letter-spacing: 1px;
	text-transform: uppercase;
}

/* Homepage opening dates use the updated-status caption style in every layout. */
.home :is(.sog-gf-homepage-section, .sog-gf-table-wrap) [data-field="opening_date"],
.home :is(.sog-gf-homepage-section, .sog-gf-table-wrap) [data-field="opening_date"] > :is(dt, dd) {
	color: var(--sog-gf-updated-text, #9B6008) !important;
	font-family: "Open Sans" !important;
	font-size: 14px !important;
	font-style: normal !important;
	font-weight: 500 !important;
	line-height: normal !important;
	letter-spacing: normal;
	text-transform: none;
}

/* Last updated captions share their styling across public form layouts. */
.sog-gf-form-details > [data-field="last_updated"] {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 0.4rem;
}

.sog-gf-form-details > [data-field="last_updated"] > :is(dt, dd) {
	margin: 0;
	color: var(--sog-gf-updated-text, #9B6008) !important;
}

.sog-gf-forms-table td[data-field="last_updated"],
.sog-gf-section-table td[data-field="last_updated"] {
	color: var(--text-primary, #3D3D3D) !important;
}

.sog-gf-form-details > [data-field="last_updated"] > :is(dt, dd),
.sog-gf-forms-table td[data-field="last_updated"],
.sog-gf-section-table td[data-field="last_updated"] {
	/* SOG/Caption/Open Sans 14 Medium */
	font-family: "Open Sans" !important;
	font-size: 14px !important;
	font-style: normal !important;
	font-weight: 500 !important;
	line-height: normal !important;
	letter-spacing: normal;
	text-transform: none;
}

/* Hide labels visually while preserving accessible names and content semantics. */
.sog-gf-control-label-hidden,
.sog-gf-field-label-hidden,
.sog-gf-form-details > [data-field] > .sog-gf-field-label-hidden {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.sog-gf-homepage-section .sog-gf-homepage-list { list-style: none; padding: 0; margin: 0; }
.sog-gf-homepage-section .sog-gf-homepage-list-item { padding: 1rem 0; margin: 0; border-bottom: 1px solid #dcdcde; overflow-wrap: anywhere; }
.sog-gf-section-table-wrap { overflow-x: auto; }
.sog-gf-section-table { width: 100%; border-collapse: collapse; }
.sog-gf-section-table th, .sog-gf-section-table td { text-align: left; vertical-align: top; padding: 0.75rem; border-bottom: 1px solid #dcdcde; }
.sog-gf-section-accordion-item { border: 1px solid #dcdcde; border-radius: 4px; margin: 0.5rem 0; overflow-wrap: anywhere; }
.sog-gf-section-accordion-item summary { cursor: pointer; padding: 1rem; font-weight: 600; }
.sog-gf-section-accordion-content { padding: 0 1rem 1rem; }

/* Explicit card/list columns; automatic layouts retain their existing behavior. */
.sog-gf-view[data-grid-columns]:not([data-grid-columns="auto"]) .sog-gf-directory-items,
.sog-gf-homepage-section[data-grid-columns]:not([data-grid-columns="auto"]) > .sog-gf-homepage-cards,
.sog-gf-homepage-section[data-grid-columns]:not([data-grid-columns="auto"]) > .sog-gf-homepage-list {
	display: grid;
	grid-template-columns: repeat(var(--sog-gf-columns), minmax(0, 1fr));
	gap: 1rem;
}
.sog-gf-homepage-section [hidden] { display: none !important; }
@media screen and (max-width: 640px) {
	.sog-gf-view[data-grid-columns]:not([data-grid-columns="auto"]) .sog-gf-directory-items,
	.sog-gf-homepage-section[data-grid-columns]:not([data-grid-columns="auto"]) > .sog-gf-homepage-cards,
	.sog-gf-homepage-section[data-grid-columns]:not([data-grid-columns="auto"]) > .sog-gf-homepage-list {
		grid-template-columns: 1fr;
	}
}

/* Equalize all rows to the tallest card, independently of column filling. */
.sog-gf-view[data-equal-height="1"] > .sog-gf-directory-items,
.sog-gf-homepage-section[data-equal-height="1"] > .sog-gf-homepage-cards,
.sog-gf-homepage-section[data-equal-height="1"] > .sog-gf-homepage-list {
	display: grid;
	grid-auto-rows: 1fr;
	align-items: stretch;
}

/* Keep accessibility utilities independent of the active theme. */
.gf_progressbar_wrapper.sog-gf-numbered-progress .gf_progressbar_title,
.sog-gf-sr-only,
.sog-gf-table-wrap .screen-reader-text,
.sog-gf-form-admin .screen-reader-text {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

:is(.sog-gf-table-wrap, .sog-gf-homepage-section, .sog-gf-homepage-all-forms,
	.sog-gf-homepage-feature, .sog-gf-directory-feature, .sog-gf-homepage-site-search,
	.sog-gf-homepage-categories, .sog-gf-form-admin)
	:is(a, button, input, select, textarea, summary, [tabindex]):not(.sog-gf-homepage-all-forms-button, .sog-gf-directory-all-forms-button):focus-visible,
.sog-gf-section-table-wrap:focus-visible {
	outline: 3px solid #13294B !important;
	outline-offset: 3px;
	box-shadow: 0 0 0 6px #fff !important;
	scroll-margin-block: var(--sog-gf-focus-scroll-margin, 6rem);
}

.sog-gf-homepage-card:focus-within,
.sog-gf-directory-item:focus-within {
	outline: 3px solid #007BFF;
	outline-offset: -3px;
}

:is(.sog-gf-homepage-site-search, .sog-gf-category-navigation, .sog-gf-form-admin)
	:is(button, input:not([type="hidden"]), select),
.sog-gf-table-controls .sog-gf-checkbox-label {
	width: 100%;
	min-height: 24px;
}

.sog-gf-category-navigation-submit {
	padding: 0.5rem 1rem;
	color: #fff;
	background: #2C5282;
	border: 1px solid #2C5282;
	border-radius: 4px;
	font: inherit;
	cursor: pointer;
}

@media (max-width: 600px) {
	.sog-gf-table-controls > label,
	.sog-gf-table-controls input[type="search"],
	.sog-gf-table-controls select {
		min-width: 0;
		max-width: 100%;
	}
	.sog-gf-table-controls input[type="search"] { width: 100%; }
	.sog-gf-feature-search .sog-gf-category-navigation {
		flex-direction: column;
		align-items: stretch;
	}
	.sog-gf-feature-search .sog-gf-category-select {
		flex: 0 1 auto;
		width: 100%;
	}
	details.sog-gf-accordion-item { padding: 1rem; }
	details.sog-gf-accordion-item ul { padding-inline: 0; margin-inline: 0; }
}

@media (forced-colors: active) {
	:is(.sog-gf-table-wrap, .sog-gf-homepage-section, .sog-gf-homepage-all-forms,
		.sog-gf-homepage-feature, .sog-gf-directory-feature, .sog-gf-homepage-site-search,
		.sog-gf-homepage-categories, .sog-gf-form-admin)
		:is(a, button, input, select, textarea, summary, [tabindex]):focus-visible,
	.sog-gf-section-table-wrap:focus-visible,
	.sog-gf-homepage-card:focus-within,
	.sog-gf-directory-item:focus-within {
		outline-color: Highlight !important;
		box-shadow: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sog-gf-homepage-all-forms-button,
	.sog-gf-directory-all-forms-button {
		transition: none !important;
	}

	:is(.sog-gf-table-wrap, .sog-gf-homepage-section, .sog-gf-homepage-feature,
		.sog-gf-directory-feature, .sog-gf-form-admin) * {
		transition: none !important;
		scroll-behavior: auto !important;
	}
}

.gform_wrapper {
    margin-top: 2rem;
}
