/*!
Theme Name: lillyfriendproject_2
Theme URI: http://underscores.me/
Author: RJ Smith
Author URI: http://underscores.me/
Description: A theme made for the Lilly Firend Project in the style of Craiglist.
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: lillyfriendproject_2
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

lillyfriendproject_2 is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
RJ NOTE: I AM USING UNDERSCORE TO DO SOME GENERAL DJUSTMENTS ACROSS VARIOUS BROWSERS. 
THEREFORE THE CSS FOR THE SITE IS REALLY ONLY STARTS AT "BASE" AND BELOW.
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Craiglist Stuff
# Footer
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments
# Episode Single Styles
# Questionnaire Styles
# Archive Episode Styles

--------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');
/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* CSS Custom Properties (Variables)
--------------------------------------------- */
/* CSS Custom Properties (Variables) */
:root {
    /* === YOUR EXISTING VARIABLES (keep these) === */
    /* Primary Colors */
    --primary-blue: #00E;
    --hover-purple: #800080;
    --primary-text: #404040;
    --heading-text: #333;
    --light-text: #666;
    --lighter-text: #777;
    --lightest-text: #999;
    
    /* Background Colors */
    --white-bg: #fff;
    --light-gray-bg: #f4f4f4;
    --lighter-gray-bg: #f9f9f9;
    --light-blue-bg: #e6f3ff;
    --option-bg: #f0f0f0;
    --highlight-bg: #fff9c0;
    --code-bg: #eee;
    
    /* Border Colors */
    --primary-border: #cccccc;
    --light-border: #ddd;
    --input-border: #ccc;
    --button-border: #999;
    --selected-border: #007bff;
    
    /* Accent Colors */
    --selected-blue: #007bff;
    --checkmark-blue: #007bff;

    /* === NEW SPACING VARIABLES (adding these) === */
    --space-1: 0.25rem;   /* 4px */
    --space-2: 0.5rem;    /* 8px */
    --space-3: 0.75rem;   /* 12px */
    --space-4: 1rem;      /* 16px */
    --space-5: 1.25rem;   /* 20px */
    --space-6: 1.5rem;    /* 24px */
    --space-8: 2rem;      /* 32px */
    --space-10: 2.5rem;   /* 40px */

    /* === NEW TYPOGRAPHY VARIABLES (adding these) === */
    --text-3xs: 0.25rem;      /* 12px */
    --text-2xs: 0.5rem;      /* 12px */
    --text-xs: 0.75rem;      /* 12px */
    --text-sm: 0.875rem;     /* 14px */
    --text-base: 1rem;       /* 16px */
    --text-lg: 1.125rem;     /* 18px */
    --text-xl: 1.25rem;      /* 20px */
    --text-2xl: 1.5rem;      /* 24px */
    --text-3xl: 1.75rem;      /* 24px */
    --text-4xl: 2rem;      /* 24px */
    
    --font-normal: 400;
    --font-semibold: 600;
    --font-bold: 700;
}

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: var(--primary-text);
	/* font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	*/
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-family: Arial, Helvetica, sans-serif;
  	text-transform: lowercase;
    color: var(--primary-blue);
}

h2 {
    font-size: var(--text-4xl);
}

p {
	margin-bottom: var(--space-6);
    font-family: "Libre Baskerville", "Times New Roman", serif;
    font-size: var(--text-xm);
    text-transform: lowercase;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
    background-color: var(--white-bg);
    margin: 0;
    padding: 0;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

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

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
    color: var(--primary-blue);
    text-decoration: none;
}

a:visited {
	/* color: #800080; */
}

a:hover,
a:focus,
a:active {
	text-decoration: underline;
	color: var(--hover-purple);
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: var(--light-text);
	border: 1px solid var(--input-border);
	border-radius: 3px;
	padding: var(--space-1);
	font-size: var(--text-base);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
.site {
    max-width: 1000px;
    margin: 0 auto;
    background-color: var(--white-bg);
}

.site-header {
    padding: 10px 20px;
}

.site-branding {
	text-align: center;
}

	.site-branding img {
		width: 80%;
	}

    .site-branding h1 {
        font-size: var(--text-2xl);
        font-weight: var(--font-bold);
        margin: 0;
        text-align: center;
    }

.site-title a {
    color: #000;
}

.content-area {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
}

.site-main {
    width: 75%;
    padding: 10px 20px;
}

.page-title {
    color: var(--primary-blue);
}

/* Craiglist Stuff
--------------------------------------------- */
.category-list-header {
    background-color: var(--light-gray-bg);
    padding: var(--space-1) var(--space-2);
    margin-top: var(--space-4);
    /* margin-bottom: 0; ?*/
    font-weight: var(--font-bold);
    font-size: var(--text-base);
    text-align: center;
    color: var(--primary-blue);
    border: solid var(--primary-border);
    border-width: 1px 0 1px 0;
    font-family: Arial, Helvetica, sans-serif;
}
	/* this is jsut to make an exception for the container in the sidebar */
	.category-list .category-list-header {
		border: 0;
	}

	/* boring box exception */
	.boring-box .category-list-header {
		border: 0;
	}

.category-list {
    padding: 0;
    margin: 0;
    list-style: none;
    text-transform: lowercase;
}

.category-list-item {
    background-color: white;
    padding: 2px 5px;
    margin: 2px 0;
    font-size: 14px;
    color: var(--primary-blue);
    border-bottom: 1px solid var(--light-border);
}
	/* this is just to remove the border form the last int he row set */
	.category-list-item:last-child {
    	border-bottom: none;
	}

.boring-box {

    margin-bottom: var(--space-5);
}

.boring-box .horizontal-list {
    padding: 5px;
    line-height: 1.4;
    font-size: 14px;
    text-align: center;
}

.boring-box .horizontal-list a {
    color: var(--primary-blue);
    text-decoration: none;
}

.boring-box .horizontal-list a:hover {
    text-decoration: underline;
    color: var(--hover-purple);
}

/* Search styles */
.search-form {
    background-color: #ccc;
    padding: 10px;
    margin-bottom: 15px;
}

.search-field {
    width: 70%;
    padding: 5px;
}

.search-submit {
    border-radius: 5px;
    background-color: white;
    border: 1px solid #999;
    padding: 2px 10px;
}

/* Layout for the Craigslist-style homepage */
.craigslist-container {
    display: flex;
    width: 100%;
}

.column-left {
    width: 50%;
    padding-right: 15px;
}

.column-right {
    width: 50%;
    padding-left: 15px;
}

/* Feedback links in footer */
.feedback-links {
    margin-bottom: .3em;
    font-size: .8em;
}

.feedback-links a {
    font-weight: bold;
}

.updated-date {
    display: block;
    font-size: 12px;
    margin-top: 5px;
}

/* Search box in sidebar */
.search-box {
    background-color: #ccc;
    padding: 10px;
    margin-bottom: 15px;
}

.search-box h3 {
    margin-top: 0;
    font-weight: bold;
    background-color: #eee;
    display: inline-block;
    padding: 2px 5px;
    font-size: 16px;
}


/* Footer
--------------------------------------------- */
.site-footer {
    background-color: #f4f4f4;
    padding: .1em;
    text-align: center;
}
.site-info {
	font-size: .6em;
	text-align: center;
}
.updated-date {
	font-size: .6em;
}


/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
    background-color: #ddd;
    padding: 5px 0;
}

.menu-toggle {
    display: none;
}

.main-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
}

.main-navigation li {
    display: inline-block;
    margin: 0 5px;
}

.main-navigation a {
    background-color: var(--light-gray-bg);
    font-weight: bold;
    font-size: 18px;
    padding: 2px 5px;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

.navigation.pagination {
    display: flex;
    justify-content: center;
}


/* Posts and pages
--------------------------------------------- */
.entry-title {
    font-size: var(--text-4xl);
    margin: 0 0 10px 0;
    color: var(--primary-blue);
}

.entry {
    background-color: var(--white-bg);
    padding: 10px;
    margin-bottom: 10px;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget-area {
    width: 25%;
    padding: 2em 1em 2em 1em;
    background-color: var(--light-gray-bg);
    border: solid var(--primary-border);
    border-width: 0 1px 0 1px;
    min-height: 75vh;
    display: flex;
    flex-direction: column;
}

.widget-area .site-info {
    margin-top: auto;
    padding-top: 2em;
    font-size: .6em;
    text-align: center;
}

.widget {
    margin-bottom: var(--space-5);
}

.widget-title {
    background-color: #ddd;
    padding: 5px;
    margin: 0 0 5px 0;
    font-weight: bold;
    font-size: 18px;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/* Front Page Banner
--------------------------------------------- */
.banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--light-gray-bg);
    padding: var(--space-4);
    margin-bottom: var(--space-5);
    border: solid var(--primary-border); 
    border-width: 1px 0 1px 0;
}

.banner h1 {
    margin: 0;
    font-size: var(--text-3xl);
    font-weight: var(--font-bold);
    color: var(--heading-text);
    padding: var(--space-2) var(--space-2) var(--space-2) var(--space-1);
}

.questionnaire-button {
    display: inline-block;
    text-decoration: none;
    border: 1px solid var(--button-border);
    font-weight: var(--font-bold);
    cursor: pointer;
    padding: var(--space-2) var(--space-3);
}

.questionnaire-button:hover {
    background-color: #e6e6e6;
    text-decoration: underline;
    color: var(--hover-purple);
}


/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
# Episode Single Styles
--------------------------------------------------------------*/

.single-episodes .entry-title {
    font-size: var(--text-2xl);
    font-weight: var(--font-bold);
    margin-bottom: var(--space-4);
    padding: var(--space-2);
    background-color: var(--light-gray-bg);
    border: solid var(--primary-border);
    border-width: 1px 0 1px 0;
}

.episode-date {
    font-size: var(--text-sm);
    color: var(--primary-blue);
    margin-top: var(--space-2);
    margin-bottom: var(--space-4);
}

.episode-description {
    padding: var(--space-4);
    margin-bottom: var(--space-5);
    font-size: var(--text-base);
    line-height: 1.6;
}

/* Podcast player */
.podcast-player {
    padding: var(--space-4) var(--space-4) 0 var(--space-4);
}

.podcast-player h3 {
    margin-top: 0;
    font-size: var(--text-lg);
    color: var(--primary-blue);
    margin-bottom: var(--space-3);
}

.podcast-player audio {
    width: 100%;
    margin-bottom: var(--space-3);
}

.podcast-player a {
    display: inline-block;
    margin-top: var(--space-2);
    font-weight: var(--font-bold);
}

/* Episode navigation */
.post-navigation {
    display: flex;
    justify-content: space-between;
    margin-top: var(--space-8);
    padding-top: var(--space-4);
    border-top: 1px solid var(--light-border);
}

.nav-previous,
.nav-next {
    max-width: 45%;
}

.nav-previous a,
.nav-next a {
    color: var(--primary-blue); 
    font-size: var(--text-sm);
    font-weight: var(--font-bold);
}

.nav-previous a:hover,
.nav-next a:hover {
    text-decoration: underline;
    color: var(--hover-purple);
}

/*--------------------------------------------------------------
# Questionnaire Styles
--------------------------------------------------------------*/

/* Styling for questionnaire template */
.questionnaire-section {
    margin-bottom: var(--space-10);
    padding-bottom: var(--space-8);
    border-bottom: 1px solid var(--light-border);
    font-family: "Libre Baskerville", "Times New Roman", serif;
}

.questionnaire-section h2 {
    margin-bottom: var(--space-6);
    font-size: var(--text-2xl);
    font-family: "Libre Baskerville", "Times New Roman", serif;
    color: var(--primary-blue);
}


.question-answer {
    margin-bottom: var(--space-8);
    font-family: "Libre Baskerville", "Times New Roman", serif;
}


.question-answer .question {
    margin-bottom: var(--space-4);
    font-size: var(--text-lg);
    
}

h4.question {
        margin-bottom: var(--space-4);
    font-size: var(--text-lg);
    color: var(--primary-text);
}

.question-answer .answer {
    padding: var(--space-1);
    padding-left: var(--space-4);
    border-radius: 5px;
    line-height: 1.6;
}

/* Multiple choice styling */
.answer-options {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.answer-option {
    padding: var(--space-1) var(--space-2);
    border-radius: 5px;
    background-color: var(--option-bg);
    border: 1px solid var(--light-border);
    cursor: default;
    display: flex;
    align-items: center;
}

.answer-option.selected {
    background-color: #e6f3ff;
    border-color: #007bff;
    position: relative;
}

.answer-option.selected:before {
    content: "✓";
    position: absolute;
    left: 10px;
    color: #007bff;
}

.answer-option .option-text {
    margin-left: 25px;
}

/* For Yes/No questions in preliminary section */
.answer-options.yes-no {
    flex-direction: row;
    gap: 15px;
}

.answer-options.yes-no .answer-option {
    flex: 1;
    text-align: center;
    justify-content: center;
}

.questionnaire-date {
    font-style: italic;
    color: #777;
    margin-bottom: 20px;
}

/* General selected label styling */
label.selected {
	background-color: var(--primary-blue);
	border-color: var(--primary-blue);
	font-weight: bold;
	position: relative;
}

/*--------------------------------------------------------------
# Archive Episode Styles
--------------------------------------------------------------*/

.episodes-archive {
    margin-bottom: var(--space-8);
}

.item-link {
    text-decoration: none;
    color: inherit;
    display: block;

}

.item-link:hover {
    text-decoration: none;
    	color: var(--hover-purple);
}

.item {
    background-color: var(--white-bg);
    padding: var(--space-4);
    border-bottom: 1px solid var(--light-border);
    transition: background-color 0.2s ease;
    padding-left: 0 !important;
}

.item:hover {
    background-color: #f9f9f9;
}

.item .entry-title {
    font-size: var(--text-lg);
    margin-bottom: var(--space-2);
    color: var(--primary-blue);
}

    .item .entry-title:hover {
        color: var(--hover-purple);
    }

    /* THis rule is specifically for the listen page, which does not have entry content, and therefore should not have a margin */
    .listen-link-item header.entry-header h2.entry-title {
        margin: 0;
    }

.item .entry-title:hover {
    text-decoration: underline;
}

.meta {
    font-size: var(--text-sm);
    color: var(--light-text);
    margin-bottom: var(--space-3);
}

.meta .date {
    color: var(--primary-blue); 
    margin: 0;
}

.meta .sub-meta {
    color: #666;
}

.item .item-description {
    font-size: var(--text-sm);
    line-height: 1.5;
    color: var(--heading-text);
    padding: 0;
    margin: 0;
}

    .item .item-description p {
        
}

.no-archive {
    text-align: center;
    padding: var(--space-10) var(--space-5);
}

.no-archive h2 {
    color: var(--light-text);
    margin-bottom: var(--space-3);
}

.no-archive p {
    color: var(--lightest-text);
}

/*--------------------------------------------------------------
# Contact Form 7 Custom Questionnaire Styling
--------------------------------------------------------------*/



/* Overall form styling */
.wpcf7-form {
    font-family: "Libre Baskerville", "Times New Roman", serif;
}

/* Remove default CF7 margins */
.wpcf7-form p {
    margin: 0;
}

/* Custom text inputs - match questionnaire template */
.custom-text-input {
    width: 100% !important;
    padding: var(--space-4) !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 5px !important;
    background-color: var(--lighter-gray-bg) !important;
    font-family: "Libre Baskerville", "Times New Roman", serif !important;
    font-size: var(--text-base) !important;
    line-height: 1.6 !important;
    box-sizing: border-box !important;
}

/* Custom textareas - match questionnaire template */
.custom-textarea {
    width: 100% !important;
    min-height: 60px !important;
    padding: var(--space-4) !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 5px !important;
    background-color: var(--lighter-gray-bg) !important;
    font-family: "Libre Baskerville", "Times New Roman", serif !important;
    font-size: var(--text-base) !important;
    line-height: 1.6 !important;
    resize: vertical !important;
    box-sizing: border-box !important;
}

/* Custom radio groups - fix spacing and checkmark positioning */
.custom-radio-group {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--space-2) !important;
    margin: 0 !important;
}

.custom-radio-group .wpcf7-list-item {
    display: block !important;
    padding: var(--space-3) !important;
    padding-left: var(--space-8) !important; /* More space for checkmark */
    border-radius: 5px !important;
    background-color: var(--option-bg) !important;
    border: 1px solid var(--light-border) !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    margin: 0 !important;
    position: relative !important;
}

.custom-radio-group .wpcf7-list-item:hover {
    background-color: #e8e8e8 !important;
}

/* Hide default radio buttons */
.custom-radio-group input[type="radio"] {
    display: none !important;
}

/* Style labels in radio groups */
.custom-radio-group .wpcf7-list-item label {
    margin: 0 !important;
    padding: 0 !important;
    font-weight: var(--font-normal) !important;
    font-size: var(--text-base) !important;
    cursor: pointer !important;
    width: 100% !important;
    display: block !important;
    font-family: "Libre Baskerville", "Times New Roman", serif !important;
}

/* Selected radio option styling */
.custom-radio-group .wpcf7-list-item.selected {
    background-color: var(--light-blue-bg) !important;
    border-color: var(--selected-blue) !important;
    font-weight: var(--font-bold) !important;
}

.custom-radio-group .wpcf7-list-item.selected:before {
    content: "✓";
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--checkmark-blue);
    font-weight: var(--font-bold);
    font-size: var(--text-base);
    z-index: 1;
}

.custom-radio-group .wpcf7-list-item.selected label {
    font-weight: var(--font-bold) !important;
}

/* Custom acceptance checkbox */
.custom-acceptance {
    margin: var(--space-6) 0 !important;
    padding: var(--space-4) !important;
    background-color: var(--lighter-gray-bg) !important;
    border-radius: 5px !important;
    border: 1px solid var(--light-border) !important;
}

.custom-acceptance .wpcf7-list-item {
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
}

.custom-acceptance input[type="checkbox"] {
    margin-right: var(--space-3) !important;
    display: inline-block !important;
}

.custom-acceptance label {
    font-weight: var(--font-normal) !important;
    font-size: var(--text-base) !important;
    cursor: pointer !important;
}

/* Custom submit button */
input.wpcf7-submit {
    background-color: var(--selected-blue) !important;
    color: white !important;
    border: none !important;
    padding: var(--space-4) var(--space-8) !important;
    font-size: var(--text-lg) !important;
    font-weight: var(--font-bold) !important;
    border-radius: 5px !important;
    margin-top: var(--space-6) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    text-transform: lowercase !important;
    width: 100%;
}

.custom-submit-button:hover {
    background-color: var(--hover-purple) !important;
    transform: translateY(-1px) !important;
}

/*--------------------------------------------------------------
# Privacy Policy Page: The privacy policy page need some specific changes
--------------------------------------------------------------*/

.page-id-3 .entry-content {
    text-transform: none;
    font-family: Arial, Helvetica, sans-serif;
}

.page-id-3 .entry-content h2 {
    color: var(--heading-text);
    border-bottom: 2px solid #f4f4f4;
    padding-bottom: 10px;
    margin-top: 40px;
    margin-bottom: 20px;
        font-family: Arial, Helvetica, sans-serif;
    text-transform: none;
}

.page-id-3 .entry-content h3 {
    color: var(--heading-text);
    margin-top: 30px;
    margin-bottom: 15px;
    font-size: 1.2em;
        font-family: Arial, Helvetica, sans-serif;
    text-transform: none;
}

.page-id-3 .entry-content p {
    margin-top: 30px;
    margin-bottom: 15px;
    font-family: Arial, Helvetica, sans-serif;
    text-transform: none;
}

/*--------------------------------------------------------------
# mobile page
--------------------------------------------------------------*/

.mobile-menu-container { 
    display: none; 
}

.mobile-top-header {
    display: none;
}

.mobile-questionnaire-header {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: var(--light-gray-bg);
    border-bottom: 1px solid var(--light-border);
    padding: var(--space-2) var(--space-4);
    z-index: 200;
    text-align: center;
}

.mobile-questionnaire-header .site-branding {
    margin: 0;
}

.mobile-questionnaire-header .site-branding img {
    height: var(--space-8) !important;
    width: auto !important;
    max-width: none !important;
    vertical-align: middle;
    margin-right: var(--space-2);
    object-fit: contain !important;
}

.mobile-questionnaire-header .site-branding h1 {
    display: inline;
    font-size: var(--text-lg);
    margin: 0;
    vertical-align: middle;
    color: var(--primary-blue);
    text-transform: lowercase;
}

@media screen and (max-width: 768px) {

    #masthead {
        padding: 0;
    }

    .banner {
        display: none;
    }

    .site-branding {
        margin: var(--space-4) var(--space-4);
    }

        .site-branding h1 {
        display: none;
        padding: var(--space-4);
    }

    .boring-box {
        display: none;
    }
    
        /* Show and style mobile header */
    .mobile-top-header {
        display: block !important;
        width: 100% !important;
        border-bottom: 1px solid var(--light-border) !important;
        padding: var(--space-1) var(--space-2) !important;
        box-sizing: border-box !important;
    }
    
    .mobile-top-header a {
        display: inline-block !important;
        height: 100% !important;
    }
    
    .mobile-logo {
        height: var(--space-8) !important;
        width: auto !important;
        vertical-align: middle !important;
        padding: var(--space-2) 0 var(--space-2) var(--space-5);
    }
    
    /* All other pages keep normal margin */
    body:not(.single) .site {
        margin-top: 0 !important;
    }

    /* Layout: Horizontal layout with sidebar on LEFT */
    .content-area {
        flex-direction: row-reverse !important;
        flex-wrap: nowrap !important;
    }
    
    /* Sidebar takes 30% of screen width */
    .widget-area {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 35% !important;
        height: 100vh !important;
        padding: var(--space-2) 0 var(--space-1) 0 !important;
        overflow-y: auto !important; /* Allow scrolling within sidebar if content is too tall */
        z-index: 100 !important;
    }
    
    /* Main content takes the remaining 70% */
    .site-main {
        width: 65% !important;
        padding: var(--space-2) !important;
    }
    
    /* Show mobile menu container */
    .mobile-menu-container {
        display: block !important;
        margin-bottom: var(--space-3) !important;
        text-align: right;

    }
    
    /* Remove bullets from mobile menu list */
    .mobile-menu-container .mobile-category-list {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Style mobile menu items */
    .mobile-menu-container .menu-item {
        list-style: none !important;
        padding: var(--space-4) var(--space-4) !important;
        margin: 0 !important;
        text-align: right !important;
        
    }
    
    /* Remove any pseudo-elements creating bullets */
    .mobile-menu-container .menu-item::before {
        display: none !important;
        content: none !important;
    }
    
    /* Style links in mobile menu */
    .mobile-menu-container .menu-item a {
        text-decoration: none !important;
        display: block !important;
        width: 100% !important;
        text-align: right !important;
        line-height: 1.3 !important;
    }

    .mobile-menu-container .menu-item.current-menu-item,
    .mobile-menu-container .menu-item.current-menu-ancestor,
    .mobile-menu-container .menu-item.current_page_item {
        background-color: #fff !important;
        margin-right: calc(-1 * var(--space-1)) !important; /* This is some hocus pocus shit, I used claude Extend beyond sidebar padding */
        border-right: 1px solid transparent !important; /* Hide the sidebar border */
        border-top: 1px solid var(--primary-border) !important;
        border-bottom: 1px solid var(--primary-border) !important;
        box-sizing: border-box !important;
        border-collapse: separate !important;
    }

    .archive-description p {
        font-size: var(--text-sm);
    }
        .item-description p {
            margin-bottom: var(--text-sm) !important;
        }

    h1.entry-title {
        margin: var(--space-4) 0 var(--space-4) 0 !important;
    }
    
    .entry-content .podcast-player {
        padding: 0;
    }

    .entry-content .episode-description {
        padding: 0;
    }

    /* Hide the desktop menu on mobile */
    .links-box {
        display: none !important;
    }
    
    /* Make the site branding smaller on mobile */
    .site-branding img {
        width: 60% !important;
    }
    
    .site-branding h1 {
        font-size: var(--text-lg) !important;
        margin: var(--space-1) 0 !important;
    }
    
    /* Make boring box text smaller */
    .boring-box .horizontal-list {
        font-size: var(--text-xs) !important;
        line-height: 1.2 !important;
    }
    
    /* Make site info smaller */
    .site-info {
        font-size: var(--text-2xs) !important;
    }
    
    /* Adjust main content layout for smaller space */
    .banner h1 {
        font-size: var(--text-lg) !important;
    }
    
    .craigslist-container {
        flex-direction: column !important;
    }
    
    .column-left, .column-right {
        width: 100% !important;
        padding: 0 !important;
    }
    
    /* Make category headers and items smaller in main content */
    .category-list-header {
        font-size: var(--text-sm) !important;
        padding: var(--space-1) var(--space-2) !important;
    }
    
    .category-list-item {
        font-size: var(--text-xs) !important;
        padding: var(--space-1) var(--space-2) !important;
    }

        /* Show mobile header for questionnaire pages */
    body.single-questionnaire .mobile-questionnaire-header,
    body.single-new-questionnaire .mobile-questionnaire-header,
    body.page-template-page-questionnaire .mobile-questionnaire-header,
    body.page-id-513 .mobile-questionnaire-header {
        display: block !important;
    }
    
    /* Hide sidebar for questionnaire pages on mobile */
    body.single-questionnaire .widget-area,
    body.single-new-questionnaire .widget-area,
    body.page-template-page-questionnaire .widget-area,
    body.page-id-513 .widget-area {
        display: none !important;
    }
    
    /* Full width main content for questionnaire pages */
    body.single-questionnaire .site-main,
    body.single-new-questionnaire .site-main,
    body.page-template-page-questionnaire .site-main,
    body.page-id-513 .site-main {
        width: 100% !important;
        padding: var(--space-4) !important;
        margin-top: var(--space-8) !important
    }
    
    /* Hide the regular site branding on questionnaire pages */
    body.single-questionnaire .widget-area .site-branding,
    body.single-new-questionnaire .widget-area .site-branding,
    body.page-template-page-questionnaire .widget-area .site-branding,
    body.page-id-513 .widget-area .site-branding {
        display: none !important;
    }
}

