/* parafia-beta: shared visual hierarchy for the existing WordPress content. */
:root {
    --parish-ink: #292724;
    --parish-muted: #69645e;
    --parish-accent: #763e45;
    --parish-line: #e4dfd8;
    --parish-paper: #faf8f5;
    --wp--preset--color--accent: #763e45;
}
body {
    background: #fff;
    color: var(--parish-ink);
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
    font-size: 17px;
    line-height: 1.7;
}
a { color: var(--parish-accent); }
a:hover, a:focus { color: #54292f; }
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible {
    outline: 3px solid var(--parish-accent);
    outline-offset: 4px;
}
h1, h2, h3, h4, h5, h6 {
    color: var(--parish-ink);
    font-family: Georgia, "Times New Roman", serif;
    line-height: 1.3;
}
#masthead { background: var(--parish-paper); }
#logo.parish-branding { padding: 24px 0 27px; }
.site-name .parish-name {
    color: var(--parish-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    font-variant: normal;
}
.parish-name-intro {
    margin-bottom: 9px;
    color: var(--parish-accent);
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.parish-name-detail {
    max-width: 1000px;
    font-size: clamp(21px, 2.2vw, 29px);
    line-height: 1.35;
}
.navbar.navbar-default {
    min-height: 60px;
    margin-bottom: 0;
    background: #fff;
    border: 0;
    border-top: 1px solid var(--parish-line);
    border-bottom: 1px solid var(--parish-line);
}
.top-container { max-width: 1366px; }
/* Replace Activello's 25px item margins with the link padding below. */
.navbar-default .navbar-nav > li {
    margin-right: 0;
    margin-left: 0;
}
.navbar-default .navbar-nav > li > a {
    padding: 20px 11px;
    color: var(--parish-ink);
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0;
    text-transform: none;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
    background: var(--parish-paper);
    color: var(--parish-accent);
}
.dropdown-menu { border-color: var(--parish-line); }
.dropdown-menu > li > a { font-family: inherit; }
.activello-child-slider { margin-top: 20px; }
.activello-child-slider .rslides,
.activello-child-slider .rslides > li,
.activello-child-slider .rslides img,
.activello-child-slider .carousel-inner > .item,
.activello-child-slider .carousel-inner > .item > img,
.activello-child-slider .slider-pro,
.activello-child-slider .sp-mask,
.activello-child-slider .sp-slides-container,
.activello-child-slider .sp-slide,
.activello-child-slider .sp-image,
.activello-child-slider .flexslider .slides > li,
.activello-child-slider .flexslider .slides img {
    height: clamp(170px, 18vw, 245px) !important;
}
.activello-child-slider .rslides img,
.activello-child-slider .carousel-inner > .item > img,
.activello-child-slider .sp-image,
.activello-child-slider .flexslider .slides img {
    object-position: center 40%;
}
.main-content-area { margin-top: 36px; margin-bottom: 56px; }
.main-content-inner { min-width: 0; }
article.post { padding-right: 0; }
.post-inner-content,
.blog.home article.post .post-inner-content { padding: 32px 0; }
article.post:first-child .post-inner-content { padding-top: 0; }
.entry-header { text-align: left; margin-bottom: 25px; }
.entry-title, .page .entry-title {
    margin: 0 0 10px;
    font-size: clamp(26px, 2.4vw, 34px);
    font-style: normal;
    font-weight: 400;
    text-transform: none;
}
.entry-title a { color: var(--parish-ink); }
.entry-meta { margin-bottom: 0; font-family: inherit; }
.entry-meta a, .entry-meta > * { color: var(--parish-muted); font-size: 13px; }
article.post .post-categories, .post-inner-content .cat-item {
    margin-bottom: 12px;
    padding-bottom: 0;
}
article.post .post-categories a, .post-inner-content .cat-item a {
    color: var(--parish-accent);
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .06em;
}
article.post .post-categories:after,
.post-inner-content .cat-item:after { display: none; }
.cat-title { margin: 0 0 26px; text-align: left; border-color: var(--parish-line); }
.cat-title a { color: var(--parish-accent); font-family: inherit; }
.entry-content { font-size: 18px; line-height: 1.75; overflow-wrap: break-word; }
.entry-content > p, .entry-content > ul, .entry-content > ol,
.entry-content > blockquote { max-width: 70ch; }
.entry-content > p { margin: 0 0 1.25em; }
.entry-content h2, .entry-content h3, .entry-content h4 { margin: 1.6em 0 .7em; }
.entry-content u { text-decoration: none; }
.entry-content a { text-decoration: underline; text-underline-offset: 3px; }
.entry-content table {
    margin: 0 0 24px;
    border: 1px solid var(--parish-line);
    border-collapse: collapse;
    background: #fff;
    font-size: 16px;
    line-height: 1.65;
}
.entry-content table th, .entry-content table td {
    padding: 13px 16px;
    border: 1px solid var(--parish-line);
}
.entry-content table th { background: var(--parish-paper); font-weight: 600; }
.entry-content table tr:nth-child(even) td { background: #fcfbf9; }
/* JS adds this only when the first column contains service times. */
.entry-content table.parish-intentions td:first-child {
    width: 88px;
    color: var(--parish-accent);
    font-weight: 600;
    white-space: nowrap;
    background: var(--parish-paper);
}
.parish-table-scroll { margin-bottom: 24px; }
.parish-table-scroll table { margin-bottom: 0; }
#secondary .inner { padding-left: 0; }
#secondary .widget {
    margin-bottom: 22px;
    padding: 24px;
    border: 1px solid var(--parish-line);
    border-radius: 6px;
    background: var(--parish-paper);
    font-size: 15px;
    line-height: 1.75;
    overflow-wrap: anywhere;
}
#secondary .widget-title, #secondary .widget > h3 {
    margin: 0 0 18px;
    padding: 0 0 14px;
    border-bottom: 1px solid var(--parish-line);
    color: var(--parish-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    font-weight: 400;
    line-height: 1.35;
    text-transform: none;
    letter-spacing: 0;
}
#secondary .widget-title:after { display: none; }
#secondary .parish-sidebar-group > .widget {
    margin: 0 0 16px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}
#secondary .parish-sidebar-group > .widget:last-child { margin-bottom: 0; }
#secondary .widget p { margin: 0 0 14px; }
#secondary .widget strong, #secondary .widget b { font-weight: 600; }
#secondary .parish-office-days {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 0;
    margin: 0 0 18px;
    list-style: none;
}
#secondary .parish-office-days li {
    padding: 3px 9px;
    border: 1px solid var(--parish-line);
    border-radius: 3px;
    background: #fff;
    font-size: 13px;
}
.read-more { text-align: left; }
.read-more a {
    padding: 10px 16px;
    border: 1px solid var(--parish-line);
    border-radius: 4px;
    color: var(--parish-accent);
    font-family: inherit;
    font-size: 14px;
    text-transform: none;
    letter-spacing: 0;
}
#footer-area { background: var(--parish-paper); border-top: 1px solid var(--parish-line); }
#footer-area .site-info { color: var(--parish-muted); font-family: inherit; }
@media (min-width: 992px) {
    .main-content-inner.col-md-9:not(.full-width) { width: 73%; padding-right: 36px; }
    #secondary.col-md-3 { width: 27%; }
}
@media (max-width: 991px) {
    #secondary { margin-top: 32px; }
    .activello-child-slider { margin: 12px 15px 0; }
}
@media (max-width: 767px) {
    #logo.parish-branding { padding: 20px 8px; }
    .parish-name-detail { font-size: 21px; }
    .navbar-default .navbar-nav > li > a { padding: 12px 16px; font-size: 15px; }
    .main-content-area { margin-top: 25px; margin-bottom: 32px; }
    .entry-content { font-size: 17px; }
    .entry-title { font-size: 27px; }
    .entry-content table { font-size: 15px; }
    .entry-content table th, .entry-content table td { padding: 10px; }
    #secondary .widget { padding: 20px; }
}
