/*!
Theme Name: Thurgood Marshall Foundation
Theme URI: http://underscores.me/
Author: Phill Mamula
Author URI: https://www.phillm.com
Description: 2025 Theme for Thurgood Marshall Foundation
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: thurgoodmarshall
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.

Thurgood Marshall Foundation 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/
*/

@font-face {
    font-family: 'Rhymes Display';
    src: url('fonts/Rhymes Display UltraLight.woff2') format('woff2'),
         url('fonts/Rhymes Display UltraLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Rhymes Display';
    src: url('fonts/Rhymes Display UltraLight Italic.woff2') format('woff2'),
         url('fonts/Rhymes Display UltraLight Italic.woff') format('woff');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}


/* =Colors
-------------------------------------------------------------- */
/* Defining color variables */
:root {
  --white: #fbf9f2;
  --black: #1B1815;
  --dark : #28201E;
  --gray : #766960;
  --brown: #4A2C22;
  --yellow: #FAC53B;
  --cream: #D2C8C2;
  --darkgray: #5c4a4b;
}


/* =Global
-------------------------------------------------------------- */
html,body {
    margin: 0; 
    padding: 0;
    min-height: 100%;    
}
body {
    background: var(--white);
    color: var(--black);
    font-family: Inter, sans-serif;
    font-size: clamp(15px, 1vw + 14px, 16px);
    line-height: clamp(1.6em, 0.2vw + 1.56em, 1.7em);
    -webkit-font-smoothing: antialiased;
}
strong, b { font-weight: 700; }
p { margin: 0 0 15px; }
.page, .post { margin: 0; }

/* Type */
h1, h2, h3, h4 {
    font-family: 'Rhymes Display', serif;
    line-height: 1.1em;
    color: var(--brown);
    text-wrap: balance;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    margin: 25px 0 15px;
}
h1.xl-title {
    font-size: clamp(2.25rem, 4vw + 1rem, 4.25rem);
}

h1 {
    font-size: clamp(2.5rem, 3.5vw + 1rem, 3.25rem);
}

h2 {
    font-size: clamp(1.875rem, 2.8vw + 0.5rem, 2.25rem);
}

h3 {
    font-size: clamp(1.5rem, 2vw + 0.5rem, 1.5rem);
}

h4 {
    font-size: clamp(1.2rem, 1.2vw + 0.5rem, 1.1rem);
}

h3, h4 { 
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-optical-sizing: auto;
}

.hide-mobile { display: block; }
.mobile-only { display: none; }

.mono, .label, .eyebrow {
    font-family: 'IBM Plex Mono', monospace;
    font-size: clamp(0.8rem, 0.25vw + 0.78rem, 0.9rem);
    line-height: 1.2em;
    font-weight: 400;
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.small-text {
    font-size: clamp(0.875rem, 0.25vw + 0.75rem, 0.9rem);
    line-height: 1.5em;
}


img { margin-bottom: -8px; }

ul, li {
    margin: 0;
    padding: 0;
    list-style: none;
} 
a, a:link, a:visited { 
    color: var(--brown);
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s ease-in-out;
}
a:hover { color: var(--black); }


button { cursor: pointer; }
video:focus,
input:focus,
button:focus {outline:0; cursor: pointer;}
textarea,
input.text,
select,
input[type="text"],
input[type="button"],
input[type="submit"],
.input-checkbox {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    border-radius: 0;
}
hr {
    margin: 25px 0;
    background: transparent;
    clear: both;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
span.edit-link a { text-decoration: underline; }

/* Embed Resposively */
.embed-container {
    position: relative;
    max-width: 100%;
    padding-bottom: 56.25%;
    overflow: hidden;
}
.embed-container iframe,
.embed-container object,
.embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* Container */
.container {
    width: 90vw;
    max-width: 1280px;
    position: relative;
    margin: 0 auto;
}
.container.small { max-width: 1024px; }
.container.text,
.text-content { max-width: 850px; margin: 0 auto; }
.container.fullwidth { width: calc(100% - 50px); max-width: 100%; }

/* Flex */
.flex { 
    display: flex; 
    flex-wrap: wrap; 
    align-items: center; 
}
.flex.justify { 
    justify-content: space-between; 
    align-items: inherit; 
}
.flex>* { 
    flex: 1; 
}

/* Overflow grids with gap-based layout */
.flex.overflow { 
    align-items: initial; 
    gap: 40px;
}
.flex.overflow>* { 
    flex: 1 1 0;
    min-width: 0;
}
.flex.overflow.two {
    gap: 100px;
}
.flex.overflow.two>* { 
    flex: 1 1 calc(50% - 50px);
    max-width: calc(50% - 50px);
}
.flex.overflow.three>* { 
    flex: 1 1 calc(33.3333% - 26.7px);
    max-width: calc(33.3333% - 26.7px);
}
.flex.overflow.four>*  { 
    flex: 1 1 calc(25% - 30px);
    max-width: calc(25% - 30px); 
}


/* Mobile */
.mobile-only { display: none; }


/* Large CTA */
.large-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 35px;
    border: 1px solid #DBD8C9;
    border-radius: 50px;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 0.9em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: border-color 0.25s ease-in-out, background-color 0.25s ease-in-out, color 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
}
.large-cta span {
    display: inline-block;
}
.large-cta.outline {
    color: var(--brown);
    border-color: var(--brown);
}
.large-cta.outline:hover,
.large-cta:hover {
    border-color: var(--brown);
    background-color: var(--brown);
    color: var(--white);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}
.large-cta:focus-visible {
    outline: 2px solid var(--brown);
    outline-offset: 2px;
}
.large-cta.outline.overlay {
    color: var(--white);
    border-color: var(--gray);
}
.large-cta.outline.overlay:hover {
    border-color: var(--yellow);
    background-color: var(--yellow);
    color: var(--black);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

/* List CTA */
a.list-cta {
    color: var(--gray);
    position: relative;
    display: inline-flex;
    align-items: center;
    font-size: 0.8em;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 3px 0;
    text-decoration: none;
}
a.list-cta::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: var(--gray);
    opacity: 0.4;
}
a.list-cta::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.25s ease-in-out;
}
a.list-cta:hover {
    color: var(--brown);
}
a.list-cta:hover::after,
a.list-cta:focus-visible::after {
    transform: scaleX(1);
}
a.list-cta:focus-visible {
    outline: 2px solid rgba(0, 0, 0, 0);
    outline-offset: 2px;
}

/* CTA Button - Large CTA layout */
.cta-buttons.flex {
    gap: 25px;
    margin: 30px 0 15px;
}
.cta-buttons.flex>* { flex: inherit; min-width: 180px; }
.cta-buttons.list.flex { gap: 50px; }
.cta-buttons.list.flex>* {
    min-width: auto !important;
}
.cta-buttons.flex.center {
    justify-content: center;
    margin: 50px auto 25px;
}
.cta-buttons.flex.center>* { flex: initial; min-width: 200px; }



/* =Header
-------------------------------------------------------------- */
header#masthead {
    padding: 10px 0;
    height: 75px;
    border-bottom: 1px solid #dcd6bf;
    position: sticky;
    top: 0;
    z-index: 999;
    transition: transform 0.25s ease, background-color 0.25s ease;
    will-change: transform;
    transform: translateY(0);
}

/* Visible on scroll up */
header#masthead.is-sticky {
    background-color: var(--white) !important;
    border-bottom: 1px solid #dcd6bf !important;
    transform: translateY(0);
}
header#masthead.is-sticky button.menu-toggle span {
    background-color: var(--brown) !important;
}
header#masthead.is-sticky button.menu-toggle:after {
    color: var(--brown) !important;
}
header#masthead.is-sticky .site-branding img {
    filter: none !important;
}
header#masthead.is-sticky .donate-cta a {
    color: var(--brown) !important;
}

/* Hidden on scroll down (after 75px) */
header#masthead.is-hidden {
    transform: translateY(-100%);
}

header#masthead .container.flex {
    position: inherit;
    align-items: center;
    justify-content: space-between;
}

/* Site Branding - Logo */
header#masthead .container.flex .site-branding {
    padding: 0px 25px;
    text-align: center;
}
header#masthead .site-branding img {
    width: auto;
    max-height: clamp(20px, 4.5vw + 10px, 35px);
}

/* Overlay Navigation */
header#masthead .main-navigation { width: auto; }
header#masthead button.menu-toggle {
    display: block;
    background: none;
    border: none;
    width: 100%;
    height: clamp(30px, 2vw + 26px, 35px);
    padding: 0;
    border-radius: 0;
    transform: rotate(0deg);
    transition: .5s ease-in-out;
    cursor: pointer;
    z-index: 999;
}
header#masthead button.menu-toggle:after {
    content: 'Menu';
    font-size: 0.85em;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--brown);
    position: absolute;
    top: 10px;
    left: 45px;
}
button.menu-toggle span {
    display: block;
    position: absolute;
    height: 1.5px;
    width: 25px;
    background: var(--brown);
    opacity: 1;
    left: 0;
    transform: rotate(0deg);
    transition: .25s ease-in-out;
}
button.menu-toggle span:nth-child(1) { top: 5px;}
button.menu-toggle span:nth-child(2),
button.menu-toggle span:nth-child(3) { top: 15px;}
button.menu-toggle span:nth-child(4) { top: 25px;}     
.main-navigation.toggled button.menu-toggle span { background: var(--brown); }   
.main-navigation.toggled button.menu-toggle span:nth-child(1) {
    top: 20px;
    width: 0%;
    left: 50%;
}
.main-navigation.toggled button.menu-toggle  span:nth-child(2) {
    transform: rotate(45deg);
}
.main-navigation.toggled button.menu-toggle span:nth-child(3) {
    transform: rotate(-45deg);
}
.main-navigation.toggled button.menu-toggle span:nth-child(4) {
    top: 20px;
    width: 0%;
    left: 50%;
}

/* Navigation */
header#masthead nav.main-navigation ul.menu {
    display: none;
}

header#masthead nav .nav-overlay { display: none;}
header#masthead nav.toggled .nav-overlay {
    background: var(--dark);
    display: flex;
    align-items: inherit;
    position: fixed !important;
    left: 0;
    top: 0;
    width: 100%;
    height: 100dvh;
    z-index: 99;
    overflow-x: hidden;
}
header#masthead nav.toggled .nav-overlay > * {
    padding: calc(50px + 5vw);
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

header#masthead nav.main-navigation ul.overlay-nav {
    display: block;
    width: 100%;
}
header#masthead  nav.main-navigation.toggled ul.overlay-nav li a {
    font-size: 1.25em;
    line-height: 1em;
    color: var(--cream);
    font-weight: 300;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 25px 0;
}
header#masthead nav.main-navigation.toggled ul.overlay-nav li a {
    transition: opacity 0.25s ease, transform 0.25s ease;
}
header#masthead nav.main-navigation.toggled ul.overlay-nav:hover li a {
    opacity: 0.35;
}
header#masthead nav.main-navigation.toggled ul.overlay-nav li a:hover,
header#masthead nav.main-navigation.toggled ul.overlay-nav li a:focus-visible {
    opacity: 1 !important;
}
header#masthead nav.main-navigation.toggled ul.overlay-nav li.current-menu-item a {
    opacity: 1;
    text-decoration: underline;
    text-decoration-thickness: 0.5px;
    text-decoration-color: var(--gray);
    text-underline-offset: 12px;
}
header#masthead nav.main-navigation.toggled .overlay-right {
    background: rgb(0 0 0 / 25%);
}

/* Overlay Image */
.overlay-figure {
    width: min(40vw, 425px);
    aspect-ratio: 3 / 5;
    max-height: 60dvh;
    position: relative;
    overflow: hidden;
}
#overlayPreviewImg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transform: scale(1.05);
    transition: opacity .25s ease;
}
#overlayPreviewImg.reveal {
    animation: overlayFadeIn .25s cubic-bezier(.25,.5,.5,.9) forwards;
}
@keyframes overlayFadeIn {
    0%   { opacity: 0; transform: scale(1.05); }
    100% { opacity: 1; transform: scale(1.00); }
}

/* Overlay Socials */
.overlay-socials {
    width: 100%;
    max-width: 320px;
    margin: 40px auto 0;
    position: relative;
}
.overlay-socials ul {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 30px;
}
.overlay-socials a {
    color: var(--gray);
    font-size: 1.35em;
}
.overlay-socials a:hover {
    color: var(--cream);
}

/* Overlay Close */
header#masthead button.menu-toggle.in-overlay {
    position: absolute;
    top: 19px;
    left: 25px;
    padding: 0;
}
header#masthead button.menu-toggle.in-overlay span {
    background: var(--gray) !important;
}
header#masthead button.menu-toggle.in-overlay:after {
    content: 'Close';
    color: var(--gray) !important;
}

/* Donate */
header#masthead .donate-cta {
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
header#masthead .donate-cta a {
    font-size: 0.75em;
    line-height: 1em;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    display: block;
    padding: 5px 0;
}

/* Header - Normal */
header#masthead.gray {
    background-color: #ebe8df;
}
/* Header - Transparent */
header#masthead.transparent {
    border-color: #3d3c3a;
}
header#masthead.transparent button.menu-toggle span {
    background: var(--cream);
}
header#masthead.transparent button.menu-toggle:after {
    color: var(--cream);
    opacity: 0.75;
}
header#masthead.transparent .donate-cta a {
    color: var(--cream);
}
header#masthead.transparent .donate-cta a:hover {
    color: var(--white);
}
header#masthead.transparent .site-branding img {
    filter: brightness(0) invert(1);
}

header#masthead.normal {
    background-color: var(--white);
}

/* =Pages
-------------------------------------------------------------- */
header.page-header.default {
    padding: calc(3vw + 25px) 0 25px;
}
header.page-header .page-header-image {
    background: 
        linear-gradient(
        to bottom,
        transparent 0%,
        transparent 50%,
        var(--white) 50%,
        var(--white) 100%
    );
}
header.page-header .post-thumbnail img, 
header.page-header .embed-container {
    box-shadow: 1px 1px 20px 3px rgb(136 127 107 / 25%);
}
.post-thumbnail img {
    width: 100%;
    overflow: hidden;
}
.post-thumbnail span.caption {
    display: block;
    margin: 10px 0 0;
    color: var(--gray);
}


/* Featured Image : Portrait */
.post-thumbnail.is-portrait {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.post-thumbnail.is-portrait > a {
    display: flex;
    align-items: center;
    justify-content: center;
    max-height: 70dvh;
    overflow: hidden;
    width: 100%;
}
.post-thumbnail.is-portrait > a img {
    height: 100%;
    width: auto;
    max-height: 70dvh;
    object-fit: contain;
}
.post-thumbnail.is-portrait .wp-caption-text {
    text-align: center;
}

/* Page Title */
header.page-header .page-title {
    padding: 50px 0;
}
header.page-header h1 {
    text-align: center;
    text-wrap: balance;
    margin: 0 auto 15px;
}


.pswp__dynamic-caption--below { max-width: 100%;}

/* Entry Content */
.entry-content > p:first-of-type::first-letter {
    font-family: 'Rhymes Display', serif;
    color: var(--brown);
    font-size: clamp(2.5rem, 5vw + 1rem, 5rem);
    font-weight: normal;
    line-height: 0.9em;
    float: left;
    margin: 0 15px 0 0;
}
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    margin: 30px 0 10px;
}
.entry-content h1,
.entry-content h2 { font-size: 2em; } 
.entry-content h3 { font-size: 1.5em; }
.entry-content h4 { font-size: 1.25em; }

.entry-content a,
.text-content a {
    color: inherit;
    text-decoration: underline;
}
.entry-content a.large-cta {
    text-decoration: none;
    margin: 15px 0;
}
.entry-content ul,
.entry-content ol {
    list-style: none;
    margin: 0 0 15px 30px;
    padding: 0;
}
.entry-content ul li,
.entry-content ol li {
    margin: 0 0 2px;
    list-style: disc;
    padding-left: 5px;
}
.entry-content ol li { list-style: decimal; }
.entry-content blockquote {
    color: var(--brown);
    font-family: 'Rhymes Display', serif;
    font-size: clamp(1.5rem, 2.5vw + 0.5rem, 2.5rem);
    line-height: 1.2em;
    text-wrap: balance;
    margin: 50px auto;
    text-align: center;
}
.entry-content blockquote em {
    font-family: 'Inter', sans-serif;
    font-size: 0.4em;
    font-style: italic;
    display: block;
}
.entry-content .alignright {
    float: right;
    margin-top: 10px;
    margin-right: -2vw;
    margin-left: 2.5em;
}
.entry-content .alignleft {
    float: left;
    margin-top: 10px;
    margin-left: -2vw;
    margin-right: 2.5em;
}
.entry-content .aligncenter {
    display: block;
    margin: 25px auto;
}

.entry-content .alignright,
.entry-content .alignleft {
    max-width: clamp(225px, 30vw + 45px, 420px);
}

/* PDF Viewer */
.entry-content .pdfemb-viewer {
    margin: 25px 0;
    border: 1px solid #dcd6bf !important;
}

/* Default Page */
.page-container {
    padding: 25px 0 100px;
}

/* Accordion */
.accordion-item {
    padding: 0;
    border-bottom: 1px solid #dcd6bf;
}
.accordion-item:last-child {
    border-bottom: none;
}
.accordion-title {
    padding: 30px 0;
    cursor: pointer;
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}
.accordion-title h4 {
    margin: 0;
    padding-right: 50px;
}
.accordion-title h4:after {
    color: var(--gray);
    font: var(--fa-font-light);
    content: '\f078';
    font-size: 0.8em;
    position: absolute;
    right: 5px;
    top: calc(50% - 8px );
}
.accordion-item.is-active .accordion-title h4:after {
    content: '\f077';
}
.accordion-panel {
    display: none;
    margin-top: -5px;
    padding: 0 50px 50px 0;
}
.accordion-panel a.list-cta {
    margin-top: 15px;
}

/* Caption */
figcaption, .caption, 
.wp-caption-text, .pswp__caption__text {
    font-size: 0.8em;
    line-height: 1.25em;
    color: var(--gray);
    padding: 12px 0;
    text-align: inherit;
    display: block;
    clear: both;
}
.pswp__caption__text {
    color: var(--cream);
    max-width: 100%;
    text-wrap: balance;
    text-align: center;
}
.pswp {
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px); /* Safari */
}
.pswp__caption, 
.pswp__caption__exif {
    padding: 0 !important;
}

span.caption.overlay {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 20px;
    color: #dcd6bf;
    z-index: 9;
    opacity: 0.9;
}

/* Breadcrumbs */
.breadcrumbs {
    color: var(--gray);
    padding: 15px 0;
    font-size: 0.9em;
}
.breadcrumbs>* {
    padding: 0 2px;
}
.breadcrumbs a {
    text-decoration: underline;
}
.breadcrumbs span.current {
    color: var(--gray);
    opacity: 0.7;
}

/* Results */
header.results-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 25px 0 -15px;
}
header.results-header h2 {
    font-size: clamp(1rem, 2.5vw + 0.5rem, 1.25rem);
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    margin: 0;
}
header.results-header .results-meta {
    color: var(--gray);
    opacity: 0.7;
    font-style: italic;
}

/* No Results */
.no-results {
    text-align: center;
    padding: 50px 0;
    color: var(--gray);
    opacity: 0.5;
}

/* =Heros
-------------------------------------------------------------- */

/* Center */
header.page-header.center {
    text-align: center;
    padding: 75px 0;
    min-height: 400px;
}
header.page-header.center .eyebrow {
    color: var(--gray);
    margin: 0 auto 25px;
    display: block;
}
header.page-header.center .page-subtitle {
    font-size: 1.1em;
    line-height: 1.6em;
    margin: 25px auto;
    text-wrap: balance;
    opacity: 0.7;
}
img.eyebrow-icon {
    width: auto;
    max-height: 60px;
    margin: -15px auto 25px;
}
img.eyebrow-icon.bottom {
    margin: 15px auto 0;
    max-height: 70px;
}
header.page-header.center .author {
    color: var(--gray);
    margin-top: 15px;
    opacity: 0.8;
}


/*404 Error */
.error-404 header.page-header {
    padding: calc(5dvw + 50px) 0;
}
.eyebrow-404 .eyebrow-icon {
    max-height: 110px;
}

/* Overlay Hero */
header.page-header.overlay {
    background-color: var(--black);
    padding: calc(100px + 5vw) 0 150px;
    display: flex;
    align-items: flex-end;
    text-align: center;
    overflow: hidden;
    min-height: calc(100dvh + 10px);
    margin-top: -80px;
}
header.page-header.overlay .container{
    position: relative;
    z-index: 99;
    text-align: center;
    text-shadow: 0 2px 15px rgba(0,0,0,0.35);
}
header.page-header.overlay .eyebrow {
    color: var(--yellow);
    display: block;
    margin-bottom: clamp(15px, 0.5vw, 25px);
}
header.page-header.overlay .cta-buttons {
    margin-top: 10px;
}
header.page-header.overlay h1.xl-title {
    color: var(--white);
    margin: 0 auto 25px;
}
header.page-header.overlay .description {
    color: var(--cream);
    font-size: clamp(0.9rem, 1.5vw + 0.5rem, 1.1rem);
    line-height: 1.5em;
    text-wrap: balance;
    width: 100%;
    max-width: 800px;
}
header.page-header.overlay .parallax-background img {
    filter: brightness(0.7);
    opacity: 0.45;
}
header.page-header.overlay span.caption.overlay {
    position: absolute;
    right: auto;
    left: 0;
    text-align: left;
    width: 100%;
    max-width: 1024px;
    opacity: 0.4;
}

/* Fullwidth Photo */
header.page-header.overlay.photo-hero {
    padding: 200px 0 50px;
    min-height: auto;
    aspect-ratio: 7 / 3;
    display: flex;
    align-items: flex-end;
}
header.page-header.overlay.photo-hero .container {
    text-align: left;
}
header.page-header.overlay.photo-hero h1.xl-title {
    font-size: clamp(2.5rem, 5vw + 1rem, 5rem);
    line-height: 1.1em;
    margin: 0 0 25px;
    text-align: left;
}

/* Scroll Arrow */
.scroll-arrow {
    position: absolute;
    left: 50%;
    bottom: 5vw;
    text-decoration: none;
}

.scroll-arrow i {
    font-size: 2em;
    color: var(--cream);
    animation: bounce 1.4s infinite;
    opacity: 0.5;
    transition: opacity 0.25s ease-in-out;
}
.scroll-arrow i:hover {
    opacity: 1;
}

@keyframes bounce {
    0%, 100% { transform: translate(-50%, 0); }
    50%      { transform: translate(-50%, 8px); }
}


/* Gallery */
.hero-gallery {
    position: relative;
    overflow: hidden;
}
.hero-gallery__slide {
    position: absolute;
    inset: 0; /* top/right/bottom/left: 0; */
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

.hero-gallery__slide.is-active {
    opacity: 1;
}

/* Parallax */
.parallax-section {
    position: relative !important;
    overflow: hidden;
}
.parallax-background {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.parallax-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform-origin: center center;
    will-change: transform;
    transform: scale(1);
    animation: heroZoom 30s cubic-bezier(0.4, 0.0, 0.2, 1) infinite alternate;
}
@keyframes heroZoom {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.1); /* now this will be visible */
    }
}
@media (prefers-reduced-motion: reduce) {
    .parallax-background img {
        animation: none;
        transform: none;
    }
}

/* =Sections
-------------------------------------------------------------- */
/* Textarea */
section.textarea {
    padding: 50px 0;
    min-height: 600px;
}
section.textarea .accordion-listing {
    width: 100%;
    max-width: 850px;
    margin: 0 auto;
}

img.thumbnail  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* =Team
-------------------------------------------------------------- */
.members-listing {
    margin: -25px auto 0;
    padding: 0 0 100px;
}

/* Team Card */
article.card {
    background: #FFFFFF;
    border: 1px solid #eae9e2;
    border-radius: 10px;
    overflow: hidden;
    transition: box-shadow 0.35s ease;
}
article.card:hover {
    box-shadow: 1px 1px 8px 3px rgb(136 127 107 / 5%);
}
article.card .card-image {
    width: 100%;
    height: 225px;
    overflow: hidden;
}
article.card:hover img {
    transform: scale(1.03);
}
article.card img {
    transition: transform 0.5s ease;
    will-change: transform;
}

article.card .card-content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    min-height: 175px;
}
article.card .card-content h3 {
    font-family: 'Rhymes Display', serif;
    font-size: clamp(1.25rem, 1.5vw + 0.5rem, 1.65rem);
    line-height: 1.2em;
    font-weight: normal;
    margin: 0 0 5px;
}
article.card .card-content h4 {
    margin: 5px 0 10px;
    font-size: 0.9em;
    line-height: 1.2em;
    font-weight: 400;
}
article.card .card-content .post-date,
article.card .card-content .company {
    color: var(--gray);
    font-size: 0.7em;
    line-height: 1.3em;
    opacity: 0.6;
    letter-spacing: 0.02em;
    text-wrap: balance;
    margin-top: auto;
    padding: 15px 0 0;
}

/* Single Team Member */
section.main-content {
    padding: 25px 0 100px;
}

/* Team Member Bio */
header.page-header.center.team-member {
    padding: 40px 0;
    min-height: auto;
}
header.page-header.center.team-member .breadcrumbs {
    color: var(--gray);
    margin-bottom: 15px;
}
header.page-header.center.team-member h1.xl-title {
    margin-bottom: 25px;
}
header.page-header.center.team-member h4.position {
    font-size: 1.1em;
    font-weight: 500;
    margin: 0;
}
header.page-header.center.team-member .company.mono {
    font-size: 0.8em;
    display: block;
    color: var(--gray);
    margin-top: 10px;
}

/* View All */
.view-all {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 50px auto;
    clear: both;
}

/* =Homepage
-------------------------------------------------------------- */
/* Mission */
section.textarea.mission {
    background: #F4F1E9;
    padding: calc(40px + 3vw) 0;
    position: relative;
}
section.textarea.mission:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: calc(1vw + 5px);
    height: 100%;
    background-color: var(--yellow);
}
section.textarea.mission span.eyebrow {
    display: block;
    margin: 5px 0 25px;
    opacity: 0.5;
    font-size: 0.8em;
}
section.textarea.mission h3 {
    font-family: 'Rhymes Display', serif;
    font-size: clamp(1.75rem, 2.5vw + 0.5rem, 4rem);
    line-height: 1.25em;
    font-weight: normal;
    margin: 0;
}
section.textarea.mission .column-title {
    margin-bottom: 150px;
}
section.textarea.mission .columns h4 {
    color: var(--brown);
    font-size: 1.25em;
    margin: 0 0 15px;
    border-top: 1px solid var(--brown);
    padding: 15px 0;
}

/* About */
section.textarea.about {
    background-color: transparent;
    padding: 75px 0;
}
section.textarea.mission.about:before {
    display: none;
}
section.textarea.about .columns>* {
    margin-bottom: 100px;
}

/* Spotlight */
section.spotlight {
    aspect-ratio: 16 / 9;
    position: relative;
    display: flex;
    align-items: flex-end;
}
section.spotlight.small {
    aspect-ratio: 2 / 1;
}
section.spotlight .spotlight-content {
    position: relative;
    z-index: 9;
    width: 100%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.5), transparent);
    padding: 100px 0 20px;
}
section.spotlight .caption {
    color: var(--cream);
    text-align: right;
}
section.spotlight .parallax-background img {
    object-position: top center;
}

/* News */
section.news-section {
    padding: 75px 0;
    border-top: 1px solid #f0ecdc;
}
section.news-section .container.flex {
    align-items: inherit;
    gap: 100px;
}
section.news-section .container.flex .featured-article {
    flex: 1.5;
}

/* Featured Article */
.featured-article article.news-list.grid .list-thumbnail {
    width: 100%; 
    aspect-ratio: 3 / 2;
    margin: 0 0 25px;
}
.featured-article article.news-list.grid h3 {
    font-size: clamp(2rem, 3vw + 0.5rem, 2.5rem);
    margin: 10px 0 15px;
}   
.featured-article article.news-list.grid .excerpt {
    text-wrap: inherit;
    width: 90%;
    margin: 0 0 5px;
}
.featured-article article.news-list.grid .post-date {
    margin: 0;
}

/* More Articles */
.more-articles article.news-list {
    padding: 25px 0;
    border-bottom: 1px solid #f0ecdc;
}
.more-articles article.news-list.flex {
    gap: 50px;
}
.more-articles article.news-list:first-of-type {
    padding-top: 0;
}
.more-articles article.news-list:last-of-type {
    border-bottom: none;
}
.more-articles article.news-list .post-category {
    margin: 0 0 5px;
}
.more-articles article.news-list h4 {
    font-size: clamp(1rem, 2.5vw + 0.5rem, 1.2rem);
    margin: 0 0 10px;
    font-weight: 600;
}
.more-articles article.news-list .list-thumbnail,
.more-articles article.news-list .list-thumbnail img {
    aspect-ratio: 1 / 1;
    width: 100%;
    max-width: 110px;
    margin: 0;
}
.more-articles .view-all { margin: 25px auto 0; }

/* Donation */
section.support {
    background: var(--yellow);
    color: var(--dark);
    padding: 50px 0;
}
section.support .container {
    display: flex;
}
section.support .donation-title {
    width: 100%;
    max-width: 580px;
}
section.support .donation-title h4 {
    font-family: 'Rhymes Display', serif;
    font-size: clamp(2rem, 2.5vw + 0.5rem, 4rem);
    color: var(--brown);
    font-weight: normal;
    line-height: 1.2em;
    margin: 10px 0 25px;
}
section.support .donation-title h3 {
    color: var(--brown);
    font-size: clamp(1.75rem, 2.5vw + 0.5rem, 2rem);
    line-height: 1.2em;
    font-weight: 600;
    margin-bottom: 25px;
}
section.support .donation-title .subtitle {
    text-wrap: balance;
}
section.support .donation-form {
    margin-left: auto;
    padding: 0 25px;
}

/* Accordion */
section.textarea.accordion {
    min-height: auto;
    padding: 50px 0 150px;
    min-height: 500px;
}


/* =News
-------------------------------------------------------------- */
.archive-listing {
    padding: 0 0 50px;
}
article.news-list {
    padding: 50px 0;
    border-bottom: 1px solid #f0ecdc;
}
article.news-list:last-of-type {
    border-bottom: none;
}
article.news-list.flex {
    gap: 50px;
}
article.news-list .list-content {
    flex: 1.5;
}
article.news-list .post-category {
    margin-bottom: 15px;
}
article.news-list .post-category,
article.news-list .post-date {
    font-size: 0.8em;
}
article.news-list .post-date,
article.news-list .post-category a {
    color: var(--gray);
    opacity: 0.75;
}
article.news-list .post-category a:hover {
    color: var(--brown);
    opacity: 1;
}
article.news-list h3 {
    font-family: 'Rhymes Display', serif;
    font-size: clamp(2rem, 5vw + 0.5rem, 2.5rem);
    font-weight: normal;
    margin: 0 0 15px;
}

article.news-list .excerpt {
    color: var(--gray);
    width: 100%;
    max-width: 650px;
}
article.news-list .list-thumbnail {
    cursor: pointer;
    overflow: hidden;
    border-radius: 8px;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    will-change: transform;
    aspect-ratio: 3 / 2;
}
article.news-list .list-thumbnail:hover {
    box-shadow: 0 12px 25px rgba(0,0,0,0.12);
}
article.news-list .list-thumbnail:hover img {
    transform: scale(1.03);
}
article.news-list .list-thumbnail img {
    width: 100% ;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
    will-change: transform;
}
article.news-list a.large-cta {
    display: table;
    margin-top: 50px;
}
article.news-list a.large-cta i {
    margin-left: 15px;
}

/* Pagination */
.pagination {
    display: flex;
    align-items: center;
    padding: 15px 0;
}
.pagination ol.wp-paginate li {
    margin: 0 5px;
}
.pagination .wp-paginate a {
    background-color: transparent;
    color: var(--brown);
    border: 1px solid #e4e2d9;
    padding: 5px 10px;
    transition: all 0.25s ease-in-out;
    border-radius: 3px;
    overflow: hidden;
}
.pagination .wp-paginate a:hover,
.pagination .wp-paginate .current {
    color: var(--white);
    background: var(--brown);
    border: 1px solid var(--brown);
    margin-right: 4px;
    padding: 5px 10px;
    border-radius: 3px;
    overflow: hidden;
}

/* =News Detail
-------------------------------------------------------------- */
body.single-post header#masthead.normal {
    background-color: #F4F1E9;
}
/* Text Hero */
header.page-header.center.article-header {
    background-color: #F4F1E9;
    padding: 50px 0 50px;
    min-height: auto;
}
header.page-header.center.article-header .breadcrumbs {
    margin-bottom: 25px;
}

.page-header-image { 
    background: linear-gradient( to bottom, #F4F1E9 50%, transparent 0%, transparent 100%);
    margin: 0 auto 50px; 
}
.page-header-image figure { margin: 0; }
.page-header-image .wp-caption .wp-caption-text {
    margin: 0;
    padding: 15px 0;
}


/* News Card */
article.news-list.grid {
    padding: 0;
    border: none;
}
article.news-list.grid h3 {
    font-size: clamp(1.5rem, 3vw + 0.5rem, 1.75rem);
    margin: 15px 0;
    line-height: 1.25em;
}
article.news-list.grid .excerpt {
    margin-bottom: 25px;
    text-wrap: balance;
}

/* Related Posts */
section.related-articles {
    margin: 50px auto;
}
section.related-articles .container {
    padding: 50px 0;
    border-top: 1px solid #f0ecdc;
}
section.related-articles article.news-list .card-content {
    padding: 15px 0;
}
section.related-articles article.news-list .excerpt {
    display: none;
}


/* =Contact
-------------------------------------------------------------- */
/* CF7 Forms */
.wpcf7-form {
    width: 100%;
    max-width: clamp(380px, 60vw, 600px);
    margin: -50px auto 25px;
}
.wpcf7-form p {
    margin-bottom: 5px;
}
.wpcf7-form label {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 0.7em;
    line-height: 1.2em;
    font-weight: 400;
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.5;
    margin: 0 0 10px;
    padding: 0 2px;
    display: inline-flex;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
    width: 100%;
    color: var(--darkgray);
    padding: 15px;
    border: 1px solid #e4e2d9;
    border-radius: 5px;
    font-size: 1em;
    line-height: 1.2em;
    margin-bottom: clamp(5px, 1vw + 3px, 15px);
    font-family: 'Inter', sans-serif;
}
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
    border-color: var(--brown);         
    outline: none;
    box-shadow: 0 0 0 2px rgba(139, 69, 19, 0.126);
}
.wpcf7-form textarea {
    max-height: 150px;
    resize: vertical;
}
.wpcf7-form select {
    width: 100%;
    color: var(--darkgray);
    background: #FFFFFF;
    padding: 15px;
    border: 1px solid #e4e2d9;
    border-radius: 5px;
    font-size: 1em;
    line-height: 1.2em;
    margin-bottom: 15px;
    font-family: 'Inter', sans-serif;
}
.wpcf7-form .select-form {
    position: relative;
    margin-top: -8px;
}
.wpcf7-form .select-form::before {
    color: var(--gray);
    font: var(--fa-font-light);
    content: '\f078';
    position: absolute;
    right: 20px;
    top: calc(50% - 8px);
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 99;
}

.wpcf7-form input[type="submit"] {
    background: var(--brown);
    color: var(--white);
    border: none;
    width: 100%;
    text-align: center;
    padding: 20px;
    font-size: 0.9em;
    line-height: 1em;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-radius: 50px;
    cursor: pointer;
    transition: background-color 0.25s ease-in-out;
}
.wpcf7-form input[type="submit"]:hover {    
    background: var(--black);
}

/* =Credits
-------------------------------------------------------------- */

/* Masonry */
.tm-masonry-gallery {
    margin: 50px auto 150px;
    column-count: 6;
    column-gap: 20px;
}
.tm-masonry-item {
    display: inline-block;
    width: 100%;
    margin-bottom: 10px;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
}
.tm-masonry-item img {
    display: block;
    width: 100%;
    height: auto;
}
.tm-masonry-gallery .wp-caption-text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
}
@media (max-width: 1400px) {
    .tm-masonry-gallery {
        column-count: 5;
    }
}
@media (max-width: 1024px) {
    .tm-masonry-gallery {
        column-count: 3;
        column-gap: 10px;
    }
    .tm-masonry-item {
        margin-bottom: 0;
    }
}
@media (max-width: 640px) {
    .tm-masonry-gallery {
        column-count: 2;
        column-gap: 10px;
    }
}
@media (max-width: 480px) {
    .tm-masonry-gallery {
        column-count: 1;
    }
}


/* Photo Credits Listing */
section.credits {
    padding: 50px 0 150px;
}
section.credits .photo-item {
    padding: 25px 0;
    border-top: 1px solid #f0ecdc;
    gap: 30px;
    display: flex;
    align-items: center;
}
section.credits .photo-item.flex>* { flex: initial}
section.credits .photo-item.flex .photo-meta {
    flex: 4;
}
section.credits .photo-item .photo-thumb {
    width: 115px;
}
section.credits .photo-item h4 {
    margin: 0 0 5px;
}
section.credits .photo-item .credits {
    color: var(--gray);
}

/* =Footer
-------------------------------------------------------------- */
footer.site-footer {
    background: var(--dark);
    color: var(--cream);
    padding: 50px 0 25px;
}

/* Footer Main */
.footer-main.flex {
    align-items: inherit;
    justify-content: flex-end;
    padding: 0 0 50px;
}
.footer-main.flex>* { flex: initial; }
.footer-main.flex .footer-address,
.footer-main.flex .footer-menu-1, 
.footer-main.flex .footer-menu-2 {
    width: 20%;
    max-width: 350px;
    margin-right: 25px;
}
.footer-main.flex .footer-address {
    margin-right: 100px;
}
.footer-main.flex .footer-menu-2 {
    width: auto;
    margin-right: 25px;
}


/* Footer Logo */
.footer-logo {
    padding: 5px;
    margin-right: auto;
}
.footer-logo img {
    width: 100%;
    max-width: 60px;
    height: auto;
}

/* Footer Address */
.footer-main span.label {
    color: var(--gray);
    margin: 5px 0 15px;
    display: block;
}
.footer-main .address {
    color: var(--cream);
    line-height: 1.7em;
}
.footer-main .address a {
    color: var(--gray);
    text-decoration: underline;
}
.footer-main .address a:hover {
    color: var(--white);
}

/* Footer Navigation */
.footer-main ul li a {
    font-size: 0.9em;
    line-height: 1.7em;
    color: var(--cream);
    display: block;
    padding: 1px 0;
}
.footer-main ul li a:hover {
    color: var(--yellow);
}

/* Footer Quote */
.footer-quote {
    text-align: center;
    padding: 50px 0;
    margin: 25px auto 0;
    border-top: 1px solid #3e3532;
    border-bottom: 1px solid #3e3532;
}
.footer-quote .quote {
    font-family: 'Rhymes Display', serif;
    font-size: clamp(1.5rem, 2vw + 0.5rem, 2.5rem);
    line-height: 1.25em;
    width: 100%;
    max-width: 1140px;
    font-weight: normal;
    text-wrap: balance;
    margin: 0 auto;
}
.footer-quote .caption {
    color: var(--gray);
    font-size: 0.8em;
    line-height: 1.2em;
    margin-top: 20px;
    display: block;
}

/* Copyright */
footer.site-footer .site-info {
    padding: 25px 0 15px;
    font-size: 0.8em;
    line-height: 1.5em;
}
footer.site-footer .copyright, 
footer.site-footer .copyright a {
    color: var(--gray);
}
footer.site-footer .copyright a:hover {
    color: var(--white);
}
footer.site-footer .terms { flex: 3; }
footer.site-footer .terms ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
}
footer.site-footer .terms ul li {
    margin-right: 15px;
}  
footer.site-footer .terms ul li a {
    color: var(--gray);
    text-decoration: underline;
} 

/* Socials */
.socials ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.socials ul li {
    margin-left: 2vw;
}
.socials ul li a {
    color: #c8b7a2;
    font-size: 1.75em;
}
.socials ul li a:hover,
footer.site-footer .terms ul li a:hover {
    color: var(--cream);
}


/* =Mobile (Media Queries)
-------------------------------------------------------------- */
@media (max-width: 1280px) { 
    /* Home */
    section.news-section .container.flex { gap: 50px;}
}
@media (max-width: 1024px) { 
    /* Home */
    section.news-section .container.flex .featured-article { flex: 1.25; }
    .more-articles article.news-list.flex { gap: 25px; }
    .more-articles article.news-list h4 { font-size: 1.1em; }

    /* News */
    article.news-list .list-content { flex: 1; }
    article.news-list .list-thumbnail { aspect-ratio: 1/ 1;}
    article.news-list .list-image { margin-right: 3vw; }
    article.news-list .excerpt { font-size: 0.9em; line-height: 1.6em; }
}
@media (max-width: 800px) { 
    header#masthead {
        height: auto;
        padding: 12px 0;
    }
    header#masthead button.menu-toggle:after { display: none; }
    header#masthead .donate-cta { height: auto; }
    header#masthead .container.flex .site-branding { padding: 0; }

    .container { width: 86vw; }
    .hide-mobile { display: none;}
    .mobile-only { display: block; }

    .accordion-title { padding: 25px 0;}
    .accordion-panel { padding: 5px 0 15px; }

    /* Flex */
    .flex.overflow.two { gap: 40px;}
    .flex.overflow.two>*,
    .flex.overflow.three>*,
    .flex.overflow.four>* { flex: 0 0 calc(50% - 20px); max-width: calc(50% - 20px); }

    /* Hero */
    header.page-header h1 { width: 100%; }
    header.page-header.center,
    header.page-header.center.article-header {
        min-height: auto;
        padding: calc(5vw + 25px) 0;
    }
    header.page-header.overlay h1.xl-title { width: 100%;}
    img.eyebrow-icon { max-height: 45px; margin-bottom: 20px; }
    img.eyebrow-icon.bottom { max-height: 60px; margin-bottom: 10px; }

    /* Mobile Overlay */
    header#masthead nav.toggled .nav-overlay > * { padding: 40px 20px; }
    .overlay-figure { display: none; }
    header#masthead nav.main-navigation.toggled .overlay-right { display: none; }

    /* Heros */
    header.page-header.overlay.donation-hero {
        min-height: 650px;
        padding: 50px 0 200px;
    }
    header.page-header.center .page-subtitle { font-size: 1em; }

    header.page-header.overlay {
        min-height: auto;
        width: 100%;
        aspect-ratio: 1 / 1;
        padding: 0;
    }
    header.page-header.overlay .parallax-background img { opacity: 0.7;}
    .header-bottom {
        background: var(--black);
        color: var(--gray);
        padding: 30px 0;
        text-align: center;
    }
    .header-bottom h1 { color: var(--cream); margin: 0 auto 25px; }

    /* Home */
    section.news-section { padding: 50px 0;}
    section.news-section .news-container.container.flex {
        flex-direction: column;
        margin: 0 auto;
        gap: 10px;
    }
    section.news-section .container.flex .featured-article,
    section.news-section .container.flex .more-articles {
        width: 100%;
        max-width: 100%;
    }
    .featured-article article.news-list.grid { 
        margin-bottom: 30px; 
        padding-bottom: 30px; 
        border-bottom: 3px solid #f0ecdc; 
    }
    .more-articles article.news-list.flex {
        flex-direction: row;
        gap: 15px;
    }
    .more-articles article.news-list { gap: 0; padding: 20px 0; }
    .more-articles article.news-list h4 { font-size: 1.25em; line-height: 1.3em; }
    section.news-section .view-all {
        margin: 25px auto;
    }

    /* Related */
    section.related-articles { 
        margin: 50px auto 0; 
        padding: 0; 
    }
    section.related-articles .container { 
        padding: 25px 0; 
    }
    section.related-articles .flex.overflow.two {
        display: block;
        margin: 0;
        width: 100%;
    }
    section.related-articles .flex.overflow.two > * { 
        flex: none; 
        width: 100%; 
        margin: 0; 
        max-width: none;
    }
    section.related-articles article.news-list.grid {
        padding: 15px 0;
        border-bottom: 1px solid #f0ecdc;
    }
    section.related-articles article.news-list.grid:last-of-type {
        border-bottom: none;
    }
    section.related-articles article.news-list.grid h3 {
        color: var(--black);
        font-size: clamp(1.75rem, 3vw + 0.5rem, 2rem);
    }

    /* News Detail */
    .page-header-image .container.small { width: 100%; }
    .page-header-image .wp-caption .wp-caption-text {
        width: 86vw;
        margin: 0 auto 30px;
        border-bottom: 1px solid #eae9e8;
    }

    /* Team */
    article.card .card-content { min-height: 150px;}
    
    /* Donate */
    header.page-header.overlay.photo-hero {
        min-height: 400px;
    }
    header.page-header.overlay.photo-hero .container,
    header.page-header.overlay.photo-hero h1.xl-title {
        text-align: center;
    }
    section.support .donation-title .subtitle { font-size: 0.9em; line-height: 1.5em; opacity: 0.7;}

    /* Entry Content */
    /* 404 */
    .eyebrow-404 .eyebrow-icon { height: 85px; }

    /* News */
    article.news-list.flex { flex-direction: column; gap: 0; }
    article.news-list .list-thumbnail { width: 100%; max-width: 100%; margin: 0 0 15px; aspect-ratio: 3 / 2; }
    article.news-list .list-content { width: 100%; }    
    .pagination { justify-content: center;  }

    article.news-list .post-category { margin-bottom: 10px; }
    section.related-articles article.news-list .card-content { padding: 0;}

    /* Footer */
    .footer-main.flex { flex-wrap: wrap; justify-content: center; }
    .footer-logo img { max-width: 65px; }
    .footer-main.flex>* { flex: 1 0 50%; width: 50%; max-width: 50% !important; margin: 0 0 25px !important;}
    .footer-main.flex .footer-address { margin: 0;}

    .footer-quote { padding: 30px 0; }
    .footer-quote .caption { margin-top: 15px;}
    footer.site-footer .copyright { width: 90%; margin: 0 auto;}
    footer.site-footer .terms { flex: 1; width: 70%;}
    .socials ul li { margin-left: 25px; }



}
@media (max-width: 640px)  { 
    /* Navigation */
    header#masthead .site-branding { flex: 2; }

    /* Flex */
    .flex.overflow.two>*,
    .flex.overflow.three>*,
    .flex.overflow.four>* { flex: 0 0 100%; max-width: 100%; } 

    /* CTA Buttons */
    .cta-buttons.flex {
        margin: 25px 0;
    }
    .cta-buttons.flex.center {
        flex-direction: column;
        gap: 0;
        margin: 15px auto;
    }
    .cta-buttons.flex.center>* {
        flex: 1 0 100%;
        min-width: 250px;
        margin: 5px 0;
    }

    /* Entry Content */
    .entry-content .alignleft { margin-left: 5px; }
    .entry-content .alignright { margin-right: 5px; }
    .entry-content p:first-of-type::first-letter { font-size: 4.5rem; margin-top: 0; }

    /* Home */
    section.support {
        text-align: center;
        padding: 30px 0;
    }
    section.textarea.mission .column { margin-bottom: 50px;}
    section.textarea.mission .columns h4 { margin: 0; }
    section.textarea.mission .column-title  { margin-bottom: 100px;}

    section.support .cta-buttons.flex { justify-content: center;}
    section.support .container { flex-direction: column;}
    section.support .donation-title h4 { margin: 25px auto 15px; }
    section.support .donation-form { margin: -10px auto; padding: 0; }

    section.support .donation-title h3 {
        margin: 15px 0;
    }
    section.spotlight .spotlight-content { padding: 50px 0 15px; }
    section.support .donation-title { display: none; }

    /* Entry Content */
    .entry-content .alignleft,
    .entry-content .alignright {
        max-width: 100%;
        margin: 0 auto 25px !important;
        width: 100%;
    }

    /* Credits */
    section.credits .photo-item { align-items: inherit;}
    section.credits .photo-item .photo-thumb { width: 100px; }
    section.credits .photo-item h4 { margin: 0 0 10px;}

    /* Footer */
    footer.site-footer .footer-main.flex {
        justify-content: space-between;
    }
    footer.site-footer .footer-main>* {
        flex: inherit !important;
        margin: 0 !important;
        width: auto !important;
        max-width: auto !important;
    }
    footer.site-footer .footer-main .footer-menu-1 {
        text-align: right;
    }
    footer.site-footer .footer-main .footer-logo,
    footer.site-footer .footer-main .footer-menu-2 { display: none;}
    footer.site-footer .site-info.flex.justify {
        text-align: center;
        flex-direction: column-reverse;
    }
    footer.site-footer .socials ul {
        justify-content: center;
        margin: 0 auto 15px;
    }
    footer.site-footer .socials ul li { margin: 0 10px; }
    footer.site-footer .terms {
        width: 100%;
        margin: 0 auto;
    }
    footer.site-footer .terms ul { justify-content: center;}
    footer.site-footer .terms ul li { margin: 5px 10px; }
}
