/*! gmt-theme v2.9.0 | (c) 2023 Chris Ferdinandi | MIT License | http://github.com/cferdinandi/gmt-theme */
@charset "UTF-8";
/**
 * @section CSS Reset
 * Adapted from Andy Bell's modern CSS reset
 * @link https://hankchizljaw.com/wrote/a-modern-css-reset/
 */
/**
 * Remove the tap delay in webkit
 * @link https://medium.com/@adactio/delay-a9df9edceef3#.7dmbl3xow
 */
a,
button,
input,
select,
textarea,
label,
summary {
	touch-action: manipulation;
}

button,
[type=submit] {
	-webkit-appearance: none;
}

/**
 * Add box sizing to everything
 * @link http://www.paulirish.com/2012/box-sizing-border-box-ftw/
 */
*,
*:before,
*:after {
	box-sizing: border-box;
}

/**
 * 1. Force scrollbar display to prevent jumping on pages.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
	overflow-y: scroll;
	/* 1 */
	text-size-adjust: 100%;
	/* 2 */
}

/**
 * 1. Remove the margin in all browsers (opinionated).
 * 2. For the body to fill the viewport
 */
body {
	margin: 0;
	/* 1 */
	min-height: 100vh;
	/* 2 */
}

/**
 * Prevent img, video, and svg elements from spilling outside of the page on smaller screens.
 */
img,
video,
svg {
	max-width: 100%;
}

img,
video {
	height: auto;
}

/**
 * Prevent iframe, object, and embed elements from spilling outside of the page on smaller screens.
 * height: auto causes iframes to smush, so it's omitted here.
 */
iframe,
object,
embed {
	max-width: 100%;
}

audio {
	width: 100%;
}

summary {
	cursor: pointer;
}

/**
 * @workaround Remove focus from tabindex="-1" elements which are only script focusable
 * @link https://code.google.com/p/chromium/issues/detail?id=37721
 */
[tabindex="-1"]:focus {
	outline: none;
}

/**
 * @section Grid
 * Structure and layout
 */
/**
 * Base grid styles: single column
 */
.container {
	margin-left: auto;
	margin-right: auto;
	max-width: 38em;
	width: 88%;
}

@media (max-width: 38em) {
	.container-nested {
		width: 100%;
	}
}
.container-large {
	max-width: 60em;
}

/**
 * Full width content
 */
.full-width {
	margin-left: calc(50% - 50vw);
	min-width: 100vw;
	width: 100vw;
}

/**
 * Grids
 */
@media (min-width: 38em) {
	.row {
		display: grid;
		grid-template-columns: repeat(12, 1fr);
		grid-template-rows: 1fr auto;
		column-gap: 0.75em;
	}

	.row-gap-large {
		column-gap: 1.1875em;
	}

	.row-no-gap {
		column-gap: 0;
	}

	.row-auto {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 15em), 1fr));
	}

	.grid-fifth,
.grid-sixth {
		grid-column: auto/span 2;
	}

	.grid-fourth {
		grid-column: auto/span 3;
	}

	.grid-third {
		grid-column: auto/span 4;
	}

	.grid-two-thirds {
		grid-column: auto/span 8;
	}

	.grid-half {
		grid-column: auto/span 6;
	}

	.grid-three-fourths {
		grid-column: auto/span 9;
	}

	.grid-four-fifths,
.grid-five-sixths {
		grid-column: auto/span 10;
	}

	[class*=grid-start-] {
		grid-row-start: 1;
	}

	.grid-start-first {
		grid-column-start: 1;
	}

	.grid-start-fourth {
		grid-column-start: 4;
	}

	.grid-start-third {
		grid-column-start: 5;
	}

	.grid-start-half {
		grid-column-start: 7;
	}

	.grid-start-two-thirds {
		grid-column-start: 9;
	}

	.grid-start-three-fourths {
		grid-column-start: 10;
	}
}
/**
 * Columns
 */
@media (min-width: 38em) {
	.list-columns {
		column-count: 2;
	}
}
/**
 * Flexbox
 */
@media (min-width: 38em) {
	.row-flex {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.row-flex-top {
		align-items: start;
	}

	.row-flex-gap {
		column-gap: 2em;
	}
}
/**
 * @section Typography
 * Sets font styles for entire site
 */
html {
	scroll-behavior: smooth;
}

body {
	background: #ffffff;
	border-top: 0.5em solid #e5e5e5;
	color: #272727;
	font-family: "PT Sans", sans-serif;
	font-size: 112.5%;
	line-height: 1.5;
	overflow-x: hidden;
}
@media (min-width: 38em) {
	body {
		line-height: 1.5625em;
	}
}
@media (prefers-color-scheme: dark) {
	body {
		background: #1f252f;
		border-top-color: #757575;
		color: #ffffff;
	}
}

p {
	margin: 0 0 1.5625em;
}

/**
 * Hyperlink styling
 */
a {
	color: #007ab8;
	text-decoration-skip-ink: auto;
	word-wrap: break-word;
}
a:active, a:focus, a:hover {
	color: #00476c;
}
main a:not(.btn, .link-no-visited):visited {
	color: #800080;
}
@media (prefers-color-scheme: dark) {
	a {
		color: #73cffa;
	}
	a:active, a:focus, a:hover {
		color: #29b6f7;
	}
	main a:not(.btn, .link-no-visited):visited {
		color: #debfde;
	}
}

.link-no-underline, .nav-secondary a {
	text-decoration: none;
}
.link-no-underline:active, .nav-secondary a:active, .link-no-underline:focus, .nav-secondary a:focus, .link-no-underline:hover, .nav-secondary a:hover {
	text-decoration: underline;
}

/**
 * Remove default link styling
 */
.link-plain, .link-plain:visited {
	color: #272727;
	text-decoration: none;
}
@media (prefers-color-scheme: dark) {
	.link-plain, .link-plain:visited {
		color: #ffffff;
	}
}
.link-plain:active, .link-plain:focus, .link-plain:hover {
	color: #007ab8;
}
@media (prefers-color-scheme: dark) {
	.link-plain:active, .link-plain:focus, .link-plain:hover {
		color: #73cffa;
	}
}

/**
 * List styling
 */
ul,
ol {
	margin: 0 0 1.5625em 2em;
	padding: 0;
}

ul ul,
ul ol,
ol ol,
ol ul {
	margin-bottom: 0;
}

li {
	margin-bottom: 0.5em;
}
@media (min-width: 38em) {
	li {
		margin-bottom: 0.25em;
	}
}
.list-spaced li {
	margin-bottom: 1.5625em;
}
@media (min-width: 38em) {
	.list-spaced li {
		margin-bottom: 1em;
	}
}
.list-spaced-small li {
	margin-bottom: 1.125em;
}
@media (min-width: 38em) {
	.list-spaced-small li {
		margin-bottom: 0.6875em;
	}
}

dl,
dd {
	margin: 0;
	padding: 0;
}

dd {
	margin-bottom: 1.5625em;
}

dt {
	font-weight: bold;
}

/**
 * @bugfix Prevent webkit from removing list semantics
 * 1. Add a non-breaking space
 * 2. Make sure it doesn't mess up the DOM flow
 */
.list-inline, .nav-sub, .nav, .list-unstyled, .list-checked {
	list-style: none;
	margin-left: 0;
}
.list-inline > li::before, .nav-sub > li::before, .nav > li::before, .list-unstyled > li::before, .list-checked > li::before {
	content: "​";
	/* 1 */
	position: absolute;
	/* 2 */
}

/**
 * Removes list styling.
 * For semantic reasons, should only be used on unordered lists.
 */
.list-unstyled, .list-checked {
	margin-left: 0;
}

/**
 * Checkmark lists
 */
.list-checked li {
	padding-left: 1em;
}
.list-checked li:before {
	content: "✓";
	color: #f7272f;
	margin-left: -1em;
}
@media (prefers-color-scheme: dark) {
	.list-checked li:before {
		color: #fdd4d5;
	}
}

/**
 * Display lists on a single line.
 */
.list-inline, .nav-sub, .nav {
	display: flex;
	align-items: center;
	column-gap: 1em;
	flex-wrap: wrap;
}
@media (max-width: 38em) {
	.list-inline.list-inline-responsive, .nav-sub, .list-inline-responsive.nav {
		display: block;
	}
}

.list-inline-spaced {
	column-gap: 2.875em;
}

.list-inline-compact {
	column-gap: 0.5em;
}

.list-inline-center {
	justify-content: center;
}

/**
 * Heading styling for h1 through h6 elements.
 * Heading class lets you use one heading type for semantics, but style it as another heading type.
 */
h1, h2, h3, h4, h5, h6 {
	font-family: "PT Serif", sans-serif;
	line-height: 1.4;
	margin: 0 0 1em;
	padding: 0;
	text-wrap: pretty;
	word-wrap: break-word;
}

h1,
.h1 {
	font-size: 1.5em;
	padding-top: 0.5em;
}
@media (min-width: 38em) {
	h1,
.h1 {
		font-size: 1.75em;
	}
}

h2,
.h2 {
	font-size: 1.3125em;
	padding-top: 1em;
}

h3,
.h3 {
	font-size: 1.1875em;
}

h4, h5, h6,
.h4, .h5, .h6 {
	font-size: 1em;
}

h4,
.h4 {
	font-size: 0.8125em;
	text-transform: uppercase;
}

/**
 * Lines
 */
hr {
	border: 0;
	border-top: 1px solid #e5e5e5;
	margin: 2em auto;
}
@media (prefers-color-scheme: dark) {
	hr {
		border-top-color: #757575;
	}
}

.line-secondary {
	width: 50%;
}

.line-clear {
	border-top-color: transparent;
}

.line-overlay {
	margin-top: -2.8em;
}
.line-overlay > strong {
	background-color: #ffffff;
	display: inline-block;
	padding: 0 1em;
}
@media (min-width: 38em) {
	.line-overlay > strong {
		padding: 0 2em;
	}
}
@media (prefers-color-scheme: dark) {
	.line-overlay > strong {
		background-color: #1f252f;
	}
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
	background: #fbf9c9;
	color: #272727;
}
@media (prefers-color-scheme: dark) {
	mark {
		background: transparent;
		color: #ffffff;
	}
}

/**
 * Blockquotes
 */
blockquote {
	border-left: 0.25em solid #e5e5e5;
	font-style: italic;
	margin: 0 0 1.5625em;
	padding-left: 1em;
	padding-right: 1em;
}
blockquote pre {
	font-style: normal;
}

cite {
	color: #757575;
	display: block;
	font-size: 0.9375em;
	padding-top: 1em;
}
@media (prefers-color-scheme: dark) {
	cite {
		color: #e5e5e5;
	}
}

/**
 * @section Code
 * Styling for code and preformatted text.
 */
code,
kbd,
pre,
samp {
	font-family: Menlo, Monaco, "Courier New", monospace;
	font-size: 0.875em;
}

code {
	color: #dd1144;
	word-wrap: break-word;
}
@media (prefers-color-scheme: dark) {
	code {
		color: #ded7d9;
	}
}

pre {
	background-color: #f7f7f7;
	color: #272727;
	display: block;
	line-height: 1.5;
	margin: 0 0 1.5625em;
	overflow: auto;
	padding: 0.8125em;
	tab-size: 2;
	white-space: pre-wrap;
	word-break: break-all;
}
@media (min-width: 38em) {
	pre {
		tab-size: 4;
	}
}
@media (prefers-color-scheme: dark) {
	pre {
		background-color: #343d4d;
		color: #ffffff;
	}
}
pre code {
	color: inherit;
	font-size: 1em;
}

/**
 * @section Chroma syntax highlighting
 * Styles for Hugo's syntax highlighting engine
 */
@media screen {
	.chroma .err,
.chroma .kc,
.chroma .no,
.chroma .py,
.chroma .nt,
.chroma .ss,
.chroma .m,
.chroma .mb,
.chroma .mf,
.chroma .mh,
.chroma .mi,
.chroma .il,
.chroma .mo {
		color: #905;
	}
}
@media screen and (prefers-color-scheme: dark) {
	.chroma .err,
.chroma .kc,
.chroma .no,
.chroma .py,
.chroma .nt,
.chroma .ss,
.chroma .m,
.chroma .mb,
.chroma .mf,
.chroma .mh,
.chroma .mi,
.chroma .il,
.chroma .mo {
		color: #cfcfcf;
	}
}
@media screen {
	.chroma .k,
.chroma .kd,
.chroma .kn,
.chroma .kp,
.chroma .kr,
.chroma .kt,
.chroma .nb,
.chroma .s {
		color: #07a;
	}
}
@media screen and (prefers-color-scheme: dark) {
	.chroma .k,
.chroma .kd,
.chroma .kn,
.chroma .kp,
.chroma .kr,
.chroma .kt,
.chroma .nb,
.chroma .s {
		color: #95dbfb;
	}
}
@media screen {
	.chroma .n,
.chroma .na,
.chroma .nc,
.chroma .ne,
.chroma .l,
.chroma .ld,
.chroma .sa,
.chroma .sb,
.chroma .sc,
.chroma .dl,
.chroma .s1,
.chroma .s2,
.chroma .se,
.chroma .sh,
.chroma .si,
.chroma .sx {
		color: #690;
	}
}
@media screen and (prefers-color-scheme: dark) {
	.chroma .n,
.chroma .na,
.chroma .nc,
.chroma .ne,
.chroma .l,
.chroma .ld,
.chroma .sa,
.chroma .sb,
.chroma .sc,
.chroma .dl,
.chroma .s1,
.chroma .s2,
.chroma .se,
.chroma .sh,
.chroma .si,
.chroma .sx {
		color: #c5d99c;
	}
}
@media screen {
	.chroma .bp,
.chroma .nd,
.chroma .nl,
.chroma .sd,
.chroma .p,
.chroma .c,
.chroma .ch,
.chroma .cm,
.chroma .c1,
.chroma .cs,
.chroma .cp,
.chroma .cpf {
		color: slategray;
	}
}
@media screen and (prefers-color-scheme: dark) {
	.chroma .bp,
.chroma .nd,
.chroma .nl,
.chroma .sd,
.chroma .p,
.chroma .c,
.chroma .ch,
.chroma .cm,
.chroma .c1,
.chroma .cs,
.chroma .cp,
.chroma .cpf {
		color: #e5e5e5;
	}
}
@media screen {
	.chroma .ni,
.chroma .o {
		color: #a67f59;
		background: rgba(255, 255, 255, 0.5);
	}
}
@media screen and (prefers-color-scheme: dark) {
	.chroma .ni,
.chroma .o {
		background: transparent;
		color: #e5e5e5;
	}
}
@media screen {
	.chroma .nf,
.chroma .fm,
.chroma .nx,
.chroma .ow {
		color: #dd4a68;
	}
}
@media screen and (prefers-color-scheme: dark) {
	.chroma .nf,
.chroma .fm,
.chroma .nx,
.chroma .ow {
		color: #deb6be;
	}
}
@media screen {
	.chroma .nv,
.chroma .vc,
.chroma .vg,
.chroma .vi,
.chroma .vm,
.chroma .sr {
		color: #e90;
	}
}
@media screen and (prefers-color-scheme: dark) {
	.chroma .nv,
.chroma .vc,
.chroma .vg,
.chroma .vi,
.chroma .vm,
.chroma .sr {
		color: #ede1ca;
	}
}
@media screen {
	.chroma .nn {
		opacity: 0.7;
	}
}
@media screen {
	.chroma .ge {
		font-style: italic;
	}
}
@media screen {
	.chroma .gs {
		font-weight: bold;
	}
}
/**
 * @section Buttons
 * Styling for CSS buttons.
 */
/**
 * Primary buttons
 */
.btn {
	background-color: #f7272f;
	border: 0.125em solid #f7272f;
	border-radius: 0.25em;
	display: inline-block;
	font-size: 0.9375em;
	font-weight: normal;
	line-height: 1.2;
	margin-right: 0.3125em;
	margin-bottom: 0.3125em;
	padding: 0.5em 0.6875em;
}
.btn, .btn:focus {
	color: #ffffff;
}
@media (prefers-color-scheme: dark) {
	.btn, .btn:focus {
		background-color: #fdd4d5;
		border-color: #fdd4d5;
		color: #000000;
	}
}
.btn:hover, .btn:active {
	background-color: #cb070e;
	border-color: #cb070e;
	color: #ffffff;
}
@media (prefers-color-scheme: dark) {
	.btn:hover, .btn:active {
		background-color: #fdbbbd;
		border-color: #fdbbbd;
		color: #000000;
	}
}
a.btn {
	text-decoration: none;
}

/**
 * Secondary buttons
 */
.btn-secondary {
	background-color: #343d4d;
	border-color: #343d4d;
}
@media (prefers-color-scheme: dark) {
	.btn-secondary {
		background-color: #d2d7e1;
		border-color: #d2d7e1;
		color: #000000;
	}
}
.btn-secondary:hover, .btn-secondary:active, .btn-secondary.active {
	background-color: #15191f;
	border-color: #15191f;
}
@media (prefers-color-scheme: dark) {
	.btn-secondary:hover, .btn-secondary:active, .btn-secondary.active {
		background-color: #c3cad6;
		border-color: #c3cad6;
		color: #000000;
	}
}

/**
 * Tertiary buttons
 */
.btn-tertiary {
	background-color: #007ab8;
	border-color: #007ab8;
}
@media (prefers-color-scheme: dark) {
	.btn-tertiary {
		background-color: #b8e7ff;
		border-color: #b8e7ff;
		color: #000000;
	}
}
.btn-tertiary:hover, .btn-tertiary:active, .btn-tertiary.active {
	background-color: #00476c;
	border-color: #00476c;
}
@media (prefers-color-scheme: dark) {
	.btn-tertiary:hover, .btn-tertiary:active, .btn-tertiary.active {
		background-color: #9fdeff;
		border-color: #9fdeff;
		color: #000000;
	}
}

/**
 * Muted buttons
 */
.btn-muted {
	background-color: #e5e5e5;
	border-color: #e5e5e5;
}
.btn-muted, .btn-muted:focus {
	color: #272727;
}
.btn-muted:hover, .btn-muted:active, .btn-muted.active {
	background-color: lightgray;
	border-color: lightgray;
	color: #272727;
}

/**
 * Active state
 */
.btn:active {
	box-shadow: inset 0 0.15625em 0.25em rgba(0, 0, 0, 0.15), 0 1px 0.15625em rgba(0, 0, 0, 0.05);
	outline: 0;
}

/**
 * Disabled state
 */
.btn[disabled],
[data-submitting] .btn {
	box-shadow: none;
	cursor: not-allowed;
	opacity: 0.5;
	pointer-events: none;
}

/**
 * Button size
 */
.btn-large,
.btn-small {
	line-height: normal;
}

.btn-large {
	font-size: 1em;
	padding: 0.6875em 0.9375em;
}

.btn-small {
	font-size: 0.8125em;
	padding: 0.25em 0.5em;
}

/**
 * Block-level buttons
 */
.btn-block {
	display: block;
	margin-right: 0;
	padding-right: 0;
	padding-left: 0;
	width: 100%;
}

/**
 * General styles
 */
.btn,
button,
html input[type=button],
input[type=reset],
input[type=submit] {
	cursor: pointer;
	text-align: center;
	vertical-align: middle;
}

/**
 * Remove right margin on last element and inputs
 */
.btn:last-child,
input.btn {
	margin-right: 0;
}

/**
 * @section Forms
 * Styling for form elements.
 */
form,
fieldset {
	margin-bottom: 1.5625em;
}

fieldset {
	border: 0;
	padding: 0;
}

legend,
label {
	display: block;
	margin: 0 0 0.3125em;
	padding: 0;
}

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
	color: #555555;
	/* 1 */
	font: inherit;
	/* 2 */
	margin: 0;
	/* 3 */
	padding: 0.3125em;
}
@media (prefers-color-scheme: dark) {
	button,
input,
optgroup,
select,
textarea {
		background-color: #e5e5e5;
		color: #272727;
	}
}

input,
textarea,
select {
	border: 1px solid #adadad;
	border-radius: 0.25em;
	display: block;
	line-height: 1.5;
	margin-bottom: 1.1875em;
	width: 100%;
}
@media (min-width: 38em) {
	input,
textarea,
select {
		line-height: 1.5625;
	}
}
@media (prefers-color-scheme: dark) {
	input,
textarea,
select {
		border-color: #757575;
	}
}

form button,
form .btn {
	margin-bottom: 1.1875em;
}

textarea {
	height: 8em;
	overflow: auto;
	resize: vertical;
}

[type=image],
[type=checkbox],
[type=radio] {
	cursor: pointer;
	display: inline-block;
	height: auto;
	margin-bottom: 0.3125em;
	padding: 0;
	width: auto;
}

[type=checkbox],
[type=radio] {
	margin-right: 0.25em;
}

input:focus,
textarea:focus {
	border-color: rgba(82, 168, 236, 0.8);
}

/**
 * Inline inputs
 */
.input-inline {
	display: inline-block;
	vertical-align: middle;
	width: auto;
}

/**
 * Condensed inputs
 */
.input-condensed {
	line-height: 1;
	padding-top: 0.125em;
	padding-bottom: 0.125em;
	vertical-align: top;
}

/**
 * Search
 */
/**
 * Create rounded search bar
 */
.input-search {
	width: 85%;
	padding-left: 0.9375em;
	padding-right: 2.5em;
	border-radius: 1.3125em;
}

/**
 * Special styling for search icon as button
 */
.btn-search {
	display: inline;
	color: #757575;
	border: none;
	background: none;
	margin-left: -2.5em;
	margin-bottom: 0;
}
.btn-search:hover {
	color: #4f4f4f;
}

/**
 * @section Form Validation
 * Styling for form validation
 */
.error {
	border-color: #e30810;
}
@media (prefers-color-scheme: dark) {
	.error {
		border-color: #fdbbbd;
	}
}

.success-message,
.error-message {
	font-style: italic;
}

.error-message {
	color: #e30810;
	margin-bottom: 1em;
}
@media (prefers-color-scheme: dark) {
	.error-message {
		color: #fdbbbd;
	}
}

/**
 * @Section Images
 * Image styling
 */
figure {
	margin: 0 0 1.5625em;
	padding: 0;
}

figcaption {
	font-size: 0.9375em;
	font-style: italic;
	color: #757575;
	padding-top: 0.5em;
	text-align: center;
}
@media (prefers-color-scheme: dark) {
	figcaption {
		color: #e5e5e5;
	}
}

iframe,
img {
	border-radius: 0.5em;
}

/**
 * Adds a border
 */
.img-border {
	border: 1px solid #cccccc;
}

/**
 * Adds a 50% border radius, turning square images into a circle.
 */
.img-circle {
	border-radius: 50%;
}

/**
 * Image alignment
 */
.img-center, .img-left {
	display: block;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 28em) {
	.img-left {
		float: left;
		margin-right: 1em;
	}
}

/**
 * @Section Icons
 * Adjust SVG fills in dark mode
 */
@media (prefers-color-scheme: dark) {
	svg path[fill="#272727"] {
		fill: #ffffff;
	}
	svg path[fill="#808080"] {
		fill: #e5e5e5;
	}
	svg path[fill="#f7272f"] {
		fill: #fdd4d5;
	}
	svg path[fill="#2cad4e"] {
		fill: #a6e8b9;
	}
	svg path[fill="#800080"] {
		fill: #ff4dff;
	}
	svg path[fill="#ffffff"] {
		fill: #1f252f;
	}

	.company-logo path,
path.company-logo {
		fill: #ffffff;
	}

	.company-logo path[stroke] {
		stroke: #fff;
	}
}
/**
 * @section FluidVids
 * Responsive iframe videos
 */
iframe {
	aspect-ratio: 16/9;
	background-color: #f7f7f7;
	height: 100%;
	margin-bottom: 1.5625em;
	width: 100%;
}

/**
 * @section Callouts
 * Styling for callout boxes
 */
.callout {
	background-color: #f7f7f7;
	border: 1px solid #e5e5e5;
	border-radius: 0.5em;
	margin-bottom: 1.5625em;
	padding: 1em 1.5em;
}
@media (prefers-color-scheme: dark) {
	.callout {
		background-color: #171b22;
		border-color: #757575;
	}
}

.callout-cta {
	background-color: #ffffff;
	border: 1px solid #b2b2b2;
	border-radius: 0.5em;
	margin-bottom: 1.5625em;
	padding: 1em;
}
@media (prefers-color-scheme: dark) {
	.callout-cta {
		background-color: #1f252f;
	}
}
.callout-cta del {
	color: #b2b2b2;
}

/**
 * @section Honeypot
 * Styling for honeypot fields
 */
.tarpit {
	display: none;
}

/**
 * @section Tables
 * Styling for tables
 */
table {
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 1.5625em;
	max-width: 100%;
	width: 100%;
}

th,
td {
	text-align: left;
	padding: 0.5em;
}

th {
	border-bottom: 0.125em solid #e5e5e5;
	font-weight: bold;
	vertical-align: bottom;
}

td {
	border-top: 1px solid #e5e5e5;
	vertical-align: top;
}

/**
 * Adds zebra striping
 */
.table-striped tbody tr:nth-child(odd) {
	background-color: #f7f7f7;
}
@media (prefers-color-scheme: dark) {
	.table-striped tbody tr:nth-child(odd) {
		background-color: #171b22;
	}
}

/**
 * @section Main Nav
 * Styling for the main navigation area
 */
/**
 * The navigation wrapper
 */
.nav-wrap {
	padding-top: 1em;
	padding-bottom: 0.5em;
	text-align: center;
}
@media (min-width: 60em) {
	.nav-wrap {
		display: flex;
		justify-content: space-between;
	}
}

/**
 * The logo
 */
.logo {
	display: inline-block;
	font-family: "PT Serif", sans-serif;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: 0.3125em;
	text-decoration: none;
}
@media (min-width: 60em) {
	.logo {
		margin-bottom: 0;
	}
}
.logo, .logo:focus {
	color: #272727;
}
@media (prefers-color-scheme: dark) {
	.logo, .logo:focus {
		color: #ffffff;
	}
}
.logo:active, .logo:hover {
	color: #007ab8;
}
@media (prefers-color-scheme: dark) {
	.logo:active, .logo:hover {
		color: #73cffa;
	}
}

/**
 * The navigation menu
 */
.nav {
	justify-content: center;
	margin-bottom: 0;
}
@media (max-width: 38em) {
	.nav {
		column-gap: 0.75em;
	}
}
.nav a:not(.btn) {
	color: #757575;
	text-decoration: none;
}
@media (prefers-color-scheme: dark) {
	.nav a:not(.btn) {
		color: #e5e5e5;
	}
}
.nav a:not(.btn):hover,
.nav a:not(.btn):active,
.nav a:not(.btn):focus,
.nav .active a:not(.btn),
.nav [aria-current=page] {
	border-bottom: 0.125em solid #fa7176;
	color: #272727;
}
@media (prefers-color-scheme: dark) {
	.nav a:not(.btn):hover,
.nav a:not(.btn):active,
.nav a:not(.btn):focus,
.nav .active a:not(.btn),
.nav [aria-current=page] {
		color: #ffffff;
	}
}

/**
 * @section Secondary Nav
 * Styling for the secondary navigation area
 */
/**
 * @section Subnav
 * Styling for on-page navigation components
 */
.nav-sub a {
	text-decoration: none;
}
.nav-sub a:not(.btn):hover,
.nav-sub a:not(.btn):active,
.nav-sub a:not(.btn):focus,
.nav-sub [aria-current=page] {
	border-bottom: 0.125em solid #fa7176;
}

/**
 * @section Overrides
 * Nudge and tweak alignment, spacing, and visibility.
 */
/**
 * Text sizes
 */
.text-small {
	font-size: 0.9375em;
}

.text-xsmall {
	font-size: 0.75em;
}

.text-large, .text-xlarge {
	font-size: 1.1875em;
	line-height: 1.4;
}
@media (min-width: 38em) {
	.text-large, .text-xlarge {
		font-size: 1.3125em;
	}
}

.text-xlarge {
	font-size: 1.7em;
}
@media (min-width: 38em) {
	.text-xlarge {
		font-size: 2em;
	}
}

/**
 * Text colors
 */
.text-muted {
	color: #757575;
}
@media (prefers-color-scheme: dark) {
	.text-muted {
		color: #e5e5e5;
	}
}

.text-muted-light, .btn del {
	color: #b2b2b2;
}

/**
 * Text transforms
 */
.text-normal {
	font-weight: normal;
	font-style: normal;
}

.text-capitalize {
	text-transform: capitalize;
}

.text-sans {
	font-family: "PT Sans", sans-serif;
}

.text-serif {
	font-family: "PT Serif", sans-serif;
}

/**
 * Text alignment
 */
.text-center {
	text-align: center;
}

@media (max-width: 38em) {
	.text-center-small {
		text-align: center;
	}
}
.text-right {
	text-align: right;
}

@media (min-width: 38em) {
	.text-right-large {
		text-align: right;
	}
}
/**
 * Background Color & Borders
 */
.bg-muted {
	background-color: #f7f7f7;
}
@media (prefers-color-scheme: dark) {
	.bg-muted {
		background-color: #171b22;
	}
}

.border {
	border: 1px solid #e5e5e5;
	border-radius: 0.5em;
}

/**
 * Margins
 */
.no-margin-top {
	margin-top: 0;
}

.no-margin-bottom {
	margin-bottom: 0;
}

.margin-top {
	margin-top: 1.5625em;
}

.margin-bottom, audio {
	margin-bottom: 1.5625em;
}

.margin-bottom-small {
	margin-bottom: 0.5em;
}

.margin-bottom-medium {
	margin-bottom: 1.1875em;
}

.margin-bottom-large {
	margin-bottom: 2em;
}

.margin-bottom-negative {
	margin-bottom: -1.75em;
}

.margin-right {
	margin-right: 0.25em;
}

/**
 * Padding
 */
.no-padding-top {
	padding-top: 0;
}

.no-padding-bottom {
	padding-bottom: 0;
}

.padding-top {
	padding-top: 1.5625em;
}

.padding-top-xsmall {
	padding-top: 0.25em;
}

.padding-top-small {
	padding-top: 0.5em;
}

.padding-top-medium {
	padding-top: 1em;
}

.padding-top-large {
	padding-top: 2em;
}

.padding-top-xlarge {
	padding-top: 3em;
}

.padding-bottom {
	padding-bottom: 1.5625em;
}

.padding-bottom-small {
	padding-bottom: 0.5em;
}

.padding-bottom-large {
	padding-bottom: 2em;
}

.padding-bottom-xlarge {
	padding-bottom: 3em;
}

/**
 * Accessibility
 */
/*
 * Hide only visually, but have it available for screen readers:
 * @link https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */
.screen-reader {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	/* 1 */
	width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard
 * @link https://www.drupal.org/node/897638
 */
.screen-reader-focusable:active,
.screen-reader-focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	white-space: inherit;
	width: auto;
}

/**
 * Remove all animations and transitions for people that prefer not to see them
 */
@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
/**
 * Clear any floats
 */
.clearfix:before, .container:before,
.clearfix:after,
.container:after {
	display: table;
	content: " ";
}

.clearfix:after, .container:after {
	clear: both;
}

/**
 * @section Print
 * Styling for printed content. Adapted from HTML5BP.
 * @link http://html5boilerplate.com
 */
@media print {
	/**
	 * Universal selector.
	 * Reset all content to transparent background, black color, and remove box and text shadows.
	 */
	* {
		background: transparent !important;
		color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}

	/**
	 * Specifies page margin
	 */
	@page {
		margin: 0.5cm;
	}
	/**
	 * Underline all links
	 */
	a,
a:visited {
		text-decoration: underline;
	}

	/**
	 * Show URL after links
	 */
	a[href]:after {
		content: " (" attr(href) ")";
	}

	/**
	 * Don't show URL for internal links
	 */
	a[href^="#"]:after {
		content: "";
	}

	/**
	 * Specifies the minimum number of lines to print at the top and bottom of a page.
	 */
	p,
h1, h2, h3 {
		orphans: 3;
		widows: 3;
	}

	/**
	 * Avoid inserting a page break after headers
	 */
	h1, h2, h3 {
		page-break-after: avoid;
	}

	/**
	 * Change border color on blockquotes and preformatted text.
	 * Avoid page breaks inside the content
	 */
	pre,
blockquote {
		border-color: #999;
		page-break-inside: avoid;
	}

	/**
	 * Displayed as a table header row group
	 */
	thead {
		display: table-header-group;
	}

	/**
	 * Avoid inserting a page break inside table rows and images
	 */
	tr,
img {
		page-break-inside: avoid;
	}

	/**
	 * Hide header and footer nav, and email subscribe form
	 */
	header .nav,
footer,
main aside form {
		display: none;
	}

	/**
	 * Remove body border
	 */
	body {
		border-top: none;
	}
}