/* ------------------------------------------------------------------
   Pacoima FCU - guide article pages
   Scoped to .g-page / .g-* so nothing here can leak into other pages.
   Palette taken from the existing theme:
     accent (headings) #79033c, links #7a003c, body text #676767,
     page background  #f8f8f8, hairlines #e0dcdd
   ------------------------------------------------------------------ */

/* The theme sets overflow-x:hidden on html and body, which turns them into
   scroll containers and silently disables position:sticky further down.
   `clip` hides the same overflow without creating a scroll container.
   Only pages that load this file are affected. */
html {
	overflow-x: clip;
}

body {
	overflow-x: clip;
}

/* ---------- page header band ---------- */

.g-pagehead {
	background-color: #ffffff;
	padding: 34px 0 30px;
}

body .g-pagehead h1 {
	max-width: 1040px;
	margin: 0 auto;
	font-size: 40px;
	line-height: 1.2;
	letter-spacing: -0.5px;
	color: #791926;
	text-align: center;
	background-color: transparent;
}

.g-pagehead .g-pagehead__rule {
	display: block;
	width: 110px;
	height: 3px;
	margin: 22px auto 0;
	background-color: #79033c;
}

@media only screen and (max-width: 1300px) {
	body .g-pagehead h1 {
		font-size: 33px;
	}
}

@media only screen and (max-width: 690px) {
	.g-pagehead {
		padding: 22px 0 20px;
	}

	body .g-pagehead h1 {
		font-size: 23px;
		line-height: 1.3;
	}

	.g-pagehead .g-pagehead__rule {
		width: 80px;
		height: 2px;
		margin-top: 16px;
	}
}

/* ---------- article shell ---------- */

body .main-content > .row > #post-area.g-page {
	padding-bottom: 26px;
}

.g-page p {
	font-size: 16px;
	line-height: 1.8;
	color: #676767;
	margin-bottom: 18px;
}

.g-page p:last-child {
	margin-bottom: 0;
}

.g-page a {
	color: #7a003c;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.g-page a:hover {
	text-decoration: none;
}

/* ---------- lead paragraph ---------- */

.g-lead {
	position: relative;
	margin: 0 0 38px;
	padding: 22px 26px 22px 28px;
	background-color: #ffffff;
	border: 1px solid #e6e0e2;
	border-left: 4px solid #79033c;
}

.g-page .g-lead p {
	font-size: 17px;
	line-height: 1.75;
	color: #58525a;
	margin-bottom: 0;
}

/* ---------- sections ---------- */

.g-section {
	margin: 0 0 40px;
}

.g-section + .g-section {
	padding-top: 34px;
	border-top: 1px solid #e4e0e1;
}

body .g-section > h2 {
	font-size: 24px;
	line-height: 1.35;
	color: #79033c;
	margin: 0 0 18px;
	letter-spacing: -0.2px;
}

@media only screen and (max-width: 690px) {
	body .g-section > h2 {
		font-size: 20px;
	}
}

/* ---------- term rows (icon + explanatory paragraph) ---------- */

.g-page ul.g-terms {
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
	border-top: 1px solid #e4e0e1;
}

.g-page ul.g-terms > li {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: start;
	align-items: flex-start;
	list-style: none;
	margin: 0;
	padding: 22px 0;
	border-bottom: 1px solid #e4e0e1;
}

.g-page ul.g-terms > li:last-child {
	border-bottom: 0;
	padding-bottom: 4px;
}

.g-term__icon {
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	margin: 1px 20px 0 0;
	color: #79033c;
}

.g-page ul.g-terms p {
	font-size: 15.5px;
	line-height: 1.75;
	margin-bottom: 0;
}

.g-page ul.g-terms strong {
	color: #79033c;
	font-weight: 600;
}

@media only screen and (max-width: 480px) {
	.g-term__icon {
		margin-right: 14px;
	}
}

/* ---------- numbered checks ---------- */

.g-page ol.g-steps {
	list-style: none;
	margin: 0 0 18px;
	padding: 0;
	counter-reset: g-step;
}

.g-page ol.g-steps > li {
	position: relative;
	list-style: none;
	margin: 0 0 12px;
	padding: 14px 20px 14px 62px;
	background-color: #ffffff;
	border: 1px solid #e6e0e2;
	font-size: 16px;
	line-height: 1.7;
	color: #5f5a5c;
}

.g-page ol.g-steps > li:before {
	counter-increment: g-step;
	content: counter(g-step);
	position: absolute;
	left: 18px;
	top: 14px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background-color: #79033c;
	color: #ffffff;
	font-family: 'Open Sans', sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 28px;
	text-align: center;
}

/* ---------- check list ---------- */

.g-page ul.g-check {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
}

.g-page ul.g-check > li {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 11px 0 11px 34px;
	border-bottom: 1px solid #e7e3e4;
	font-size: 16px;
	line-height: 1.65;
	color: #5f5a5c;
}

.g-page ul.g-check > li:last-child {
	border-bottom: 0;
}

.g-page ul.g-check > li:before {
	content: "";
	position: absolute;
	left: 4px;
	top: 19px;
	width: 11px;
	height: 6px;
	border-left: 2px solid #79033c;
	border-bottom: 2px solid #79033c;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* ---------- callout / note ---------- */

.g-note {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	margin: 0 0 24px;
	padding: 22px 24px;
	background-color: #f7eef2;
	border: 1px solid #e3cdd6;
}

.g-note--plain {
	background-color: #ffffff;
	border-color: #e6e0e2;
}

.g-note__icon {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	margin: 2px 16px 0 0;
	color: #79033c;
}

.g-page .g-note p {
	font-size: 15px;
	line-height: 1.75;
	color: #5b5457;
	margin-bottom: 12px;
}

.g-page .g-note p:last-child {
	margin-bottom: 0;
}

@media only screen and (max-width: 480px) {
	.g-note {
		display: block;
	}

	.g-note__icon {
		margin-bottom: 10px;
	}
}

/* ---------- worksheet table ---------- */

.g-tablewrap {
	margin: 0 0 20px;
	background-color: #ffffff;
	border: 1px solid #e0dadc;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.g-page .g-tablewrap table.g-table {
	width: 100%;
	min-width: 520px;
	margin: 0;
	border-collapse: collapse;
	font-size: 14px;
}

.g-page .g-tablewrap table.g-table th,
.g-page .g-tablewrap table.g-table td {
	padding: 12px 14px;
	text-transform: none;
	letter-spacing: normal;
	border-bottom: 1px solid #eae5e6;
	border-right: 1px solid #eae5e6;
	text-align: left;
	vertical-align: middle;
	line-height: 1.5;
}

.g-page .g-tablewrap table.g-table th:last-child,
.g-page .g-tablewrap table.g-table td:last-child {
	border-right: 0;
}

.g-page .g-tablewrap table.g-table thead th {
	background-color: #79033c;
	color: #ffffff;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 15px;
	font-weight: normal;
	letter-spacing: 0.2px;
	border-right-color: rgba(255, 255, 255, 0.22);
	border-bottom: 0;
}

.g-page .g-tablewrap table.g-table tbody th {
	width: 40%;
	color: #4f4a4c;
	font-weight: 600;
	background-color: #fbf8f9;
}

.g-page .g-tablewrap table.g-table tbody tr:last-child th,
.g-page .g-tablewrap table.g-table tbody tr:last-child td {
	border-bottom: 0;
}

.g-page .g-tablewrap table.g-table td {
	color: #8d8789;
}

.g-tablenote {
	display: none;
	margin: -12px 0 20px;
	font-size: 13px;
	color: #948e90;
}

@media only screen and (max-width: 690px) {
	.g-tablenote {
		display: block;
	}
}

/* ---------- article footnote ---------- */

.g-disclaimer {
	margin: 34px 0 0;
	padding-top: 18px;
	border-top: 1px solid #e4e0e1;
}

.g-page .g-disclaimer p {
	font-size: 13.5px;
	line-height: 1.7;
	color: #948e90;
	margin-bottom: 0;
}

/* ---------- sidebar: table of contents ---------- */

.g-toc {
	padding: 22px 22px 20px;
	background-color: #ffffff;
	border: 1px solid #e6e0e2;
	border-top: 3px solid #79033c;
}

body #sidebar .g-toc h4 {
	margin: 0 0 14px;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 17px;
	line-height: 1.3;
	font-weight: normal;
	color: #79033c;
	text-transform: none;
	letter-spacing: normal;
}

body #sidebar .g-toc ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

body #sidebar .g-toc li {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid #ece7e9;
}

body #sidebar .g-toc li:first-child {
	border-top: 0;
}

body #sidebar .g-toc a {
	display: block;
	padding: 9px 0;
	font-size: 13.5px;
	line-height: 1.5;
	color: #6b6467;
	text-decoration: none;
}

body #sidebar .g-toc a:hover {
	color: #7a003c;
}

/* Flex the row instead of the theme's float grid: it lets the short sidebar
   column stick alongside a long article on desktop, and lets the contents
   list move above the article on narrow screens. */
.main-content > .row.g-row {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	flex-direction: column;
}

.main-content > .row.g-row:after {
	display: none;
}

.main-content > .row.g-row > .col {
	float: none;
}

@media only screen and (max-width: 1000px) {
	.main-content > .row.g-row > .col {
		width: 100%;
		margin-right: 0;
	}

	.main-content > .row.g-row > #sidebar {
		-ms-flex-order: -1;
		order: -1;
		margin-bottom: 4px;
	}

	.main-content > .row.g-row > #post-area.g-page {
		margin-top: 18px;
	}
}

@media only screen and (min-width: 1001px) {
	.main-content > .row.g-row {
		-ms-flex-direction: row;
		flex-direction: row;
		-ms-flex-align: start;
		align-items: flex-start;
	}

	.main-content > .row.g-row > #sidebar {
		position: -webkit-sticky;
		position: sticky;
		top: 112px;
	}
}

/* ---------- narrow screens ---------- */

/* No side padding of our own on phones: responsive.css already narrows
   .container to 300px there, and it forces #post-area padding-right to 0
   with !important - adding padding-left would only push the text off-centre. */
@media only screen and (max-width: 690px) {
	.g-lead {
		padding: 18px 18px 18px 20px;
	}

	.g-note {
		padding: 18px 18px;
	}

	.g-page ol.g-steps > li {
		padding: 12px 16px 12px 54px;
	}
}
