/*
Theme Name: PSP-Theme-2026
Theme URI: TBD
Author: Joshua Blankenship
Author URI: http://blankenship.xyz
Author email: joshua@blankenship.xyz
Description: PSP-Theme-2026 is a new theme for podstandards.org. It was copied from Standards. Standards is a custom theme for the Podcast Standards Project roughly based on the BlankSlate starter theme. 
Tags: accessibility-ready, one-column, two-columns, custom-menu, featured-images, microformats, sticky-post, threaded-comments, translation-ready
Version: 2026
Requires at least: 5.2
Tested up to: 6.1
Requires PHP: 7.0
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: Standards

BlankSlate WordPress Theme © 2011-2023 TidyThemes
BlankSlate is distributed under the terms of the GNU GPL

Standards WordPress Theme © 2023 Blankenship XYZ 

origin: 	1.0 — 03/05/23
update: 	1.5 — 03/27/23

*/

/* TODO: properly update all style header stuff for psp-theme-2026 */

/* BOILERPLATE */

/* meyer reset */
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}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}a[href^="tel"]{color:inherit;text-decoration:none}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{-webkit-appearance:none;appearance:none;border-radius:0}input[type="search"]{-webkit-appearance:textfield}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
/* wordpress boilerplate */
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}
/* accesibility boilerplate */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}
.screen-reader-text:focus{background-color:#f7f7f7;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#007acc;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
.skip-link{left:-9999rem;top:2.5rem;z-index:999999999;text-decoration:underline}
.skip-link:focus{display:block;left:6px;top:7px;font-size:14px;font-weight:600;text-decoration:none;line-height:normal;padding:15px 23px 14px;z-index:100000;right:auto}
.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active){position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}

/* VARIABLES */

:root {
	/* --- Primitives ------------------------------------- */
	--psp-orange: #F05A28;

	--gray-000: #FFFFFF;
	--gray-100: #EDEDED;
	--gray-200: #DDDDDD;
	--gray-300: #CDCDCD;
	--gray-500: #9D9D9D;
	--gray-600: #5D5D5D;
	--gray-700: #3D3D3D;
	--gray-800: #2D2D2D;
	--gray-900: #1D1D1D;

	/* --- Semantic aliases ------------------------------- */
	--color-accent:            var(--psp-orange);  /* links, rules, h1, h4 */

	--color-ink:               var(--gray-900);    /* body + nav text */
	--color-ink-body:          var(--gray-700);    /* article p and li */
	--color-ink-inline-code:   var(--gray-600);
	--color-ink-on-inverse:    var(--gray-100);    /* footer text + links */
	--color-ink-on-codeblock:  var(--gray-200);

	--color-surface-page:      var(--gray-100);    /* grid tile fill */
	--color-surface-grid:      var(--gray-500);    /* grid line beneath */
	--color-surface-card:      var(--gray-000);    /* .light, main article */
	--color-surface-inverse:   var(--gray-900);    /* .dark, footer */
	--color-surface-codeblock: var(--gray-800);

	--color-border-hairline:   var(--gray-300);    /* h5 rule, form inputs */
	--color-border-accent:     var(--psp-orange);  /* body top/bottom, blockquote */

	/* --- Shadows ---------------------------------------- */
	--shadow-card: 0 0.938em 2.188em rgba(50,50,50,.1),
	               0 0.313em 0.938em rgba(0,0,0,.07);
	
	/* --- Fonts  ---------------------------------------- */
	--font-family-sans:    'Inter', -apple-system, BlinkMacSystemFont, Helvetica, sans-serif;
	--font-family-display: 'Bebas Neue', sans-serif;
	--font-family-mono:    'IBM Plex Mono', SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace;

	/* --- Common Spacing -------------------------------- */
	--space-after-blog-block: 1.75rem;
	--padding-section-y: 4rem;
}

/* 	FOUNDATION */

	*, html, body, div, span, object, iframe,
	a, abbr, acronym, address, big, cite, code,
	del, dfn, em, img, ins, kbd, q, samp,
	small, strike, strong, sub, sup, tt, var,
	dl, dt, dd, ol, ul, li, img, figure, figcaption,
	fieldset, form, label, legend,
	table, caption, tbody, tfoot, thead, tr, th, td {
		box-sizing: border-box;
		-webkit-font-smoothing: antialiased;
		margin: 0;
		padding: 0;
		outline: none;
		}

	html {
    	font-size: 16px;
	}

	ul {
	    list-style-type: none;
	}

	@media(min-width:700px) {
	    html {
	        font-size: 16px
	    }
	}

	@media(min-width:1200px) {
	    html {
	        font-size: 17px
	    }
	}

	@media(min-width:1400px) {
	    html {
	        font-size: 18px
	    }
	}

	body {
		background-color: var(--color-surface-page);
		border-top: 10px solid var(--color-border-accent);
		border-bottom: 10px solid var(--color-border-accent);
		color: var(--color-ink);
		font-family: var(--font-family-sans);
		margin:  0 auto;
		padding: 0;
		min-height: 100vh;
		background: linear-gradient(90deg, var(--color-surface-page) 24px, transparent 1%) center, linear-gradient(var(--color-surface-page) 24px, transparent 1%) center, var(--color-surface-grid);
  		background-size: 25px 25px;
	}

	header nav {
		max-width: 1200px;
		margin: 0 auto;
	    display: grid;
	    grid-template-columns: 45% 45%;
	    grid-gap: 10%;
	    padding: var(--padding-section-y) 0;
	}

	header nav h1 {
		display: none;
	}

	header img {
		width: 15em;
	}

	header nav ul {
		font: 700 1.25rem/7.25rem var(--font-family-sans);
		letter-spacing: -.075rem;
	}

	header nav ul li a { 
		color: var(--color-ink);
		text-decoration: none; 
	}

	header nav ul li a:hover {
		color: var(--color-accent);
		text-decoration: underline;
	}

	header nav ul li.current-menu-item a { 
		color: var(--color-accent);
	}

	header nav ul li {
		display: inline;
		padding-right: 2rem;
	}

	section {
		max-width: 1200px;
		margin: 0 auto;
	}

	header div {}

	header div section {
		padding: var(--padding-section-y) 0;
		display: grid;
	    grid-template-columns: 70% 30%;
	}

	header div section h1 {
		color: var(--color-accent);
		font: 800 8rem/6rem var(--font-family-display);
		text-transform: uppercase;
	}

	header div section h2 {
		align-self: end;
		color: var(--color-ink-on-inverse);
		font: 400 1.15rem/2rem var(--font-family-sans);
	}

	header div section img { 
		margin-top: 4rem;
		width: 75%; 
	}

	main article {
		background: var(--color-surface-card);
		box-shadow: var(--shadow-card);
		max-width: 1200px;
		margin: -2rem auto 4rem;	
		padding: 6rem 12rem;	
	}

/* 	SECTION -- COLORS */

.light 	{ 
	background-color: var(--color-surface-card); 
	box-shadow: var(--shadow-card);
}

.dark	{ 
	background-color: var(--color-surface-inverse); 
	box-shadow: var(--shadow-card);
}


/* 	SECTION -- MAIN */
	
	main section {
		display: grid;
	    grid-template-columns: 45% 45%;
	    grid-gap: 10%;
	    padding: var(--padding-section-y) 0;
	}

/* 	SECTION -- FOOTER */

	footer {
		background-color: var(--color-surface-inverse);
		color: var(--color-ink-on-inverse);
	}

	footer section {
		max-width: 1200px;
		margin: 0 auto;
		display: grid;
	    grid-template-columns: 45% 45%;
	    grid-gap: 10%;
	    padding: var(--padding-section-y) 0;
	}

	footer ul li {
		display: inline;
		padding-right: 1rem;
	}

	footer ul li a { 
		color: var(--color-ink-on-inverse);
	}

	footer ul li a:hover { 
		color: var(--color-accent);
	}

	footer#footer,
	footer#footer p,
	footer#footer ul li {
		font: 400 1rem/1.5rem var(--font-family-sans);
	}

/* 	TYPOGRAPHY */

	em {
		font-style: italic;
	}

	blockquote {
		border-left: 4px solid var(--color-border-accent);
		padding-left: 2rem;
	}

	h3 {
		font: 700 2rem/2.5rem var(--font-family-sans);
 		letter-spacing: -.09rem;
	}

  	p {
		font: 400 1.15rem/2rem var(--font-family-sans);
		margin-bottom: 2rem;
 	}

	p a {
		color: var(--color-accent);
	}

	pre {
		white-space: pre-wrap;
	}

	pre code, pre.wp-block-code code { 
		background: var(--color-surface-codeblock);
		border-radius: 5px;
		color: var(--color-ink-on-codeblock);
		display: block;
 		font: 400 1rem/1.5rem var(--font-family-mono);
		font-size: 90%;
		margin-bottom: var(--space-after-blog-block);
		padding: 1.5rem;
		border: none;
	}

	code {
		background: inherit;
		color: var(--color-ink-inline-code);
		display: inline;
 		font: 400 1.25rem/1.75rem var(--font-family-mono);
		font-size: 90%;
		margin-bottom: 0;
		padding: 0.2em 0.3em;
		border-radius: 5px;
		border: 1px solid var(--color-border-hairline);
	}

	code a, a code {
		color: var(--color-accent);
	}
	
	main article h2 {
		font: 400 2.25rem/2.25rem var(--font-family-display);
 		margin: 1rem 0;
	}

	main article h3 {
		font: 400 2.5rem/2.5rem var(--font-family-display);
 		margin: 2rem 0 2.5rem;
	}

	main article h4 {
	 	color: var(--color-accent);
		font: 700 1.5rem/1.5rem var(--font-family-sans);
 		letter-spacing: -.075rem;
 		margin-bottom: 1.5rem;
	}

	main article span {
		display: block;
		margin-bottom: 6rem;
	}

	main article h5 {
		border-bottom: 1px solid var(--color-border-hairline);		
		font: 700 1.25rem/1.25rem var(--font-family-sans);
 		letter-spacing: -.075rem;
 		margin: 0 0 1.5rem;
 		padding-bottom: 1rem;
	}

	main article nav {
		margin: 2.5rem 0 2.5rem;
	}

	main article nav p {
		font: 700 .8rem/2.5rem var(--font-family-sans);
		text-transform: uppercase;
		letter-spacing: .075rem;
	}

	main article nav a,
	main article ul li a {
		color: var(--color-accent);
	}

	main article p {
		color: var(--color-ink-body);
		font: 400 1rem/1.5rem var(--font-family-sans);
		margin-bottom: var(--space-after-blog-block);
	}

	main article p strong {
		font: 800 1rem/1.5rem var(--font-family-sans);
	}

	main article ul {
		list-style-type: disc;
		padding-left: 2rem;
		margin-bottom: var(--space-after-blog-block);
	}

	main article li {
		color: var(--color-ink-body);
		font: 400 1rem/1.5rem var(--font-family-sans);
		margin-bottom: .5rem;
	}

	main article img {
		margin-bottom: var(--space-after-blog-block);		
	}

 	main article p a {
 		color: var(--color-accent);
 	}

 	main article hr { 
 		height: 4rem; 
 		margin-bottom: var(--space-after-blog-block);
 	}

 	main article header h1 a,
 	main article header h2 a {
 	 	color: var(--color-accent);
		text-decoration: none;
 	}

	main article header h1 a:hover,
	main article header h2 a:hover {
		text-decoration: underline;
	}

 	main article header .entry-meta p,
 	main article header .entry-meta p a {
 		color: var(--color-ink);
		font: 400 1rem/1.5rem var(--font-family-sans);
 	}

/* 	MEMBERS LIST */

	img.certified  {
		margin-bottom: 2rem;
		width: 75%;
	}

	.memberslist {
		margin-bottom: 12rem;
	}

	.memberslist ul {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-gap: 5%;
		align-items: center;
		justify-items: center;
		margin-bottom: 2rem;
	}

	.memberslist ul li {
		margin-bottom: 2rem;
		width: 100%;
	}

	.memberslist ul img {
		margin: 0 auto;
		text-align: center;
		width: 100%;
		max-width: 200px;
	}

	.memberslist ul li p {
		display: none;
	}

	.memberslist ul li small {		
		display: block;
		font: 400 .75rem/.75rem var(--font-family-sans);
		margin: 0 auto 1.25rem;
		text-align: center;
		text-transform: uppercase;
		letter-spacing: .1rem;
	}

	.memberslist ul li.comingsoon {
		filter: grayscale(1);
		opacity: .5;
	}

	.memberslist ul li.comingsoon small {		
		display: block;
		font: 400 .75rem/.75rem var(--font-family-sans);
		margin: 0 auto 1.25rem;
		text-align: center;
		text-transform: uppercase;
		letter-spacing: .1rem;
	}

/* 	HACKS */
/* 	These things should be addressed at the template level, but I ran out of time and Wordpress knowledge.
	Don't judge me too harshly. :) */
	
	h1.entry-title { display: none; } /* Hides the duplicate blog post title */
	.post-navigation { display: none; } /* Hides the unstyled prev/next blog nav */

/* Stop the catch-all `main article span` rule from adding a huge gap under embeds */
main article span.embed-youtube {
    margin-bottom: var(--space-after-blog-block);
}

/* CONTACT FORM (Contact Form 7) */

/* Stop the catch-all `main article span` rule from hijacking CF7 field wrappers */
main article .wpcf7-form-control-wrap {
    display: block;
    margin-bottom: 0;
}

main article .wpcf7-form p {
    margin-bottom: 1.5rem;
}

main article .wpcf7-form label {
    display: block;
    font-weight: 700;
}

main article .wpcf7-form input[type="text"],
main article .wpcf7-form input[type="email"],
main article .wpcf7-form textarea {
    display: block;
    width: 100%;
    margin-top: 0.5rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--color-border-hairline);
    font: 400 1rem/1.5rem var(--font-family-sans);
    color: var(--color-ink);
}

main article .wpcf7-form textarea {
    min-height: 12rem;
    resize: vertical;
}

/* WEE SCREENS */

		@media (min-width: 100px) and (max-width: 800px) {

			body {
				background: linear-gradient(90deg, var(--color-surface-page) 24px, transparent 1%) center, linear-gradient(var(--color-surface-page) 24px, transparent 1%) center, var(--color-surface-grid);
		  		background-size: 25px 25px;
			}

			header nav {
				max-width: 100vw;
			    display: block;
			    padding: 2rem 5vw;
			}

			header img {
				width: 15em;
			}

			header nav ul {
				font: 700 1.1rem/1rem var(--font-family-sans);
				letter-spacing: -.075rem;
			}

			header nav ul li {
				display: inline-block;
				margin: 2rem .75rem .5rem 0;
				padding-right: 0;
			}

			section {
				max-width: 90vw;
				margin: 0 5vw;
			}

			header div section {
				padding: 3rem 0;
				display: block;
			}

			header div section h1 {
				font: 800 5rem/3.75rem var(--font-family-display);
				text-transform: uppercase;
			}
			
			header div section h2 {
				font: 400 1.15rem/2rem var(--font-family-sans);
			}

			main div section h3 {
				margin-bottom: 2rem;
			}

			main article {
				max-width: 90vw;
				margin: 2rem 5vw;	
				padding: 2rem;	
			}
			
			main section {
				display: block;
			    padding: 2rem 0;
			}

			footer section {
				max-width: 100%;
				display: block;
				text-align: center;
			    padding: 3rem 0;
			}

			footer ul li {
				padding-right: .5rem;
			}

				}


/* 2023 */