body {
	font-family: 'Open Sans', sans-serif;
	font-optical-sizing: auto;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.5;
	color: #262626;
	text-align: left;
	background-color: hsl(0, 0%, 98%);
}

a {
	color: #262626;
	text-decoration: none;
}

.text-primary {
	color: grey !important;
}

.text-reset {
	color: inherit !important;
}

.font-weight-bolder {
	font-weight: 900 !important;
}

.text-deep-gray {
	color: #262626 !important;
}

a:hover {
	text-decoration: none;
	color: #262626;
}

.color-link a,
.color-link {
	box-shadow: 0em -0.5em 0em rgb(255, 223, 118, 0.65) inset;
}

.card-content:hover .article-title a,
.footer a:hover,
.panel-element:hover .panel-title {
	box-shadow: 0em -0.5em 0em rgb(255, 223, 118, 0.65) inset;
	transition: box-shadow 0.12s;
}

.pb-3,
.py-3,
.mb-3,
.my-3 {
	margin-bottom: 1rem !important;
}

.mt-1x,
.my-1x {
	margin-top: 1rem !important;
}

.fa-regular {
	font-size: 18px;
	color: #e04a41;
	padding-left: 15px;
	padding-right: 0px;
}

.fa-regular:hover {
	color: #f50009;
}

.fa-spacer {
	border-left: .05rem solid;
	border-left-color: grey;
}

.container {
	width: 100%;
	max-width: 900px;
	padding-right: 16px;
	padding-left: 16px;
	margin-right: auto;
	margin-left: auto;
}

.row {
	display: flex;
	flex-wrap: wrap;
	margin-right: -16px;
	margin-left: -16px;
}

.mb-2x,
.my-2x {
	margin-bottom: 2rem !important;
}

a:focus,
a:hover,
button:focus,
input:focus,
input[type="range"]:focus {
	outline: none;
	outline-color: currentcolor;
	outline-style: none;
	outline-width: medium;
}

.section {
	font-size: 24px;
	font-size: 1.5rem;
	text-transform: uppercase !important;
	/* font-family: roboto, sans-serif;
	*/
	font-weight: 900;
}

@media (min-width: 968px) {
	.section {
		font-size: 1.875rem;
		line-height: 2.75rem;
	}
}

h5.section,
h6.section {
	line-height: 22.496px;
	line-height: 1.406rem;
	font-size: 18px;
	font-size: 1.125rem;
}

.page-title {
	font-size: 1.6rem;
	text-transform: uppercase !important;
}

.section-title {
	font-size: 1.6rem;
	line-height: 2.5rem;
	text-transform: uppercase !important;
	border-top: .25rem solid;
	border-top-color: black;
	padding-top: 8px;
}

.article-title {
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: 700;
}

@media (min-width: 768px) {
	.article-title {
		font-size: 1.25rem;
		line-height: 1.563rem;
	}
}

.card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	word-wrap: break-word;
	background-color: hsl(0, 0%, 98%);
	border: 0 solid transparent;
	border-bottom-width: 0px;
	border-bottom-style: solid;
	border-bottom-color: transparent;
	border-radius: 0;
}

.border-bottom:last-child {
	border-bottom: none !important;
}

.card-header {
	padding: 0;
	margin-bottom: 0;
	background-color: inherit;
	border-bottom: 0 solid transparent;
}

.card-body {
	font-family: "PT Serif", serif;
	flex: 1 1 auto;
	min-height: 1px;
	padding: 0;
	margin: 0;
	font-size: 14px;
	font-size: .92rem;
	letter-spacing: .02em;
	color: #595959 !important;
}

.card-meta {
	font-size: 10px;
	font-size: .725rem;
	line-height: 1.3rem;
}

.card--inverse .card-contribs,
.card .card-contribs {
	font-size: inherit;
	letter-spacing: .02em;
}

.card-footer {
	display: none;
}

/* Add tooltip and spacer */
.list-inline {
	margin: 0;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.btn {
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .04em;
	-webkit-appearance: none;
	color: #262626;
	line-height: normal;
	padding: .375rem 0rem;
}

.panel-element .panel-title {
	color: #262626;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 1em;
	letter-spacing: .03em;
	font-weight: 700;
}

.panel-element .panel-subtitle {
	font-weight: 400;
	font-size: 14px;
	font-size: .875rem;
	color: #262626;
	flex-wrap: wrap;
}

.panel-element .panel-subtitle-break::before {
	content: "·";
	margin: 0 5px;
}

.panel-subtitle {
	line-height: 1.444;
	color: #595959 !important;
}

.panel-element .panel-image {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 40vw;
	min-width: unset;
	margin-bottom: 0;
	border: 0;
	transition: all .2s;
	-webkit-filter: grayscale(20%);
	/* Safari 6.0 - 9.0 */
	filter: grayscale(20%);
	object-fit: cover;
	/* Required to prevent the image from stretching, use the object-position property to adjust the visible area */
	aspect-ratio: 1/1;
}

.panel-element .panel-content {
	padding: 1rem .375rem;
	margin: 0 .375rem;
	z-index: 4;
	transition: transform .12s ease-in-out;
}

.color-heading,
.color-heading a {
	box-shadow: 0em -0.5em 0em rgb(30, 176, 225, 0.45) inset;
}

.color-link-hover:hover {
	box-shadow: 0em -0.5em 0em rgb(255, 223, 118, 0.65) inset;
	transition: opacity 1s ease-in-out;
}

.color-link a:hover {
	box-shadow: 0em -1.18em 0em rgb(255, 223, 118, 0.65) inset;
	transition: box-shadow 0.12s;
}

.change-color:hover,
.article-title a:hover,
.panel-element .panel-title:hover {
	box-shadow: 0em -1.18em 0em rgb(255, 223, 118, 0.65) inset !important;
}

.list-inline-item:not(:last-child) {
	margin-right: 0;
}

.text-left {
	width: 100%;
}

.skip-link {
	position: absolute;
	top: -40px;
	left: 0;
	background: #000;
	color: white;
	padding: 8px;
	z-index: 100;
}

.skip-link:focus {
	top: 0;
}

.visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.icon-links {
	display: flex;
	gap: 1em;
	margin-bottom: 3em;
}

.icon-links a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2em;
	height: 2em;
	border: 2px solid #262626;
	border-radius: 50%;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.icon-links a:hover {
	background-color: #262626;
}

.icon-links img {
	width: 60%;
	height: 60%;
	transition: filter 0.2s ease;
}

.icon-links a:hover img {
	filter: invert(1);
}