/*!
Theme Name: Great Primer
Theme URI: http://underscores.me/
Author: Jonathan Munn
Author URI: https://thepowerfactory.com/
Description: a template for the typographica.fr site
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: great-primer
Tags: 
*/

/*		FONTS		*/
@import url('https://fonts.googleapis.com/css2?family=Piazzolla:ital,opsz,wght@0,8..30,100..900;1,8..30,100..900&display=swap&subset=all&text=+!%22%23$%25%26()*%2B,-.%2F0123456789:;%3C%3D%3E%3F@ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5Dabcdefghijklmnopqrstuvwxyz%7B%7D%C2%A2%C2%A3%C2%A5%C2%A9%C2%AE%C3%97%C3%B7%C5%BF%E2%80%98%E2%80%99%E2%80%9C%E2%80%9D%E2%82%AC');
@import url('https://fonts.googleapis.com/css2?family=Ysabeau:ital,wght@0,1..1000;1,1..1000&display=swap&subset=all');
@import url('https://fonts.googleapis.com/css2?family=Fira+Mono:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Ultra&display=swap');


/*		RESET.CSS
-------------------------------------------------------------------- */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/*		GREAT PRIMER STYLESHEET
-------------------------------------------------------------------- */

/*		VARIABLES			*/
:root {
  --t_background: #f6f2ec; /*		#f8eedf; 		*/
  --t_links: crimson;
  --t_text: #222;
  --t_hover: maroon;
  --t_captions: #111;
  --t_rulers: #666;
  --t_medium: #aaa;
}

/*  	STRUCTURE			*/

/*		STRUCTURE :: FOOTER		*/
footer {
	width: 72vw;
	max-width: 850px;
	margin: 0 auto 5em;
	display: grid;
	grid-auto-rows: 1fr;
	grid-template-columns: 2fr 1fr 1fr;
  
}
footer div {
	align-self: flex-end;
	display: relative;
}
footer div:first-child:before {
	display: absolute;
	content: '';
	bottom: 0;
	width: 100%;
	height: 5em;
	float: right;
	background: url( './m/tpf_3.gif' ) no-repeat left bottom;
	background-size: 86px;
}

/*		BASICS		*/
html {
	background-color: var(--t_background);
	color: var(--t_text);
	font-size: 22px;	
	line-height: 1.5;	
	font-family: "Piazzolla", serif;
	font-optical-sizing: auto;
	font-weight: 400;
/*	
  font-variant-ligatures: common-ligatures discretionary-ligatures historical-ligatures;
	font-variant-numeric: oldstyle-nums;
	font-variant-alternates: historical-forms;
	font-feature-settings: "ss01" "ss02" "ss03" "ss04" "ss05" "ss06" "ss07";	
*/
}
cite, em, i {
	font-style: italic;
}
/*		italics inside italics		*/
i cite, i em, i i, cite i, cite em, cite cite, em i, em cite, em em {
	font-style: normal;
}
small {
	font-size: 80%;
	font-weight: 600;
	text-transform: uppercase;
}
strong {
	font-weight: bold;
}
sup {
	font-size: 0.8em;
	vertical-align: super;
	font-weight: bolder;
	line-height: 0.8;
}
a {
	text-decoration: none;
	color: var(--t_links);
}
a:hover {
	color: var(--t_hover);
	border-bottom: 2px solid var(--t_hover);
}
/*		FOR SURNAMES		*/
.last-name,
.surname {
	display: inline-block;
	text-transform: uppercase;
	font-size: 84%;
	font-weight: 600;
	padding: 0;
	margin: 0;
	text-indent: 0;
}
.last-name::first-letter,
.surname::first-letter {
	font-size: 120%;
	font-weight: 400;
}

/*		FOOTER		*/
footer {
	font-family: "Ysabeau", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	line-height: 1.5;
	margin-top: 0.5em;
	color: var(--t_captions);
	padding-left: 0.5em;
	padding-top: 1em;
	border-top: 4px double var(--t_rulers);
	font-size: 90%;
}
footer div:last-child {
	text-align: right;	
}
footer div:last-child li:first-child {
	text-transform: uppercase;
	font-size: 0.8em;
}

/*		HEADER		*/
header hgroup {
	width: 72vw;
	max-width: 850px;
	margin: 2em auto;
	display: grid;
	grid-auto-rows: 1fr;
	grid-template-columns: 3fr 1fr;
	font-family: "Ysabeau", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	line-height: 1.5;
}
hgroup div {
	align-self: flex-end;
}
hgroup div:last-child {
	text-align: right;
}
hgroup h1 a {
	color: var(--t_text);
	font-family: "Ultra", serif;
	font-weight: 500;
	font-style: normal;
	font-size: 200%;
}
hgroup h1 a:hover {
	border: none;
}
hgroup h1 span {
	color: var(--t_medium);
}

/*		MAIN		*/
main {
	width: 72vw;
	max-width: 850px;
	margin: 0 auto;
}
main p, main li {
	line-height: 1.5;
}
main p + p {
	text-indent: 1em;
}
main aside p {
	margin-left:1em;
	text-indent: -1em;
}

main h1.entry-title, main h1.page-title {
	font-family: "Ultra", serif;
	font-weight: 500;
	font-size: 200%;
	margin: 1em 0 0.5em;
}
main h5 {
	font-family: "Ysabeau", sans-serif;
	font-optical-sizing: auto;
	font-weight: 800;
	font-size: 0.8em;
	line-height: 1.5;
	text-transform: uppercase;
}
main figure, main img {
	max-width: 100%;
}

.meta_revision > p,  
.meta_revisions > p,
.meta_publication > p,
.meta_keyword > p,
.meta_category > p {
	font-family: "Ysabeau", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	border-top: 2px solid var(--t_rulers);
	margin-top: 0.5em;
	color: var(--t_captions);
	border-left: 2px solid var(--t_rulers);
	padding-left: 0.5em;
}

/*		PAGINATION ON HOME PAGE		*/
.posts-navigation {
	clear: block;
	font-family: "Ysabeau", sans-serif;
	font-size: 1em;
	font-optical-sizing: auto;
	font-weight: 600;
	border-top: 2px solid var( --t_rulers);
	padding-top: 0.5em;
	width: 72vw;
	max-width: 850px;
	margin: 0.9em auto 0;
}
.posts-navigation .nav-previous a:before {
	content: '« ';
}
.posts-navigation .nav-next a:after {
	content: ' »';
}
.nav-links {
	display: flex;
	flex-direction: row;
}
.nav-links div {
	flex: 1;
}
.nav-links div.nav-next {
	text-align: right;
}

/*		TWO-COLUMN NAV AT BOTTOM OF ARTICLE		*/
.meta_nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding-bottom: 1em;
	line-height: 1.5;
	border-top: 2px solid var(--t_rulers);
	margin-top: 2em;
}
.meta_nav ul {
  font-family: "Ysabeau", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  margin-top: 1.4em;
  font-size: 90%;
}
.meta_nav ul+ul {
	text-align: right;
}
.meta_nav ul:first-child a:before {
	content: "« ";
}
.meta_nav ul+ul a:after {
	content: " »";
}

/*		FIGURES		*/
main figure {
	padding-top: 0.5em;
	top: 0.5em;
	left: 0;
}
main figcaption p {
	font-family: "Ysabeau", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	line-height: 1.6;
	font-size: 0.8em;
	color: var(--t_hover);
	text-indent: 0;
	padding-left: 1em;
	text-wrap: balance;
}
main figcaption p:first-child {
	font-style: italic;
}
main figcaption p:last-child:before {
	content: "";
	display: inline-block;
	background: var(--t_hover);
	position: relative;
	height: 0.7em;
	width: 1.1em;
	margin-right: 0.4em;
}
main figcaption {
	margin-bottom: 0.5em;
	border-left: 4px solid var(--t_medium);
}
figure.vignette,
figure.vignette {
	float: left;
	margin-right: 1em;
	max-width: 30%;
}

/*		HOME:EXTRACT		*/
.extract * {
	color: var( --t_text);
}
.extract a + a {
	color: var(--t_links);
}
.extract h1:hover, .extract p a:hover { /*. .extract p:hover */
	color: var(--t_hover);
}
article h1 {
	margin: 1em 0 0.5em;
}
article h1 a {
	color: var( --t_text);
	font-family: "Ultra", serif;
	font-weight: 500;
	font-size: 200%;
}
article h1 a:hover {
	border-bottom: 0.1em solid var(--t_hover);
}

/*  	EXTRACT:ARTICLES RECENTS		*/
.recent .meta_pub_archive {
	font-family: "Ysabeau", sans-serif;
	border-top: 2px solid var(--t_rulers);
	border-left: 2px solid var(--t_rulers);
	padding-left: 0.4em;
	font-size: 80%;
	font-weight: 600;
	margin-bottom: 0.25em;
}
.recent h3, .recent h3 a {
	color: var(--t_text);
  font-family: "Ultra", serif;
  font-weight: 500;
  font-size: 100%;
}
.recent h3 a:hover {
	color: var( --t_hover);
}

.recent h3 + p {
	font-size: 80%;
}

.recent {
	display: flex;
  flex-wrap: wrap;
  line-height: 1.5;
  gap: 0.5rem;
  align-items: stretch;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  flex-direction: row;
  flex-basis: 100%;
  flex: 1;
}
.recent article {
	flex: 1 1 32%;
	margin-top: 1em;
}

/*		MANICULE		*/
.manicule, .manicule-btm {
	font-family: "Ysabeau", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	line-height: 1;
	font-size: 4em;
	width: 72vw;
	max-width: 850px;
	margin: 0 auto;
}
.manicule-btm {
	text-align: right;
}

/*		FOOTNOTES		*/
a.footnote {
	line-height: 0.8;
	font-weight: bolder;
	font-size: 0.8em;
	vertical-align: super;
}

/*		ARCHIVE TEMPLATE - CATEGORIES		*/
.archive main header h1 {
	color: var(--t_text);
	font-family: "Ultra", serif;
	font-weight: 500;
	font-size: 100%;
}
.archive main header h1 span {
	color: var(--t_hover);
}
.archive main .archive-description p {
	font-style: italic;
}
.archive main header {
	margin: 0.5em 0 1.5em;
}
.archive-grid {
	display: flex;
  flex-wrap: wrap;
  line-height: 1.5;
  gap: 0.5rem;
  align-items: stretch;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  flex-direction: row;
  flex-basis: 100%;
  flex: 1;
}
.archive-grid article {
	flex: 1 1 32%;
	margin-top: 1em;
}
 
/*		note to self - same as recent 		*/
.archive-grid .meta_pub_archive {
	font-family: "Ysabeau", sans-serif;
	border-top: 2px solid var(--t_rulers);
	border-left: 2px solid var(--t_rulers);
	padding-left: 0.4em;
	font-size: 80%;
	font-weight: 600;
	margin-bottom: 0.25em;
}
.archive-grid h3, .archive-grid h3 a {
	color: var(--t_text);
  font-family: "Ultra", serif;
  font-weight: 500;
  font-size: 100%;
}
.archive-grid h3 a:hover {
	color: var( --t_hover);
}
.archive-grid h3 + p {
	font-size: 80%;
}

/*		ARCHIVE PAGE		*/
.archive-item .post-title {
	line-height: 2em;
	border-top: 1px solid var(--t_rulers );
	font-family: "Ysabeau", sans-serif;
	font-size: 85%;
	font-weight: 600;
}

/*		LINK BLOCK		*/

/*
 * MARGINALIA -> FLEURON
 * 		.marginalia
 * BIBLIO -> PILCROW
 * 		.biblio
 * LISTE DE LIENS -> ASTERISM
 * 		.misc
 */

.link-block {
	padding-left: 2.5em;
	border-top: 2px solid var( --t_rulers);
	margin: 1em 0 0;
	position: relative;
}
.link-block.biblio ul,
.link-block h5 {
	border-top: 4px solid var(--t_rulers);
	padding-top: 2px;
}
.link-block li {
	font-size: 88%;
}
.link-block:not(.biblio) li:before {
	content: '• ';
}
.link-block ul:before {
	position: absolute;
	color: var( --t_rulers);
	font-size: 300%;
	top: 0;
	left: 0;
}
.link-block.marginalia ul:before {
	content: '\02619';
}
.link-block.misc ul:before {
	content: '⁂';
	font-size: 200%;
	top: 0.25em;
}
.link-block.biblio ul:before {
	content: '¶';
	font-style: normal;
	font-family: sans-serif;
	font-size: 200%;
	top: 0.2em;
}
.link-block .book-title {
	font-style: italic;
	font-size: 104%;
	text-wrap: balance;
	line-height: 1.25em;
}
.link-block.footnotes li:before {
	content: '';
}
.link-block.footnotes li {
	padding-left: 1.2em;
	text-indent: -1.2em;
}


/*		HOME PAGE SEARCH FORM		*/
hgroup .search-form {
	-webkit-backface-visibility: hidden;
	position: relative;
}
hgroup form label {
		display: table;
/*		align: right;		*/
		background: transparent;
		position: relative;
		font-family: "ysabeau", sans-serif;
		font-size: 1em;
		font-weight: 600;
		color: var(--t_links);
		width: 10em;
		text-align: right;
		overflow: hidden;
	margin-top: -3px;
	border-bottom: 3px solid var(--t_background);
}
hgroup form label input {
		position: absolute;
		top: 2px;
		background: var( --t_background);
		padding: 0;
		margin: 0;
		border: none;
		outline: 0;
		font-family: "ysabeau", sans-serif;
		font-size: 1em;
		font-weight: 600;
		color: var(--t_links);
		width: 0;
	text-align: right;
}
hgroup form label input.search-field {
	color: var( --t_hover);
}
hgroup input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}
hgroup form button {
		top: 0;
		left:120px;
		font-family: "ysabeau", sans-serif;
		font-size: 1.5em;
		font-weight: 600;
		color: var(--t_links);
		padding: 0;
		margin: 0;
		border: none;
		width: 0;
		height: 1em;
		line-height: 1em;
	}
hgroup form:hover label,
hgroup form:active label {
		margin-top: -2px;
		border-bottom: 2px solid var(--t_links);
	}
hgroup span:hover input,
hgroup span:active input {
		position: absolute;
		background: var( --t_background);
		right: 0px;
		width: 9em;
		transition: all 0.5s;
	}


/*		SEARCH - TEMPLATE-PARTS/CONTENT-NONE.PHP		*/
.search-no-results main p + p {
	text-indent: 0 !important;
	margin: 0;
}
.search-no-results main p span {
	color: var(--t_hover);
}
.search-no-results main .page-header {
	margin: 5em 0;
}
.error404 main form,
.search-no-results main form {
	margin: 2em 0;
}
.error404 main form input,
.search-no-results main form input {
	border: 0;
	padding: 0;
	margin: 0;
	font-family: "Ysabeau", sans-serif;
	font-size: 1em;
	color: var(--t_links);
	line-height: 1.5em;
	font-weight: 600;
	outline: 0;
}
.error404 main form input[type="submit"],
.search-no-results main form input[type="submit"] {
	background: var(--t_background);
	border: 2px solid var(--t_links);
	margin: 0;
	padding: 0 0.5em;
}
.error404 main form input.search-submit:hover,
.search-no-results main form input.search-submit:hover {
	background: var(--t_links);
	color: var(--t_background);
	cursor: pointer;
}
.error404 main form input.search-field,
.search-no-results main form input.search-field {
	border: 2px solid var(--t_links);
	padding: 0 0.5em;
	color: var(--t_hover);
	width: 60%;
}
.error404 main form input.search-field:active,
.error404 main form input.search-field:focus,
.search-no-results main form input.search-field:active,
.search-no-results main form input.search-field:focus {
	outline: 0;
}

/*		SEARCH RESULTS		*/
/*		includes search form on 404 page		*/
.search-results header.page-header h1 span {
	color: var( --t_hover);
}
.search-results main {
	margin-bottom: 1em;
}
.search-results article {
	display: grid;
	grid-auto-rows: 1fr;
	grid-template-columns: 3fr 1fr;
	line-height: 1.5em;
	border-top: 2px solid var( --t_rulers);
	margin-top: 1em;
}
.search-results article h6 {
	font-family: "Ysabeau", sans-serif;
	font-weight: 600;
}
.search-results article h2 {
	font-family: "Ultra", serif;
	font-size: 1.35em;
	margin: 0.5em 0;
}
.search-results article .search-col-2 {
	margin-top: 0.3em;
	position: relative;
	font-size: 92%;
	line-height: 1.2em;
}
.search-results article h2 a {
	color: var( --t_text);
}
.search-results article h2 a:hover {
	color: var( --t_hover );
	border-bottom-width: 3px;
}
.search-results article .article-link {
	font-size: 3em;
	text-align: right;	
	position: absolute;
	bottom: 0;
	right: 0;
}
.search-results article .article-link a:hover {
	border: none;
}
.search-results article .entry-summary p {
	font-size: 80%;
}
/*		404 PAGE		*/
.error404 main h2 {
	margin: 1em 0 0.5em;
	border-top: 2px solid var(--t_rulers);
	font-family: "Ysabeau", sans-serif;
	font-weight: 700;
	font-size: 82%;
	text-transform: uppercase;
	padding-top: 0.5em;
}
.error404 select {
	background: var(--t_background);
	margin: 0.5em 0;
	border: 2px solid var( --t_links);
	font-family: "Ysabeau", sans-serif;
	font-size: 1em;
	margin: O.5em 0;
	border-radius: 0;
	outline: 0;
	cursor: pointer;
	color: var(--t_links);
	font-weight: 600;
	
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0.25em 0.5em 0.25em 2em;
}
.error404 .widget_archive {
	position: relative;
}
.error404 .widget_archive:after {
	content: '▼';
	position: absolute;
	font-size: 0.8em;
	bottom: 1.25em;
	left: 1em;
	color: var(--t_links);
}
.error404 select:hover,
.error404 select:focus,
.error404 select:active {
	background: var( --t_links);
	color: var( --t_background);
}
.error404 .widget_archive:hover:after {
	color: var(--t_background);
}
.error404 .widget_archive + p {
	font-family: "Ysabeau", sans-serif;
	font-size: 0.9em;
}
.error404 .widget_categories li,
.error404 .widget_recent_entries li {
	line-height: 1.5em;
	font-size: 80%;
}
.error404 .widget_categories li a,
.error404 .widget_recent_entries li a{
	font-size: 120%;
}
.error404 .widget_categories li a:before,
.error404 .widget_recent_entries li a:before {
	content: '» ';
}

/*		CATEGORIES PAGE		*/
.categories {
	margin-bottom: 1em;
}
.categories h1 {
	margin-bottom: 1em;
}
.categories h2 {
	font-family: "Ultra", serif;
	margin: 1em 0 0.5em;
}
.categories h4 {
	font-style: italic;
	margin-bottom: 0.25em;
}
.categories ul {
	font-family: "Ysabeau", serif;
	line-height: 1.5;
	font-weight: 600;
}
.fleuron {
	font-size: 4em;
	color: var( --t_rulers);
	font-family: "Piazzolla", serif;
}

/*		A PROPOS		*/
.post-52 {
	margin-bottom: 1em;
}
.post-52 li {
	text-indent: 1em;
}

/*		DOCUMENTS : PREFACE		*/
.preface {
	font-style: italic;
	margin-bottom: 2em;
}