/*
Theme Name: ForexFunds Child
Theme URI: https://forexfunds.com/
Description: Accessible, mobile-first Genesis HTML5 child theme for the ForexFunds.com remediation project. Replaces the retired Prose presentation without redistributing vendor code.
Author: ForexFunds.com remediation project
Author URI: https://forexfunds.com/
Version: 0.2.0
Template: genesis
License: GNU General Public License v2.0 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: forexfunds-child
Tags: two-columns, right-sidebar, custom-menu, custom-logo, threaded-comments, translation-ready, accessibility-ready
*/

/*
Table of contents
-----------------
1.  Design tokens
2.  Base and typography
3.  Accessibility helpers
4.  Site container and structure
5.  Site header and title area
6.  Navigation (primary and secondary)
7.  Content and sidebar layouts
8.  Entries, meta, breadcrumbs, archives
9.  Legacy content helper classes
10. Widgets and widget areas
11. Footer widgets and site footer
12. Forms, buttons, search
13. Comments
14. Responsive: tablet and below (<= 960px)
15. Responsive: small mobile (<= 480px)

Version 0.2 establishes the Step 11 presentation candidate. CSS custom
properties are declared for readability only; critical rules retain literal
fallbacks so the stylesheet degrades safely in older browsers.
*/

/* 1. Design tokens
--------------------------------------------- */

:root {
	--ff-text: #17202a;
	--ff-text-muted: #4f5b66;
	--ff-text-soft: #5f6b76;
	--ff-link: #a91319;
	--ff-link-hover: #7f0e13;
	--ff-page-bg: #f3f5f7;
	--ff-box-bg: #ffffff;
	--ff-panel-bg: #f7f8fa;
	--ff-border: #d7dde3;
	--ff-border-soft: #aeb7c0;
	--ff-frame: #e4e8ec;
	--ff-invert-bg: #17202a;
	--ff-invert-bg-hover: #0b1117;
	--ff-invert-text: #ffffff;
	--ff-body-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif;
	--ff-heading-font: Georgia, "Times New Roman", serif;
	--ff-site-width: 1200px;
	--ff-inner-width: 1120px;
	--ff-content-width: 740px;
	--ff-sidebar-width: 300px;
	--ff-gutter: 36px;
	--ff-radius: 10px;
	--ff-shadow: 0 8px 28px rgba(23, 32, 42, 0.08);
}

/* 2. Base and typography
--------------------------------------------- */

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

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	background-color: #f3f5f7;
	background-color: var(--ff-page-bg);
	color: #17202a;
	color: var(--ff-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif;
	font-family: var(--ff-body-font);
	font-size: 17px;
	line-height: 1.7;
	margin: 0;
	padding: 0;
}

p {
	margin: 0 0 1.45em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: #17202a;
	color: var(--ff-text);
	font-family: Georgia, "Times New Roman", serif;
	font-family: var(--ff-heading-font);
	font-weight: bold;
	letter-spacing: -0.015em;
	line-height: 1.2;
	margin: 0 0 0.55em;
	padding: 0;
}

h1 {
	font-size: 42px;
	font-size: clamp(2rem, 4vw, 2.625rem);
}

h2 {
	font-size: 32px;
	font-size: clamp(1.625rem, 3vw, 2rem);
}

h3 {
	font-size: 25px;
}

h4 {
	font-size: 21px;
}

h5 {
	font-size: 18px;
}

h6 {
	font-size: 16px;
}

a,
a:visited {
	color: #a91319;
	color: var(--ff-link);
	text-decoration: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.14em;
}

a:hover,
a:focus {
	color: #7f0e13;
	color: var(--ff-link-hover);
	text-decoration-thickness: 0.12em;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
	outline: 3px solid #a91319;
	outline: 3px solid var(--ff-link);
	outline-offset: 3px;
}

h2 a,
h2 a:visited {
	color: #222222;
	color: var(--ff-text);
	text-decoration: none;
}

h2 a:hover,
h2 a:focus {
	color: #c61a1a;
	color: var(--ff-link);
	text-decoration: none;
}

img {
	height: auto;
	max-width: 100%;
}

embed,
iframe,
object,
video {
	max-width: 100%;
}

blockquote {
	background-color: #f7f8fa;
	background-color: var(--ff-panel-bg);
	border: 0;
	border-left: 5px solid #a91319;
	border-left: 5px solid var(--ff-link);
	margin: 0 0 1.5em;
	padding: 24px 28px 4px;
}

blockquote p {
	color: #555555;
	font-size: 16px;
}

code,
pre {
	font-family: Consolas, Monaco, "Courier New", monospace;
}

pre {
	background-color: #f5f5f5;
	background-color: var(--ff-panel-bg);
	border: 1px solid #dddddd;
	border: 1px solid var(--ff-border);
	max-width: 100%;
	overflow-x: auto;
	padding: 15px;
}

table {
	border-collapse: collapse;
	margin: 0 0 25px;
	width: 100%;
}

th,
td {
	border-bottom: 1px solid #dddddd;
	border-bottom: 1px solid var(--ff-border);
	padding: 10px 12px;
	text-align: left;
}

/* 3. Accessibility helpers
--------------------------------------------- */

.screen-reader-text,
.screen-reader-shortcut,
.screen-reader-text span {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus,
.screen-reader-shortcut:focus {
	background-color: #ffffff;
	background-color: var(--ff-box-bg);
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #222222;
	color: var(--ff-text);
	display: block;
	font-size: 14px;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

.genesis-skip-link {
	margin: 0;
}

.genesis-skip-link li {
	height: 0;
	list-style: none;
	width: 0;
}

/* 4. Site container and structure
--------------------------------------------- */

.site-container {
	background-color: #ffffff;
	background-color: var(--ff-box-bg);
	border: 0;
	border-radius: 10px;
	border-radius: var(--ff-radius);
	box-shadow: 0 8px 28px rgba(23, 32, 42, 0.08);
	box-shadow: var(--ff-shadow);
	margin: 24px auto;
	max-width: 1200px;
	max-width: var(--ff-site-width);
	overflow: hidden;
	padding: 0;
	position: relative;
}

.site-inner {
	clear: both;
	margin: 0 auto;
	max-width: 1120px;
	max-width: var(--ff-inner-width);
	padding: 48px 24px 56px;
}

.clear {
	clear: both;
}

.clear-line {
	border-bottom: 1px dotted #aaaaaa;
	border-bottom: 1px dotted var(--ff-border-soft);
	clear: both;
	margin: 0 0 25px;
}

/* 5. Site header and title area
--------------------------------------------- */

.site-header {
	background-color: #ffffff;
	background-color: var(--ff-box-bg);
	border-bottom: 1px solid #d7dde3;
	border-bottom: 1px solid var(--ff-border);
	min-height: 0;
}

.site-header .wrap {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1120px;
	max-width: var(--ff-inner-width);
	padding: 24px;
}

.title-area {
	flex: 1 1 420px;
	min-width: 0;
	padding: 0;
}

.site-title {
	font-family: Georgia, "Times New Roman", serif;
	font-family: var(--ff-heading-font);
	font-size: 34px;
	font-weight: bold;
	line-height: 1.15;
	margin: 0;
}

.site-title a,
.site-title a:visited {
	color: #222222;
	color: var(--ff-text);
	text-decoration: none;
}

.site-title a:hover {
	color: #a91319;
	color: var(--ff-link);
	text-decoration: none;
}

.site-description {
	color: #5f6b76;
	color: var(--ff-text-soft);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif;
	font-family: var(--ff-body-font);
	font-size: 16px;
	font-style: normal;
	font-weight: normal;
	margin: 0;
}

.custom-logo-link img,
.wp-custom-logo .site-title img {
	max-height: 150px;
	width: auto;
}

.site-header .header-widget-area {
	flex: 0 1 420px;
	min-width: 0;
	padding: 0;
	text-align: right;
}

.site-header .header-widget-area .widget {
	margin: 0 0 5px;
}

.site-header .header-widget-area .widget-title {
	text-align: right;
}

/* 6. Navigation (primary and secondary)
--------------------------------------------- */

.nav-primary,
.nav-secondary {
	background-color: #17202a;
	background-color: var(--ff-invert-bg);
	clear: both;
	color: #ffffff;
	color: var(--ff-invert-text);
	margin: 0 auto;
	width: 100%;
}

.nav-primary .wrap,
.nav-secondary .wrap {
	margin: 0 auto;
	max-width: 1120px;
	max-width: var(--ff-inner-width);
	width: calc(100% - 48px);
}

.genesis-nav-menu {
	display: flex;
	flex-wrap: wrap;
	line-height: 1;
	list-style: none;
	margin: 0;
	padding: 0;
}

.genesis-nav-menu li {
	list-style: none;
	position: relative;
}

.genesis-nav-menu a {
	align-items: center;
	color: #ffffff;
	color: var(--ff-invert-text);
	display: flex;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif;
	font-family: var(--ff-body-font);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.02em;
	min-height: 48px;
	padding: 10px 15px;
	text-decoration: none;
	text-transform: uppercase;
}

.genesis-nav-menu a:hover,
.genesis-nav-menu a:focus,
.genesis-nav-menu .current-menu-item > a,
.genesis-nav-menu .current-menu-ancestor > a,
.genesis-nav-menu .current_page_item > a {
	background-color: #ffffff;
	background-color: var(--ff-box-bg);
	color: #17202a;
	color: var(--ff-text);
	text-decoration: underline;
	text-decoration-thickness: 0.12em;
	text-underline-offset: 0.2em;

}

.genesis-nav-menu a:focus {
	outline-color: #a91319;
	outline-color: var(--ff-link);
	outline-offset: -4px;
}

.genesis-nav-menu .current-menu-item > a,
.genesis-nav-menu .current-menu-ancestor > a,
.genesis-nav-menu .current_page_item > a {
	background-color: #a91319;
	background-color: var(--ff-link);
	color: #ffffff;
	color: var(--ff-invert-text);
	text-decoration: underline;
}

.genesis-nav-menu .current-menu-item > a:focus,
.genesis-nav-menu .current-menu-ancestor > a:focus,
.genesis-nav-menu .current_page_item > a:focus,
.genesis-nav-menu .sub-menu a:focus {
	outline-color: #ffffff;
	outline-color: var(--ff-invert-text);
}

.genesis-nav-menu .sub-menu {
	background-color: #f5f5f5;
	background-color: var(--ff-panel-bg);
	border: 1px solid #dddddd;
	border: 1px solid var(--ff-border);
	display: block;
	left: -9999px;
	margin: 0;
	opacity: 0;
	padding: 0;
	position: absolute;
	width: 200px;
	z-index: 99;
}

.genesis-nav-menu .sub-menu a {
	background-color: #ffffff;
	background-color: var(--ff-box-bg);
	color: #17202a;
	color: var(--ff-text);
	text-transform: none;
	width: 100%;
}

.genesis-nav-menu .sub-menu a:hover,
.genesis-nav-menu .sub-menu a:focus {
	background-color: #17202a;
	background-color: var(--ff-invert-bg);
	color: #ffffff;
	color: var(--ff-invert-text);
}

.genesis-nav-menu .sub-menu .sub-menu {
	margin: -40px 0 0 199px;
}

.genesis-nav-menu li:hover > .sub-menu,
.genesis-nav-menu li.sfHover > .sub-menu,
.genesis-nav-menu li:focus-within > .sub-menu {
	left: auto;
	opacity: 1;
}

.genesis-nav-menu .sub-menu-toggle {
	background-color: transparent;
	border: 0;
	color: #ffffff;
	color: var(--ff-invert-text);
	display: none;
	padding: 9px 12px;
	text-transform: none;
}

.genesis-nav-menu .search-form {
	padding: 5px 12px;
}

.menu-toggle {
	display: none;
}

/* The policy menu is retained as a distinct pre-footer navigation landmark. */
.nav-secondary {
	background-color: #f7f8fa;
	background-color: var(--ff-panel-bg);
	border-top: 1px solid #d7dde3;
	border-top: 1px solid var(--ff-border);
}

.nav-secondary .genesis-nav-menu {
	justify-content: center;
}

.nav-secondary .genesis-nav-menu a {
	color: #17202a;
	color: var(--ff-text);
	font-size: 13px;
}

.nav-secondary .genesis-nav-menu a:hover,
.nav-secondary .genesis-nav-menu a:focus,
.nav-secondary .genesis-nav-menu .current-menu-item > a,
.nav-secondary .genesis-nav-menu .current-menu-ancestor > a,
.nav-secondary .genesis-nav-menu .current_page_item > a {
	background-color: #ffffff;
	background-color: var(--ff-box-bg);
	color: #a91319;
	color: var(--ff-link);
}

.nav-secondary .genesis-nav-menu a:focus {
	outline-color: #a91319;
	outline-color: var(--ff-link);
}

/* 7. Content and sidebar layouts
--------------------------------------------- */

.content-sidebar-wrap {
	align-items: flex-start;
	display: flex;
	gap: 36px;
	gap: var(--ff-gutter);
}

.content {
	flex: 1 1 auto;
	max-width: 740px;
	max-width: var(--ff-content-width);
	min-width: 0;
	padding: 0;
}

.sidebar-primary {
	flex: 0 0 280px;
	flex: 0 0 var(--ff-sidebar-width);
	min-width: 0;
	padding: 0;
}

.sidebar-content .content-sidebar-wrap {
	flex-direction: row-reverse;
}

/*
 * Legacy three-column assignments retain all content but no longer compress
 * the secondary sidebar beside the article. The alternate region follows the
 * principal content/sidebar pair as a full-width supporting section.
 */
.content-sidebar-sidebar .site-inner,
.sidebar-content-sidebar .site-inner,
.sidebar-sidebar-content .site-inner {
	display: block;
}

.content-sidebar-sidebar .content-sidebar-wrap,
.sidebar-content-sidebar .content-sidebar-wrap,
.sidebar-sidebar-content .content-sidebar-wrap {
	width: 100%;
}

.sidebar-alt,
.sidebar-secondary {
	background-color: #f7f8fa;
	background-color: var(--ff-panel-bg);
	border-top: 1px solid #d7dde3;
	border-top: 1px solid var(--ff-border);
	margin-top: 40px;
	min-width: 0;
	padding: 28px;
	width: 100%;
}

/* 8. Entries, meta, breadcrumbs, archives
--------------------------------------------- */

.breadcrumb {
	color: #4f5b66;
	color: var(--ff-text-muted);
	font-size: 14px;
	margin: 0 0 28px;
	padding: 0;
	text-transform: none;
}

.entry {
	border-bottom: 1px solid #d7dde3;
	border-bottom: 1px solid var(--ff-border);
	margin: 0 0 40px;
	padding: 0 0 40px;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.single .entry {
	border-bottom: 0;
	margin: 0;
	padding-bottom: 0;
}

.entry-title {
	font-size: 36px;
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	margin: 0 0 0.4em;
}

.entry-header .entry-meta {
	background-color: transparent;
	color: #4f5b66;
	color: var(--ff-text-muted);
	font-size: 14px;
	margin: 0 0 28px;
	padding: 0;
	text-transform: none;
}

.entry-footer .entry-meta {
	background-color: #f7f8fa;
	background-color: var(--ff-panel-bg);
	clear: both;
	color: #666666;
	color: var(--ff-text-muted);
	font-size: 14px;
	margin: 0 0 10px;
	padding: 12px 16px;
	text-transform: none;
}

.entry-meta a,
.entry-meta a:visited {
	color: #666666;
	color: var(--ff-text-muted);
}

.entry-content ol,
.entry-content ul {
	margin: 0;
	padding: 0 0 25px;
}

.entry-content ul > li {
	list-style-type: square;
	margin: 0 0 0 30px;
}

.entry-content ol > li {
	list-style-type: decimal;
	margin: 0 0 0 35px;
}

.entry-content ol ol,
.entry-content ul ul {
	padding: 0;
}

.sticky {
	background-color: #f5f5f5;
	background-color: var(--ff-panel-bg);
	border: 1px solid #dddddd;
	border: 1px solid var(--ff-border);
	padding: 10px;
}

.archive-description,
.taxonomy-description {
	background-color: #f7f8fa;
	background-color: var(--ff-panel-bg);
	border: 1px solid #dddddd;
	border: 1px solid var(--ff-border);
	border-radius: 10px;
	border-radius: var(--ff-radius);
	margin: 0 0 30px;
	padding: 24px;
}

.archive-description p:last-child,
.taxonomy-description p:last-child {
	margin-bottom: 0;
}

.author-box {
	background-color: #f7f8fa;
	background-color: var(--ff-panel-bg);
	border-left: 4px solid #a91319;
	border-left: 4px solid var(--ff-link);
	margin: 0 0 40px;
	overflow: hidden;
	padding: 24px;
}

.author-box p {
	font-size: 14px;
	margin: 0;
}

.author-box .avatar {
	background-color: #ffffff;
	background-color: var(--ff-box-bg);
	border: 1px solid #dddddd;
	border: 1px solid var(--ff-border);
	float: left;
	margin: 0 10px 0 0;
	padding: 4px;
}

.after-post {
	background-color: #f7f8fa;
	background-color: var(--ff-panel-bg);
	border: 1px solid #d7dde3;
	border: 1px solid var(--ff-border);
	border-radius: 10px;
	border-radius: var(--ff-radius);
	clear: both;
	margin: 0 0 20px;
	overflow: hidden;
	padding: 24px;
}

.after-post .widget {
	margin: 0;
}

.archive-pagination,
.adjacent-entry-pagination,
.navigation {
	font-size: 14px;
	margin: 0 0 20px;
	overflow: hidden;
	padding: 20px 0 0;
}

.archive-pagination ul,
.navigation ul {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.archive-pagination li,
.navigation li {
	list-style: none;
}

.archive-pagination a,
.archive-pagination li.active a,
.navigation a {
	background-color: #f5f5f5;
	background-color: var(--ff-panel-bg);
	color: #222222;
	color: var(--ff-text);
	display: block;
	padding: 8px 12px;
	text-decoration: none;
}

.archive-pagination a:hover,
.archive-pagination a:focus,
.archive-pagination li.active a,
.navigation a:hover,
.navigation a:focus {
	background-color: #555555;
	color: #ffffff;
	color: var(--ff-invert-text);
}

.adjacent-entry-pagination {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}

.entry-image,
.post-image,
.avatar {
	background-color: #f5f5f5;
	background-color: var(--ff-panel-bg);
	border: 1px solid #dddddd;
	border: 1px solid var(--ff-border);
	padding: 4px;
}

.alignleft {
	float: left;
	margin: 0 15px 10px 0;
}

.alignright {
	float: right;
	margin: 0 0 10px 15px;
}

.aligncenter,
img.centered {
	display: block;
	margin: 0 auto 10px;
}

.wp-caption {
	background-color: #f5f5f5;
	background-color: var(--ff-panel-bg);
	max-width: 100%;
	padding: 10px;
	text-align: center;
}

.wp-caption-text {
	font-size: 14px;
	margin: 5px 0;
}

/* 9. Legacy content helper classes
--------------------------------------------- */

/*
Existing posts and pages were authored against the retired child theme's
helper classes. They are reproduced here so migrated content keeps its
intended presentation.
*/

p.notice {
	background-color: #f5f8fa;
	border: 1px solid #d7e8f0;
	color: #555555;
	margin: 0 15px 25px;
	padding: 25px;
}

.five-sixths,
.four-fifths,
.four-sixths,
.one-fifth,
.one-fourth,
.one-half,
.one-sixth,
.one-third,
.three-fifths,
.three-fourths,
.three-sixths,
.two-fifths,
.two-fourths,
.two-sixths,
.two-thirds {
	float: left;
	margin: 0 0 20px;
	padding-left: 3%;
}

.one-half,
.three-sixths,
.two-fourths {
	width: 48%;
}

.one-third,
.two-sixths {
	width: 31%;
}

.four-sixths,
.two-thirds {
	width: 65%;
}

.one-fourth {
	width: 22.5%;
}

.three-fourths {
	width: 73.5%;
}

.one-fifth {
	width: 17.4%;
}

.two-fifths {
	width: 37.8%;
}

.three-fifths {
	width: 58.2%;
}

.four-fifths {
	width: 78.6%;
}

.one-sixth {
	width: 14%;
}

.five-sixths {
	width: 82%;
}

.first {
	clear: both;
	padding-left: 0;
}

/* 10. Widgets and widget areas
--------------------------------------------- */

.widget {
	margin: 0 0 40px;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.widget:last-child {
	margin-bottom: 0;
}

.widget-title {
	border-bottom: 2px solid #d7dde3;
	border-bottom: 2px solid var(--ff-border);
	color: #17202a;
	color: var(--ff-text);
	font-family: Georgia, "Times New Roman", serif;
	font-family: var(--ff-heading-font);
	font-size: 19px;
	font-style: normal;
	font-weight: bold;
	margin: 0 0 10px;
	padding: 0 0 8px;
	text-transform: none;
}

.sidebar,
.sidebar p {
	color: #17202a;
	color: var(--ff-text);
	font-size: 15px;
}

.sidebar p {
	margin: 0 0 20px;
}

.widget-area ol,
.widget-area ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.widget-area li {
	border-bottom: 1px dotted #dddddd;
	border-bottom: 1px dotted var(--ff-border);
	list-style: none;
	margin: 0 0 5px;
	overflow-wrap: break-word;
	padding: 0 0 5px 16px;
	position: relative;
	word-wrap: break-word;
}

.widget-area li::before {
	border-color: transparent transparent transparent #aaaaaa;
	border-style: solid;
	border-width: 4px 0 4px 5px;
	content: "";
	height: 0;
	left: 3px;
	position: absolute;
	top: 9px;
	width: 0;
}

.widget-area li li {
	border-bottom: 0;
	margin-bottom: 0;
}

.widget-area .search-form li,
.widget-area .textwidget li {
	border-bottom: 0;
}

.header-widget-area li,
.header-widget-area li::before {
	border: 0;
	content: none;
	padding-left: 0;
}

.sidebar .widget a img {
	margin: 0;
}

.sidebar .simple-social-icons ul li {
	border-bottom: 0;
	padding-left: 0;
}

.sidebar .simple-social-icons ul li::before {
	content: none;
}

.sidebar .entry-title,
.featured-content .entry-title {
	font-size: 18px;
	line-height: 1.35;
}

/* 11. Footer widgets and site footer
--------------------------------------------- */

.footer-widgets {
	background-color: #17202a;
	background-color: var(--ff-invert-bg);
	border: 0;
	clear: both;
	color: #ffffff;
	color: var(--ff-invert-text);
	font-size: 14px;
	margin: 0 auto;
	width: 100%;
}

.footer-widgets .wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 0 auto;
	max-width: 1120px;
	max-width: var(--ff-inner-width);
	padding: 40px 24px;
}

.footer-widgets .widget-area {
	flex: 1 1 0;
	min-width: 0;
}

.footer-widgets .widget {
	margin: 0 0 20px;
}

.footer-widgets .widget:last-child {
	margin-bottom: 0;
}

.footer-widgets p {
	font-size: inherit;
	margin: 0 0 20px;
}

.footer-widgets a,
.footer-widgets a:visited {
	color: #ffffff;
	color: var(--ff-invert-text);
	text-decoration: underline;
	text-underline-offset: 0.14em;
}

.footer-widgets a:hover,
.footer-widgets a:focus {
	color: #ffffff;
	color: var(--ff-invert-text);
	text-decoration: underline;
	text-decoration-thickness: 0.12em;
}

.footer-widgets a:focus,
.footer-widgets button:focus,
.footer-widgets input:focus,
.footer-widgets select:focus,
.footer-widgets textarea:focus,
.site-footer a:focus,
.site-footer button:focus,
.site-footer input:focus,
.site-footer select:focus,
.site-footer textarea:focus {
	outline-color: #ffffff;
	outline-color: var(--ff-invert-text);
}

.footer-widgets .widget-title {
	border-color: #5f6b76;
	color: #ffffff;
	color: var(--ff-invert-text);
}

.site-footer {
	background-color: #0b1117;
	clear: both;
	color: #ffffff;
	color: var(--ff-invert-text);
	font-size: 14px;
	padding: 18px 24px;
}

.site-footer .wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
	margin: 0 auto;
	max-width: 1120px;
	max-width: var(--ff-inner-width);
}

.site-footer p {
	font-size: inherit;
	margin: 0;
}

.site-footer .gototop {
	margin-right: auto;
}

.site-footer a,
.site-footer a:visited {
	color: #ffffff;
	color: var(--ff-invert-text);
	text-decoration: underline;
	text-underline-offset: 0.14em;
}

.site-footer a:hover,
.site-footer a:focus {
	color: #ffffff;
	color: var(--ff-invert-text);
	text-decoration: underline;
	text-decoration-thickness: 0.12em;
}

/* 12. Forms, buttons, search
--------------------------------------------- */

input,
select,
textarea {
	background-color: #ffffff;
	background-color: var(--ff-box-bg);
	border: 1px solid #dddddd;
	border: 1px solid var(--ff-border);
	border-radius: 4px;
	color: #17202a;
	color: var(--ff-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif;
	font-family: var(--ff-body-font);
	font-size: 16px;
	font-style: normal;
	max-width: 100%;
	min-height: 44px;
	padding: 9px 11px;
}

textarea {
	height: 150px;
	width: 100%;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	background-color: #17202a;
	background-color: var(--ff-invert-bg);
	border: 0;
	color: #ffffff;
	color: var(--ff-invert-text);
	cursor: pointer;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif;
	font-family: var(--ff-body-font);
	font-size: 14px;
	font-weight: 600;
	min-height: 44px;
	padding: 10px 16px;
	text-decoration: none;
	text-transform: uppercase;
	width: auto;
}

button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus {
	background-color: #222222;
	background-color: var(--ff-invert-bg-hover);
}

.search-form {
	display: flex;
	flex-wrap: nowrap;
	gap: 5px;
	margin: 0;
	max-width: 100%;
}

.search-form input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
}

.header-widget-area .search-form {
	justify-content: flex-end;
}

.header-widget-area .search-form input[type="search"] {
	flex: 0 1 190px;
}

/* 13. Comments
--------------------------------------------- */

.entry-comments,
.comment-respond {
	margin: 0 0 25px;
	overflow: hidden;
}

.entry-comments h3,
.comment-respond h3 {
	font-size: 20px;
}

.comment-list,
.ping-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.comment-list li,
.ping-list li {
	background-color: #f5f5f5;
	background-color: var(--ff-panel-bg);
	border: 1px solid #dddddd;
	border: 1px solid var(--ff-border);
	list-style: none;
	margin: 15px 0 5px;
	padding: 10px 15px;
}

.comment-list li li {
	margin-right: 0;
}

.comment-list .avatar {
	background-color: #ffffff;
	background-color: var(--ff-box-bg);
	float: right;
	margin: 5px 0 0 10px;
}

.comment-content {
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.comment-content p {
	font-size: 14px;
	margin: 0 0 20px;
}

.comment-meta,
.comment-metadata {
	font-size: 12px;
	margin: 0 0 5px;
}

.comment-list cite,
.ping-list cite {
	font-style: normal;
}

.comment-reply-link,
.reply {
	font-size: 14px;
}

.comment-form label {
	display: block;
	font-size: 14px;
}

.comment-form input[type="email"],
.comment-form input[type="text"],
.comment-form input[type="url"] {
	max-width: 250px;
	width: 100%;
}

.nocomments {
	text-align: center;
}

/* 14. Responsive: tablet and below (<= 960px)
--------------------------------------------- */

@media only screen and (max-width: 960px) {

	.site-container {
		border: 0;
		border-radius: 0;
		box-shadow: none;
		margin: 0;
		max-width: 100%;
		padding: 0;
	}

	.site-header {
		min-height: 0;
		padding: 0;
	}

	.site-header .wrap {
		display: block;
		padding: 20px;
		text-align: center;
	}

	.title-area,
	.site-header .header-widget-area {
		flex: none;
		padding: 0;
		text-align: center;
		width: 100%;
	}

	.site-header .header-widget-area {
		padding: 10px 0 0;
	}

	.site-header .header-widget-area .widget-title {
		text-align: center;
	}

	.header-widget-area .search-form {
		justify-content: center;
	}

	.site-title {
		font-size: 30px;
		line-height: 1.2;
		margin: 0 0 10px;
	}

	.site-inner {
		margin: 0 auto;
		max-width: 100%;
		padding: 32px 20px 40px;
	}

	.content-sidebar-wrap,
	.content-sidebar-sidebar .site-inner,
	.sidebar-content-sidebar .site-inner,
	.sidebar-sidebar-content .site-inner {
		display: block;
	}

	.sidebar-content .content-sidebar-wrap {
		flex-direction: column;
	}

	.content,
	.sidebar-primary {
		float: none;
		padding: 10px 0 0;
		width: 100%;
	}

	.sidebar-alt,
	.sidebar-secondary {
		float: none;
		padding: 24px 20px;
		width: 100%;
	}

	.content {
		padding: 0 0 20px;
	}

	.genesis-nav-menu {
		display: block;
	}

	.genesis-nav-menu li {
		display: block;
		width: 100%;
	}

	.genesis-nav-menu a {
		min-height: 44px;
		padding: 11px 15px;
	}

	.nav-primary--enhanced > .menu-toggle {
		align-items: center;
		background-color: #17202a;
		background-color: var(--ff-invert-bg);
		border: 2px solid #ffffff;
		border: 2px solid var(--ff-invert-text);
		color: #ffffff;
		color: var(--ff-invert-text);
		display: flex;
		font-size: 15px;
		justify-content: space-between;
		margin: 8px 20px;
		min-height: 44px;
		padding: 9px 14px;
		text-align: left;
		width: calc(100% - 40px);
	}

	.nav-primary--enhanced > .menu-toggle:focus {
		outline-color: #ffffff;
		outline-color: var(--ff-invert-text);
	}

	.nav-primary--enhanced > .menu-toggle::after {
		content: "+";
		font-size: 22px;
		line-height: 1;
	}

	.nav-primary--enhanced > .menu-toggle[aria-expanded="true"]::after {
		content: "close";
		font-size: 12px;
		text-transform: uppercase;
	}

	.nav-primary--enhanced > .wrap[hidden] {
		display: none;
	}

	.nav-primary .wrap,
	.nav-secondary .wrap {
		width: 100%;
	}

	.nav-secondary .genesis-nav-menu {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nav-secondary .genesis-nav-menu li {
		width: auto;
	}

	.genesis-nav-menu .sub-menu,
	.genesis-nav-menu li:hover > .sub-menu,
	.genesis-nav-menu li.sfHover > .sub-menu,
	.genesis-nav-menu li:focus-within > .sub-menu {
		border: 0;
		left: auto;
		margin: 0;
		opacity: 1;
		position: static;
		width: 100%;
	}

	.genesis-nav-menu .sub-menu .sub-menu {
		margin: 0;
	}

	.genesis-nav-menu .sub-menu a {
		padding-left: 30px;
	}

	.footer-widgets .wrap {
		display: block;
		padding: 32px 20px;
	}

	.footer-widgets .widget-area {
		margin: 0 0 20px;
		width: 100%;
	}

	.site-footer {
		padding: 10px;
	}

	.site-footer .wrap {
		justify-content: center;
		text-align: center;
	}

	.site-footer .gototop {
		margin-right: 0;
	}

	.entry-content table {
		display: block;
		max-width: 100%;
		overflow-x: auto;
	}

	.five-sixths,
	.four-fifths,
	.four-sixths,
	.one-fifth,
	.one-fourth,
	.one-half,
	.one-sixth,
	.one-third,
	.three-fifths,
	.three-fourths,
	.three-sixths,
	.two-fifths,
	.two-fourths,
	.two-sixths,
	.two-thirds {
		float: none;
		margin: 0 0 20px;
		padding-left: 0;
		width: 100%;
	}

	button,
	input[type="button"],
	input[type="reset"],
	input[type="submit"] {
		min-height: 44px;
	}

	input[type="email"],
	input[type="password"],
	input[type="search"],
	input[type="text"],
	input[type="url"],
	select {
		min-height: 44px;
	}

}

/* 15. Responsive: small mobile (<= 480px)
--------------------------------------------- */

@media only screen and (max-width: 480px) {

	body {
		font-size: 16px;
	}

	.site-title {
		font-size: 26px;
	}

	.entry-title,
	h1 {
		font-size: 28px;
	}

	h2 {
		font-size: 24px;
	}

	h3 {
		font-size: 20px;
	}

	blockquote,
	p.notice {
		margin-left: 0;
		margin-right: 0;
		padding: 15px 15px 5px;
	}

	.alignleft,
	.alignright {
		float: none;
		margin: 0 0 10px;
	}

	.comment-list .avatar {
		float: none;
		margin: 0 0 10px;
	}

	.comment-list li,
	.ping-list li {
		padding: 10px;
	}

	.entry-header .entry-meta,
	.entry-footer .entry-meta {
		padding: 8px 10px;
	}

}

@media (prefers-reduced-motion: reduce) {

	html {
		scroll-behavior: auto;
	}

}
