/*
FRONT-END STYLES
*/
@charset "UTF-8";

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
# plugins
	- Jetpack infinite scroll
	- FacetWP style overrides
# Utilities
	- Accessibility
	- Alignments
	- Light Mode
--------------------------------------------------------------*/

:root {
	--size__site-narrow: 50rem;
	--size__site-main: 60rem;
	--size__site-wide: 72rem;
}
html {
	font-size: 100%;
}

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */

body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */

a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline wavy;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b, strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code, kbd, samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */

small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */

img {
	border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button, input, optgroup, select, textarea {
	font-family: inherit;
	font-size: 100%;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button, input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button, select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

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

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring {
	outline: 3px solid ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */

legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type=checkbox], [type=radio] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */

template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */
/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */

*, *::before, *::after {
	box-sizing: inherit;
}
html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */

html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
button, input, select, optgroup, textarea, h5, .is-style-alternate, p {
	font-size: var(--wp--preset--font-size--normal);
}
h1, h2, h3, h4, h5, h6, p {
	margin: 0 0 3rem;
}
h1 {
	font-size: var(--wp--preset--font-size--gigantic);
}
h2 {
	font-size: var(--wp--preset--font-size--huge);
}
h3 {
	font-size: var(--wp--preset--font-size--x-large);
}
h4 {
	font-size: var(--wp--preset--font-size--large);
}
h6 {
	font-size: var(--wp--preset--font-size--small);
}
dfn, em, i {
	font-style: italic;
}
strong, b {
	font-weight: 700;
}
address {
	margin: 0 0 1.5em;
}
abbr, acronym {
	border-bottom: 2px dotted var(--wp--preset--color--rosy);
	cursor: help;
}
mark, ins {
	background: var(--wp--preset--color--rosy);
	text-decoration: none;
}
.meta, .wp-block-latest-posts__post-date, .wp-block-latest-posts__post-author {
	color: var(--wp--prest--color--alt);
	font-size: var(--wp--preset--font-size--small);
	margin-top: 0.5rem;
	margin-bottom: 0;
}
.has-large-font-size, .has-x-large-font-size, .has-huge-font-size {
	line-height: 1.25;
}
.has-gigantic-font-size {
	line-height: 1.125;
}
::selection {
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--mid);
}

/* Elements
--------------------------------------------- */
/*--------------------------------------------------------------
## Scrollbar
--------------------------------------------------------------*/

::-webkit-scrollbar {
	background: var(--wp--preset--color--base);
    width: 0.75em;
    border: 2px solid var(--wp--preset--color--mid);
	border-radius: 0.75em;
  }
  ::-webkit-scrollbar-thumb {
    background: var(--wp--preset--color--accent);
	border: 2px solid var(--wp--preset--color--base);
	border-radius: 0.75em;
  }
  ::-webkit-scrollbar-thumb:hover {
    border: 2px solid var(--wp--preset--color--main);
	background: var(--wp--preset--color--main);
  }

/*--------------------------------------------------------------
## Icon Variables
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Icon Font
--------------------------------------------------------------*/

@font-face {
	font-family: "podoma-icons";
	src: url("../icons/podoma-icons.ttf?tr18yu") format("truetype"), url("../icons/podoma-icons.woff?tr18yu") format("woff"), url("../icons/podoma-icons.svg?tr18yu#podoma-icons") format("svg");
	font-weight: normal;
	font-style: normal;
	font-display: block;
}
[class^=icon-], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
	font-family: "podoma-icons" !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
}
.icon-arrow-up:before {
	content: "\e906";
}
.icon-arrow-right:before {
	content: "\e907";
}
.icon-arrow-left:before {
	content: "\e908";
}
.icon-arrow-down:before {
	content: "\e909";
}
.icon-search:before {
	content: "\e903";
}
.icon-minus:before {
	content: "\e900";
}
.icon-plus:before {
	content: "\e901";
}

/*--------------------------------------------------------------
## Base Elements
--------------------------------------------------------------*/

hr, .wp-block-separator, .is-provider-youtube .wp-block-embed__wrapper iframe, .is-provider-vimeo .wp-block-embed__wrapper iframe {
	border: 0;
}
hr, .wp-block-separator, .has-alpha-channel-opacity {
	background-color: var(--wp--preset--color--mid);
	height: 3px;
	margin-bottom: 3rem;
}
ul, ol, table {
	margin: 0 0 3rem;
}
ul, ol {
	font-size: var(--wp--preset--font-size--normal);
	padding-left: 0;
}
ul {
	list-style: disc;
}
ol {
	list-style: decimal;
}
.entry-content li {
	margin-bottom: 1rem;
}
li::marker, dt {
	font-weight: 700;
}
li::marker {
	color: var(--wp--preset--color--accent);
}
li {
	margin-left: 2rem;
}
dd {
	margin: 0 1.5rem 1.5rem;
}
/* Make sure videos, embeds, and iframes fit their containers. */
video, embed, iframe, object, img {
	max-width: 100%;
}
.is-provider-youtube .wp-block-embed__wrapper, .is-provider-vimeo .wp-block-embed__wrapper {
	overflow: hidden;
	padding-top: 56.25%;
	position: relative;
}
.is-provider-youtube .wp-block-embed__wrapper iframe, .is-provider-vimeo .wp-block-embed__wrapper iframe, table {
	width: 100%;
}
.is-provider-youtube .wp-block-embed__wrapper iframe, .is-provider-vimeo .wp-block-embed__wrapper iframe {
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.wp-block-image img {
	clip-path: url("../img/blob.svg");
}
img {
	height: auto;
}
.wp-block-table {
	font-size: var(--wp--preset--font-size--normal);
}
.wp-block-table thead, .wp-block-table tfoot {
	border: 0;
}
.wp-block-table thead {
	background: var(--wp--preset--color--mid);
	text-align: left;
}
.wp-block-table th, .wp-block-table td {
	border: 2px solid var(--wp--preset--color--main);
}
.wp-block-table tfoot {
	font-size: var(--wp--preset--font-size--small);
}

/* Links
--------------------------------------------- */

a {
	text-decoration-thickness: 0.075em;
	text-underline-offset: 0.25em;
	transition: all 0.125s;
	cursor: pointer;
}
a:hover, a:active {
	outline: 0;
}
a:not(.wp-block-button__link):focus {
	border-radius: 0.025em;
}
:focus {
	outline: 3px solid var(--wp--preset--color--rosy);
	outline-offset: 4px;
}

/* Forms
--------------------------------------------- */

button, input[type=button], input[type=reset], input[type=submit], .wp-block-post-comments-form input[type=submit], .wp-block-button__link {
	cursor: pointer;
	color: var(--wp--preset--color--base);
	padding: 0.75em 1.5em;
	margin: 0 2rem 2rem 0;
	text-decoration: none;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--normal);
	box-shadow: 0 0.375em var(--wp--preset--color--mid);
	background: var(--wp--preset--color--alt);
	white-space: nowrap;
	border-radius: 6rem;
	border: 0;
	transition: all 0.125s;
}
button:hover, input[type=button]:hover, input[type=reset]:hover, input[type=submit]:hover, .wp-block-button__link:hover, button:active, input[type=button]:active, input[type=reset]:active, input[type=submit]:active, .wp-block-button__link:active {
	color: var(--wp--preset--color--main);
	background: var(--wp--preset--color--mid);
	box-shadow: 0 0.375em var(--wp--preset--color--alt);
}
button:focus, input[type=button]:focus, input[type=reset]:focus, input[type=submit]:focus, .wp-block-button__link:focus {
	box-shadow: 0 0 transparent;
}
.wp-block-search__button {
	margin: 0;
}
.icon-button {
	background: none;
	border: 0;
	font-weight: normal;
}
.icon-button:hover {
	box-shadow: none;
}
input[type=text], input[type=email], input[type=url], input[type=password], input[type=number], input[type=tel], input[type=range], input[type=date], input[type=month], input[type=week], input[type=time], input[type=datetime], input[type=datetime-local], input[type=color], input[type=checkbox], textarea, input[type=search], .wp-block-search__input {
	border-radius: 0.5em;
}
input[type=text], input[type=email], input[type=url], input[type=password], input[type=number], input[type=tel], input[type=range], input[type=date], input[type=month], input[type=week], input[type=time], input[type=datetime], input[type=datetime-local], input[type=color], input[type=checkbox], input[type=radio], textarea, input[type=search], .wp-block-search__input {
	border: 3px solid var(--wp--preset--color--alt);
}
input[type=text], input[type=email], input[type=url], input[type=password], input[type=number], input[type=tel], input[type=range], input[type=date], input[type=month], input[type=week], input[type=time], input[type=datetime], input[type=datetime-local], input[type=color], textarea, input[type=search], .wp-block-search__input {
	color: var(--wp--preset--color--main);
	background: transparent;
	max-width: 100%;
	padding: 1rem;
	width: 100%;
}
input[type=checkbox], input[type=radio] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 3rem;
	height: 3rem;
	position: relative;
}
[type=checkbox]:checked::before, [type=radio]:checked::before {
  content: "";
  width: 2rem;
  height: 2rem;
  background-color: var(--wp--preset--color--main);
  position: absolute;
  top: 0.33rem;
  left: 0.33rem;
}
[type=checkbox]:checked::before {
	border-radius: 0.25rem;
}
[type=radio], [type=radio]:checked::before {
	border-radius: 100%;
}
input[type=text]:hover, input[type=email]:hover, input[type=url]:hover, input[type=password]:hover input[type=number]:hover, input[type=tel]:hover, input[type=range]:hover, input[type=date]:hover, input[type=month]:hover, input[type=week]:hover, input[type=time]:hover, input[type=datetime]:hover, input[type=datetime-local]:hover, input[type=color]:hover, input[type=checkbox]:hover, input[type=radio]:hover, textarea:hover, .wp-block-search__input:hover, input[type=text]:active, input[type=email]:active input[type=url]:active, input[type=password]:active input[type=number]:active, input[type=tel]:active, input[type=range]:active, input[type=date]:active, input[type=month]:active, input[type=week]:active, input[type=time]:active, input[type=datetime]:active, input[type=datetime-local]:active, input[type=color]:active, input[type=checkbox]:active, input[type=radio]:active, textarea:active, .wp-block-search__input:active {
	border: 3px solid var(--wp--preset--color--accent);
}
input[type=text]:focus, input[type=email]:focus, input[type=url]:focus, input[type=password]:focus, input[type=number]:focus, input[type=tel]:focus, input[type=range]:focus, input[type=date]:focus, input[type=month]:focus, input[type=week]:focus, input[type=time]:focus, input[type=datetime]:focus, input[type=datetime-local]:focus, input[type=color]:focus, input[type=checkbox]:focus, input[type=radio]:focus, textarea:focus, .wp-block-search__input:focus {
	border: 3px solid var(--wp--preset--color--main);
}
input[type=checkbox] + label, input[type=radio] + label {
	margin: 0 0 0 1rem;
	padding-bottom: 0;
	cursor: pointer;
	flex: 1;
}
label {
	font-size: var(--wp--preset--font-size--normal);
	font-weight: 700;
	padding-bottom: 0.5rem;
	display: block;
}
label .required {
	color: var(--wp--preset--color--accent);
}
.comment-form-cookies-consent label {
	text-transform: none;
}
.wp-block-search .wp-block-search__inside-wrapper {
	display: flex;
	flex: auto;
	flex-wrap: nowrap;
	max-width: 100%;
	gap: 2rem;
}
.wp-block-search .wp-block-search__label {
	width: 100%;
}
.wp-block-search .wp-block-search__input {
	flex-grow: 1;
	min-width: 3em;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Containers / Wrapping
--------------------------------------------------------------*/

html {
	overflow-x: hidden;
}
.site-main {
	min-height: 20rem;
	padding: 1.5rem;
}
.alignwide, .alignfull {
	width: auto;
}
.alignwide img, .alignfull img {
	width: 100%;
}
.alignfull {
	margin-left: -1rem;
	margin-right: -1rem;
	padding-left: 1rem;
	padding-right: 1rem;
}
.flex-container, .is-style-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-left: -1rem;
	margin-right: -1rem;
}
.flex-container > *, .is-style-flex > * {
	padding-left: 1rem;
	padding-right: 1rem;
}
.grid-container, .wp-block-group.is-style-grid {
	display: grid;
	grid-gap: 2rem;
}
@media screen and (min-width: 960px) {
	.site, .alignwide, .alignfull {
		position: relative;
	}
	body {
		background-image: url("../img/divider.png");
		background-size: 29vw 150vh;
		background-repeat: no-repeat;
		background-position: left;
		background-attachment: fixed;
	}
	.site-main {
		min-height: 40rem;
		padding: 1.5rem 6rem 3rem;
		margin-left: 30vw !important;
	}
	.entry-header, .entry-content, .entry-footer, .comments-area,
	p.is-style-narrow, ul.is-style-narrow, div.is-style-narrow {
		margin-left: auto;
	}
	.site-main, .entry-header, .entry-content, .entry-footer, .comments-area {
		margin-right: auto;
	}
	.site-main, .entry-header, .entry-content, .entry-footer, .comments-area, .alignwide {
		max-width: var(--size__site-wide);
	}
	.alignwide {
		margin-left: calc(-1 * (var(--size__site-wide) - var(--size__site-main)) / 2);
		margin-right: calc(-1 * (var(--size__site-wide) - var(--size__site-main)) / 2);
	}
	.alignfull {
		left: 50%;
		margin-left: -50vw;
		margin-right: -50vw;
		max-width: 100vw;
		right: 50%;
		width: 100vw;
	}
	p.is-style-narrow,
	ul.is-style-narrow,
	div.is-style-narrow {
		max-width: var(--size__site-narrow);
	}
	.grid-container, .wp-block-group.is-style-grid {
		grid-template-columns: 1fr 1fr;
	}
}
@media screen and (min-width: 1408px) {
	.alignwide {
		margin-left: calc(-1 * (var(--size__site-wide) - var(--size__site-main)) / 2);
		margin-right: calc(-1 * (var(--size__site-wide) - var(--size__site-main)) / 2);
	}
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Navigation
--------------------------------------------- */
/*--------------------------------------------------------------
## Access Toggles
--------------------------------------------------------------*/

.access-toggles {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1.5rem;
	padding: 1.5rem 1.5rem 2.5rem;
	background-image: url("../img/mobile.png");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: bottom center;
}
.access-toggles .skip-link,
.access-toggles .skip-link:focus,
.access-toggles #theme-toggle {
	border-radius: 2rem
}
.access-toggles .skip-link {
	font-size: var(--wp--preset--font-size--tiny);
	font-weight: 700;
	line-height: 1;
	color: var(--wp--preset--color--main);
	text-decoration: none;
	background: var(--wp--preset--color--mid);
	padding: 1em 1.5em;
	border-radius: 10em;
}
.access-toggles .skip-link:hover,
.access-toggles .skip-link:active {
	color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--accent);
}
.access-toggles #theme-toggle {
	width: calc(3.25rem - 6px);
	height: calc(3.25rem - 6px);
	padding: 0;
	margin: 0;
	border: 3px solid var(--wp--preset--color--base);
	position: relative;	
	background-color: var(--wp--preset--color--base);
	box-shadow: 0 0 transparent;
}
.access-toggles #theme-toggle:hover,
.access-toggles #theme-toggle:active,
.access-toggles #theme-toggle:focus {
	outline-offset: 0;
}
.access-toggles #theme-toggle:hover,
.access-toggles #theme-toggle:active {
	outline: 3px solid var(--wp--preset--color--accent);
}
@media screen and (min-width: 960px) {
	.access-toggles {
		margin-left: calc(25vw + 6rem);
		justify-content: flex-end;
		padding: 1.5rem;
		background-image: none;
	}
}

/*--------------------------------------------------------------
## Site Header
--------------------------------------------------------------*/

.site-header {
	width: 100vw;
	height: auto;
	padding: 1.5rem;
}
.site-identity {
	max-width: 75%;
	height: auto;
	margin: 2rem auto 0;
}
.site-identity a {
	display: block;
	border-radius: 0.25rem;
}
.site-identity a:hover, .site-identity a:active {
	background-color: var(--wp--preset--color--base);
	outline: 6px solid var(--wp--preset--color--base);
	outline-offset: 0;
}
@media screen and (min-width: 960px) {
	.site-header {
		position: fixed;
		top: 0;
		left: 0;
		width: 26vw;
		height: 100vh;
		z-index: 10;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		gap: 3rem;
		padding: 6rem 4vw 2rem 5vw;
	}
	.site-identity {
		max-height: 9rem;
	}
	.site-identity {
		margin: 0 auto 0 0;
	}
}

/*--------------------------------------------------------------
## Main Nav (Mobile)
--------------------------------------------------------------*/

.main-navigation {
	margin: 4rem 0 0;
}
.main-navigation ul, .main-navigation li {
	margin: 0;
}
.main-navigation, .main-navigation .menu {
	padding: 0;
}
.main-nav-container, .main-navigation .menu a, .main-navigation .sub-menu a {
	width: 100%;
}
.main-nav-container {
	background: var(--wp--preset--color--mid);
	border-radius: 0.5rem;
	display: none;
	padding: 1rem;
	margin: 2rem 0 0;
}
.toggled .main-nav-container, .main-navigation .menu a, .main-navigation .sub-menu a {
	display: block;
}
.main-navigation .menu, .main-navigation .sub-menu {
	list-style: none;
	display: flex;
	flex-direction: column;
	align-content: stretch;
	gap: 1rem;
}
.main-navigation .sub-menu {
	background: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--small);
	border-radius: 0.25rem;
	padding: 0.5rem;
	margin: 1rem 0 0;
}
.main-navigation .menu a, .main-navigation .sub-menu a {
	color: var(--wp--preset--color--white);
	padding: 0.25rem 0.5rem;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	border-radius: 0.125rem;
	background: transparent;
}
.main-navigation .menu a:hover, .main-navigation .menu a:active {
	background: var(--wp--preset--color--base);
}
.main-navigation .menu a:focus, .main-navigation .sub-menu a:focus {
	outline: 3px solid var(--wp--preset--color--main);
	outline-offset: 0;
}
.main-navigation .sub-menu a:hover, .main-navigation .sub-menu a:active {
	background: var(--wp--preset--color--mid);
}
@media screen and (min-width: 960px) {
	.main-navigation {
		display: none;
	}
}

/*--------------------------------------------------------------
## Menu Toggle
--------------------------------------------------------------*/

.menu-toggle {
	background: var(--wp--preset--color--mid);
	display: block;
	height: 3.5rem;
	width: 4rem;
	position: relative;
	border: 3px solid var(--wp--preset--color--mid);
	border-radius: 0.5rem;
	margin: 0 auto;
	box-shadow: 0 0 transparent;
}
.menu-toggle:hover, .menu-toggle:active, .menu-toggle:focus {
	background: var(--wp--preset--color--base);
	border: 3px solid var(--wp--preset--color--main);
}

.menu-toggle .icon {
	background: var(--wp--preset--color--main);
	display: block;
	height: 0.175rem;
	position: absolute;
	top: 1.5rem;
	transition: background 0s 0.15s;
	left: 0.5rem;
	right: 0.5rem;
}
.menu-toggle .icon::before, .menu-toggle .icon::after {
	background-color: var(--wp--preset--color--main);
	content: "";
	display: block;
	height: 0.175rem;
	left: 0;
	position: absolute;
	transition-duration: 0.15s, 0.15s;
	transition-delay: 0.15s, 0s;
	width: 100%;
}
.menu-toggle .icon::before {
	top: -0.75rem;
	transition-property: top, transform;
}
.menu-toggle .icon::after {
	bottom: -0.75rem;
	transition-property: bottom, transform;
}
.toggled .menu-toggle .icon {
	background: none;
}
.toggled .menu-toggle .icon::before {
	top: 0;
	transform: rotate(45deg);
}
.toggled .menu-toggle .icon::after {
	bottom: 0;
	transform: rotate(-45deg);
}
.toggled .menu-toggle .icon::before, .toggled .menu-toggle .icon::after {
	background-color: var(--wp--preset--color--main);
	transition-delay: 0s, 0.15s;
}

/*--------------------------------------------------------------
## Desktop Nav
--------------------------------------------------------------*/

.desktop-navigation {
	display: none;
	max-height: calc(100vh - 9rem);
	overflow-y: auto;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	flex: 1;
}
.desktop-navigation .menu, .desktop-navigation > .menu > .menu-item,  .desktop-navigation .sub-menu  {
	margin: 0;
	padding: 0;
}
.desktop-navigation .menu, .desktop-navigation .sub-menu {
	list-style: none;
	display: flex;
	flex-direction: column;
	align-content: stretch;
	justify-content: flex-start;
}
.desktop-navigation .menu, .desktop-navigation .sub-menu {
	gap: 0.5rem;
}
.desktop-navigation > .menu > .menu-item, .desktop-navigation > .menu > .menu-item > a  {
	width: 100%;
}
.desktop-navigation > .menu > .menu-item > a, .desktop-navigation .menu-item-description {
	display: block;
}
.desktop-navigation .sub-menu li {
	margin: 0 0 0 0.75rem;
}
.desktop-navigation > .menu > .menu-item > a, .desktop-navigation .sub-menu a {
	color: var(--wp--preset--color--alt);
	text-decoration: none;
	font-weight: 700;
	padding: 0.5rem;
	border-radius: 0.25rem;
}
.desktop-navigation > .menu > .menu-item > a:hover, .desktop-navigation > .menu > .menu-item > a:active, .desktop-navigation .sub-menu a:hover, .desktop-navigation .sub-menu a:active {
	color: var(--wp--preset--color--accent);
	text-decoration: underline wavy;
	text-decoration-thickness: 0.075em;
	text-underline-offset: 0.25em;
}
.desktop-navigation > .menu > .menu-item > a:focus, .desktop-navigation .sub-menu a:focus {
	outline-offset: -0.25rem;
	color: var(--wp--preset--color--main);
}
.desktop-navigation .sub-menu a {
	font-size: var(--wp--preset--font-size--small);
}
.desktop-navigation > .menu > .current_page_item > a, .desktop-navigation > .menu > .current-menu-item > a, .desktop-navigation > .menu > .current_page_ancestor > a, .desktop-navigation > .menu > .current-menu-ancestor > a,  .desktop-navigation .sub-menu .current_page_item a,  .desktop-navigation .sub-menu .current-menu0item a,  .desktop-navigation .sub-menu .current_page_ancestor a,  .desktop-navigation .sub-menu .current-menu-ancestor a {
	color: var(--wp--preset--color--main);
}
@media screen and (min-width: 960px) {
	.desktop-navigation {
		display: block;
	}
}

/*--------------------------------------------------------------
## Site Footer
--------------------------------------------------------------*/

.site-footer {
	padding: 1.5rem 1.5rem 4rem;
	background: transparent;
	text-align: center;
}
.site-info {
	margin: 0;
	padding: 0;
	font-size: var(--wp--preset--font-size--small);
}
@media screen and (min-width: 960px) {
	.site-footer {
		padding: 3rem 6rem 6rem;
		margin-left: 30vw !important;
		margin-right: auto;
		max-width: var(--size__site-wide);
		text-align: left;
	}
}

/*--------------------------------------------------------------
## Main Menu
--------------------------------------------------------------*/

.site-footer-menu .menu, .site-footer-menu > .menu > .menu-item {
	padding: 0;
	margin: 0;
}
.site-footer-menu .menu {
	list-style: none;
	display: flex;
	flex-direction: column;
	align-content: stretch;
	justify-content: flex-start;
	gap: 2rem;
}
.site-footer-menu > .menu > .menu-item, .site-footer-menu > .menu > .menu-item > a  {
	width: 100%;
	display: block;
}
.site-footer-menu > .menu > .menu-item > a {
	color: var(--wp--preset--color--alt);
	text-decoration: none;
	font-weight: 700;
	padding: 0.75rem 1.5rem;
	border: 3px solid var(--wp--preset--color--mid);
	border-radius: 0.5rem;
}
.site-footer-menu > .menu > .menu-item > a:hover, .site-footer-menu > .menu > .menu-item > a:active, .site-footer-menu > .menu > .menu-item > a:focus {
	color: var(--wp--preset--color--main);
	background: var(--wp--preset--color--mid);
}
@media screen and (min-width: 960px) {
	.site-footer-menu .menu {
		flex-direction: row;
		justify-content: flex-start;
		align-content: flex-start;
		flex-wrap: wrap;
	}
	.site-footer-menu > .menu > .menu-item, .site-footer-menu > .menu > .menu-item > a  {
		width: auto;
	}
}

/*--------------------------------------------------------------
## CTA
--------------------------------------------------------------*/

.site-footer-cta .wp-block-buttons {
	display: flex;
	flex-direction: row;
	justify-content: center;
	position: relative;
	margin: 4rem auto;
	gap: 1rem;
}
.site-footer-cta > * {
	z-index: 1;
}
.site-footer-cta .wp-block-button__link {
	margin: 0;
	padding: 0.5rem 1rem;
	box-shadow: none;
	background-color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--small);
}
.site-footer-cta .wp-block-button__link:hover, .site-footer-cta .wp-block-button__link:active, .site-footer-cta .wp-block-button__link:focus {
	background-color: var(--wp--preset--color--mid);
	color: var(--wp--preset--color--main);
}
.site-footer-cta form {
	display: flex;
	justify-content: center;
}
@media screen and (min-width: 960px) {
	.site-footer-cta .wp-block-buttons {
		justify-content: flex-start;
		flex-wrap: wrap;
	}
}

/* Content
--------------------------------------------- */
/*--------------------------------------------------------------
## Entry Content
--------------------------------------------------------------*/

.entry-content {
	display: flex;
	flex-direction: column;
}
@media screen and (min-width: 960px) {
	.entry-content {
		display: block;
	}
}

/*--------------------------------------------------------------
## Archive Pages
--------------------------------------------------------------*/

.blog .post {
	border-bottom: 3px solid var(--wp--preset--color--mid);
	padding-bottom: 2rem;
	margin-bottom: 4rem;
}
.blog .entry-title a {
	text-decoration: none;
}

/*--------------------------------------------------------------
## Pagination and Categories
--------------------------------------------------------------*/

.pagination {
	margin: 3rem 0;
}
.nav-links, .categories-links {
	display: flex;
}
.nav-links {
	align-items: center;
	justify-content: space-between;
}
.nav-previous a, .nav-next a, .nav-previous a:focus, .nav-next a:focus {
	border-radius: 10rem;
}
.nav-previous a, .nav-next a, .categories-links a {
	cursor: pointer;
	padding: 0.5rem 1rem;
	white-space: nowrap;
	text-decoration: none;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--small);
}
.nav-previous a, .nav-next a {
	color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--accent);
}
.nav-previous a:hover, .nav-next a:hover, .nav-previous a:active, .nav-next a:active, .nav-previous a:focus, .nav-next a:focus, .categories-links a {
	color: var(--wp--preset--color--main);
	background: var(--wp--preset--color--mid);
}
.meta > p {
	margin-bottom:  1.5rem;
}
.categories-links {
	margin-right: -1rem;
/*	margin: 0 -1rem;*/
	overflow-x: auto;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
}
.categories-links a {
	margin-right: 1rem;
	margin-bottom: 1rem;
	border-radius: 0.25rem;
}
.categories-links a:hover, .categories-links a:active, .categories-links a:focus {
	color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--main);
	border-radius: 0.375rem;
}
.categories-links a:focus {
	outline-offset: -3px;
}
.meta {
	margin: 1.5rem 0 0;
}
p.pronouns {
	margin-top: 3rem;
	margin-bottom: 3rem;
}
@media screen and (max-width: 960px) {
	.pagination {
		margin: 4rem 0 0;
	}
}

/*--------------------------------------------------------------
## Miscellaneous
--------------------------------------------------------------*/

.podcast-featured-image {
    margin-bottom: 20px;
}

.podcast-featured-image img {
    display: block;
	max-width: 600px;
  	max-height: 600px;
  	width: auto;
  	height: auto;
}

@media (max-width: 768px) {
    .podcast-featured-image img {
		max-width: 300px;
  		max-height: 300px;
    }
}

.updated:not(.published) {
	display: none;
}

/*--------------------------------------------------------------
## Cards
--------------------------------------------------------------*/

.card, .card::before {
	border-radius: 0.5rem;
}
.card {
	display: block;
	height: 100%;
	padding: 1.5rem 2rem 2rem;
	transition: all 0.125s;
	position: relative;
}
.card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	background: var(--wp--preset--color--mid);
	opacity: 0.33;
}
.card:hover, .card:active {
	background: var(--wp--preset--color--mid);
}
.card:hover h2, .card:hover h3, .card:active h2, .card:active h3, .card:focus h2, .card:focus h3 {
	color: var(--wp--preset--color--main);
}
.card a {
	text-decoration: none;
}
.card a:focus h2, .card a:focus h3 {
	outline: 3px solid var(--wp--preset--color--rosy);
	outline-offset: 4px;
}
.card h2, .card h3 {
	font-size: calc(var(--wp--preset--font-size--normal) * 1.5);
	border-radius: 0.125rem;
	margin: 0;
	padding: 0;
}
.card .excerpt {
	margin-top: 1rem;
}
.card .excerpt p {
	font-size: calc(var(--wp--preset--font-size--small) * 1.125);
	margin-bottom: 0;
}

/* Comments
--------------------------------------------- */

.wp-block-comment-template, .comment {
	margin: 0 0 3rem;
}
.wp-block-comment-template {
	border-bottom: 3px solid var(--wp--preset--color--mid);
}
.comment {
	border-top: 3px solid var(--wp--preset--color--mid);
	padding-top: 1.5rem;
}
.wp-block-avatar img {
	border: 2px solid var(--wp--preset--color--main);
}
.wp-block-comment-content p {
	font-size: var(--wp--preset--font-size--small);
	padding: 1.5rem 0;
}
.wp-block-comment-content p, .wp-block-comment-author a, .wp-block-comment-date a {
	margin: 0;
}
.wp-block-comment-author a, .wp-block-comment-date a {
	font-size: var(--wp--preset--font-size--tiny);
	padding: 0 0 1rem;
}

/* Widgets
--------------------------------------------- */

.wp-block-buttons {
	margin: 0 0 3rem;
}

/*--------------------------------------------------------------
## Latest Posts Block / Query Loop
--------------------------------------------------------------*/

.wp-block-latest-posts, .wp-block-query li, .wp-block-query-pagination {
	margin: 0 0 3rem;
}
.wp-block-latest-posts li {
	list-style: disc;
}
.wp-block-query li h2 {
	font-size: calc(var(--wp--preset--font-size--normal) * 1.25);
	margin: 0;
}

/*--------------------------------------------------------------
## Accordion (Details) Block
--------------------------------------------------------------*/

details summary, details[open] {
	border-radius: 0.5rem;
	background: var(--wp--preset--color--mid);
	margin: 0 0 3rem;
}
details summary {
	padding: 1rem 1.5rem;
	border: 3px solid var(--wp--preset--color--main);
	font-size: var(--wp--preset--font-size--normal);
}
details summary:hover,
details summary:active,
details summary:focus {
	background: var(--wp--preset--color--base);
}
details summary:hover,
details summary:active {
	border: 3px solid var(--wp--preset--color--alt);
}
details summary:focus {
	outline-offset: -12px;
}
details[open] summary, details[open] > :not(summary) {
	margin: 0;
}
details[open] > :not(summary) {
	padding: 1.5rem;
}

/*--------------------------------------------------------------
## Quotes and Pullquotes
--------------------------------------------------------------*/

blockquote {
	position: relative;
	margin: 6rem 0 0 0;
	text-align: left;
}
blockquote::before {
	content: "";
	position: absolute;
	background-image: url("../img/quote.png");
	background-size: 3rem;
	top: -6rem;
	left: 0;
	width: 3rem;
	height: 3rem;
}
.wp-block-pullquote {
	padding: 6rem 0 3rem;
}
.wp-block-pullquote p {
	font-weight: 700;
}
.wp-block-pullquote cite {
	font-size: var(--wp--preset--font-size--normal);
	color: var(--wp--preset--color--alt);
}
@media screen and (min-width: 960px) {
	.wp-block-quote {
		margin: 0 0 0 4rem;
	}
	.wp-block-quote::before {
		top: 0;
		left: -4em;
		width: 2rem;
		height: 2rem;
		background-size: 2rem;
	}
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/* FacetWP style overrides
--------------------------------------------- */

.facetwp-facet {
    margin-bottom: 3rem !important;
}

/* Icon Background Color Fixes */

.facetwp-checkbox {
    background: url('../img/checkbox.png') 0 50% no-repeat !important;
	background-size: 14px 14px !important;
}
.facetwp-checkbox.checked {
    background-image: url('../img/checkbox-on.png') !important;
}
.facetwp-radio {
    background: url('../img/radio.png') 0 50% no-repeat !important;
	background-size: 14px 14px !important;
}
.facetwp-radio.checked {
    background-image: url('../img/radio-on.png') !important;
}
.facetwp-icon {
	right: 1rem !important;
    opacity: 1 !important;
}
.facetwp-icon:before {
	background: url('../img/icon-search.png') no-repeat !important;
    background-position: 5px 50% !important;
    background-size: 20px 20px !important;
}

/* Search Bar and Selections */

.facetwp-input-wrap {
	display: block !important;
}
.facetwp-facet input.facetwp-search::placeholder, .facetwp-dropdown {
	color: var(--wp--preset--color--main);
}
.facetwp-dropdown {
	padding: 0.5rem 1rem;
	border-radius: 0.5rem;
	border: 3px solid var(--wp--preset--color--main);
	background: var(--wp--preset--color--mid);
	cursor: pointer;
	width: 100%;
}
.facetwp-type-dropdown {
	margin: -1.5rem 0 3rem !important;
}

/* Gravity Forms style overrides
--------------------------------------------- */

.gchoice {
	margin-top: 12px;
}

.gform_wrapper.gravity-theme .gform_validation_errors {
	color: #F24421 !important;
}

.gform_wrapper .gfield_error {
    color: #F24421 !important;
}

.gform_wrapper .gfield_error [aria-invalid="true"] {
    border: 2px solid #F24421 !important;
}

.gform_wrapper .gfield_error label {
    color: #F24421 !important;
}

.gform_wrapper .gfield_required {
    color: #F24421 !important;
}

.gform_wrapper .child-term {
    margin-left: 48px;
}

.gform_wrapper.gravity-theme .gsection {
	border-top: 1px solid #ccc;
	border-bottom: none !important;
	padding: 0;
	margin-top: 24px;
}

.gsection_title {
	margin: 0.5rem 0 .5rem;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	background-color: var(--wp--preset--color--main);
	clip: auto !important;
	clip-path: none;
	color: var(--wp--preset--color--base);
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}
/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */

.aligncenter {
	text-align: center;
}
.aligncenter.wp-block-image {
	margin-left: auto;
	margin-right: auto;
}
@media screen and (min-width: 600px) {
	.alignleft {
		/*rtl:ignore*/
		float: left;
		/*rtl:ignore*/
		margin-right: 1rem;
		margin-bottom: 1rem;
  }
	.alignright {
		/*rtl:ignore*/
		float: right;
		/*rtl:ignore*/
		margin-left: 1rem;
		margin-bottom: 1rem;
	}
}

/* Light Mode
--------------------------------------------- */

body[data-theme='light'] {
	--wp--preset--color--base: #F8F7F3;
	--wp--preset--color--mid: #7CCDF7;
	--wp--preset--color--main: #1C183E;
	--wp--preset--color--alt: #873D97;
	--wp--preset--color--accent: #F7485C;
}
body[data-theme='light'] .access-toggles {
	background-image: url("../img/light-mobile.png");
}
@media screen and (min-width: 960px) {
	body[data-theme='light'] {
		background-image: url("../img/light-divider.png");
	}
	body[data-theme='light'] .access-toggles {
		background-image: none;
	}
}

body[data-theme='light'] .gform_wrapper .gfield_error {
    color: #C62B0C !important; 
}

body[data-theme='light'] .gform_wrapper .gfield_error [aria-invalid="true"] {
    border: 2px solid #C62B0C !important;
}

body[data-theme='light'] .gform_wrapper .gfield_error label {
    color: #C62B0C !important;
}

body[data-theme='light'] .gform_wrapper .gfield_required {
    color: #C62B0C !important;
}

/*# sourceMappingURL=style.css.map */