/* Base elements: what the theme's pages are built on, in place of the
   old parent theme's stylesheet. Loaded before every other stylesheet,
   plugins' included (inc/assets.php), so a plugin's own rules win where
   they did before. The site tokens are in style.css. */

/* The root size is 17px, so content sizes in rem (1rem = 17px) stay as
   they were. */
address, blockquote, body, dd, dl, dt, fieldset, figure, h1, h2, h3, h4, h5, h6, hr, html, iframe, legend, li, ol, p, pre, textarea, ul {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	vertical-align: baseline;
}
html { box-sizing: border-box; font-size: 106.25%; -webkit-text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: inherit; }
body {
	margin: 0;
	background: #fff;
	color: #3a3a3a;
	font-size: 1rem;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-wrap: break-word;
}
#page { position: relative; display: flex; flex-direction: column; min-height: 100vh; }
#page .site-content { flex-grow: 1; }
a { color: var(--rhsa-red); text-decoration: none; transition: all 0.2s linear; }
a:focus-visible { outline: thin dotted; }
img { max-width: 100%; height: auto; vertical-align: middle; border: 0; }
figure { margin: 0; }
p { margin: 0 0 1.75em; }
.entry-content::after { content: ""; display: table; clear: both; } /* the last block's margin stays inside */
.entry-content p { margin-bottom: 1.6em; }
b, strong { font-weight: 700; }
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; }
h1, h2, h3, h4, h5, h6 { clear: both; margin-top: 0; color: var(--rhsa-ink); font-family: var(--rhsa-cond); }
h1 { font-size: 48px; line-height: 1.4em; }
h2 { font-size: 40px; line-height: 1.3em; }
h3 { font-size: 32px; line-height: 1.3em; }
h4 { font-size: 24px; line-height: 1.2em; }
h5 { font-size: 20px; line-height: 1.2em; }
h6 { font-size: 17px; line-height: 1.25em; }
@media (max-width: 921px) {
	h1 { font-size: 36px; } h2 { font-size: 30px; } h3 { font-size: 25px; }
	h4 { font-size: 20px; } h5 { font-size: 17px; } h6 { font-size: 15px; }
}
@media (max-width: 544px) {
	h1 { font-size: 32px; } h2 { font-size: 26px; } h3 { font-size: 22px; }
	h4 { font-size: 18px; } h5 { font-size: 15px; } h6 { font-size: 13px; }
}
.entry-content :where(h1, h2, h3, h4, h5, h6) { margin-bottom: 20px; }
ul, ol { margin: 0 0 1.5em 3em; padding: 0; }
li > ul, li > ol { margin-bottom: 0; margin-left: 1.5em; }
.entry-content ul, .entry-content ol { margin: revert; padding: revert; padding-left: 20px; }
.entry-content li > p { margin-bottom: 0; }
.entry-content > :last-child { margin-bottom: 0; }
/* Top-level groups, covers and columns get room around their content
   unless the block, or blocks.css, says otherwise. */
:root { --rhsa-block-pad-y: 3em; --rhsa-block-pad-x: 3em; }
@media (max-width: 921px) { :root { --rhsa-block-pad-x: 2em; } }
@media (max-width: 544px) { :root { --rhsa-block-pad-x: 1.5em; } }
.entry-content > .wp-block-group,
.entry-content > .wp-block-cover,
.entry-content > .wp-block-columns { padding: var(--rhsa-block-pad-y) var(--rhsa-block-pad-x); }
.entry-content .wp-block-cover:not([class*="background-color"]):not(.has-text-color.has-link-color) .wp-block-cover__inner-container { color: #fff; }
.wp-block-separator:not(.is-style-wide):not(.is-style-dots) { margin: 20px auto; }
/* In a page's own content (page.php): */
:where(.type-page) > .entry-content .wp-block-separator { margin: 20px auto; }
:where(.type-page) > .entry-content .wp-block-separator:not(.is-style-dots) { height: 0; }
:where(.type-page) > .entry-content .wp-block-separator:not(.is-style-wide):not(.is-style-dots) { max-width: 100px; }
:where(.type-page) > .entry-content .wp-block-separator.has-background { padding: 0; }
:where(.type-page) > .entry-content > figure { margin-bottom: 1em; }
/* In a single post's article (single.php): */
:where(.single-post) .entry-content > * { margin-bottom: 1.5em; }
:where(.single-post) .entry-content :where(h1, h2, h3, h4, h5, h6) { margin-top: 1.5em; margin-bottom: calc(0.3em + 10px); }
:where(.single-post) .entry-content :is(.wp-block-image, .wp-block-embed) { margin-top: 2em; margin-bottom: 3em; }
blockquote { margin: 1.5em; padding: 20px; border-left: 5px solid rgba(0, 0, 0, 0.05); font-size: 1.1em; font-style: italic; }
address { margin: 0 0 1.5em; font-style: italic; }
hr { box-sizing: content-box; height: 1px; margin-bottom: 1.5em; border: 0; background-color: #ccc; }
table { width: 100%; margin: 0 0 1.5em; border-collapse: separate; border-spacing: 0; border: 1px solid #ffd1bf; border-width: 1px 0 0 1px; }
td, th { padding: 0.7em 1em; border: 1px solid #ffd1bf; border-width: 0 1px 1px 0; }
th { font-weight: 600; }
button, input, select, textarea { margin: 0; color: inherit; font: inherit; font-size: 100%; vertical-align: baseline; }
/* Buttons: red pills with white text; hover goes to ink. */
button, input[type="button"], input[type="reset"], input[type="submit"] {
	padding: 10px 20px;
	border: 0 solid var(--rhsa-red);
	border-radius: 30px;
	background-color: var(--rhsa-red);
	color: #fff;
	font-family: inherit;
	font-weight: 500;
	font-size: 16px;
	line-height: 1em;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
	cursor: pointer;
}
button:hover, button:focus, input[type="button"]:hover, input[type="submit"]:hover, input[type="reset"]:hover { background-color: var(--rhsa-ink); border-color: var(--rhsa-ink); color: #fff; }
/* Form fields and labels (Fluent Forms adds its own on top). */
input[type="text"], input[type="number"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="reset"], input[type="tel"], input[type="date"], select, textarea {
	width: 100%;
	padding: 12px 16px;
	border: 1px solid #ffd1bf;
	border-radius: 4px;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
	color: #475569;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
	-webkit-appearance: none;
}
input[type="text"], input[type="number"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="reset"], input[type="tel"], input[type="date"], select { height: 40px; }
:is(input, select, textarea):focus { border-color: #046bd2; box-shadow: none; outline: none; color: #475569; }
input { outline: none; }
select { padding: 6px 10px; }
textarea { overflow: auto; }
::placeholder { color: #9ca3af; }
label, legend { color: var(--rhsa-ink); font-size: 14px; font-style: normal; font-weight: 500; line-height: 20px; }
fieldset { padding: 30px; border: 1px solid #ffd1bf; border-radius: 4px; }
legend { padding: 0; border: 0; }
input[type="checkbox"], input[type="radio"] { padding: 0; box-sizing: border-box; }
input[type="radio"]:checked, input[type="checkbox"]:checked { border-color: var(--rhsa-red); background-color: var(--rhsa-red); box-shadow: none; }
/* On phones and tablets the text size is set again, after the rules above
   (so plain buttons, selects and text areas are 17px there). */
@media (max-width: 921px) {
	body, button, input, select, textarea { font-size: 17px; }
}
::selection { background-color: var(--rhsa-red); color: #fff; }
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	border: 0;
	word-wrap: normal !important;
}
.skip-link:focus {
	top: 5px;
	left: 5px;
	z-index: 100000;
	width: auto;
	height: auto;
	padding: 15px 23px 14px;
	clip: auto !important;
	background: #f1f1f1;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	color: #21759b;
	font-size: 14px;
	font-weight: 700;
	line-height: normal;
}
.alignleft { display: inline; float: left; margin-right: 1.5em; }
.alignright { display: inline; float: right; margin-left: 1.5em; }
.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto; text-align: center; }

/* Block buttons: red pills with white text; hover goes to ink. */
.wp-block-button .wp-block-button__link {
	padding: 10px 20px;
	border: 0 solid var(--rhsa-red);
	border-radius: 30px;
	background-color: var(--rhsa-red);
	color: #fff;
	font-family: inherit;
	font-weight: 500;
	font-size: 16px;
	line-height: 1em;
}
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus { background-color: var(--rhsa-ink); border-color: var(--rhsa-ink); color: #fff; }
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button {
	padding: 13px 30px;
	border: 2px solid var(--rhsa-red);
	font-weight: 500;
	font-size: 16px;
	line-height: 1em;
}
.wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) { color: var(--rhsa-red); }
.wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background) { background-color: #fff; }
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link:focus { background-color: var(--rhsa-ink); border-color: var(--rhsa-ink); color: #fff; }
@media (max-width: 921px) {
	.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button { padding: 12px 28px; }
}
@media (max-width: 544px) {
	.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button { padding: 10px 24px; }
}
.wp-block-buttons.aligncenter { justify-content: center; }
.entry-content > .wp-block-buttons { margin-bottom: 1.5em; }
.entry-content .wp-block-columns { margin-bottom: 0; }
.wp-block-columns .wp-block-column:not(:last-child) { margin-bottom: 20px; }
@media (min-width: 782px) {
	.wp-block-columns .wp-block-column:not(:last-child) { margin-bottom: 0; }
}
