/* General
----------------------------------------------------*/
.page-label { color:var(--gray); letter-spacing:1px; margin-bottom:.5rem; text-transform:uppercase; }
.page-label+.page-title { margin-top:0; }
.page-title.long-title { font-size:2em; }
.title-underlined h2:after,.title-underlined:is(h2):after { background-color:var(--brand-gold); content:""; display:block; height:.1em; margin:.2em 0 .2em -.2em; width:1.5em; }
.card-title.large { font-size:1.75rem; }
/* Sections/Banners
----------------------------------------------------*/
.section,.section.grid,section,section.grid { --section-padding:2rem; padding-block:2rem; padding-block:var(--section-padding);
}
.section.grid.no-padding,.section.no-padding,section.grid.no-padding,section.no-padding { padding:0; }
.section.grid.no-padding-top,.section.no-padding-top,section.grid.no-padding-top,section.no-padding-top { padding-top:0; }
.section.grid.no-padding-bottom,.section.no-padding-bottom,section.grid.no-padding-bottom,section.no-padding-bottom { padding-bottom:0; }
p+.section,p+.section.grid,p+section,p+section.grid { padding-top:2rem; }
/* section:not(.bg-full-bleed) + section:not(.bg-full-bleed),*/
/* .section:not(.bg-full-bleed) + .section:not(.bg-full-bleed) { padding-top:0; }*/
/* Section Label */
.section-label { background:var(--warm-white); padding:.25rem .5rem; width:-moz-fit-content; width:fit-content; }
.section-label.no-bg { background-color:transparent; padding:0; }
.section-label+.page-title { margin-top:.5rem; }
.section-label+h2 { margin-top:0; }
.text-center .section-label { margin-left:auto; margin-right:auto; }
/* Section BG */
.section-brand-blue-dark { background-color:var(--brand-blue-dark); }
@media only screen and (min-width:48em) {
	.section,.section.grid,section,section.grid { --section-padding:3rem; }

	/* Banner */
	.banner { --image-offset:-2rem;
	}
		.banner.has-image { display:grid; grid-template-columns:repeat(2, minmax(0,50%)); grid-gap:var(--grid-gap); }
		.banner.inverted .banner-image { order:2; }
		.banner.inverted .banner-body { order:1; padding-left:0; }

		.banner:has(.banner-image.pull-top) { margin-top:calc(var(--section-padding) + 2rem); padding-top:0; }
		.banner:has(.banner-image.pull-bottom) { margin-bottom:calc(var(--section-padding) + 2rem); padding-bottom:0; }
		.banner:has(.banner-image.pull-top,.banner-image.pull-bottom) .banner-image img { height:100%; -o-object-fit:cover; object-fit:cover; }
		.banner:has(.banner-image.pull-top,.banner-image.pull-bottom) .banner-body { padding:var(--section-padding) 0; }

		.banner.banner-inline:not(.inverted) .banner-image { margin-right:-2rem; }
		.banner.banner-inline.inverted .banner-image { margin-left:-2rem; }

		.banner.banner-inline:not(.inverted) .banner-body { margin-left:3rem; }
		.banner.banner-inline.inverted .banner-body { margin-right:3rem; }

		.banner .banner-body { align-content:center; }
		.banner .banner-image { margin:0;
		}
			.banner .banner-image.pull-left { margin-left:var(--gutter-offset); }
			.banner .banner-image.pull-right { margin-right:var(--gutter-offset); }
			.banner .banner-image.pull-top { height:calc(100% + 2rem); margin-top:var(--image-offset); }
			.banner .banner-image.pull-bottom { height:calc(100% + 2rem); margin-bottom:var(--image-offset); }
			.banner .banner-image.pull-top.pull-bottom { height:calc(100% + 4rem); }
}
@media only screen and (min-width:60em) {
	body:not(.home) .page-title-wrapper { background-color:transparent; grid-column:title; grid-row:title; margin-bottom:0; padding:0; }

	.has-title+.page-main .page-label { display:none; }

	.title-underlined h2:after,.title-underlined:is(h2):after { margin-bottom:.7em; margin-left:-.5em; margin-top:.2em; }

	.card-title.large { font-size:2.125rem; }

	.full-width .block-center .page-secondary.full { margin-left:calc(-50vw - -32.5rem); width:calc(100vw - var(--gutter-width)); }

	/* Banner */
	.banner.banner-inline:not(.inverted) .banner-body { margin-left:4rem; }
	.banner.banner-inline.inverted .banner-body { margin-right:4rem; }
}
@media only screen and (min-width:80em) {
	 .page-title.long-title { font-size:2.5em; }

	 .section,.section.grid,section,section.grid { --section-padding:4rem; }
}
@media only screen and (min-width:100em) {
	 .section,.section.grid,section,section.grid { --section-padding:5rem; }
}
/* Form Elements
----------------------------------------------------*/
form { margin:1rem 0; }
form.form { clear:both; margin:0; --grid-gap:1.5rem; }
.form--filter { background:var(--gray-extra-extra-light); padding:2rem 1.4rem 1.4rem;
}
.form--filter .form-fields { margin:0; padding:0; }
.form--filter .form-utility { background:#fff; margin:1rem -1.4rem -1.4rem; padding:.5rem 1rem; position:relative; }
.form--filter .form-checks-list,.form--filter .form-checks-list li { margin:0; }
.form--filter .form-checks-list label { font-weight:400; }
.form--filter .records-found { font-size:.9rem; font-weight:700; }
.form-group { margin-top:1.5rem; }
.form-check { align-items:baseline; display:flex; margin-bottom:.25rem; }
.form-connect .fieldset { background-color:#fff; margin-bottom:0;
}
.form-connect .fieldset .invalid-feedback { color:red; }
.form-connect .fieldset .legend { margin-bottom:1rem; padding:.25rem 1rem; }
.form-connect .fieldset span { font-size:.9rem; }
form p { margin:0; max-width:none; }
.fieldset,fieldset { background:var(--sky-blue-light); border:none; border-radius:1rem; margin:2rem 0; padding:1.5rem; }
fieldset p { margin-bottom:.75rem; }
legend { border:0; margin:0 0 1.5rem; padding:0; }
label { display:block; font-size:1rem; font-weight:600; line-height:1.1; margin-bottom:.5rem; }
button,input,optgroup,select,textarea { color:inherit; font-family:inherit; font-size:100%; margin:0; vertical-align:baseline; }
form button.btn-cta,form input[type=submit] { margin-top:2rem; }
button { border-radius:0; width:auto; }
button,input { line-height:1.1; overflow:visible; }
button,select { text-transform:none; }
button,input[type=button],input[type=reset],input[type=submit] { -webkit-appearance:button; -moz-appearance:button; appearance:button; cursor:pointer; }
input[type=checkbox],input[type=radio] { accent-color:var(--brand-blue); margin:0 .5rem; }
input[type=search] { outline-offset:-2px; }
button::-moz-focus-inner,input::-moz-focus-inner { border:0; padding:0; }
button[disabled],html input[disabled] { cursor:default; }
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button { height:auto; }
input[type=search] { -webkit-appearance:textfield; -moz-appearance:textfield; appearance:textfield; box-sizing:content-box; }
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration { -webkit-appearance:none; appearance:none; }
textarea { min-height:5rem; min-width:100%; overflow:auto; vertical-align:top; }
optgroup { font-weight:700; }
[type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],textarea { background-color:#fefefe; border:1px solid #cacaca; border-radius:4px; box-shadow:inset 0 1px 2px hsla(0,0%,4%,.1); box-sizing:border-box; color:#0a0a0a; display:block; font-family:inherit; font-size:1rem; font-weight:400; line-height:1.5; margin:0; padding:.5rem; transition:border-color .25s ease-in-out,box-shadow .5s; transition:box-shadow .5s,border-color .25s ease-in-out; width:100%; }
input:focus { border:2px solid var(--brand-blue-bright); outline:none; }
/*select:not([multiple]) { padding-top:0; padding-bottom:0; }*/
select { -webkit-appearance:none; -moz-appearance:none; appearance:none; background-color:#fefefe; background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"); background-origin:content-box; background-position:right -.5rem center; background-repeat:no-repeat; background-size:20px 12px; border:1px solid #cacaca; border-radius:4px; color:#0a0a0a; font-family:inherit; font-size:1rem; font-weight:400; line-height:1.5; margin:0 0 1rem; padding:.5rem 1.5rem .5rem .5rem; transition:border-color .25s ease-in-out,box-shadow .5s; transition:box-shadow .5s,border-color .25s ease-in-out,box-shadow .5s; width:100%; }
select:focus,textarea:focus { background-color:#fefefe; border:2px solid var(--brand-blue-bright); box-shadow:0 0 5px #cacaca; outline:none; transition:border-color .25s ease-in-out,box-shadow .5s; transition:box-shadow .5s,border-color .25s ease-in-out; }
