/*
Theme Name: Jordanville
Template: neve
Author: Child Theme Configurator
Description: Holy Trinity Monastery of the ROCOR located in Jordanville, NY
Tags: blog,custom-logo,e-commerce,rtl-language-support,post-formats,grid-layout,one-column,two-columns,custom-background,custom-colors,custom-header,custom-menu,featured-image-header,featured-images,flexible-header,full-width-template,sticky-post,theme-options,threaded-comments,translation-ready,accessibility-ready,wide-blocks,block-styles
Updated: 2026-04-28 17:01:13

*/

.wp-block-latest-posts__featured-image a {
    width: 100%;
}
.wp-block-latest-posts__featured-image img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}
.from-the-bishop .wp-block-latest-posts__featured-image img {
    height: 360px;
}
.wp-block-cover.htm-footer-section .wp-block-column, .wp-block-cover.htm-footer-section .wp-block-column p {
    font-size: 1rem;
}
.wp-block-cover.htm-footer-section .wp-block-column p a {
    display: block;
    text-decoration: none;
    line-height: 1.45;
    margin: 0 0 0.5rem;
}
.wp-block-cover.htm-footer-section .wp-block-column ul li a {
    text-decoration: none;
}
.wp-block-cover.htm-footer-section .wp-block-column p a:last-child {
    margin-bottom: 0;
}
.wp-block-cover.htm-footer-section .wp-block-column p strong {
    display: inline-block;
}
.htm-footer-section .wp-block-columns.is-layout-flex.wp-container-core-columns-is-layout-9d6595d7.wp-block-columns-is-layout-flex {
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    -o-box-sizing: content-box;
    box-sizing: content-box;
    max-width: 1200px;
    margin: 0 auto;
}
.follow-us .wp-block-social-links.aligncenter {
    justify-content: normal;
}
.wp-block-cover.htm-footer-section .wp-block-column .jordanville-orthordox-calendar p, .wp-block-cover.htm-footer-section .wp-block-column .jordanville-orthodox-calendar span {
    font-size: 13px;
}
.normaltext {
    color: #000;
    font-weight: normal;
}
.minortext {
    color: #000;
    font-weight: normal;
}
.dataheader {
    color: #000;
    font-weight: bold;
}
.headerheader {
    color: #000;
    font-weight: bold;
}
.headerfast {
    color: #000;
    font-weight: bold;
}
.headernofast {
    color: #000;
    font-weight: bold;
}
.scriptureheader {
    color: #000;
    font-weight: bold;
}
.troparionheader {
    color: #000;
    font-weight: bold;
}
.troparionseparator {
    background-color: #fff;
}
.htm-related-posts {
    margin-top: 2rem;
}
.htm-related-posts__title {
    font-size: 1.4rem;
    margin: 0 0 1rem;
}
.htm-related-posts__grid {
    grid-template-columns: 1fr;
    display: grid;
    gap: 1.25rem;
}
.htm-related-posts__thumb-link {
    display: block;
}
.htm-related-posts__thumb {
    width: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 16 / 9;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    -o-border-radius: 6px;
    border-radius: 6px;
}
.htm-related-posts__thumb--placeholder {
    background-color: #f2f2f2;
}
.htm-related-posts__post-title {
    font-size: 1rem;
    line-height: 1.35;
    margin: 0.65rem 0 0;
}
.htm-related-posts__post-title a {
    text-decoration: none;
}
.htm-related-posts__post-title a:hover, .htm-related-posts__post-title a:focus {
    text-decoration: underline;
}
.footer-bottom-inner .row {
    grid-template-columns: 1fr 1fr;
    grid-template-columns: auto 1fr;
    --valign: center;
}
#cb-row--footer-desktop-bottom .hfg-slot.left .component-wrap {
    font-size: 16px;
}
footer .nav-menu-footer a {
    font-weight: 400;
}
.footer-bottom-inner .hfg-slot.left {
    width: auto;
    min-width: 0;
}
@media (min-width: 640px) {
.htm-footer-section .wp-block-columns.is-layout-flex.wp-container-core-columns-is-layout-9d6595d7.wp-block-columns-is-layout-flex {
    padding: 0 30px;
}
}
@media (min-width: 768px) {
.htm-related-posts__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
@media (min-width: 960px) {
.htm-footer-section .wp-block-columns.is-layout-flex.wp-container-core-columns-is-layout-9d6595d7.wp-block-columns-is-layout-flex {
    padding: 0 40px;
}
}

/* =============================================
   MOBILE / TABLET RESPONSIVE IMPROVEMENTS
   ============================================= */

/* 1. Service Schedule table — horizontal scroll */
@media (max-width: 768px) {
  .wp-block-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    display: block;
    width: 100%;
  }
  .wp-block-table table {
    min-width: 480px;
  }
	.wp-block-button{
		width: 90%;
	}
	.home-banner-btn .wp-block-button {
    	width: 80%;
	}
}

/* 2. Section headings — scale down all H1s on mobile */
@media (max-width: 600px) {
  h1.wp-block-heading {
    font-size: 28px !important;
    line-height: 1.2em !important;
  }
}

/* 3a. 3-col post grids ? 2 cols at tablet */
@media (max-width: 960px) {
  .wp-block-latest-posts.is-grid.columns-3 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* 3b. 2-col post grid ? 1 col on mobile */
@media (max-width: 600px) {
  .wp-block-latest-posts.is-grid.columns-2 {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}

/* 4. 4-col team grid ? 2x2 at tablet */
@media (max-width: 960px) and (min-width: 601px) {
  .wp-block-columns:has(> .wp-block-column:nth-child(4)) .wp-block-column {
    flex-basis: calc(50% - var(--wp--style--block-gap, 24px)) !important;
    max-width: calc(50% - var(--wp--style--block-gap, 24px)) !important;
  }
}

/* 5. Fix hero H1 font size rule (replaces the malformed rule) */
@media (min-width: 576px) {
  .first-block h1.wp-block-heading {
    --fontsize: 40px;
    text-shadow: 0.5px 0.5px 1.5px #000, -0.5px -0.5px 1.5px #000,
                 0.5px -0.5px 1.5px #000, -0.5px 0.5px 1.5px #000;
  }
}

/* 6. Inner page header padding on mobile */
@media (max-width: 600px) {
  .entry-header,
  .nv-title-meta-wrap {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
}

/* 7. Icon block — 2x2 on mobile (remove hide-mobile class from block) */
@media (max-width: 600px) {
  .icon-block {
    display: flex !important;
    flex-wrap: wrap !important;
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .icon-block .wp-block-column {
    margin-bottom: 20px;
  }
}

/* =============================================
   ABOUT US PAGE — MOBILE FIXES
   ============================================= */

/* Fix 1: Reduce the huge top/bottom padding on cover sections */
@media (max-width: 768px) {
  .wp-block-cover[style*="spacing--80"] {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .wp-block-cover[style*="spacing--70"] {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
}

/* Fix 2: Remove forced min-heights that create blank space on mobile */
@media (max-width: 768px) {
  .wp-block-cover[style*="min-height"] {
    min-height: unset !important;
  }
  /* Preserve the About Us title banner height */
  .wp-block-cover.about-title {
    min-height: 180px !important;
  }
}

@media screen and (min-width: 180px) { 
.wp-block-cover[style*="min-height"].first-block {
min-height: 500px!important;
}
}

@media screen and (min-width: 768px) {
.wp-block-cover[style*="min-height"].first-block {
min-height: 600px!important;
}
}

@media screen and (min-width: 992px) {
.wp-block-cover[style*="min-height"].first-block {
min-height: 800px!important;
}
}


@media screen and (min-width: 180px) { 
.nv-single-post-wrap>div:first-child{
	margin-top: 30px;
}
}

/* Fix 3: Reduce inner card padding on mobile for team section */
@media (max-width: 768px) {
  .wp-block-columns .wp-block-column[style*="spacing--70"] {
    padding: 20px !important;
  }
}

/* Match Welcome Home typography with page/post headline style */
.main-welcome {
  font-weight: 700 !important;
  text-shadow: rgba(0, 0, 0, 0.8) 0px 2px 12px, rgba(0, 0, 0, 0.9) 0px 1px 4px !important;
}

/* Match homepage hero subtext to the same shadow and heading font */
.main-welcome + p,
.main-welcome ~ .has-nv-text-dark-bg-color {
  font-family: var(--headingsfontfamily), var(--nv-fallback-ff);
  text-shadow: rgba(0, 0, 0, 0.8) 0px 2px 12px, rgba(0, 0, 0, 0.9) 0px 1px 4px;
}

.wp-block-group .has-text-align-center.has-nv-text-dark-bg-color:not(.main-welcome) {
  font-family: var(--headingsfontfamily), var(--nv-fallback-ff);
  text-shadow: rgba(0, 0, 0, 0.8) 0px 2px 12px, rgba(0, 0, 0, 0.9) 0px 1px 4px;
}

@media (min-width: 576px) {
  .main-welcome {
    --fontsize: 40px;
  }
}

@media (min-width: 960px) {
  .main-welcome {
    --fontsize: 80px;
    --lineheight: 1.2em;
  }
}

/* =============================================
   HTM Footer Section
   ============================================= */

.htm-footer-section {
    background-color: var(--wp--preset--color--nv-dark-bg);
    color: var(--wp--preset--color--nv-text-dark-bg);
    width: 100%;
    padding: var(--wp--preset--spacing--80) 0;
    min-height: 420px;
    box-sizing: border-box;
}

.htm-footer-section__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: content-box;
}

.htm-footer-section__columns {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.htm-footer-section__column {
    width: 100%;
    min-width: 0;
}

/* Desktop: switch to side-by-side */
@media (min-width: 782px) {
    .htm-footer-section__columns {
        flex-direction: row;
        align-items: flex-start;
    }

    .htm-footer-section--cols-3 .htm-footer-section__column {
        flex: 1 1 33.333%;
    }

    .htm-footer-section--cols-4 .htm-footer-section__column {
        flex: 1 1 25%;
    }
}

/* Mobile padding */
@media (max-width: 781px) {
    .htm-footer-section__inner {
        padding: 0 20px;
    }
}

/* Links */
.htm-footer-section a {
    color: var(--wp--preset--color--nv-text-dark-bg);
    text-decoration: none;
}

.htm-footer-section a:hover {
    text-decoration: underline;
}

/* Typography */
.htm-footer-section p,
.htm-footer-section li {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--wp--preset--color--nv-text-dark-bg);
}

.htm-footer-section ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.htm-footer-section ul li {
    margin-bottom: 0.4rem;
}

/* =============================================
   Orthodox Calendar
   ============================================= */
p.pscriptureheader {
    margin-top: 30px;
}

/*Page cover image spacing below*/
.page .nv-post-cover{
    margin-bottom: 0;
}

.page .nv-content-wrap.entry-content{
    margin-top: 30px;
}

/* === Donate Page: Two-Column Layout === */

/* Desktop: Side-by-side columns, form sticky on the right */
@media (min-width: 782px) {
    .donate-layout.wp-block-columns {
        align-items: flex-start !important;
    }
    .donate-form-col {
        position: sticky !important;
        top: 100px !important;
    }
}

/* Mobile: Stack form on TOP of text */
@media (max-width: 781px) {
    .donate-layout.wp-block-columns {
        flex-direction: column !important;
    }
    .donate-text-col {
        order: 2 !important;
    }
    .donate-form-col {
        order: 1 !important;
        width: 100% !important;
        flex-basis: 100% !important;
    }
}