/* Served on native pages in place of styles.css: what those pages actually use
 * from it — Bootstrap's normalize, the global chrome, the self-hosted faces. Taken verbatim from the compiled stylesheet. */
/* --- Bootstrap 3 normalize (complete), scaffolding and type --- */
html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
body {
	margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
	display: block;
}
audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}
audio:not([controls]) {
	display: none;
	height: 0;
}
[hidden],
template {
	display: none;
}
a {
	background-color: transparent;
}
a:active,
a:hover {
	outline: 0;
}
abbr[title] {
	border-bottom: 1px dotted;
}
b,
strong {
	font-weight: 700;
}
dfn {
	font-style: italic;
}
h1 {
	margin: 0.67em 0;
	font-size: 2em;
}
mark {
	color: #000;
	background: #ff0;
}
small {
	font-size: 80%;
}
sub,
sup {
	position: relative;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline;
}
sup {
	top: -0.5em;
}
sub {
	bottom: -0.25em;
}
img {
	border: 0;
}
svg:not(:root) {
	overflow: hidden;
}
figure {
	margin: 1em 40px;
}
hr {
	height: 0;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}
pre {
	overflow: auto;
}
code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
	margin: 0;
	font: inherit;
	color: inherit;
}
button {
	overflow: visible;
}
button,
select {
	text-transform: none;
}
button,
html input[type='button'],
input[type='reset'],
input[type='submit'] {
	-webkit-appearance: button;
	cursor: pointer;
}
button[disabled],
html input[disabled] {
	cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
	padding: 0;
	border: 0;
}
input {
	line-height: normal;
}
input[type='checkbox'],
input[type='radio'] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
}
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
	height: auto;
}
input[type='search'] {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	-webkit-appearance: textfield;
}
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration {
	-webkit-appearance: none;
}
fieldset {
	padding: 0.35em 0.625em 0.75em;
	margin: 0 2px;
	border: 1px solid silver;
}
legend {
	padding: 0;
	border: 0;
}
textarea {
	overflow: auto;
}
optgroup {
	font-weight: 700;
}
table {
	border-spacing: 0;
	border-collapse: collapse;
}
td,
th {
	padding: 0;
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
:after,
:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
html {
	font-size: 10px;
	-webkit-tap-highlight-color: transparent;
}
body {
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 1.42857143;
	color: #333;
	background-color: #fff;
}
button,
input,
select,
textarea {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}
a {
	color: #337ab7;
	text-decoration: none;
}
figure {
	margin: 0;
}
img {
	vertical-align: middle;
}
hr {
	margin-top: 20px;
	margin-bottom: 20px;
	border: 0;
	border-top: 1px solid #eee;
}
[role='button'] {
	cursor: pointer;
}
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: inherit;
	font-weight: 500;
	line-height: 1.1;
	color: inherit;
}
.h1,
.h2,
.h3,
h1,
h2,
h3 {
	margin-top: 20px;
	margin-bottom: 10px;
}
.h4,
.h5,
.h6,
h4,
h5,
h6 {
	margin-top: 10px;
	margin-bottom: 10px;
}
.h1,
h1 {
	font-size: 36px;
}
.h2,
h2 {
	font-size: 30px;
}
.h4,
h4 {
	font-size: 18px;
}
.h5,
h5 {
	font-size: 14px;
}
.h6,
h6 {
	font-size: 12px;
}
p {
	margin: 0 0 10px;
}
ol,
ul {
	margin-top: 0;
	margin-bottom: 10px;
}
blockquote {
	padding: 10px 20px;
	margin: 0 0 20px;
	font-size: 17.5px;
	border-left: 5px solid #eee;
}
label {
	display: inline-block;
	max-width: 100%;
	margin-bottom: 5px;
	font-weight: 700;
}
input[type='checkbox'],
input[type='radio'] {
	margin: 4px 0 0;
	line-height: normal;
}
html {
	font-size: 16px !important;
}
body,
html {
	height: 100%;
}
html {
	scroll-padding-top: 90px;
}
html:has(#dbx-navigation-native) {
	scroll-padding-top: 128px;
}
#dbx-navigation-native[data-dbx-nav-measuring] * {
	transition: none !important;
}
html,
html a {
	-webkit-font-smoothing: antialiased;
}
body {
	color: #2d3237;
	font-family: Geist, Arial, Helvetica, sans-serif;
	font-weight: 400;
	-webkit-text-size-adjust: none;
}
.btn,
a {
	outline: 0 !important;
	transition: all 0.2s;
	-o-transition: all 0.2s;
	-ms-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-webkit-transition: all 0.2s;
}
a {
	color: #4d71f1;
}
strong {
	font-weight: 500;
}
img {
	height: auto;
}
.all {
	height: 100%;
	transition: filter linear 0s 0s;
	-webkit-transition: -webkit-filter linear 0s 0s;
	-moz-transition: -moz-filter linear 0s 0s;
	-ms-transition: -ms-filter linear 0s 0s;
	-o-transition: -o-filter linear 0s 0s;
}
.cc-grower {
	position: relative;
	z-index: 11;
	position: fixed;
	bottom: 10px;
	left: 50%;
	transform: translateX(-50%);
	background-image: linear-gradient(to right, #bee9f8, #d7eeee);
	background-image: -o-linear-gradient(to right, #bee9f8, #d7eeee);
	background-image: -ms-linear-gradient(to right, #bee9f8, #d7eeee);
	background-image: -moz-linear-gradient(to right, #bee9f8, #d7eeee);
	background-image: -webkit-linear-gradient(to right, #bee9f8, #d7eeee);
	border-radius: 9px;
	width: 725px;
	max-height: none !important;
}
.cc-window.cc-banner,
.cc-window.cc-floating {
	font-size: 12px;
	line-height: 16px;
	padding: 7px 8px 7px 14px !important;
	opacity: 0.8;
}
.cc-window.cc-banner .cc-link,
.cc-window.cc-floating .cc-link {
	opacity: 1;
	color: #4d71f1;
	padding: 0;
	margin-right: 10px;
}
.cc-window.cc-banner .cc-btn,
.cc-window.cc-floating .cc-btn {
	border: none;
	color: #fff;
	background-color: #4d71f1;
	font-size: 12px;
	line-height: 24px;
	border-radius: 7px;
	font-weight: 300;
	padding: 0 10px;
	min-width: 90px !important;
	text-decoration: none;
}
.all:has(#dbx-navigation-native),
.all:has(#dbx-navigation.nav-base-bg) {
	background-color: var(--background, #fff);
}
.all:has(#dbx-navigation-native),
.all:has(#dbx-navigation.in-flow-nav) {
	height: auto;
	min-height: 100%;
}
.grecaptcha-badge {
	visibility: hidden;
}
.g-recaptcha {
	margin-bottom: 20px;
}
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}
/* Link states, from Bootstrap, so hover and focus match the rest of the site. */
a:focus,
a:hover {
	color: #3457d5;
	text-decoration: underline;
}
a:focus {
	outline: 5px auto -webkit-focus-ring-color;
	outline-offset: -2px;
}
/* --- SweetAlert: scripts.js injects its modal into every page; nothing on a native
 * page opens it, so only the hidden state is needed. --- */
.sweet-overlay,
.sweet-alert {
	display: none;
}
/* --- Cookie banner, reCAPTCHA badge, HubSpot beacon --- */
#hs-beacon > div > iframe:first-child {
	display: none;
}
.cc-window.cc-banner .cc-btn:hover,
.cc-window.cc-floating .cc-btn:hover {
	background-color: #1679a6;
}
@media only screen and (max-width: 767px) {
	.cc-grower {
		width: 95%;
	}
}
@media only screen and (max-width: 767px) {
	.cc-window.cc-banner {
		flex-direction: column !important;
	}
}
@media only screen and (max-width: 767px) {
	.cc-compliance {
		margin-top: 10px;
		width: 100%;
	}
}
/* --- Self-hosted faces (paths relative to inc/css/, as in styles.css) --- */
@font-face {
	font-family: Geist;
	src: url('../../../fonts/Geist/Geist-UltraLight.woff2') format('woff2');
	font-weight: 100;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: Geist;
	src: url('../fonts/Geist/Geist-Thin.woff2') format('woff2');
	font-weight: 200;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: Geist;
	src: url('../fonts/Geist/Geist-Light.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: Geist;
	src: url('../fonts/Geist/Geist-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: Geist;
	src: url('../fonts/Geist/Geist-Medium.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
}
@font-face {
	font-family: Geist;
	src: url('../fonts/Geist/Geist-SemiBold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: Geist;
	src: url('../fonts/Geist/Geist-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: Geist;
	src: url('../fonts/Geist/Geist-Black.woff2') format('woff2');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: Geist;
	src: url('../fonts/Geist/Geist-UltraBlack.woff2') format('woff2');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Geist Mono';
	src: url('../fonts/Geist/GeistMono-VariableFont_wght.ttf') format('truetype');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'IBM Plex Serif';
	src: url('../fonts/IBMPlexSerif/IBMPlexSerif-Thin.woff2') format('woff2');
	font-weight: 100;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'IBM Plex Serif';
	src: url('../fonts/IBMPlexSerif/IBMPlexSerif-ExtraLight.woff2') format('woff2');
	font-weight: 200;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'IBM Plex Serif';
	src: url('../fonts/IBMPlexSerif/IBMPlexSerif-Light.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'IBM Plex Serif';
	src: url('../fonts/IBMPlexSerif/IBMPlexSerif-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'IBM Plex Serif';
	src: url('../fonts/IBMPlexSerif/IBMPlexSerif-Medium.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'IBM Plex Serif';
	src: url('../fonts/IBMPlexSerif/IBMPlexSerif-SemiBold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'IBM Plex Serif';
	src: url('../fonts/IBMPlexSerif/IBMPlexSerif-Italic.woff2') format('woff2');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'IBM Plex Serif';
	src: url('../fonts/IBMPlexSerif/IBMPlexSerif-MediumItalic.woff2') format('woff2');
	font-weight: 500;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'IBM Plex Serif';
	src: url('../fonts/IBMPlexSerif/IBMPlexSerif-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
