/*
Theme Name: XS2ASIA
Theme URI: https://xs2asia.com
Author: P-J Broodbakker
Description: Custom WordPress port of the XS2ASIA static site (Zerofour/5grid design, owned template license). Modern CSS grid and media queries replace the legacy 5grid JavaScript layer; visual design preserved 1:1. Native block editor columns map onto the original 12-unit grid look.
Version: 1.0.12
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: xs2asia
*/

/* =====================================================================
   1. Base / typography  (ported from style.css)
   ===================================================================== */

:root {
	--xs2a-accent: #2fbbec;
	--xs2a-border: #e7e7e7;
	--xs2a-text: #303030;
	--xs2a-dark: #121212;
	--xs2a-gutter: 2%;
}

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

body {
	margin: 0;
	background: #000;
	color: var(--xs2a-text);
	font-size: 11pt;
	line-height: 2em;
	font-family: 'Open Sans', sans-serif;
	font-weight: 300;
	letter-spacing: -0.5px;
}

a { color: var(--xs2a-accent); text-decoration: underline; }
a:hover { text-decoration: none; }

h1, h2, h3, h4, h5, h6 {
	font-family: 'Open Sans Condensed', sans-serif;
	color: var(--xs2a-dark);
	font-weight: 700;
}
h1 { font-size: 1em; margin: 0; } /* neutralize UA default 2em (5grid reset did this) */
h2 { font-size: 1.15em; margin: 0.5em 0 0 0; }
h3 { font-size: 1.75em; margin: 0 0 1em 0; }

p, ul { margin-top: 0; margin-bottom: 2.5em; }
strong { font-weight: 600; color: var(--xs2a-dark); }

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

/* Container (replaces .5grid-layout) */
.site-inner {
	width: 1200px;
	max-width: 92%;
	margin: 0 auto;
}

/* =====================================================================
   2. Sections, images, buttons  (signature elements)
   ===================================================================== */

section, article, .xs2a-section { margin: 0 0 4em 0; }
section > :last-child, article > :last-child, .xs2a-section > :last-child { margin-bottom: 0; }

hr, .wp-block-separator {
	display: inline-block;
	border: 0;
	border-top: solid 2px var(--xs2a-border);
	margin: 2em 0;
	height: 0;
	width: 100%;
	background: none;
}

/* Full-bleed double divider used between homepage sections */
.wp-block-separator.is-style-xs2a-divider,
#main-wrapper hr.xs2a-divider {
	border: 0;
	width: 100vw;
	max-width: 100vw;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	border-top: solid 6px #f2f2f2;
	border-bottom: solid 6px var(--xs2a-border);
	margin: 4em 0;
}

/* Framed image treatment */
.image,
.wp-block-image img,
#page-footer .image {
	border: solid 6px var(--xs2a-border);
	transition: border-color .25s ease-in-out;
}
.image { display: inline-block; position: relative; }
.image img { display: block; border: 0; }
.image:hover, .wp-block-image:hover img { border-color: #ccc; }
.image:after {
	content: '';
	display: block;
	position: absolute;
	left: 0; top: 0;
	width: 100%; height: 100%;
	box-shadow: inset 0 0 0 6px rgba(0,0,0,0.15);
	pointer-events: none;
}
.wp-block-image img { box-shadow: inset 0 0 0 6px rgba(0,0,0,0.15); }

.image-fit { display: block; margin: 0 0 2.5em 0; }
.image-fit img { width: 100%; }
.align-left  { float: left;  margin-right: 2em; }
.align-right { float: right; margin-left: 2em; }
.wp-block-image.alignright { float: right; margin: 0 0 1em 2em; }
.wp-block-image.alignleft  { float: left;  margin: 0 2em 1em 0; }
.wp-block-image { margin-bottom: 2.5em; }

/* The blue arrow button */
.button,
.wp-block-button.is-style-xs2a-arrow .wp-block-button__link {
	position: relative;
	display: inline-block;
	background: var(--xs2a-accent);
	color: #fff;
	outline: 0;
	transition: background-color .25s ease-in-out;
	height: 44px;
	line-height: 43px;
	text-decoration: none;
	padding: 0 18px;
	font-style: italic;
	font-size: 1.1em;
	border-radius: 0;
	border: 0;
	margin-right: 14px; /* room for the arrow tip */
}
.button:after,
.wp-block-button.is-style-xs2a-arrow .wp-block-button__link:after {
	content: '';
	display: block;
	position: absolute;
	right: -12px; top: 0;
	border-left: solid 12px var(--xs2a-accent);
	border-top: solid 22px transparent;
	border-bottom: solid 22px transparent;
	transition: border-left-color .25s ease-in-out;
}
.button:hover,
.wp-block-button.is-style-xs2a-arrow .wp-block-button__link:hover { background: #26a8d6; }
.button:hover:after,
.wp-block-button.is-style-xs2a-arrow .wp-block-button__link:hover:after { border-left-color: #26a8d6; }

a.button-big,
.wp-block-button.button-big .wp-block-button__link {
	font-size: 1.75em;
	height: 64px;
	line-height: 62px;
	padding: 0 32px;
	margin-right: 22px;
}
.wp-block-button.button-big { font-size: 1em; } /* wrapper stays neutral */
a.button-big:after,
.wp-block-button.button-big .wp-block-button__link:after {
	right: -20px;
	border-left-width: 20px;
	border-top-width: 32px;
	border-bottom-width: 32px;
}

/* Titles with byline */
header.title h2, .xs2a-title h2 { margin: 0 0 0.4em 0; }
.byline {
	display: block;
	margin: 0 0 1.75em 0;
	font-style: italic;
	font-size: 0.95em;
	color: #aaa;
}
.box-primary header.title, .xs2a-page-title { margin-bottom: 2.5em; position: relative; top: -0.5em; }
.box-primary header.title h2, .xs2a-page-title h2, h2.xs2a-page-title {
	font-size: 3em;
	line-height: 1.2em;
	letter-spacing: -1.5px;
	margin-bottom: 0.25em;
}
.box-primary header.title .byline, .xs2a-page-title .byline { font-size: 1.2em; }

.feature-title h2 { font-size: 3em; line-height: 1.2em; letter-spacing: -1.5px; margin-bottom: 0.5em; }
.feature-title h3 { font-size: 1.75em; margin-bottom: 0.5em; }
.feature-title p {
	font-family: 'Open Sans Condensed', sans-serif;
	font-size: 1.8em;
	line-height: 1.75em;
	margin-bottom: 1em;
	color: #525252;
}

/* Post meta strip (grey bar with tags / ask us) */
footer.meta, .xs2a-meta {
	position: relative;
	background: var(--xs2a-border);
	line-height: 44px;
	margin-top: 2em;
}
footer.meta .info, .xs2a-meta .info {
	position: absolute;
	right: 1.75em;
	font-style: italic;
	font-size: 0.95em;
	color: #888;
}
footer.meta .info a, .xs2a-meta .info a { color: inherit; }
footer.meta .info a.comments, .xs2a-meta .info a.comments {
	border-left: solid 1px #bbb;
	padding-left: 1.5em;
	margin-left: 1.5em;
}
footer.meta .info a.comments:before, .xs2a-meta .info a.comments:before {
	position: relative;
	content: '';
	display: inline-block;
	top: 8px;
	width: 24px; height: 24px;
	background: url('images/sprites.png') 0 -24px;
	margin-right: 0.25em;
}

/* =====================================================================
   3. Icon lists (sprites)  ul.style2, ul.style3, ul.contact
   ===================================================================== */

ul.style1 { list-style: none; padding: 0; }
ul.style1 li { border-top: solid 1px var(--xs2a-border); line-height: 3em; }
ul.style1 li:first-child { border-top: 0; }

ul.style2 { list-style: none; padding: 0; margin-bottom: 0; }
ul.style2 li {
	position: relative;
	border-top: solid 2px var(--xs2a-border);
	line-height: 4em;
	font-style: italic;
	font-size: 1.1em;
	padding-left: 48px;
}
ul.style2 li:first-child { border-top: 0; }
ul.style2 li:before {
	content: '';
	display: block;
	background: #000 url('images/sprites.png') 4px 4px;
	width: 32px; height: 28px;
	position: absolute;
	left: 0; top: 1em;
}
ul.style2 li:after {
	content: '';
	display: block;
	border-left: solid 16px transparent;
	border-right: solid 16px transparent;
	border-top: solid 8px #000;
	position: absolute;
	left: 0; bottom: 8px;
}
ul.style2 li.search:before { background-position: 4px 4px; }
ul.style2 li.social:before { background-position: -20px 4px; }
ul.style2 li.email:before  { background-position: -44px 4px; }

ul.style3 { list-style: none; padding: 0; }
ul.style3 li { border-top: solid 1px var(--xs2a-border); padding: 0.5em 0; }
ul.style3 li:first-child { border-top: 0; padding-top: 0; }
ul.style3 li:before {
	content: '';
	display: inline-block;
	border-left: solid 5px var(--xs2a-accent);
	border-top: solid 5px transparent;
	border-bottom: solid 5px transparent;
	margin-right: 1em;
}

ul.contact { list-style: none; padding: 0; }
ul.contact:after { content: ''; display: block; clear: both; }
ul.contact li {
	position: relative;
	line-height: 1.75em;
	padding-left: 48px;
	width: 50%;
	float: left;
	min-height: 5em;
}
ul.contact li:before {
	content: '';
	display: block;
	background: #202020 url('images/sprites.png') 4px 4px;
	width: 32px; height: 28px;
	position: absolute;
	left: 0; top: 0;
}
ul.contact li:after {
	content: '';
	display: block;
	border-left: solid 16px transparent;
	border-right: solid 16px transparent;
	border-top: solid 8px #202020;
	position: absolute;
	left: 0; top: 28px;
}
ul.contact li.address:before { background-position: -68px 4px; }
ul.contact li.phone:before   { background-position: -92px 4px; }
ul.contact li.social:before  { background-position: -20px 4px; }
ul.contact li.email:before   { background-position: -44px 4px; }

/* =====================================================================
   4. Header  (hero, logo, captions, navigation)
   ===================================================================== */

#header-wrapper {
	text-align: center;
	position: relative;
	background: url('images/default-header.jpg') top center;
	background-size: cover;
	height: 635px;
	border-bottom: solid 25px var(--xs2a-accent);
}
body.subpage #header-wrapper { height: 270px; background-position: top center; }

#page-header { position: absolute; bottom: 0; left: 0; width: 100%; }
#page-header h1 { margin: 0 0 6em 0; }
#page-header h1 a {
	background: var(--xs2a-accent);
	padding: 0.35em 0.9em;
	font-size: 2.25em;
	text-decoration: none;
	color: #fff;
	outline: 0;
}
#page-header h1 a span { font-weight: 300; }
body.subpage #page-header h1 { margin-bottom: 4.5em; }

#page-header .captions { background: rgba(0,0,0,0.85); padding: 3.5em 0; }
#page-header .captions h2 { color: #fff; font-size: 3em; margin: 0 0 0.65em 0; }
#page-header .captions p {
	margin: 0;
	font-family: 'Open Sans Condensed', sans-serif;
	font-weight: 300;
	font-size: 2.25em;
	color: #989898;
}

/* Navigation band */
#page-header nav { background: #000; }
#page-header nav ul { margin: 0; padding: 1.5em 0; list-style: none; }
#page-header nav ul li {
	position: relative;
	display: inline-block;
	padding: 0 1em;
	margin: 0 1em;
	font-size: 1.1em;
}
#page-header nav ul li a {
	outline: 0;
	position: relative;
	text-decoration: none;
	color: #989898;
	font-style: italic;
	transition: color .2s ease-in-out;
}
#page-header nav ul li.current-menu-item > a,
#page-header nav ul li.current-menu-ancestor > a,
#page-header nav ul li:hover > a { color: #fff; }
#page-header nav ul li.current-menu-item:after {
	content: '';
	display: block;
	position: absolute;
	bottom: -1.6em;
	left: 50%;
	margin-left: -15px;
	border-top: solid 15px #000;
	border-left: solid 15px transparent;
	border-right: solid 15px transparent;
}

/* Dropdowns (replaces dropotron, identical look) */
#page-header nav ul ul {
	display: block;
	visibility: hidden;
	opacity: 0;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 15em;
	width: max-content;
	max-width: 24em;
	background: rgba(0,0,0,0.9);
	padding: 1em 0;
	margin-top: 16px;
	box-shadow: 0 5px 10px 0 rgba(0,0,0,0.75);
	text-align: left;
	transition: opacity .2s ease-in-out, visibility .2s;
	z-index: 100;
}
#page-header nav ul li:hover > ul,
#page-header nav ul li:focus-within > ul { visibility: visible; opacity: 1; }
#page-header nav ul ul li {
	display: block;
	line-height: 2.75em;
	margin: 0.5em 0;
	padding: 0;
	transition: background-color .2s ease-in-out;
}
#page-header nav ul ul li a {
	display: block;
	color: #989898;
	font-size: 1em;
	padding: 0 3.5em 0 1.5em;
	white-space: nowrap;
}
#page-header nav ul ul li:hover { background: var(--xs2a-accent); }
#page-header nav ul ul li:hover > a { color: #fff; }
#page-header nav ul ul li:after { display: none; }

/* Mobile menu toggle (hidden on desktop) */
#nav-toggle {
	display: none;
	position: absolute;
	top: 5px; left: 5px;
	z-index: 600;
	background: rgba(0,0,0,0.75);
	color: #fff;
	border: solid 1px #444;
	font-size: 1.4em;
	line-height: 1;
	padding: 0.45em 0.6em;
	cursor: pointer;
}

/* =====================================================================
   5. Wrappers  (intro, main, footer)
   ===================================================================== */

#intro-wrapper, .xs2a-intro {
	background: #fefefe url('images/bg1.png');
	box-shadow: inset 0 0 80px 0 #ccc;
	text-align: center;
	padding: 5em 0;
}
/* The intro band sits directly on the blue header border, like the
   original #intro-wrapper. On the front page the main padding is removed;
   on other pages an opening intro band pulls itself up instead. */
body.home #main-wrapper { padding-top: 0; }
body:not(.home) #main-wrapper .site-inner > .xs2a-intro:first-child { margin-top: -5em; }
.xs2a-intro { margin-bottom: 5em; }

#intro, .xs2a-intro-inner, .xs2a-intro > .wp-block-group { position: relative; }
#intro h2, .xs2a-intro h2 { font-size: 3.75em; line-height: 1.25em; letter-spacing: -2px; margin: 0; }
#intro h2 span, .xs2a-intro h2 span { font-weight: 300; color: #525252; letter-spacing: -1px; }
#intro hr, .xs2a-intro hr { margin: 2.5em 0 3.5em 0; }
#intro p, .xs2a-intro p { font-size: 1.2em; }

@media (min-width: 801px) {
	#intro p, .xs2a-intro p { margin: 0 26em 0 2.5em !important; text-align: right !important; }
	#intro .button-big { position: absolute; bottom: -0.25em; right: 2.5em; }
	.xs2a-intro .wp-block-buttons { position: absolute; bottom: -0.25em; right: 2.5em; margin: 0; }
	.xs2a-intro .wp-block-button { margin: 0; }
	.xs2a-intro .wp-block-button .wp-block-button__link,
	#intro .button-big { width: 14em; padding-left: 0; padding-right: 0; text-align: center; display: block; }
}

#main-wrapper { background: #fff; overflow: hidden; padding: 5em 0; }
body.subpage #main-wrapper { border-top: solid 10px var(--xs2a-border); padding-bottom: 8em; }

#content.right-sidebar { padding-right: 4%; }
#content.left-sidebar  { padding-left: 4%; }

/* Content/sidebar split (replaces 9u / 3u) */
.xs2a-columns { display: flex; gap: 3%; align-items: flex-start; }
.xs2a-content { width: 74.5%; }
.xs2a-sidebar { width: 23.5%; }

/* Footer */
#footer-wrapper { color: #bbb; padding: 6em 0 0 0; }
#footer-wrapper h2 { color: #fff; }
#footer-wrapper h3 { color: #fff; }
#footer-wrapper a { color: #ccc; text-decoration: none; }
#footer-wrapper a:hover { text-decoration: underline; }
#page-footer .xs2a-footer-cols { display: flex; gap: 4%; }
#page-footer .xs2a-footer-cols > div { width: 48%; }
#page-footer section { margin: 0 0 4em 0; }
#copyright {
	border-top: solid 1px #1a1a1a;
	text-align: center;
	padding: 3em 0 6em 0;
	color: #333;
}

/* =====================================================================
   6. Block editor mapping  (columns, groups, buttons)
   ===================================================================== */

/* Columns block behaves like 5grid rows: 2% gutters, no extra margins */
.wp-block-columns { gap: var(--xs2a-gutter); margin-bottom: 2em; }
.wp-block-columns:last-child { margin-bottom: 0; }
.wp-block-column > :first-child { margin-top: 0; }

/* Card ("box-secondary") groups inside columns */
.box-secondary h2 { font-size: 1.15em; }
.box-secondary .wp-block-image, .box-secondary .image-fit { margin-bottom: 2.5em; }

/* Wide/full alignment support */
.alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); }
.alignwide { max-width: 1200px; margin-left: auto; margin-right: auto; }

/* Default WP button (non-arrow style) kept visually consistent */
.wp-block-button__link {
	background: var(--xs2a-accent);
	color: #fff;
	border-radius: 0;
	font-style: italic;
}

/* =====================================================================
   7. Responsive  (replaces 5grid JS breakpoints)
   ===================================================================== */

/* Mid desktop: original "1000px" mode */
@media (max-width: 1199px),
       (-webkit-min-device-pixel-ratio: 1.25) and (max-width: 2399px),
       (min-resolution: 1.25dppx) and (max-width: 2399px) {
	body { font-size: 9.5pt; line-height: 1.75em; }
	.site-inner { width: 960px; }
	#header-wrapper { height: 450px; }
	body.subpage #header-wrapper { height: 200px; }
	#page-header h1 { margin-bottom: 4em; }
	body.subpage #page-header h1 { margin-bottom: 3em; }
	#page-header .captions { padding: 2em 0; }
	#page-header .captions h2 { font-size: 2.5em; margin-bottom: 0.4em; }
	#page-header .captions p { font-size: 2em; }
	#intro-wrapper, .xs2a-intro { padding: 3.25em 0; }
	body:not(.home) #main-wrapper .site-inner > .xs2a-intro:first-child { margin-top: -4em; }
	.xs2a-intro { margin-bottom: 4em; }
	#intro h2, .xs2a-intro h2 { font-size: 2.85em; }
	#main-wrapper { padding: 4em 0 2em 0; }
	#footer-wrapper { padding: 5em 0 0 0; }
	.feature-title h2 { font-size: 2.5em; }
	.feature-title p { font-size: 1.6em; line-height: 1.5em; }
	a.button-big,
	.wp-block-button.button-big .wp-block-button__link { font-size: 1.65em; }
	hr { margin: 1em 0; }
	.wp-block-separator.is-style-xs2a-divider { margin: 3em 0; }
}

/* Mobile: original "mobile" mode — columns collapse, hamburger menu */
@media (max-width: 800px) {
	body { line-height: 1.75em; font-size: 10pt; letter-spacing: 0; }
	h2, h3, h4, h5, h6 { font-size: 1.5em; margin: 1.25em 0 0 0; letter-spacing: -1px; }
	section, article, .xs2a-section { clear: both; margin: 0 0 3em 0; }
	section header h2, article header h2 { margin: 0 0 0.5em 0; }

	#header-wrapper {
		height: 325px;
		border-bottom-width: 10px;
	}
	body.subpage #header-wrapper {
		height: 100px;
		background-position: top center !important;
	}
	#page-header { position: absolute; bottom: 0; left: 0; width: 100%; }
	#page-header h1, body.subpage #page-header h1 { margin: 0 0 2em 0; padding: 0; text-align: center; width: 100%; }
	#page-header h1 a { font-size: 1.8em; padding: 0.5em 0.8em; display: inline-block; }
	#page-header .captions { padding: 1.75em 0; }
	#page-header .captions h2 { font-size: 1.75em; margin: 0 0 0.25em 0; padding: 0 1em; line-height: 1.25em; }
	#page-header .captions p { font-size: 1.5em; padding: 0 1em; line-height: 1.25em; }

	/* Hamburger navigation */
	#nav-toggle { display: block; background: rgba(0,0,0,0.35); border: 0; }
	#page-header nav {
		display: none;
		text-align: left;
	}
	body.nav-open #page-header nav {
		display: block;
		position: fixed;
		top: 0; left: 0; right: 0;
		max-height: 100vh;
		overflow-y: auto;
		background: rgba(0,0,0,0.95);
		z-index: 500;
		padding: 3.5em 0 1em 0;
	}
	#page-header nav ul { padding: 0.5em 0; }
	#page-header nav ul li {
		display: block;
		margin: 0;
		padding: 0;
		border-top: solid 1px #1a1a1a;
	}
	#page-header nav ul li a { display: block; padding: 0.9em 1.25em; }
	#page-header nav ul li.current-menu-item:after { display: none; }
	#page-header nav ul ul {
		position: static;
		visibility: visible;
		opacity: 1;
		box-shadow: none;
		background: #111;
		margin: 0;
		padding: 0;
		min-width: 0;
		width: auto;
		max-width: none;
	}
	#page-header nav ul ul li a { padding-left: 2.5em; white-space: normal; }

	.button {
		text-align: center;
		font-size: 1.25em;
		letter-spacing: -0.5px;
	}
	.feature-title h2 { font-size: 1.75em; margin-bottom: 1em; }
	.feature-title p { font-size: 1.5em; line-height: 1.25em; margin-bottom: 1em; }

	/* Everything stacks */
	.xs2a-columns { display: block; }
	.xs2a-content, .xs2a-sidebar { width: 100%; }
	#content.right-sidebar { padding-right: 0; }
	.xs2a-sidebar { margin-top: 3em; }
	#page-footer .xs2a-footer-cols { display: block; }
	#page-footer .xs2a-footer-cols > div { width: 100%; }
	ul.contact li { width: 100%; float: none; }
	.align-right, .align-left,
	.wp-block-image.alignright, .wp-block-image.alignleft {
		float: none;
		margin: 0 0 1.5em 0;
		display: block;
	}
	hr { margin: 1.5em 0; }
	.wp-block-separator.is-style-xs2a-divider {
		border-top-width: 3px;
		border-bottom-width: 3px;
		margin: 2.5em 0;
	}
	footer.meta .tags, .xs2a-meta .tags { display: none; }
	footer.meta .info a.comments, .xs2a-meta .info a.comments { border-left: 0; }
	#intro h2, .xs2a-intro h2 { font-size: 1.75em; line-height: 1.25em; letter-spacing: -1px; margin: 0; }
	#intro hr, .xs2a-intro hr { margin: 1.5em 0; }
	#intro p, .xs2a-intro p { margin: 0 0 2em 0; text-align: center; }
	#intro-wrapper, .xs2a-intro { padding: 2.5em 20px 3em 20px; }
	body.subpage #main-wrapper { border-top-width: 5px; padding-bottom: 3em; }
	.xs2a-sidebar { border-top: solid 3px var(--xs2a-border); box-shadow: inset 0 3px 0 0 #f2f2f2; padding-top: 3em; }
	.image, .wp-block-image img { border-width: 3px; }
	.wp-block-image img { box-shadow: inset 0 0 0 3px rgba(0,0,0,0.15); }
	.box-secondary { overflow: hidden; }
	.box-secondary .wp-block-image { width: 30%; float: left; margin: 0 0 1em 0; }
	.box-secondary h2, .box-secondary h3, .box-secondary p, .box-secondary .wp-block-buttons { margin-left: 38%; }
	#copyright { padding: 2em; }
	body:not(.home) #main-wrapper .site-inner > .xs2a-intro:first-child { margin-top: -4em; }
	.xs2a-intro { margin-bottom: 3em; }

	/* Page titles: the original mobile stylesheet is standalone and never
	   defines the desktop 3em title, so titles render at the generic
	   heading size. Mirror that. */
	.box-primary header.title, .xs2a-page-title { margin-bottom: 1.5em; top: 0; }
	.box-primary header.title h2, .xs2a-page-title h2, h2.xs2a-page-title {
		font-size: 1.5em;
		line-height: 1.5em;
		letter-spacing: -1px;
		margin: 0 0 0.25em 0;
	}
	.box-primary header.title .byline, .xs2a-page-title .byline, .byline { font-size: 1em; }
	hr { border-top-width: 1px; }
	ul.style2 { margin-bottom: 2.5em; }
	ul.style2 li { border-top-width: 1px; }
	#footer-wrapper { padding: 4em 0 0 0; }
}

/* WordPress core columns stack at its native 781px; align with our 800px */
@media (max-width: 800px) {
	.wp-block-columns { flex-wrap: wrap !important; }
	.wp-block-columns .wp-block-column { flex-basis: 100% !important; }
}
