/*
 * davidpepper.com — site stylesheet (static fidelity rebuild).
 *
 * Owns all presentation. Sections follow the original homepage cascade order
 * recorded in migration/design-reference/stylesheets.json:
 *   01 Altitude Pro 1.2.2 style.css   curated port: only rules for markup this
 *                                     site renders; values and breakpoints
 *                                     (1280/1200/1023/800/480px) unchanged
 *   02 altitude-pro-inline-css        customizer backgrounds and #a30909 action
 *                                     colours; verbatim except url() spelling
 *   03 block-library common           screen-reader-text rules only
 *   06 dashicons                      menu glyph rules only
 *   10 custom header                  logo as the site-title link background
 *   12 wp-custom-css                  the FINAL override: black page, white text,
 *                                     no image-section overlay, red .dark header,
 *                                     white button hover, 800px toggle colours;
 *                                     verbatim except the embed iframe selector
 * Not present in the homepage reference: 04/05/08/09/11 contain no rule that
 * matches this markup. The WPForms block is contact-page only (see below).
 * check.py verifies that every 02 and 12 rule appears here, in order, with the
 * same declarations, and that backgrounds, logo and font faces match the
 * reference.
 *
 * Original element look is reproduced on valid heading levels with t-hN
 * classes (t-h1 = the original h1 look, etc.); original inline style/align
 * attributes become the classes in INLINE ATTRIBUTE EQUIVALENTS (CSP forbids
 * inline styles). See build.py.
 *
 * Fonts: Ek Mukta 200/800 latin faces and dashicons are self-hosted copies of
 * the exact admitted public bytes (migration/design-inputs/admission.json);
 * weights and unicode-range are those of reference 07-linked.css.txt.
 *
 * URL rule: only url("/root/relative") to admitted media or fonts; build.py and
 * check.py refuse every other form.
 *
 * Sections: FONTS, THEME: RESET, THEME: TYPOGRAPHY, THEME: HEADINGS,
 * THEME: OBJECTS, THEME: FORMS, THEME: BUTTONS, THEME: SCREEN READER TEXT,
 * THEME: STRUCTURE, THEME: ENTRIES, THEME: SKIP LINKS, THEME: SITE HEADER,
 * THEME: NAVIGATION, THEME: FRONT PAGE, THEME: FLEXIBLE WIDGETS, THEME: CONTENT,
 * THEME: SITE FOOTER, THEME: MEDIA QUERIES, PLUGIN: WPFORMS,
 * CUSTOMIZER (02), BLOCK LIBRARY (03), DASHICONS (06), CUSTOM HEADER (10),
 * CUSTOM CSS (12), SCRIPT-SET LAYOUT, INLINE ATTRIBUTE EQUIVALENTS,
 * SECURITY REPLACEMENTS, LOCAL PREVIEW, MODES
 */

/* === FONTS === */
/* Reference 07: Ek Mukta 200 and 800, latin subset. The devanagari and
   latin-ext subsets are not served: check.py verifies every page character
   falls inside these ranges (or is a declared fallback glyph). */
@font-face {
	font-family: "Ek Mukta";
	font-style: normal;
	font-weight: 200;
	src: url("/assets/fonts/font-44fbae24ee0425.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Ek Mukta";
	font-style: normal;
	font-weight: 800;
	src: url("/assets/fonts/font-8a8d28cc81e436.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Reference 06: dashicons, weight 400; only the TrueType source was admitted. */
@font-face {
	font-family: dashicons;
	font-style: normal;
	font-weight: 400;
	src: url("/assets/fonts/font-861f1c1cb972f1.ttf") format("truetype");
}

/* === THEME: RESET === */
/* normalize.css v8.0.1 subset as shipped in the theme. */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
main { display: block; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
a { background-color: transparent; }
b, strong { font-weight: bolder; }
img { border-style: none; }
button, input, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; }
button, input { overflow: visible; }
button { text-transform: none; }
[type=button], [type=submit], button { -webkit-appearance: button; }
textarea { overflow: auto; }
[hidden] { display: none; }

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

.clearfix::before, .entry::before, .entry-content::before, .site-container::before,
.site-footer::before, .site-header::before, .site-inner::before, .widget::before, .wrap::before {
	content: " ";
	display: table;
}

.clearfix::after, .entry::after, .entry-content::after, .site-container::after,
.site-footer::after, .site-header::after, .site-inner::after, .widget::after, .wrap::after {
	clear: both;
	content: " ";
	display: table;
}

/* === THEME: TYPOGRAPHY === */
/* Theme defaults; CUSTOM CSS (12) later turns the page black with white text. */
body {
	background-color: #fff;
	color: #000;
	font-family: "Ek Mukta", sans-serif;
	font-size: 20px;
	font-weight: 200;
	line-height: 1.5;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}

a, input:focus, input[type="button"], input[type="reset"], input[type="submit"],
textarea:focus, .button, .site-header.dark {
	transition: all 0.2s ease-in-out;
}

::selection { background-color: #000; color: #fff; }

a { color: #079bc4; text-decoration: none; }
a:focus, a:hover { color: #000; }

p { margin: 0 0 30px; padding: 0; }

ol, ul { margin: 0; padding: 0; }
li { list-style-type: none; }

b, strong { font-weight: 800; }
cite, em, i { font-style: italic; }

hr {
	border: 0;
	border-collapse: collapse;
	border-top: 2px solid #f5f5f5;
	clear: both;
	margin: 40px 0;
}

/* === THEME: HEADINGS === */
h1, h2, h3, h4, h5, h6, .t-h1, .t-h2, .t-h4, .t-h6 {
	font-family: "Ek Mukta", sans-serif;
	font-weight: 200;
	line-height: 1.2;
	margin: 0 0 20px;
}

h1, .t-h1 { font-size: 36px; }
h2, .t-h2 { font-size: 32px; }
h3 { font-size: 30px; }
h4, .t-h4 { font-size: 24px; }
h5 { font-size: 20px; }
h6, .t-h6 { font-size: 18px; }

/* Original: .image-section h4, .solid-section h4 (review/quote attributions). */
.image-section h4, .solid-section h4, .image-section .t-h4, .solid-section .t-h4 {
	border-width: 0;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 3px;
	padding-bottom: 0;
	text-transform: uppercase;
}

/* Original quote links were wrapped in <u>. */
.review-quote a { text-decoration: underline; }

/* === THEME: OBJECTS === */
img { max-width: 100%; }
img { height: auto; }

/* === THEME: FORMS === */
input, textarea {
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 0;
	box-shadow: none;
	color: #000;
	font-size: 20px;
	font-weight: 200;
	padding: 20px;
	width: 100%;
}

input:focus, textarea:focus { border: 1px solid #999; outline: none; }
.front-page input:focus, .front-page textarea:focus { border: 1px solid #079bc4; outline: none; }

::placeholder { color: #000; opacity: 1; }

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.site-container div.wpforms-container-full .wpforms-form input[type="submit"],
.site-container div.wpforms-container-full .wpforms-form button[type="submit"],
.widget .button {
	background-color: #079bc4;
	border: 2px solid #079bc4;
	border-radius: 5px;
	color: #fff;
	cursor: pointer;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 2px;
	padding: 15px 25px;
	text-transform: uppercase;
	-webkit-font-smoothing: antialiased;
	white-space: normal;
	width: auto;
}

/* === THEME: BUTTONS === */
button:focus,
button:hover,
input[type="button"]:focus,
input[type="button"]:hover,
input[type="reset"]:focus,
input[type="reset"]:hover,
input[type="submit"]:focus,
input[type="submit"]:hover,
.button.clear:focus,
.button.clear:hover,
.button:focus,
.button:hover,
.footer-widgets .widget .button,
.footer-widgets button,
.footer-widgets input[type="button"],
.footer-widgets input[type="reset"],
.footer-widgets input[type="submit"],
.site-container div.wpforms-container-full .wpforms-form input[type="submit"]:focus,
.site-container div.wpforms-container-full .wpforms-form input[type="submit"]:hover,
.site-container div.wpforms-container-full .wpforms-form button[type="submit"]:focus,
.site-container div.wpforms-container-full .wpforms-form button[type="submit"]:hover,
.widget .button.clear:focus,
.widget .button.clear:hover,
.widget .button:focus,
.widget .button:hover {
	background-color: #000;
	border: 2px solid #000;
	color: #fff;
}

.button { display: inline-block; }

.footer-widgets .widget .button.clear,
.widget .button.clear {
	background-color: transparent;
	border: 2px solid #000;
	color: #000;
}

.image-section .button { margin-left: 5px; margin-right: 5px; margin-top: 20px; }

/* The book and testimonial CTAs are "button clear white" links. */
.image-section .widget .button.clear {
	background-color: transparent;
	border-color: #fff;
	color: #fff;
}

.image-section button:focus,
.image-section button:hover,
.image-section input[type="button"]:focus,
.image-section input[type="button"]:hover,
.image-section input[type="reset"]:focus,
.image-section input[type="reset"]:hover,
.image-section input[type="submit"]:focus,
.image-section input[type="submit"]:hover,
.image-section .widget .button:focus,
.image-section .widget .button:hover {
	background-color: #fff;
	border: 2px solid #fff;
	color: #000;
}

/* === THEME: SCREEN READER TEXT === */
.screen-reader-shortcut, .screen-reader-text, .screen-reader-text span {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-shortcut:focus, .screen-reader-text:focus {
	background: #fff;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #000;
	display: block;
	font-size: 1em;
	font-weight: 800;
	height: auto;
	padding: 15px 23px 14px;
	text-decoration: none;
	width: auto;
	z-index: 100000;
}

/* === THEME: STRUCTURE === */
.site-inner, .wrap { float: none; margin: 0 auto; max-width: 1200px; }

.site-inner {
	background-color: #fff;
	clear: both;
	margin-top: 170px;
	position: relative;
	z-index: 9;
	word-wrap: break-word;
}

.front-page .site-container .site-inner { margin-top: 0; max-width: 100%; }

/* Skip-link target receives programmatic focus only. */
main:focus { outline: none; }

/* === THEME: ENTRIES === */
.entry { margin-bottom: 100px; }

.entry-title { font-size: 48px; }

.entry-header { text-align: center; }

.entry-header::after {
	border-bottom: 1px solid #000;
	content: "";
	display: block;
	margin: 0 auto 60px;
	padding-bottom: 30px;
	width: 25%;
}

.entry-content ol, .entry-content ul { margin-bottom: 30px; margin-left: 40px; }
.entry-content ol > li { list-style-type: decimal; }
.entry-content ul > li { list-style-type: disc; }

/* === THEME: SKIP LINKS === */
.genesis-skip-link { margin: 0; }
.genesis-skip-link li { height: 0; width: 0; list-style: none; }

/* Original focus treatment, kept as published. */
:focus { color: #333; outline: #ccc solid 1px; }

/* === THEME: SITE HEADER === */
.site-header {
	background-color: #000;
	left: 0;
	position: fixed;
	width: 100%;
	z-index: 999;
}

/* Theme value; CUSTOM CSS (12) makes the scrolled header red. */
.site-header.dark { background-color: #000; }
.site-header.dark > .wrap { border-bottom: none; }

.title-area { float: left; padding: 25px 0; width: 360px; }
.site-header.dark .title-area { padding: 15px 0; }

.site-title {
	font-size: 24px;
	font-weight: 800;
	letter-spacing: 2px;
	line-height: 1;
	margin-bottom: 0;
	text-transform: uppercase;
}

.site-title a, .site-title a:focus, .site-title a:hover { color: #fff !important; }

/* body.header-image: the logo fills a 76px (56px when .dark) link box. */
.header-image .title-area, .header-image .site-header.dark .title-area { padding: 0; }

.header-image .site-title > a {
	background-size: contain !important;
	display: block;
	height: 76px;
	text-indent: -9999px;
}

.header-image .dark .site-title > a { height: 56px; }

.site-description {
	display: block;
	height: 0;
	margin-bottom: 0;
	text-indent: -9999px;
}

/* === THEME: NAVIGATION === */
.genesis-nav-menu { line-height: 1; }

.genesis-nav-menu .menu-item { display: inline-block; text-align: left; }

.genesis-nav-menu a {
	color: #fff;
	display: block;
	font-size: 14px;
	font-weight: 200;
	letter-spacing: 1px;
	padding: 30px 15px;
	text-transform: uppercase;
}

.site-header.dark .genesis-nav-menu a { padding: 20px 15px; }

.front-page .genesis-nav-menu li.current-menu-item > a,
.genesis-nav-menu > li > a {
	border-bottom: 2px solid transparent;
}

.front-page .genesis-nav-menu li.current-menu-item > a:focus,
.front-page .genesis-nav-menu li.current-menu-item > a:hover,
.genesis-nav-menu li.current-menu-item > a,
.genesis-nav-menu > li > a:focus,
.genesis-nav-menu > li > a:hover {
	border-color: #fff;
}

.genesis-nav-menu > .menu-item > a { text-transform: uppercase; }

.nav-primary { text-align: center; }
.nav-primary .genesis-nav-menu { float: right; }

.sub-menu-toggle, .menu-toggle { display: none; visibility: hidden; }

/* === THEME: FRONT PAGE === */
.image-section, .solid-section { clear: both; text-align: center; width: 100%; }

/* Theme overlay; CUSTOM CSS (12) removes it ("background: none"). */
.image-section {
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.5) 30%, rgba(0, 0, 0, 0.8) 80%, rgba(0, 0, 0, 0.9) 100%);
	display: table;
	overflow: hidden;
	table-layout: fixed;
	width: 100%;
}

.image-section .widget-area { display: table-cell; text-align: center; vertical-align: middle; }

.image-section, .image-section a { color: #fff; }
.image-section a:focus, .image-section a:hover { color: #079bc4; }

.solid-section { background-color: #fff; }

.front-page-3, .front-page-4, .front-page-5, .front-page-7 {
	border-top: 54px solid transparent;
	margin-top: -54px;
	background-clip: padding-box;
	position: relative;
	z-index: 9;
}

.front-page-1, .front-page-3, .front-page-5, .front-page-7 {
	background-attachment: fixed;
	background-color: #fff;
	background-position: 50% 0;
	background-repeat: no-repeat;
	background-size: cover;
}

.front-page-1 { position: relative; }
.front-page-1 .image-section { padding-top: 75px; }

/* Theme value; CUSTOM CSS (12) div[class=solid-section] makes it black. */
.front-page-4 .solid-section { background-color: #f3f3f3; }

/* === THEME: FLEXIBLE WIDGETS === */
.flexible-widgets { padding-bottom: 60px; padding-top: 100px; }

.flexible-widgets .widget { float: left; margin: 0 0 40px 2.564102564102564%; }

.flexible-widgets.widget-full .widget,
.flexible-widgets.widget-area .widget:nth-of-type(1),
.flexible-widgets.widget-halves.uneven .widget:last-of-type {
	background: none;
	margin-left: 0;
	padding: 0;
	width: 100%;
}

.flexible-widgets.widget-halves .widget { width: 48.717948717948715%; }
.flexible-widgets.widget-thirds .widget { width: 31.623931623931625%; }

.flexible-widgets.widget-halves .widget:nth-child(even),
.flexible-widgets.widget-thirds .widget:nth-child(3n+2) {
	clear: left;
	margin-left: 0;
}

.solid-section .widget { background-color: #fff; padding: 40px; }

.widget { word-wrap: break-word; }

/* === THEME: CONTENT === */
.content { float: left; width: 700px; }
.page .content { padding-bottom: 50px; }
.full-width-content .content { padding: 0 200px 50px; width: 100%; }
.full-width-content.front-page .content { padding: 0; }

/* === THEME: SITE FOOTER === */
.site-footer { background-color: #000; padding: 20px; text-align: center; }
.site-footer, .site-footer a, .site-footer p { color: #fff; }
.site-footer a:focus, .site-footer a:hover { color: #079bc4; }

.site-footer p {
	font-size: 14px;
	letter-spacing: 1px;
	margin-bottom: 0;
	text-transform: uppercase;
}

/* === THEME: MEDIA QUERIES === */
@media only screen and (max-width: 1280px) {
	.site-inner, .wrap { max-width: 1140px; }
}

@media only screen and (max-width: 1200px) {
	.site-inner, .wrap { max-width: 960px; }
	.content { width: 520px; }
	.full-width-content .content { padding: 0 110px; }
	.genesis-nav-menu a { padding: 30px 10px; }
	.site-header.dark .genesis-nav-menu a { padding: 20px 10px; }
	.front-page-1, .front-page-3, .front-page-5, .front-page-7 { background-attachment: scroll; }
}

@media only screen and (max-width: 1023px) {
	.site-inner, .wrap { max-width: 768px; }
	.front-page .site-inner { max-width: none; }
	.site-header { position: static; }
	.front-page .site-header { background-color: #000; }
	.front-page .site-header > .wrap { border: none; }
	.content, .title-area { width: 100%; }
	.site-header .title-area, .site-header.dark .title-area { padding: 15px 0; }
	.header-image .dark .site-title > a { height: 76px; }
	.genesis-nav-menu, .site-title { text-align: center; }
	.header-image .site-title > a { background-position: center !important; }
	.nav-primary .genesis-nav-menu { float: none; }
	.genesis-nav-menu a, .site-header.dark .genesis-nav-menu a { padding: 10px; }
	.front-page .site-inner { margin-top: 0; }
	.site-inner { margin-top: 80px; }
	.full-width-content .content { padding: 0; }
	.flexible-widgets.widget-full .widget,
	.flexible-widgets.widget-halves .widget,
	.flexible-widgets.widget-thirds .widget {
		margin: 0 auto 20px;
		width: 100%;
	}
	.front-page-1 .image-section { padding-top: 0; }
}

@media only screen and (max-width: 800px) {
	.site-inner, .wrap { max-width: none; width: 100%; }
	.site-inner, .wrap { padding: 0 5%; }
	.front-page .site-inner { padding: 0; }
	nav.nav-primary { top: 0; }
	.site-header nav .wrap { padding: 0; }
	/* The original nav gained .genesis-responsive-menu (and was hidden) only
	   once its script ran; .js-nav reproduces that, so no-JS keeps the menu. */
	.js-nav nav.genesis-responsive-menu { display: none; position: relative; }
	.js-nav nav.genesis-responsive-menu.is-open { display: block; }
	.menu-toggle, .sub-menu-toggle {
		border-width: 0;
		background: #000;
		color: #fff;
		display: block;
		margin: 0 auto;
		overflow: hidden;
		text-align: center;
		visibility: visible;
	}
	.menu-toggle:focus, .menu-toggle:hover, .sub-menu-toggle:focus, .sub-menu-toggle:hover {
		background-color: transparent;
		color: #079bc4;
		border-width: 0;
	}
	.menu-toggle:focus, .sub-menu-toggle:focus { outline: 1px solid #ccc; outline-offset: -1px; }
	.menu-toggle {
		line-height: 20px;
		margin-bottom: 1px;
		position: relative;
		z-index: 1000;
		width: 100%;
	}
	.menu-toggle::before, .menu-toggle.activated::before { margin-right: 10px; text-rendering: auto; }
	.js-nav .genesis-responsive-menu .genesis-nav-menu .menu-item a,
	.js-nav .genesis-responsive-menu .genesis-nav-menu .menu-item a:focus,
	.js-nav .genesis-responsive-menu .genesis-nav-menu .menu-item a:hover {
		background-color: transparent;
		border-bottom: 0;
		margin-bottom: 1px;
	}
	.js-nav .genesis-responsive-menu .genesis-nav-menu .menu-item a { outline-color: #fff; }
	.js-nav .genesis-responsive-menu .genesis-nav-menu .menu-item a:focus,
	.js-nav .genesis-responsive-menu .genesis-nav-menu .menu-item a:hover { text-decoration: underline; }
	.js-nav .genesis-responsive-menu .genesis-nav-menu .menu-item a:focus { outline: 1px solid #fff; }
	.js-nav .genesis-responsive-menu .genesis-nav-menu .menu-item {
		display: block;
		float: none;
		position: relative;
		text-align: left;
	}
	.js-nav .genesis-responsive-menu .genesis-nav-menu > li > a,
	.js-nav .genesis-responsive-menu .genesis-nav-menu .menu-item a { border: 0; }
	.js-nav .genesis-responsive-menu .genesis-nav-menu .menu-item a { padding: 15px 20px; width: 100%; }
	.front-page-3, .front-page-4, .front-page-5, .front-page-7 { border-top: 0; margin-top: 0; }
	.image-section .flexible-widgets { padding-bottom: 80px; }
	.solid-section .flexible-widgets { padding-bottom: 40px; padding-top: 60px; }
}

/* === PLUGIN: WPFORMS === */
/* Contact page only; NOT in the homepage design reference. Classic "full"
   rules from the preserved plugin source plus the theme's WPForms overrides.
   Field sizes are the WPForms defaults (medium); the original form settings
   and this sheet's cascade position were not captured. The submit control is a
   plain button, styled by the generic button rules (02 red, 12 hover). */
.entry-content .wpforms-container { margin: 24px auto 40px; }

.wpforms-form .wpforms-field-container { margin: 0; }

.entry-content .wpforms-form .wpforms-field {
	clear: both;
	margin: 20px 0;
	overflow: hidden;
	padding: 10px 0;
}

.wpforms-form .wpforms-field-label {
	display: block;
	float: none;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.3;
	margin: 0 0 4px;
	padding: 0;
	word-break: break-word;
}

.wpforms-form .wpforms-field-sublabel {
	display: block;
	float: none;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.3;
	margin: 4px 0 0;
	padding: 0;
	word-break: break-word;
}

.wpforms-form .wpforms-required-label { color: red; font-weight: 400; }

.wpforms-form .wpforms-field-row { margin-bottom: 8px; position: relative; }
.wpforms-form .wpforms-field .wpforms-field-row:last-of-type { margin-bottom: 0; }
.wpforms-form .wpforms-field-row::before { content: ""; display: table; }
.wpforms-form .wpforms-field-row::after { clear: both; content: ""; display: table; }
.wpforms-form .wpforms-field-row.wpforms-field-medium { max-width: 60%; }

.wpforms-form .wpforms-one-half { float: left; margin-left: 20px; width: calc(50% - 10px); }
.wpforms-form .wpforms-first { clear: both !important; margin-left: 0 !important; }

.wpforms-form input[type=text], .wpforms-form input[type=email], .wpforms-form textarea {
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 0;
	color: #333;
	display: block;
	float: none;
	font-family: inherit;
	font-size: 16px;
	height: auto;
	line-height: 1.3;
	padding: 20px;
	width: 100%;
}

.wpforms-form input.wpforms-field-medium { max-width: 60%; }
.wpforms-form textarea { max-width: 100%; min-height: 38px; resize: vertical; }
.wpforms-form textarea.wpforms-field-medium { height: 200px; }

.wpforms-form .wpforms-submit-container { clear: both; padding: 10px 0 0; position: relative; }

/* === CUSTOMIZER (02) === */
/* altitude-pro-inline-css, verbatim; only the url() spelling differs
   (root-relative to the same admitted files). */
.front-page-1 { background-image: url("/wp-content/uploads/2022/08/davidpepper_background6-scaled.jpg"); }
.front-page-3 { background-image: url("/wp-content/uploads/2019/10/wingman-themebackground.jpg"); }
.front-page-5 { background-image: url("/wp-content/uploads/2022/08/backgroundwithgradient_3.jpg"); }
.front-page-7 { background-image: url("/wp-content/uploads/2022/08/backgroundwithgradient_2.jpg"); }

.image-section a:focus,
.image-section a:hover,
.image-section .featured-content .entry-title a:focus,
.image-section .featured-content .entry-title a:hover,
.site-footer a:focus,
.site-footer a:hover {
	color: #a30909;
}

.image-section button,
.image-section input[type="button"],
.image-section input[type="reset"],
.image-section input[type="submit"],
.image-section .widget .button {
	background-color: #a30909;
	color: #ffffff;
}

.image-section button,
.image-section input[type="button"],
.image-section input[type="reset"],
.image-section input[type="submit"],
.image-section .button,
.front-page .image-section input:focus,
.front-page .image-section textarea:focus,
.image-section .widget .button {
	border-color: #a30909;
}

@media only screen and (max-width:800px) {
	.menu-toggle:focus,
	.menu-toggle:hover,
	.sub-menu-toggle:focus,
	.sub-menu-toggle:hover {
		color: #a30909;
	}
}

a,
.entry-title a:focus,
.entry-title a:hover {
	color: #a30909;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.archive-pagination li a:focus,
.archive-pagination li a:hover,
.archive-pagination .active a,
.button,
.footer-widgets,
.site-container div.wpforms-container-full .wpforms-form input[type="submit"],
.site-container div.wpforms-container-full .wpforms-form button[type="submit"],
.widget .button {
	background-color: #a30909;
	color: #ffffff;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.front-page input:focus,
.front-page textarea:focus,
.site-container div.wpforms-container-full .wpforms-form input[type="submit"],
.site-container div.wpforms-container-full .wpforms-form button[type="submit"],
.widget .button {
	border-color: #a30909;
}

.footer-widgets a,
.footer-widgets .wrap a {
	background: transparent;
	border-color: #ffffff;
	color: #ffffff;
}

.footer-widgets .wrap a:focus,
.footer-widgets .wrap a:hover {
	color: #cdcdcd;
}

.footer-widgets .widget button,
.footer-widgets .widget input[type="button"],
.footer-widgets .widget input[type="reset"],
.footer-widgets .widget input[type="submit"],
.footer-widgets .widget a.button {
	background-color: #ffffff;
	border-color: #ffffff;
	color: #000000;
}

.footer-widgets .widget a.button.clear {
	border-color: #ffffff;
	color: #ffffff;
}

.footer-widgets .widget button:focus,
.footer-widgets .widget button:hover,
.footer-widgets .widget input[type="button"]:focus,
.footer-widgets .widget input[type="button"]:hover,
.footer-widgets .widget input[type="reset"]:focus,
.footer-widgets .widget input[type="reset"]:hover,
.footer-widgets .widget input[type="submit"]:focus,
.footer-widgets .widget input[type="submit"]:hover,
.footer-widgets .widget a.button:focus,
.footer-widgets .widget a.button:hover,
.footer-widgets .widget a.button.clear:focus,
.footer-widgets .widget a.button.clear:hover {
	background-color: #cdcdcd;
	border-color: #cdcdcd;
	color: #000000;
}

/* === BLOCK LIBRARY (03) === */
/* Later in the cascade than the theme, so these win for .screen-reader-text. */
.screen-reader-text {
	word-wrap: normal !important;
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-break: normal !important;
}

/* === DASHICONS (06) === */
.dashicons-before::before {
	font-family: dashicons;
	display: inline-block;
	line-height: 1;
	font-weight: 400;
	font-style: normal;
	text-decoration: inherit;
	text-transform: none;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	width: 20px;
	height: 20px;
	font-size: 20px;
	vertical-align: top;
	text-align: center;
	transition: color 0.1s ease-in;
}

.dashicons-menu::before { content: "\f333"; }

/* === CUSTOM HEADER (10) === */
/* Genesis custom header output; the theme's background-size/position
   !important rules above win by specificity, as in the original. */
.site-title a { background: url("/wp-content/uploads/2019/10/cropped-davidpepper2000-1.png") no-repeat !important; }

/* === CUSTOM CSS (12) === */
/* wp-custom-css, the last stylesheet on the original page. Verbatim except:
   the stray "!important;" token after "background: none;" (invalid, ignored
   by browsers) is dropped; the ".embed-youtube iframe/object/embed" rule is
   replaced in SECURITY REPLACEMENTS; the unterminated 800px block is closed. */
.embed-youtube {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

.image-section {
	background: none;
	display: table;
	overflow: hidden;
	table-layout: fixed;
	width: 100%;
}

::-moz-selection {
	background-color: #530006;
	color: #fff;
}

::selection {
	background-color: #91000b;
	color: #fff;
}

.entry-header::after {
	border-bottom: 1px solid #FFF;
	content: "";
	display: block;
	margin: 0 auto 60px;
	padding-bottom: 30px;
	width: 25%;
}

body {
	background-color: #000;
	color: #FFF;
	font-family: "Ek Mukta", sans-serif;
	font-size: 20px;
	font-weight: 200;
	line-height: 1.5;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}

.site-header.dark {
	background-color: #a1000a;
	color: #FFFFFF;
}

.site-header.dark .genesis-nav-menu a {
	color: #FFFFFF;
}

.site-header.dark .site-title a,
.site-header.dark .site-title a:hover {
	color: #fff!important;
}

div[class=solid-section] {
	background-color: #000000 !important;
	color: #FFFFFF !important
}

div[class=site-inner] {
	background-color: #000000 !important;
	color: #FFFFFF !important
}

button:focus,
button:hover,
input[type="button"]:focus,
input[type="button"]:hover,
input[type="reset"]:focus,
input[type="reset"]:hover,
input[type="submit"]:focus,
input[type="submit"]:hover,
.button.clear:focus,
.button.clear:hover,
.button:focus,
.button:hover,
.footer-widgets .widget .button,
.footer-widgets button,
.footer-widgets input[type="button"],
.footer-widgets input[type="reset"],
.footer-widgets input[type="submit"],
.site-container div.wpforms-container-full .wpforms-form input[type="submit"]:focus,
.site-container div.wpforms-container-full .wpforms-form input[type="submit"]:hover,
.site-container div.wpforms-container-full .wpforms-form button[type="submit"]:focus,
.site-container div.wpforms-container-full .wpforms-form button[type="submit"]:hover,
.widget .button.clear:focus,
.widget .button.clear:hover,
.widget .button:focus,
.widget .button:hover {
	background-color: #FFF;
	border: 2px solid #000;
	color: #000;
}

@media only screen and (max-width:800px) {
	.menu-toggle:focus,
	.menu-toggle:hover,
	.sub-menu-toggle:focus,
	.sub-menu-toggle:hover {
		color: #FFFFFF;
		background-color: transparent;
	}
	.menu-toggle,
	.sub-menu-toggle {
		border-width: 0;
		background: transparent;
		color: #fff;
		display: block;
		margin: 0 auto;
		overflow: hidden;
		text-align: center;
		visibility: visible;
	}
	.menu-toggle:focus,
	.menu-toggle:hover,
	.sub-menu-toggle:focus,
	.sub-menu-toggle:hover {
		background-color: transparent;
		color: #079bc4;
		border-width: 0;
	}
	.menu-toggle:focus,
	.sub-menu-toggle:focus {
		outline: 1px solid #ccc;
		outline-offset: -1px;
	}
	.menu-toggle {
		line-height: 20px;
		margin-bottom: 1px;
		position: relative;
		z-index: 1000;
		width: 100%;
	}
	.menu-toggle::before,
	.menu-toggle.activated::before {
		margin-right: 10px;
		text-rendering: auto;
	}
	.sub-menu-toggle {
		float: right;
		padding: 10px;
		position: absolute;
		right: 0;
		top: 0;
		z-index: 100;
	}
	.sub-menu-toggle::before {
		display: inline-block;
		text-rendering: auto;
		-webkit-transform: rotate(0);
		-ms-transform: rotate(0);
		transform: rotate(0);
		-webkit-transition: transform 0.25s ease-in-out;
		-ms-transition: transform 0.25s ease-in-out;
		transition: transform 0.25s ease-in-out;
	}
	.sub-menu-toggle.activated::before {
		-webkit-transform: rotate(180deg);
		-ms-transform: rotate(180deg);
		transform: rotate(180deg);
	}
}

/* === SCRIPT-SET LAYOUT === */
/* The original home script set every .image-section's inline height to the
   window height. As a table box that height is a minimum, so taller content
   still grows the section. 100vh differs only where mobile browser chrome
   changes the viewport height. */
.front-page .image-section { height: 100vh; }

/* === INLINE ATTRIBUTE EQUIVALENTS === */
/* The original homepage carried these as inline style/align attributes, which
   outrank every stylesheet rule; the selectors here are specific enough to do
   the same. Values are from homepage-layout.reference.html.txt. */

/* <p align="center"><img style="max-width:650px" width="100%"> (front-page-1) */
img.inline-w650 { max-width: 650px; width: 100%; }

/* <img style="max-width:450px" width="90%"> (front-page-3 book covers) */
img.inline-w450 { max-width: 450px; width: 90%; }

/* <img style="padding-right:25px; width:45%" align="left"> (front-page-7) */
img.inline-bio-photo { float: left; padding-right: 25px; width: 45%; }

/* <p align="left"> (front-page-7 biography) */
p.inline-align-left { text-align: left; }

/* <h1 style="font-size: 52px;"> (front-page-5 heading) */
.image-section .t-h1.inline-fs52 { font-size: 52px; }

/* <h4 style="font-size: 24px;"> (front-page-5 attributions) */
.image-section .t-h4.inline-fs24 { font-size: 24px; }

/* === SECURITY REPLACEMENTS === */
/* Standard YouTube player uses the original responsive video geometry. */
.embed-youtube .youtube-player {
	border: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.video-fallback { margin: 12px 0 0; text-align: center; }
.substack-updates { text-align: center; }

/* The menu toggle exists in the markup (the original's script created it) and
   stays hidden until site.js runs; the 800px rules above set display:block. */
.menu-toggle[hidden] { display: none; }

/* === LOCAL PREVIEW === */
/* Not original design. The badge sits outside page geometry; --visual-compare
   omits it. Form notes stay directly after the inert controls. */
.preview-badge {
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 100001;
	max-width: 320px;
	padding: 8px 12px;
	background: #ffbf47;
	color: #000;
	font: 800 13px/1.35 "Ek Mukta", sans-serif;
	letter-spacing: 0;
	text-align: left;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
	pointer-events: none;
}

.preview-note {
	margin: 20px 0 0;
	font-size: 16px;
	font-style: italic;
	line-height: 1.4;
}

.preview-status { min-height: 1.4em; margin: 6px 0 0; font-size: 16px; font-weight: 800; line-height: 1.4; }
.preview-status:empty { min-height: 0; margin: 0; }

/* === MODES === */
html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: 0.01ms !important; }
}

@media print {
	.site-header, .site-footer, .preview-badge, .genesis-skip-link { display: none; }
	.front-page-1, .front-page-3, .front-page-5, .front-page-7 { background-image: none; }
	body, .image-section, .image-section a { color: #000; }
}
