/*
Theme Name: THESIS Theme 26
Theme URI: https://thesisglobal.org
Author: THESIS Global
Author URI: https://thesisglobal.org
Description: A clean, modern WordPress theme for THESIS Global following brand guidelines
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: thesis-theme-26
*/

/* ==========================================================================
   Variables and Base Setup
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Aboreto&display=swap');
@import url("https://use.typekit.net/mdt6vcl.css");

:root {
    /* Brand Colors */
    --thesis-claret: #8A1538;
    --thesis-claret-80: rgba(138, 21, 56, 0.8);
    --thesis-claret-60: rgba(138, 21, 56, 0.6);
    --thesis-claret-40: rgba(138, 21, 56, 0.4);
    --thesis-claret-20: rgba(138, 21, 56, 0.2);
    --thesis-claret-10: rgba(138, 21, 56, 0.1);


    /* Extended Palette */
    /*
    --thesis-burgundy: #6B1428;
    --thesis-rose: #B84A6B;
    --thesis-cream: #FAF7F2;
    --thesis-parchment: #F5EFE6;
    --thesis-gold: #C5A572;
    --thesis-warm-gray: #807972;
    --thesis-charcoal: #2C2825;
    --thesis-light-gray: #f9f9f9;
    */


/*from Claude to match
/* Extended Palette – Classical Landscape Edition */
--thesis-burgundy: #5C2A2A;     /* Deep sienna red, like aged brick shadows */
--thesis-rose: #C87B6A;         /* Warm terracotta-rose from sunset clouds */
/*--thesis-cream: #F8F3E8;        /* Sun-washed parchment tone */
--thesis-cream: #FFF;        /* Sun-washed parchment tone */
/*--thesis-cream: #F5F2EC;        /* Sun-washed parchment tone */
--thesis-parchment: #E9DFC8;    /* Soft, aged ivory paper tint */
--thesis-gold: #C9A464;         /* Muted antique gold, echoes evening light */
--thesis-warm-gray: #8B8175;    /* Weathered stone gray-brown */
--thesis-charcoal: #3B322C;     /* Deep, natural umber-black for text or footer */
--thesis-light-gray: #F5F2EC;   /* Gentle warm highlight tone */

/* Additional Harmonizing Colors */
--thesis-sky-amber: #E6A36A;    /* Sunset glow for accents or hover states */
--thesis-river-blue: #7C8A91;   /* Desaturated blue-gray from river reflections */
--thesis-olive-green: #6E705B;  /* Soft mossy undertone for balance */
--thesis-terracotta: #A5653E;   /* Earthen architectural tone */
--thesis-dusty-plum: #7E5D5A;   /* Adds richness to neutral typography or buttons */
--thesis-stone: #B6A895;        /* Light taupe from temple stone */
--thesis-shadow: #4F4338;       /* Deep shadow accent for depth layering */

/* dialogue events */
.event-list .event-item.dialogue{
    border: 4px solid var(--thesis-warm-gray);
}
.event-list .event-item.dialogue .event-item-type{
    background: var(--thesis-warm-gray);
}
.event-list .event-item.dialogue .event_button_section{
    border-top: 4px solid var(--thesis-warm-gray);
}
/* summit events */
.event-list .event-item.summit{
    border: 4px solid var(--thesis-sky-amber);
}
.event-list .event-item.summit .event-item-type{
    background: var(--thesis-sky-amber);
}
.event-list .event-item.summit .event_button_section{
    border-top: 4px solid var(--thesis-sky-amber);
}

/* dinner events */
.event-list .event-item.dinner{
    border: 4px solid var(--thesis-river-blue);
}
.event-list .event-item.dinner .event-item-type{
    background: var(--thesis-river-blue);
}
.event-list .event-item.dinner .event_button_section{
    border-top: 4px solid var(--thesis-river-blue);
}

/* lecture events */
.event-list .event-item.lecture{
    border: 4px solid var(--thesis-olive-green);
}
.event-list .event-item.lecture .event-item-type{
    background: var(--thesis-olive-green);
}
.event-list .event-item.lecture .event_button_section{
    border-top: 4px solid var(--thesis-olive-green);
}

/*seminar events */
.event-list .event-item.seminar{
    border: 4px solid var(--thesis-terracotta);
}
.event-list .event-item.seminar .event-item-type{
    background: var(--thesis-terracotta);
}
.event-list .event-item.seminar .event_button_section{
    border-top: 4px solid var(--thesis-terracotta);
}

/* workshop events */
.event-list .event-item.workshop{
    border: 4px solid var(--thesis-dusty-plum);
}
.event-list .event-item.workshop .event-item-type{
    background: var(--thesis-dusty-plum);
}
.event-list .event-item.workshop .event_button_section{
    border-top: 4px solid var(--thesis-dusty-plum);
}


    /*--thesis-box-shadow: 0 2px 8px rgba(0,0,0,0.08);*/
    --thesis-box-shadow: 0 2px 8px rgba(197,165,114,0.08);
    /* Typography */
    --font-display: 'Aboreto', 'Georgia', serif;
    /*--font-heading: 'Adobe Garamond Pro', 'Garamond', 'Georgia', serif;*/
    --font-heading: 'adobe-garamond-pro', 'Garamond', 'Georgia', serif;
    --font-body: 'Helvetica Neue', 'Helvetica', Arial, sans-serif;

    --header-height: 83px;

    /* Spacing */
    --space-xs: 0.5rem;
    --space-sm: 1rem;
    --space-md: 1.5rem;
    --space-lg: 2rem;
    --space-xl: 3rem;
    --space-xxl: 4rem;

    /* Container */
    --container-max: 1280px;
    --content-max: 900px;

    /* Borders & Shadows */
    --border-classic: 1px solid var(--thesis-claret-20);
    --painting-shadow: 1px 0px 9px -2px rgba(0,0,0,0.89);
    --shadow-elegant: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-manuscript: 0 10px 25px -5px rgba(138, 21, 56, 0.1), 0 10px 10px -5px rgba(138, 21, 56, 0.04);
}

/* ==========================================================================
   Typography
   ========================================================================== */
/* ensure the admin bar is above the header */
html body #wpadminbar {
    z-index: 999999 !important;
}

.news_image_header{
    width:100%;
    max-width:600px;
    margin:0 auto;
    position:sticky;
    height:300px;
    border-bottom: 10px solid var(--thesis-claret);
    top:0;
}

.admin-bar .news_image_header{
    top: 32px;
}

body.vert-logo nav.breadcrumbs{
    margin-left: 12rem;
}
body.mobile.vert-logo nav.breadcrumbs{
    margin-left: 0;
}

.news_image_header img{
    margin: 0 auto;
}

body.page-id-6099 .content-wrapper{
    padding: 1rem 2rem;
}

body.page-id-6121  .content-wrapper{
    padding:0;
}
body.page-id-6121 .site-content{
    margin-top:40px;
}

.front_image img{
    -webkit-box-shadow: var(--painting-shadow);
    box-shadow: var(--painting-shadow);
}

body {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
    color: var(--thesis-charcoal);
    background-color: var(--thesis-cream);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin:0;
    padding:0;
}

body a{
    text-decoration:none;
}

body a:-webkit-any-link {
    color: var(--thesis-burgundy);
}

body article a{
    color: var(--thesis-burgundy);
}

body article a .more_button{
    color: var(--thesis-cream);
}

body a.btn{
    color: white!important;
}
body a.btn:hover{
    color: var(--thesis-claret)!important;
}

.podcast-hero{
    height: 300px;
    width: 400px;
    margin:0;
    border-radius: 8px;
    overflow:hidden;
}

.mobile .podcast-hero{
    border-radius: 8px 8px 0 0;
}

.podcast-author{
    background: var(--thesis-burgundy);
    color: var(--thesis-cream);
    padding: 15px;
    margin:0 0 25px 0;
    width:400px;;
    display:flex;
    align-items:center;
    justify-content: space-between;
    box-sizing: border-box;
    -webkit-box-sizing:border-box;
    -moz-box-sizing: border-box;
}

.thesis_page_header{
    margin-top:4rem;
    text-align:center;
}

body.vert-logo.mobile .thesis_page_header{
    margin-top:12rem;
}

.center-items-in-div{
    display:flex;
    align-items:center;
    justify-content:center;
}

.article-author{
    background: var(--thesis-burgundy);
    color: var(--thesis-cream);
    padding: 15px;
    margin:0;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    box-sizing: border-box;
    -webkit-box-sizing:border-box;
    -moz-box-sizing: border-box;
}

.article-author div:not(:first-child){
    margin-left: 20px;
}

.author_info_link a{
    padding: 8px;
    background: var(--thesis-cream);
    color: var(--thesis-burgundy);
    border-radius: 5px;
}
.author_info_link a:hover{
    background: var(--thesis-gold);
}

body article button a{
    color: var(--thesis-cream);
}

body .article-date{
    /*appears over featured image */
    background: var(--thesis-burgundy);
    color: var(--thesis-cream);
    padding: 10px;
    font-size: 1em;
    position:absolute;
    left:0;
    top:0;
}

body a:visited{
    /* color: var(--thesis-rose); */
}
body a:active{
    /* color: var(--thesis-burgundy); */
}

body input, body textarea {
    width: 100%;
    box-sizing: border-box;
    -webkit-box-sizing:border-box;
    -moz-box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 400;
    line-height: 1.3;
    color: var(--thesis-claret);
    margin-bottom: var(--space-md);
}

h1 {
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: -0.02em;
}

h2 {
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    letter-spacing: -0.01em;
}

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

h4 {
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
}

h5 {
    font-size: clamp(1.125rem, 2vw, 1.5rem);
}

h6 {
    font-size: clamp(1rem, 1.75vw, 1.25rem);
}

.display-heading {
    font-family: var(--font-display);
    font-weight: 400;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.spinner{
    color: var(--thesis-claret-60);
}

/*subscribe to notifications button... */

.thesis-pwa-notify-fab{
    position: fixed;
    top: 84px;              /* adjust to sit just under your header */
    right: 16px;
    z-index: 999999;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: transform .2s ease, opacity .2s ease;
}

/* Make the button look like a pill */
.thesis-pwa-enable-notifications{
    display: none;          /* JS will reveal when appropriate */
    border: 0;
    padding: 10px 14px;
    border-radius: 999px;
    cursor: pointer;
    font: inherit;
    background: var(--thesis-claret);    /* match THESIS claret, or use CSS var */
    color: #fff;
    box-shadow: 0 8px 20px rgba(0,0,0,.18);
}

/* Status text styling */
.thesis-pwa-notifications-status{
    font-size: 13px;
    line-height: 1.2;
    color: #111;
    background: rgba(255,255,255,.92);
    padding: 8px 10px;
    border-radius: 10px;
    box-shadow: 0 8px 20px rgba(0,0,0,.12);
    max-width: 260px;
}

/* Optional: on small screens, keep it tidy */
@media (max-width: 480px){
    .thesis-pwa-notify-fab{
        left: 12px;
        right: 12px;
        top: 74px;
        justify-content: flex-end;
    }
    .thesis-pwa-notifications-status{
        display:none; /* hide the status bubble on very small screens */
    }
}


/*publications-archive - */

    /* Main layout - sidebar + content */
    .publications-archive-wrapper {
        display: flex;
        gap: 30px;
        align-items: flex-start;
        box-sizing: border-box;
        max-width: 98%;
    }

    /* Facet search sidebar */
    .publications-facets {
        flex: 0 0 250px;
        background: #f8f8f8;
        padding: 20px;
        border-radius: 8px;
        border: 1px solid #e0e0e0;
        position: sticky;
        top: 20px;
    }

    .publications-facets h3 {
        margin: 0 0 15px 0;
        color: var(--thesis-claret);
        font-size: 1.1rem;
        border-bottom: 2px solid var(--thesis-claret);
        padding-bottom: 8px;
    }

    .facet-group {
        margin-bottom: 20px;
    }

    .facet-group label {
        display: block;
        font-weight: 600;
        margin-bottom: 6px;
        color: #333;
        font-size: 0.9rem;
    }

    .facet-group select {
        width: 100%;
        padding: 8px 10px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 0.9rem;
        background: #fff;
    }

    .facet-group select:focus {
        outline: none;
        border-color: var(--thesis-claret);
    }

    .facet-buttons {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    .facet-buttons button {
        flex: 1;
        min-width: 80px;
        padding: 10px 15px;
        border: none;
        border-radius: 4px;
        cursor: pointer;
        font-size: 0.9rem;
        transition: background 0.2s;
    }

    .facet-buttons button[type="submit"] {
        background: var(--thesis-claret);
        color: #fff;
    }

    .facet-buttons button[type="submit"]:hover {
        background: var(--thesis-burgundy);
    }

    .facet-buttons button[type="reset"] {
        background: #666;
        color: #fff;
    }

    .facet-buttons button[type="reset"]:hover {
        background: #555;
    }

    /* Main content area */
    .publications-content {
        flex: 1;
        min-width: 0;
    }

    /* Publications grid */
    .archive-publications {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
    }

    .archive-publications article {
        flex: 0 0 calc(33.333% - 14px);
        display: flex;
        flex-direction: column;
        border: 1px solid var(--thesis-claret);
        padding: 20px;
        border-radius: 8px;
        box-shadow: var(--painting-shadow);
        background: #fff;
    }

    .archive-publications article .entry-header {
        margin-bottom: 10px;
    }

    .archive-publications article h3 {
        color: var(--thesis-claret);
        margin: 0 0 8px 0;
        font-size: 1.1rem;
        line-height: 1.3;
    }

    .archive-publications article h3 a {
        color: inherit;
        text-decoration: none;
    }

    .archive-publications article h3 a:hover {
        text-decoration: underline;
    }

    .archive-publications .entry-date {
        font-size: 0.8rem;
        color: #888;
        font-weight:bold;
    }

    .archive-publications .entry-summary {
        flex: 1;
        font-size: 0.9rem;
        line-height: 1.5;
        color: #444;
        margin-bottom: 12px;
    }

    .archive-publications .entry-summary p {
        margin: 0;
    }

    /* Taxonomy pills */
    .taxonomy-pills {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin-bottom: 15px;
    }

    .taxonomy-pill {
        display: inline-block;
        padding: 3px 10px;
        font-size: 0.75rem;
        border-radius: 12px;
        text-decoration: none;
        transition: opacity 0.2s;
    }

    .taxonomy-pill:hover {
        opacity: 0.8;
    }

/* Topic - Sunset sky coral/peach */
.taxonomy-pill.topic {
    background: #f9ebe3;
    color: #8b4d3b;
    border: 1px solid #e8c4b8;
}

/* Region - Mountain purple/dusty blue */
.taxonomy-pill.region {
    background: #e8e4ec;
    color: #5c5478;
    border: 1px solid #c9c0d4;
}

/* Year - Deep teal water */
.taxonomy-pill.year {
    background: #e2ece9;
    color: #3d5c54;
    border: 1px solid #b8cfc8;
}

/* Publication Type - Golden ochre ruins */
.taxonomy-pill.pub-type {
    background: #f5edd8;
    color: #6b5a2f;
    border: 1px solid #ddd0a8;
}
    .flex-apart{
        display:flex;
        justify-content: space-between;
        align-items: center;
        align-content:center;
    }
    a .pub-button{
        background: var(--thesis-claret);
        color:#fff;
        cursor:pointer;
        font-size: 0.8em;
        padding: 3px 5px;
        border: none;
        border-radius: 4px;
        transition: background 0.2s;
    }

    a .pub-button:hover{
        background: var(--thesis-burgundy);
    }

    /* Authors bar */
    .authors-bar {
        margin-top: auto;
        padding-top: 12px;
        border-top: 1px solid #e0e0e0;
    }

    .authors-bar-label {
        font-size: 0.75rem;
        color: #888;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        margin-bottom: 6px;
    }

    .authors-list {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .author-link {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 4px;
        background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);
        border: 1px solid #d0d0d0;
        border-radius: 16px;
        font-size: 0.8rem;
        color: #333;
        text-decoration: none;
        transition: all 0.2s;
    }

    .author-link:hover {
        background: linear-gradient(135deg, var(--thesis-claret) 0%, #6b1c32 100%);
        color: #fff;
        border-color: var(--thesis-claret);
    }

    .author-avatar {
        width: 25px;
        height: 25px;
        border-radius: 50%;
        object-fit: cover;
    }

    .no-authors {
        font-size: 0.8rem;
        color: #999;
        font-style: italic;
    }

    /* Active filters display */
    .active-filters {
        margin-bottom: 20px;
        padding: 12px 15px;
        background: #fff8e8;
        border: 1px solid #f0d890;
        border-radius: 6px;
    }

    .active-filters-label {
        font-weight: 600;
        color: #8a6a1a;
        margin-right: 10px;
    }

    .active-filter-tag {
        display: inline-block;
        padding: 3px 8px;
        margin: 2px 4px;
        background: var(--thesis-claret);
        color: #fff;
        border-radius: 3px;
        font-size: 0.85rem;
    }

    /* Responsive: Tablet */
    @media (max-width: 1024px) {
        .publications-archive-wrapper {
            flex-direction: column;
        }

        .publications-facets {
            flex: none;
            width: 90%;
            position: static;
            margin: 0 auto;
        }

        .facet-groups {
            display: flex;
            flex-wrap: wrap;
            gap: 15px;
        }

        .facet-group {
            flex: 1;
            min-width: 200px;
            margin-bottom: 10px;
        }

        .archive-publications article {
            flex: 0 0 calc(50% - 10px);
        }
    }

    /* Responsive: Mobile */
    @media (max-width: 600px) {
        .facet-groups {
            flex-direction: column;
        }

        .facet-group {
            min-width: 100%;
        }

        .archive-publications article {
            flex: 0 0 90%;
        }

        .publications-archive-wrapper {
            gap: 20px;
        }
    }

/*publications */
.publication-header h1{
    text-align:center;
}

body .sidebar-section a.download-btn{
    color: var(--thesis-cream)!important;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

/*Event Sessions */

.event-sessions-outer .fixed{
    position: fixed;
    /*top: 100px; /* Or use var(--header-height) if you have a CSS variable */
    width: 100%;
    background: var(--thesis-cream);
    z-index: 999;
}


.sessions_list_outer{
    width: 100%;
    max-width: 750px;
    margin:2em auto;
}
.sessions_list_outer div{
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.session-outer{
    width: 100%;
    padding: 0;
    border: 2px solid var(--thesis-claret);
    margin: 40px 0;
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.6s ease-out;
}
.session-outer.in-view {
    opacity: 1;
    transform: translateY(0);
}
.session-title{
    width:100%;
    background: var(--thesis-claret);
    color: white;
    padding: 5px 10px;
}
.session_video{
    margin-top: 20px;
}

.session-box{
    padding: 15px;
}

 .mobile .has-global-padding, .tablet .has-global-padding{
     padding-right:0;
     padding-left: 0;
 }

 .app_session_list{
     width: 100%;
     max-width: 100vw;
     margin: 0 auto;
 }

 .session_detail{
     padding:10px 15px;
     margin-bottom: 20px;
 }

.session_speakers {
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.speaker_unit{
    display:flex;
    align-items:center;
    background:transparent;
    flex-wrap:wrap;
    border:2px solid var(--thesis-claret);
    border-radius:25px;
    padding-right:15px;
    margin:5px;
}
.speaker_unit:hover{
    background: white;
    color:var(--thesis-burgundy);
    border: 2px solid var(--thesis-claret-80);
}

.speaker_unit .session_speaker_blob{
        width:40px;
        height:40px;
        background-repeat:no-repeat;
        background-size:cover;
        margin-right:10px;
}



/*profile slider */
.slideout-panel {
    position: fixed;
    top: 0;
    right: 0;
    width: 400px;
    max-width: 100%;
    height: 100vh;
    background: #fff;
    box-shadow: -4px 0 16px rgba(0,0,0,0.15);
    transform: translateX(100%);
    transition: transform 0.3s ease-out;
    z-index: 1001;
    overflow-y: auto;
    padding: 1.5rem;
}

.admin-bar .slideout-panel{
    top:32px;
}

.slideout-panel.is-open {
    transform: translateX(0);
}

.slideout-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.3);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease-out;
    z-index: 1000;
}

.slideout-overlay.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.slideout-close {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    font-size: 1.5rem;
    background: none;
    border: 0;
    cursor: pointer;
}

.slider_profile_box{
    width:100%;
    max-width:100%;
    box-sizing: border-box;
}



/*Day Selector */
.day_selector{
    padding: 15px;
    border: 1px solid var(--thesis-claret);
    color: var(--thesis-claret);
    background: #fff;
    text-align:center;
    border-radius: 10px;
}
.day_selector:hover, .day_active{
    background: var(--thesis-claret);
    color: #fff;
}


.days_select_section{
    display:flex;
    /*position:sticky;*/
    position: -webkit-sticky; /*safari*/
    top:0;
    left: 0;
    right: 0;
    margin: 0 auto;
    overflow-x:scroll;
    overflow-y:visible;
    flex-flow:row nowrap;
    justify-content: space-around;
    scrollbar-width:none;
    padding-top: 20px;/* 13px;*/
    padding-bottom: 20px;
    width: 100%;
    /*min-width: 100vw;*/
    max-width:900px;
    /*max-width:100vw;*/
    overflow-y: scroll;
    z-index: 500;
    background: transparent;
    font-size: small;
}

.mobile .days_select_section{
    font-size: medium;
}

.dayname{
    font-size: 1.3em;
}


/*Event archive page (list) */

.event-top-section{
    text-align:center;
}

.event-list{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap: wrap;
}
.event-item{
    position:relative;
    border: 4px solid var(--thesis-claret-40);
    padding: 45px 15px 15px 15px;
    margin:10px;
    border-radius: 2px;
}

.event-item-type{
    background: var(--thesis-claret-20);
    color: white;
    position:absolute;
    top:0;
    left:0;
    padding: 5px;
    width:100%;
    text-align:center;
    font-size: 0.8em;
    text-transform:uppercase;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.event-item:hover{
    border: 4px solid var(--thesis-claret-80);
}
.event-item:hover .event-item-type{
    background: var(--thesis-claret-80);
}

.event_list_title{
    font-weight:bold;
    color: var(--thesis-burgundy);
    text-align:center;
}
.event_button_section{
    border-top: 4px solid var(--thesis-claret-20);
    padding-top: 10px;
    margin: 10px 0 0;
    width: 100%;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    display:flex;
    align-items: center;
    justify-content: space-around;
}


/* news-commentary instagram-styling */
        .news_header_spacer {
            height: 0;
            /*transition: height 0.2s ease; */
        }

        .fixed-news-header {
            position: fixed;
            top: 0;
            width: 100%;
            left: 50%;
            transform: translateX(-50%);
            max-width: 600px;
            z-index: 1;
        }
        .admin-bar .fixed-news-header{
            top:32px;
        }

        .nc_surround{
            max-width:600px;
            width: 100%;
            margin:0 auto;
            box-sizing: border-box;
            -webkit-box-sizing:border-box;
            -moz-box-sizing: border-box;
        }
        .single_nc{
            max-width:100vw;
            z-index:5;
        }

        .nc_flex{
            width:100%;
            max-width:100%;
            -webkit-box-shadow:var(--painting-shadow);
            box-shadow: var(--painting-shadow);
            z-index:5;
            display:flex;
            flex-direction: column;
            background: var(--thesis-cream);
            align-items:center;
            box-sizing: border-box;
            -webkit-box-sizing:border-box;
            -moz-box-sizing: border-box;
        }
        .th_news_image{
            background-repeat: no-repeat;
            background-size: cover;
            background-position: center center;
            width:600px;
            max-width:100%;
            cursor:pointer;
            height:300px;
            position:relative;
            box-sizing: border-box;
            -webkit-box-sizing:border-box;
            -moz-box-sizing: border-box;
        }
        .th_news_image_title{
            position:absolute;
            left:0;right;0;bottom:0;
            background: rgba(0,0,0,0.5);
            width: 100%;
            max-width:100%;
            padding: 0 5px 0 10px;
            color:white;
            font-size: 1.4em;
            font-weight:bold;
            box-sizing: border-box;
            -webkit-box-sizing:border-box;
            -moz-box-sizing: border-box;
        }

        .th_sub_image{
            width: 100%;
            padding: 10px;
            background: var(--thesis-cream);
            box-sizing: border-box;
            -webkit-box-sizing:border-box;
            -moz-box-sizing: border-box;
        }
        .th_sub_article_date{
            color: var(--thesis-warm-gray);
            font-size: 0.8em;
        }

        .th_sub_icons, .th_sub_excerpt{
            font-size: 0.9em;
        }

        .news_bottom_flex{
            display:flex;
            justify-content: space-between;
            font-size: 0.8em;
        }

        a.th_news_more_button{
            border-radius: 5px;
            padding: 4px;
            background: var(--thesis-burgundy);
            color: white;
        }
        a.th_news_more_button:hover{
            background: var(--thesis-claret);
        }
        a.th_news_more_button:visited{
            background: var(--thesis-warm-gray);
        }
        .like_icon{
            cursor:pointer;
        }
        .user_likes_row{
            display: flex;
            justify-content: flex-start;
        }
        .user_likes_row .userlike:not(:first-child){
            margin-left:-10px;
        }
        .th_sub_excerpt{
            margin-top: 7px;
            font-size: 0.8em;
            line-height: 1.2em;
        }

/*===================================================================================
/*Comments (see thesis_article_comments() in template-functions.php for inline styles)
/*===================================================================================
*/

.comment-form .form-submit #submit{
    max-width: 300px;
    cursor:pointer;
    margin:0 auto;
    background: var(--thesis-burgundy);
    color: var(--thesis-cream);
    padding: 10px;
    border: 1px solid var(--thesis-claret);
    border-radius: 5px;
}
body .article-comments .comment-form textarea{
    width:100%;
    max-width: 600px;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--thesis-burgundy);
    border-radius: 0.5rem;
}

body .comment-list #respond{
    max-width:600px;
}

body .comment-list #respond .cancel-reply{
    display:block;
    float:right;
    font-size: 0.8em;
}

#reply-title .cancel-reply {
    margin-left: 0.75rem;
    font-size: 0.9em;
    opacity: 0.8;
}
#reply-title .cancel-reply a {
    text-decoration: none;
}
#reply-title .cancel-reply a:hover,
#reply-title .cancel-reply a:focus {
    text-decoration: underline;
}


/* ==========================================================================
   Layout & Grid
   ========================================================================== */
.breadcrumbs{
    font-size:0.8em;
    border-top: 1px solid var(--thesis-burgundy);
    border-bottom: 1px solid var(--thesis-burgundy);
    padding: 10px 0;
}

.site-wrapper {
    width: 100%;
    overflow-x: hidden;
}

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: var(--thesis-claret);
    padding: 0;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.flexrowapart{
    display:flex;
    align-items:center;
    justify-content: space-around;
}

.header-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 1rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}
.site-container {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.container {
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 var(--space-md);
}

.content-container {
    max-width: var(--content-max);
}

.content-with-sidebar {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: var(--space-xl);
    align-items: start;
}

@media (max-width: 1024px) {
    .content-with-sidebar {
        grid-template-columns: 1fr;
    }
}

/*navigation menus */
/* Position parent menu items */
.menu > ul > li,
.nav-menu > li,
.primary-menu > li,
.main-navigation ul > li {
    position: relative;
}

/* IMPORTANT: Ensure each submenu is independently positioned */
.menu li,
.nav-menu li,
.primary-menu li,
.main-navigation li {
    position: relative;
}

/* Style submenu items - FORCE BLOCK DISPLAY */
.menu ul li,
.nav-menu ul li,
.primary-menu ul li,
.main-navigation ul ul li {
    display: block !important;
    width: 100%;
    padding: 0;
    position: relative;
    float: none !important;
}

.menu ul li a,
.nav-menu ul li a,
.primary-menu ul li a,
.main-navigation ul ul li a {
    display: block;
    padding: 10px 20px;
    white-space: nowrap;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    width: 100%;
    transition: font-size 0.4s linear;
    box-sizing: border-box;
    -webkit-box-sizing:border-box;
    -moz-box-sizing: border-box;
}

ul#logged-in-menu.smaller li a {
    font-size: 0.9em!important;
}
ul#logged-in-menu.smallest li a{
    font-size: 0.8em!important;
}

.menu ul li a:hover,
.nav-menu ul li a:hover,
.primary-menu ul li a:hover,
.main-navigation ul ul li a:hover {
    background: var(--thesis-cream);
    color: var(--thesis-burgundy);
}

.main-navigation .menu-item .sub-menu li a{
    padding-left:15px;
}

/* Third level and beyond (nested dropdowns) */
.menu ul ul,
.nav-menu ul ul,
.primary-menu ul ul,
.main-navigation ul ul ul {
    top: 0;
    left: 100%;
    transform: translateX(-10px);
    transition: opacity 0.3s ease-out, transform 0.3s ease-out, visibility 0.3s;
}

.menu li:hover > ul ul,
.nav-menu li:hover > ul ul,
.primary-menu li:hover > ul ul,
.main-navigation li:hover > ul ul {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

/* Make sure nested submenus stay hidden until their parent is hovered */
.menu li:hover > ul li ul,
.nav-menu li:hover > ul li ul,
.primary-menu li:hover > ul li ul,
.main-navigation li:hover > ul li ul {
    opacity: 0;
    visibility: hidden;
}

.menu li:hover > ul li:hover > ul,
.nav-menu li:hover > ul li:hover > ul,
.primary-menu li:hover > ul li:hover > ul,
.main-navigation li:hover > ul li:hover > ul {
    opacity: 1;
    visibility: visible;
}

/* Optional: Add dropdown indicator arrow */
.menu li.menu-item-has-children > a::after,
.nav-menu li.menu-item-has-children > a::after,
.primary-menu li.menu-item-has-children > a::after {
    content: '\f107';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 0.7em;
    margin-left: 8px;
    display: inline-block;
}

.menu ul li.menu-item-has-children > a::after,
.nav-menu ul li.menu-item-has-children > a::after,
.primary-menu ul li.menu-item-has-children > a::after {
    content: '\f105';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
}

/* Hide all submenus by default */
.menu ul,
.nav-menu ul,
.primary-menu ul,
.main-navigation ul ul {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 99999;
    background: var(--thesis-claret);
    min-width: 200px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 0.3s ease-out, transform 0.3s ease-out, visibility 0.3s;
    pointer-events: none;
}

/* Show submenu on hover with animation */
.menu li:hover > ul,
.nav-menu li:hover > ul,
.primary-menu li:hover > ul,
.main-navigation li:hover > ul {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

/* Mobile responsive */
@media (max-width: 768px) {
    /* Hide submenus by default on mobile */
    .menu ul,
    .nav-menu ul,
    .primary-menu ul,
    .main-navigation ul ul {
        display: none;
        position: static;
        box-shadow: none;
        background: transparent;
        opacity: 1;
        visibility: visible;
        transform: none;
    }

    /* Show submenu when parent has active class (add via JavaScript) */
    .menu li.submenu-open > ul,
    .nav-menu li.submenu-open > ul,
    .primary-menu li.submenu-open > ul,
    .main-navigation li.submenu-open > ul {
        display: flex;
    }

    /* Disable hover effects on mobile */
    .menu li:hover > ul,
    .nav-menu li:hover > ul,
    .primary-menu li:hover > ul,
    .main-navigation li:hover > ul {
        display: none;
    }

    .menu li.submenu-open:hover > ul,
    .nav-menu li.submenu-open:hover > ul,
    .primary-menu li.submenu-open:hover > ul,
    .main-navigation li.submenu-open:hover > ul {
        display: flex;
    }

    .menu ul ul,
    .nav-menu ul ul,
    .primary-menu ul ul {
        left: 0;
        padding-left: 20px;
    }
}


/* Logo with Overlap Effect */
.site-logo {
    position: absolute;
    left: 2rem;
    /*top: 2rem;*/
    top: 6rem;
    z-index: 1001;
    background: white;
    padding: 1rem;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
}

.site-logo img {
    display: block;
    height: 160px;
    width: auto;
    transition: all 0.3s ease;
}

h1::after {
    content: '';
    display: block;
    width: 200px;
    height: 3px;
    background: linear-gradient(to right, transparent, rgba(138, 21, 56, 0.3), transparent);
    margin: 1.5rem auto 2rem;
}

.news-header h1::after{
    background: none;
    margin:0;
}

.news-excerpt{
    margin-bottom: 2rem;
    font-weight: 600;
}

/* Read More Buttons */
.confine-centered{
    width:800px;
    max-width: 95%;
    text-align:center;
    margin: 0 auto;
}

.thesis_reveal {
    transition: all 1.5s ease;
    max-height:800px;
    overflow:hidden;
}

body .button-container button i{
    transition: all 1.5s ease;
}
body .button-container .showing i{
    transform: rotate(180deg);
}

.button-container{
    text-align:center;
    margin-bottom:3rem;
}

.thesis_reveal.noheight{
    max-height:0;
    overflow:hidden;
}

.read-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--thesis-claret);
    font-weight: 600;
    cursor: pointer;
    margin: 1.5rem auto 0;
    padding: 0.5rem 1rem;
    border: 2px solid var(--thesis-claret);
    border-radius: 4px;
    transition: all 0.5s ease;
    background-color: transparent;
    font-size: 1rem;
}

.read-more-btn:hover{
    background: var(--thesis-claret);
    color: #fff;
}

/* Forgot password section */

.thesis-forgot-password-container h2{
   color: var(--thesis-claret);
}
.password-requirements{
   font-size:0.8em;
   margin-left: 2rem;
   margin-top: 25px;
}
.password-strength{
   font-size:0.8em;
}

.thesis-form-container {
    max-width: 400px;
    margin: 40px auto;
    padding: 30px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.thesis-form-header {
    text-align: center;
    margin-bottom: 30px;
}

.thesis-form-header h2 {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 10px;
    color: #1a1a1a;
}

.thesis-form-header p {
    color: #666;
    font-size: 14px;
    margin: 0;
}

.thesis-form-message {
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 4px;
    font-size: 14px;
    text-align:center;
}

.thesis-form-message.success {
    background: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
}

.thesis-form-message.error {
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
}

.thesis-form .form-group {
    margin-bottom: 20px;
}

.thesis-form label {
    display: block;
    font-weight: 500;
    margin-bottom: 8px;
    color: #333;
    font-size: 14px;
}

.thesis-form .form-control {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    transition: border-color 0.3s;
    box-sizing: border-box;
}

.thesis-form .form-control:focus {
    outline: none;
    border-color: #0066cc;
    box-shadow: 0 0 0 3px rgba(0,102,204,0.1);
}

.thesis-form .password-strength {
    margin-top: 8px;
    font-size: 12px;
    height: 20px;
}

.thesis-form .password-strength.weak {
    color: #dc3545;
}

.thesis-form .password-strength.medium {
    color: #ffc107;
}

.thesis-form .password-strength.strong {
    color: #28a745;
}

.thesis-form .password-requirements {
    margin-top: 8px;
    padding: 10px;
    background: #f8f9fa;
    border-radius: 4px;
    font-size: 12px;
    color: #666;
}

.thesis-form .password-requirements ul {
    margin: 5px 0 0 0;
    padding-left: 20px;
}

.thesis-form .password-requirements li {
    margin: 3px 0;
}

.thesis-form .btn {
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 600;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.thesis-form .btn-primary {
    background: #0066cc;
    color: #fff;
}

.thesis-form .btn-primary:hover {
    background: #0052a3;
}

.thesis-form .btn-block {
    width: 100%;
    display: block;
}

.thesis-form .form-footer {
    text-align: center;
    margin-top: 20px;
}

.thesis-form .form-footer a {
    color: #0066cc;
    text-decoration: none;
    font-size: 14px;
}

.thesis-form .form-footer a:hover {
    text-decoration: underline;
}

.thesis-form .password-mismatch {
    color: #dc3545;
    font-size: 12px;
    margin-top: 5px;
    display: none;
}

.thesis-form .password-mismatch.show {
    display: block;
}


/* Main Navigation */
.main-navigation {
    margin-left: auto;
}

.main-navigation ul {
    list-style: none;
    display: flex;
    gap: 2rem;
    margin: 0;
    padding: 0;
}

.main-navigation li {
    margin: 0;
}

body .header-container .main-navigation a {
    color: #ffffff;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 400;
    padding: 0.5rem 0;
    display: block;
}

.main-navigation a:hover {
    opacity: 1;
    border-bottom: 2px solid #ffffff;
}

/* Mobile Menu Toggle */
.menu-toggle {
    display: none;
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 1.5rem;
    cursor: pointer;
    padding: 0.5rem;
}

/* Content Area */
.site-content {
    margin-top: 100px;
    min-height: 70vh;
}

.content-wrapper {
    max-width: 1400px;
    margin: 0 auto;
    padding: 6rem 2rem;
}

/* Full Width Layout */
.full-width {
    width: 100%;
    max-width: 100%;
    padding: 0;
}


/* Page Content */
.page-header {
    margin-bottom: 3rem;
    text-align: center;
}

.page-title {
    font-size: 3rem;
    color: var(--thesis-claret);
    margin-bottom: 1rem;
}

.entry-content {
    font-size: 1.125rem;
    line-height: 1.8;
    color: #333;
}

.entry-content p {
    margin-bottom: 1.5rem;
}

/* Footer */
footer.site-footer {
    background: var(--thesis-claret);
    color: #ffffff;
    padding: 3rem 2rem 2rem;
    margin-top: 4rem;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    padding-left: 0;
}

body footer.no-margin{
    margin-top:0;
}

.footer-content {
    max-width: 1400px;
    margin: 0 auto;
    text-align: center;
}

.footer-content p {
    margin: 0.5rem 0;
    font-size: 0.9rem;
}

.footer-content a {
    color: #ffffff;
}

.footer-content a:hover {
    opacity: 0.8;
}

/* Buttons */
.btn {
    display: inline-block;
    padding: 0.75rem 2rem;
    background: var(--thesis-claret);
    color: #ffffff;
    border: 2px solid var(--thesis-claret);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    transition: all 0.3s ease;
    cursor: pointer;
    border-radius: 7px;
}

.btn:hover {
    background: transparent;
    color: var(--thesis-claret);
    opacity: 1;
}

.btn-outline {
    background: transparent;
    color: var(--thesis-claret);
}

.btn-outline:hover {
    background: var(--thesis-claret);
    color: #ffffff;
}

/* Responsive Design */
@media screen and (max-width: 1024px) {
    .site-logo img {
        height: 140px;
    }
    
    .header-container {
        padding: 1rem 1.5rem;
    }
    
    .site-logo {
        left: 1.5rem;
    }
}

@media screen and (max-width: 768px) {
    .menu-toggle {
        display: block;
        margin-left: auto;
    }
    
    .main-navigation {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--thesis-claret);
        padding: 1rem;
        display: none;
    }
    
    .main-navigation.active {
        display: block;
    }
    
    .main-navigation ul {
        flex-direction: column;
        gap: 0;
        align-items:center;
    }
    
    .main-navigation li {
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    
    .main-navigation a {
        padding: 1rem;
    }

    .page-header{
        margin-top: 2rem;
    }
    
    .site-logo {
        /*position: relative;*/
        left: 5%;
        top: 10%;
        padding: 0.5rem;
    }
    
    .site-logo img {
        height: 120px;
    }
    
    .site-content {
        margin-top: 80px;
    }
    
    .page-title {
        font-size: 2rem;
    }
    
    .content-wrapper {
        padding: 2rem 1rem;
    }
}

@media screen and (max-width: 480px) {
    h1 {
        font-size: 1.75rem;
    }
    
    h2 {
        font-size: 1.5rem;
    }
    
    .site-logo img {
        height: 100px;
    }
    
    .page-title {
        font-size: 1.5rem;
    }
    .login-section{
        max-width: 95%;
    }

}

/* WordPress Core Styles */
.alignleft {
    float: left;
    margin: 0 1.5rem 1rem 0;
}

.alignright {
    float: right;
    margin: 0 0 1rem 1.5rem;
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

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

.wp-caption {
    max-width: 100%;
}

.wp-caption-text {
    font-size: 0.9rem;
    font-style: italic;
    color: #666;
    margin-top: 0.5rem;
}

.sticky {
    /* Styles for sticky posts */
}

.gallery-caption {
    font-size: 0.9rem;
    color: #666;
}

.bypostauthor {
    /* Styles for post author */
}

/* Accessibility */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

.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;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* THESIS login form */

.login-section {
    max-width: 600px;
    margin: 0 auto;
    padding: 2.5rem;
    background-color: #f9f9f9;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.login-form,
.register-section {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.login-section h2 {
    font-family: 'Adobe Garamond Pro', 'Garamond', Georgia, serif;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--thesis-claret);
    margin-bottom: 1.5rem;
    height: 2rem;
}

.register-section h2 {
    font-family: 'Adobe Garamond Pro', 'Garamond', Georgia, serif;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--thesis-claret);
    margin-bottom: 1rem;
    height: 2rem;
}

.register-description {
    color: #666;
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: auto;
    padding-bottom: 1.5rem;
}

.login-form form {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.form-fields {
    flex-grow: 1;
}

.form-group {
    margin-bottom: 1.25rem;
}

.form-group label {
    display: block;
    margin-bottom: 0.5rem;
    color: #444;
    font-weight: 500;
    font-size: 0.95rem;
}

.form-group input, .form-group textarea {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-bottom: 0.5rem;
    font-size: 1rem;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    transition: border-color 0.3s ease;
}

.form-group input:focus, .form-group textarea:focus {
    outline: none;
    border-color: var(--thesis-claret);
    box-shadow: 0 0 0 3px rgba(138, 21, 56, 0.1);
}

.login-btn, .send-btn {
    width: 100%;
    padding: 0.85rem;
    background-color: var(--thesis-claret);
    color: #ffffff;
    border: 2px solid var(--thesis-claret);
    border-radius: 4px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease;
    margin-top: 0.5rem;
}

.login-btn:hover, .send-btn:hover {
    background-color: #6d1028;
}

.forgot-password {
    text-align: center;
    margin-top: 1rem;
}

.forgot-password a {
    color: var(--thesis-claret);
    text-decoration: none;
    font-size: 0.9rem;
    transition: opacity 0.3s ease;
}

.forgot-password a:hover {
    opacity: 0.7;
    text-decoration: underline;
}

/*article template page */

.article-hero{
    position:relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width:100%;
    min-height: 600px;
}

/* Events template page */
.event-hero {
    position: relative;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-top: calc(-1 * var(--header-height, 80px));
    height: 60vh;
    min-height: 400px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}

.event-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 1;
}

.event-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: white;
    /*max-width: 1200px; */
    max-width: 60vw;
    padding: 0 20px;
}

.event-hero h1 {
    margin: 0;
    font-size: 3.5rem;
    color:white;
    font-weight: 700;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
    line-height: 1.2;
}
.event-hero h2,.event-hero h3,.event-hero h4,.event-hero h5{
    color:white;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
}

.event-hero .entry-meta {
    margin-top: 1.5rem;
    font-size: 1.2rem;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.7);
}

.event-hero .location,
.event-hero .event_dates {
    display: inline-block;
    margin: 0 15px;
}

@media (max-width: 768px) {
    .event-hero-content{
        max-width: 80vw;
    }

    .event-hero h1 {
        font-size: 2rem;
    }

    .event-hero .entry-meta {
        font-size: 1rem;
    }

    .event-hero .location,
    .event-hero .event_dates {
        display: block;
        margin: 5px 0;
    }
}

/* End events template */

/*Announcements template */
.thesis-announcement-wrap{
    padding: 28px 0 60px;
}

.thesis-announcement-header{
    text-align: center;
    margin: 0 auto 18px;
    padding: 0 12px;
}

.thesis-announcement-title{
    margin: 0;
    font-size: 28px;
    line-height: 1.15;
}

.thesis-announcement-thumb{
    margin: 0 auto 18px;
    text-align: center;
    padding: 0 12px;
}

.thesis-announcement-thumb img{
    max-width: 520px;   /* “medium-size” look */
    width: 100%;
    height: auto;
    border-radius: 10px;
    display: inline-block;
}

.thesis-announcement-body{
    padding: 0 12px;
}

.thesis-announcement-content{
    max-width: 600px;
    width: 600px;
    margin: 0 auto;
    padding: 18px 18px;
    border: 1px solid rgba(0,0,0,.14);
    border-radius: 12px;
    background: rgba(255,255,255,.85);
    text-align: left;
}

/* Mobile: 95% width */
@media (max-width: 680px){
    .thesis-announcement-content{
        width: 95%;
        max-width: 95%;
        padding: 16px 14px;
    }
    .thesis-announcement-title{
        font-size: 22px;
    }
}

/*end announcements template */

/*admin bar consideration */

body.admin-bar {
    margin-top: 32px !important; /* Default height for desktop screens */
}
body.mobile.admin-bar{
    margin-top: 0!important;
}

body.mobile{
    #wpadminbar: display:none;
}

body.mobile .slideout-panel{
    width:auto;
}

#wpadminbar.mobile{
    display:none;
}

.admin-bar .site-header{
    top:32px;
}

@media screen and (max-width: 782px) {
    body.admin-bar {
        margin-top: 46px !important; /* Taller height for mobile screens */
    }
    .admin-bar .site-header{
    top:46px;
    }

    html body #wpadminbar{
        position:fixed;
    }

}

.page-id-83 .content-wrapper{
    background: #F5F5F5;
    border: 1px solid #ddd:
    padding: 10px;
    border-radius: 8px;
    width: 98%;
    max-width: 800px;
}

/* Wrapper is injected via wp_footer */
.thesis-pwa-notify-fab{
    position: fixed;
    right: 10px;
    z-index: 999999;
    display: flex;
    align-items: center;
    gap: 8px;

    /* JS sets top dynamically; keep a fallback */
    top: 72px;
}

/* Compact pill button */
.thesis-pwa-enable-notifications{
    display: none; /* JS will decide */
    align-items: center;
    gap: 8px;

    border: 1px solid rgba(0,0,0,.10);
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(8px);

    padding: 6px 10px;
    border-radius: 999px;

    font: inherit;
    font-size: 13px;
    line-height: 1;
    letter-spacing: .2px;

    cursor: pointer;
    box-shadow: 0 6px 18px rgba(0,0,0,.10);
}

.thesis-pwa-btn-ico{
    display: inline-flex;
    width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    color: var(--thesis-claret);
}

.thesis-pwa-btn-txt{
    color: #111;
    font-weight: 600;
}

/* Hover/focus states (professional, not loud) */
.thesis-pwa-enable-notifications:hover{
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(0,0,0,.12);
}

.thesis-pwa-enable-notifications:focus-visible{
    outline: 2px solid rgba(102,0,0,.35);
    outline-offset: 3px;
}

/* Status bubble – only shown when JS sets text */
.thesis-pwa-notifications-status{
    display: none;
    max-width: 260px;
    padding: 6px 10px;
    border-radius: 10px;
    background: rgba(0,0,0,.82);
    color: #fff;
    font-size: 12px;
    line-height: 1.25;
    box-shadow: 0 10px 24px rgba(0,0,0,.16);
}
.thesis-pwa-notifications-status.is-visible{
    display: inline-block;
}

/* Mobile: flush to edge a little tighter */
@media (max-width: 480px){
    .thesis-pwa-notify-fab{ right: 8px; }
    .thesis-pwa-btn-txt{ display: none; } /* icon-only on small screens */
    .thesis-pwa-enable-notifications{ padding: 7px 9px; }
}

/* Footer indicator: sits inside the footer area visually */
.thesis-pwa-footer-indicator{
    position: fixed;
    right: 14px;
    bottom: 14px;
    z-index: 999999;
    pointer-events: none; /* purely informational */
}

.thesis-pwa-footer-pill{
    display: inline-flex;
    align-items: center;
    gap: 8px;

    background: #fff;
    color: #111;
    border-radius: 999px;
    padding: 6px 10px;

    box-shadow: 0 10px 26px rgba(0,0,0,.18);
    border: 1px solid rgba(0,0,0,.12);
    font: inherit;
    font-size: 12px;
    line-height: 1;
}

.thesis-pwa-footer-pill i{
    color: var(--thesis-claret);
}

/* Optional: on very small screens, make it icon-only */
@media (max-width: 420px){
    .thesis-pwa-footer-text{ display:none; }
    .thesis-pwa-footer-pill{ padding: 7px 9px; }
}

.thesis-ios-installbar{
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: 10px;
    z-index: 999999;
}

.thesis-ios-installbar-inner{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;

    background: rgba(255,255,255,.92);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 16px;
    padding: 12px 12px;

    box-shadow: 0 18px 40px rgba(0,0,0,.22);
}

.thesis-ios-installbar-title{
    font-weight: 800;
    letter-spacing: .2px;
    margin-bottom: 4px;
}

.thesis-ios-installbar-sub{
    font-size: 13px;
    line-height: 1.35;
    color: rgba(0,0,0,.78);
}

.thesis-ios-share{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(0,0,0,.06);
    border: 1px solid rgba(0,0,0,.08);
    color: #111;
    font-weight: 700;
}

.thesis-ios-share-ico{
    display: inline-flex;
    width: 18px;
    height: 18px;
    color: var(--thesis-claret); /* makes Share icon pop */
}

.thesis-ios-installbar-x{
    border: 0;
    background: transparent;
    color: rgba(0,0,0,.55);
    font-size: 20px;
    line-height: 1;
    padding: 2px 8px;
    cursor: pointer;
}

   /* ===============================
   Ensure top page H1 sits below
   the fixed header across screens
   =============================== */

/* Adjust this selector if your H1 has a specific class */
body.single-post h2:first-child,
body.page h2:first-child,
.archive h2:first-child,
.blog h2:first-child {
    margin-top: var(--header-height, 80px);
    padding-top: 12px;
}

/* Additional safe fallback if your theme uses a fixed header */
body:not(.has-custom-header) h2:first-child {
    margin-top: calc(var(--header-height, 80px) + 12px);
}

@media screen and (max-width: 1024px) {
    body.single-post h1,
    body.page h1,
    .archive h1,
    .blog h1 {
        margin-top: calc(var(--header-height, 70px) + 10px);
    }
}

@media screen and (max-width: 768px) {
    body.single-post h1,
    body.page h1,
    .archive h1,
    .blog h1 {
        margin-top: calc(var(--header-height, 60px) + 8px);
    }
}


/* admin pages here: */

.admin-mini-table{
    font-size: 0.9em;
    display:block;
    margin:0;
    max-width: 100%;
    background: #eee;
    padding: 10px;
    border-radius: 3px;
    border: 1px solid #ddd;
}

body.thesis-admin-page .thesis-admin-content h1,
body.slug-profile-editor .thesis-admin-content h1{
    border-bottom:none;
}

body.thesis-admin-page .thesis-admin-content h1::after,
body.slug-profile-editor .thesis-admin-content h1::after, {
    content: '';
    display: block;
    width: 100%;
    height: 0px;
    background: linear-gradient(to right, transparent, rgba(138, 21, 56, 0.3), transparent);
    margin: 0;
}

body.thesis-admin-page .fields_table,
body.slug-profile-editor .fields_table{
    width: 800px;
    max-width:98%;
    margin: 0 auto;
}

body .lightgreyback{
    background: #F5F4F5
}

body.thesis-admin-page section,body.slug-profile-editor section{
    background: #F8F7F7;
    padding: 15px;;
    border: 1px solid #eee;
}

body.thesis-admin-page .fields_table tr td:first-child,
body.slug-profile-editor .fields_table tr td:first-child{
    width: 40%;
}

.slug-profile-editor h1:first-child{
    /*display:none;*/
}

.main-navigation{
    transition: all 0.4s ease;
}

.slug-profile-editor section h1::after{
    display:none;
}

body.slug-profile-editor section{
    max-width: 800px;
    margin:0 auto;
    padding: 10px 20px;
}

body.mobile.slug-profile-editor section{
    max-width: 99%;
    padding: 10px;
}
body.mobile.slug-profile-editor section table.fields_table{
    max-width: 89vw;
    box-sizing: border-box;
}

.slug-profile-editor #user_info_form p,
.slug-profile-editor #user_info_form .fields_table tr td:first-child  {
    font-size: 0.8em;
}

body.mobile.slug-profile-editor #user_info_form p,
body.mobile.slug-profile-editor #user_info_form .fields_table tr td:first-child,
body.mobile.slug-profile-editor #user_info_form .fields_table tr td  {
    font-size: 0.9em;
}

.slug-profile-editor input[type="text"],
.slug-profile-editor input[type="email"],
.slug-profile-editor input[type="password"],
.slug-profile-editor input[type="search"],
.slug-profile-editor input[type="url"],
.slug-profile-editor input[type="number"],
.slug-profile-editor select, .slug-profile-editor textarea{
    font-family: var(--font-body);
    font-size: 14px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 6px 8px;
    border: 1px solid #999;
    border-radius: 3px;;
    background: #fff;
    color: #444;
}

.slug-profile-editor .fields_table tr td:first-child{
   border-bottom: 1px solid var(--thesis-claret-20);
}

.fields_table textarea{
    width:100%
}
.fields_table input[type=checkbox]{
    accent-color: var(--thesis-claret);
}
.fields_table input[type=checkbox]:hover{
    accent-color: var(--thesis-burgundy);
}

