/* GANTRY5 DEVELOPMENT MODE ENABLED.
 *
 * WARNING: This file is automatically generated by Gantry5. Any modifications to this file will be lost!
 *
 * For more information on modifying CSS, please read:
 *
 * http://docs.gantry.org/gantry5/configure/styles
 * http://docs.gantry.org/gantry5/tutorials/adding-a-custom-style-sheet
 */

@charset "UTF-8";
#g-page-surround {
  background-image: url('../../../../images/template-elements/patterns/bg-stars.png') !important;
  background-repeat: repeat !important;
  background-color: #360A13 !important;
}
#g-container-main {
  padding-bottom: 20px !important;
  padding-top: 5px !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}
.jl-article {
  background-color: #F5F0E1;
  background: linear-gradient(90deg, rgba(180, 150, 100, 0.15) 0%, transparent 50%, rgba(180, 150, 100, 0.15) 100%), linear-gradient(#faf5e6 0%, #dcc8a5 100%);
  border-radius: 4px !important;
  overflow: hidden !important;
}
.chapel-table, .chapel-table td, .chapel-table tr {
  border: none !important;
  border-image: none !important;
  border-collapse: collapse;
}
.chapel-table td.chapel-icon {
  vertical-align: top;
}
.chapel-footer em {
  color: #360A13 !important;
}
#robly_embed_signup {
  background: transparent !important;
}
#robly_embed_signup h2 {
  color: #360A13 !important;
}
#robly_embed_signup input.slim_email {
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid #A60E2C !important;
  border-radius: 4px;
}
#robly_embed_signup .slim_button:hover {
  background-color: #A60E2C !important;
}
#robly_embed_signup .power p, #robly_embed_signup .power p a {
  color: #360A13 !important;
}
/* Collapse empty sections */
#g-expanded:empty, #g-extension:empty, #g-bottom:empty, #g-below:empty, #g-footer:empty {
  display: none;
}
#g-expanded .g-grid:empty, #g-extension .g-grid:empty, #g-bottom .g-grid:empty, #g-below .g-grid:empty {
  display: none;
}
#g-footer.jl-section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
/* Navbar: transparent at top, opaque when scrolled */
#g-navigation, #g-navigation .jl-navbar-container, #g-navigation .jl-navbar-container:not(.jl-navbar-transparent) {
  background-color: transparent !important;
  background: transparent !important;
  transition: background-color 0.3s ease !important;
}
#g-navigation.nav-scrolled, #g-navigation.nav-scrolled .jl-navbar-container, #g-navigation.nav-scrolled .jl-navbar-container:not(.jl-navbar-transparent) {
  background-color: rgba(54, 10, 19, 0.92) !important;
}
/* Link contrast on parchment background */
.jl-article a, .jl-article a:visited {
  color: #A60E2C !important;
}
.jl-article a:hover {
  color: #FDBD5C !important;
}
/* Breadcrumb styling */
.mod-breadcrumbs .breadcrumb-item a, .mod-breadcrumbs .breadcrumb-item span {
  color: #FDBD5C !important;
}
.mod-breadcrumbs__here {
  color: #ffffff !important;
}
.mod-breadcrumbs__wrapper {
  --bs-breadcrumb-divider-color: #A60E2C !important;
}
.breadcrumb-item + .breadcrumb-item::before {
  color: #A60E2C !important;
}
/* Lenten tables - desktop */
table.lenten-table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: none !important;
  table-layout: fixed !important;
}
table.lenten-table > thead > tr > th:nth-child(1), table.lenten-table > tbody > tr > td:nth-child(1) {
  width: 16% !important;
}
table.lenten-table > thead > tr > th:nth-child(2), table.lenten-table > tbody > tr > td:nth-child(2) {
  width: 16% !important;
}
table.lenten-table > thead > tr > th:nth-child(3), table.lenten-table > tbody > tr > td:nth-child(3) {
  width: 16% !important;
}
table.lenten-table > thead > tr > th:nth-child(4), table.lenten-table > tbody > tr > td:nth-child(4) {
  width: 50% !important;
}
table.lenten-table > thead > tr > th:nth-child(5), table.lenten-table > tbody > tr > td:nth-child(5) {
  width: 2% !important;
  text-align: center;
}
/* Lenten tables - responsive stacking at 768px */
@media screen and (max-width: 768px) {
  /* Override nth-child column widths with matching specificity */
  table.lenten-table {
    table-layout: auto !important;
  }
  .lenten-table thead {
    display: none !important;
  }
  .lenten-table, .lenten-table tbody, .lenten-table tr {
    display: block !important;
    width: 100% !important;
  }
  .lenten-table tr {
    border: 2px solid #fdbd5c !important;
    margin-bottom: 1rem !important;
    padding: 0.5rem !important;
  }
  table.lenten-table > thead > tr > th:nth-child(1), table.lenten-table > tbody > tr > td:nth-child(1), table.lenten-table > thead > tr > th:nth-child(2), table.lenten-table > tbody > tr > td:nth-child(2), table.lenten-table > thead > tr > th:nth-child(3), table.lenten-table > tbody > tr > td:nth-child(3), table.lenten-table > thead > tr > th:nth-child(4), table.lenten-table > tbody > tr > td:nth-child(4), table.lenten-table > thead > tr > th:nth-child(5), table.lenten-table > tbody > tr > td:nth-child(5) {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border: none !important;
    padding: 0.15rem 0.5rem 0.15rem 65px !important;
    text-align: left !important;
  }
  .lenten-table td::before {
    content: attr(data-label);
    position: absolute;
    left: 0.5rem;
    top: 0.15rem;
    font-weight: bold;
    color: #A60E2C;
    white-space: nowrap;
    width: 55px;
  }
  .lenten-table td[data-label=" "] {
    display: none !important;
  }
}
/* Parish Identity */
.parish-identity {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.2;
  padding: 0 1rem;
  flex: 1;
}
.parish-metropolis {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.parish-name a {
  font-size: 32px;
  font-weight: bold;
  color: #FDBD5C !important;
  text-decoration: none;
  white-space: nowrap;
}
.parish-location {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  white-space: nowrap;
}
@media (max-width: 768px) {
  .parish-metropolis, .parish-location {
    display: none;
  }
  .parish-name a {
    font-size: 0.95rem;
  }
}
/* Parish identity inline with menu */
#g-navigation .jl-navbar-left {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}
#g-navigation .jl-navbar-left .jl-navbar-item:has(.parish-identity) {
  margin-right: 1.5rem;
}
/* Prevent menu items wrapping */
#g-navigation .jl-navbar-nav > li > a {
  white-space: nowrap !important;
}
/* Remove headerbar top/bottom padding (overridden per-navbar below) */
.g-headerbar-top {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
/* Gold social icons in toolbar */
#g-top .tm-link {
  color: #FDBD5C !important;
}
#g-top .tm-link:hover {
  color: #ffffff !important;
}
/* Parchment background on search results */
.com_search .jl-article, #g-container-main .com_search, .view-search #g-container-main > .g-grid > .g-block {
  background: linear-gradient(90deg, rgba(180, 150, 100, 0.15) 0%, transparent 50%, rgba(180, 150, 100, 0.15) 100%), linear-gradient(#faf5e6 0%, #dcc8a5 100%);
  padding: 1.5rem;
  border-radius: 4px;
}
/* Search results link colors matching article display */
.com_search a, .com_search a:visited {
  color: #A60E2C !important;
}
.com_search a:hover {
  color: #FDBD5C !important;
}
/* Override jluikit teal on search result links */
.view-search .jl-link, .view-search a.jl-link, #g-container-main .com_search a, #g-container-main .com_search a.jl-link, #g-container-main .com_search a:link, #g-container-main .com_search a:visited {
  color: #A60E2C !important;
}
#g-container-main .com_search a:hover, .view-search a.jl-link:hover {
  color: #FDBD5C !important;
}
/* Search result links - maximum specificity override */
body.com_search #g-container-main a, body.com_search #g-container-main a:link, body.com_search #g-container-main a:visited {
  color: #A60E2C !important;
}
body.com_search #g-container-main a:hover {
  color: #FDBD5C !important;
}
/* Search result title links */
#search-result-list li p.result__title a, #search-result-list li p.result__title a:link, #search-result-list li p.result__title a:visited {
  color: #A60E2C !important;
}
#search-result-list li p.result__title a:hover {
  color: #FDBD5C !important;
}
/* Search - "X results found" link and Search button */
#search-query-explained p a, #search-query-explained p a:link, #search-query-explained p a:visited {
  color: #A60E2C !important;
}
#search-query-explained p a:hover {
  color: #FDBD5C !important;
}
.com-finder__search button.btn-primary {
  background-color: #A60E2C !important;
  border-color: #A60E2C !important;
  color: #ffffff !important;
}
.com-finder__search button.btn-primary:hover {
  background-color: #FDBD5C !important;
  border-color: #FDBD5C !important;
  color: #360A13 !important;
}
/* Parchment dropdown menus */
.jl-navbar-dropdown {
  background: linear-gradient(#faf5e6 0%, #dcc8a5 100%) !important;
  min-width: 240px !important;
  padding: 0 !important;
}
.jl-navbar-dropdown .jl-nav {
  background: transparent !important;
}
.jl-navbar-dropdown .jl-nav a, .jl-navbar-dropdown .jl-nav li a {
  color: #360A13 !important;
  padding: 0.35rem 1rem !important;
}
.jl-navbar-dropdown .jl-nav a:hover, .jl-navbar-dropdown .jl-nav li a:hover, .jl-navbar-dropdown .jl-nav li.jl-active > a {
  color: #A60E2C !important;
  background: rgba(166, 14, 44, 0.08) !important;
}
/* Flyout sub-dropdown — parchment theme, match parent dropdown sizing */
.jl-navbar-dropdown .jl-dropdown, .jl-navbar-dropdown .jl-drop {
  background: linear-gradient(#faf5e6 0%, #dcc8a5 100%) !important;
  min-width: 240px !important;
  padding: 0 !important;
}
.jl-navbar-dropdown .jl-nav-sub {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.jl-navbar-dropdown .jl-nav-sub li {
  margin: 0 !important;
}
.jl-navbar-dropdown .jl-dropdown-nav a, .jl-navbar-dropdown .jl-drop a, .jl-navbar-dropdown .jl-nav-sub a {
  color: #360A13 !important;
  padding: 0.35rem 1rem !important;
  display: block !important;
  font-size: inherit !important;
  line-height: inherit !important;
}
.jl-navbar-dropdown .jl-dropdown-nav a:hover, .jl-navbar-dropdown .jl-drop a:hover, .jl-navbar-dropdown .jl-nav-sub a:hover {
  color: #A60E2C !important;
  background: rgba(166, 14, 44, 0.08) !important;
}
/* Active top-level menu item — gold underline + brighter text */
#g-navigation .jl-navbar-nav > li.jl-active > a, #g-navigation .jl-navbar-nav > li.jl-open > a {
  color: #FDBD5C !important;
  border-bottom: 2px solid #FDBD5C;
  padding-bottom: 2px;
}
/* Remove excess padding from aside section between modules */
#g-aside {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
#g-aside .g-block {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
#g-aside .moduletable {
  margin-bottom: 0.5rem !important;
}
#g-aside .moduletable h3.jl-h4 {
  margin-bottom: 0.5rem !important;
}
#g-aside .g-content {
  padding: 0 !important;
  margin: 0 !important;
}
/* Parish header block */
#jlnavbar-5523 .g-headerbar-top {
  padding: 0 !important;
}
#jlnavbar-5523 .g-headerbar-top .jl-margin-auto-left {
  margin-left: 0 !important;
  padding-left: 0 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
#jlnavbar-5523 .g-headerbar-top .jl-margin-auto-left .jl-flex {
  justify-content: flex-start !important;
  width: 100% !important;
  align-items: stretch !important;
}
#jlnavbar-5523 .g-headerbar-top .jl-margin-remove-last-child {
  width: 100% !important;
}
.parish-header {
  display: flex;
  align-items: center;
  gap: 20px;
  width: 100%;
}
.parish-logo img {
  display: block;
  width: 125px;
  height: auto;
}
.parish-identity {
  flex: 1;
  text-align: left !important;
}
.parish-identity * {
  text-align: left !important;
}
.parish-social {
  display: flex;
  gap: 14px;
  align-items: center;
}
.parish-social a {
  color: #FDBD5C;
  font-size: 1.5rem;
  line-height: 1;
  text-decoration: none;
}
.parish-social a:hover {
  color: #ffffff;
}
.parish-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  margin-left: auto;
  flex-shrink: 0;
  position: relative;
  z-index: 100;
}
.parish-login {
  color: #FDBD5C;
  font-size: 0.85rem;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}
.parish-login:hover {
  color: #ffffff;
}
.parish-login .fas {
  font-size: 0.9rem;
}
/* Login page */
.com-users-login, .com-users-registration, .com-users-reset, .com-users-reset-confirm, .com-users-reset-complete, .com-users-remind {
  max-width: 480px;
  margin: 2rem auto;
  background: linear-gradient(#faf5e6 0%, #dcc8a5 100%);
  border: 1px solid rgba(166, 14, 44, 0.2);
  border-radius: 6px;
  padding: 2rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}
.com-users-login__form {
  background: transparent;
  border: none;
  padding: 0;
  box-shadow: none;
}
.com-users-login__form label {
  color: #360A13;
  font-weight: 600;
}
.com-users-login__form .form-control, .com-users-login__form input[type="text"], .com-users-login__form input[type="password"] {
  border: 1px solid #A60E2C;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.85);
}
.com-users-login__form .form-control:focus, .com-users-login__form input:focus {
  border-color: #FDBD5C;
  box-shadow: 0 0 0 2px rgba(253, 189, 92, 0.25);
  outline: none;
}
.com-users-login__form .btn-primary {
  background-color: #A60E2C !important;
  border-color: #A60E2C !important;
  color: #ffffff !important;
  padding: 0.5rem 2rem;
}
.com-users-login__form .btn-primary:hover {
  background-color: #FDBD5C !important;
  border-color: #FDBD5C !important;
  color: #360A13 !important;
}
.com-users-login__options {
  margin-top: 1rem;
  border: none !important;
  background: transparent !important;
}
.com-users-login__options .list-group-item {
  background: transparent !important;
  border: none;
  color: #A60E2C !important;
  padding: 0.35rem 0;
  text-decoration: none;
  font-weight: 600;
}
.com-users-login__options .list-group-item:hover {
  color: #360A13 !important;
  background: transparent !important;
}
/* Contact Us link under parish location */
.parish-contact {
  font-size: 12px;
  color: rgba(253, 189, 92, 0.7);
  text-decoration: none;
  letter-spacing: 0.04em;
}
.parish-contact:hover {
  color: #FDBD5C;
}
/* Contact form */
.com-contact {
  max-width: 680px;
  margin: 2rem auto;
  background: linear-gradient(#faf5e6 0%, #dcc8a5 100%);
  border: 1px solid rgba(166, 14, 44, 0.2);
  border-radius: 6px;
  padding: 2rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}
.com-contact__info {
  display: none;
}
.com-contact__form label {
  color: #360A13;
  font-weight: 600;
}
.com-contact__form .form-control, .com-contact__form input[type="text"], .com-contact__form input[type="email"], .com-contact__form textarea {
  border: 1px solid #A60E2C;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.85);
  width: 100%;
}
.com-contact__form .form-control:focus, .com-contact__form input:focus, .com-contact__form textarea:focus {
  border-color: #FDBD5C;
  box-shadow: 0 0 0 2px rgba(253, 189, 92, 0.25);
  outline: none;
}
.com-contact__form .btn-primary {
  background-color: #A60E2C !important;
  border-color: #A60E2C !important;
  color: #ffffff !important;
  padding: 0.5rem 2rem;
}
.com-contact__form .btn-primary:hover {
  background-color: #FDBD5C !important;
  border-color: #FDBD5C !important;
  color: #360A13 !important;
}
/* Remove top gap from empty system-messages block in mainbar */
#g-mainbar .g-system-messages {
  padding: 0 !important;
  margin: 0 !important;
}
#g-mainbar .g-system-messages .g-block {
  padding: 0 !important;
  margin: 0 !important;
}
/* Align aside top with main content */
#g-aside > div > div > div > div:nth-child(1) > div > h3, #g-aside > div > div > div > div:nth-child(1) > div > h3.jl-h4 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-block-end: 0 !important;
  margin-block-start: 0 !important;
}
details {
  margin-bottom: 10px;
  border: 1px solid #A60E2C;
  border-radius: 5px;
  padding: 10px;
}
summary {
  font-weight: bold;
  cursor: pointer;
  color: #331C1C;
}
details[open] summary {
  margin-bottom: 10px;
}
details p, details ul {
  margin: 10px 0;
}
details ul, details ol {
  padding-left: 1.5rem;
}
details {
  color: #000000;
}
summary {
  color: #A60E2C;
}
details {
  color: #000000;
}
summary {
  color: #400e1a;
}
summary .faq-num {
  color: #A60E2C;
}
summary .faq-q {
  color: #400e1a;
}
.item-page h2, .blog h2 {
  color: #400e1a;
}
/* Feature cards */
#g-bottom .card {
  color: #331C1C !important;
  background-color: #ffffff !important;
}
#g-bottom .card-title {
  color: #A60E2C !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
}
#g-bottom .card-text {
  color: #331C1C !important;
}
#g-bottom .card-footer {
  background-color: #f8f8f8 !important;
  border-top: 1px solid #dee2e6 !important;
}
/* Reduce g-content block padding globally */
.g-content {
  padding: 0 !important;
}
/* Feature cards - equal height button alignment */
#g-bottom .card {
  display: flex !important;
  flex-direction: column !important;
}
#g-bottom .card-body {
  flex: 1 1 auto !important;
}
#g-bottom .card-footer {
  margin-top: auto !important;
}
/* Feature cards - stretch blocks to equal height */
#g-bottom .g-grid {
  align-items: stretch !important;
}
#g-bottom .g-block {
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
}
#g-bottom .g-content, #g-bottom .platform-content, #g-bottom .mod-custom, #g-bottom .custom, #g-bottom .jl-panel, #g-bottom .moduletable {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
#g-bottom .card.h-100 {
  flex: 1 1 auto !important;
  height: 100% !important;
}
/* Online Chapel module */
.mod-onlinechapel {
  background: transparent;
  color: #331C1C !important;
  padding: 0.75rem;
}
.mod-onlinechapel a {
  color: #A60E2C !important;
}
.mod-onlinechapel .oc-readings a, .mod-onlinechapel .oc-saints a {
  color: #360A13 !important;
  text-decoration: none !important;
}
.mod-onlinechapel .oc-readings a:hover, .mod-onlinechapel .oc-saints a:hover {
  color: #A60E2C !important;
  text-decoration: underline !important;
}
.mod-onlinechapel .oc-body {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  align-items: flex-start;
}
.mod-onlinechapel .oc-icon {
  flex: 0 0 160px;
}
.mod-onlinechapel .oc-icon img {
  width: 100%;
  height: auto;
  border-radius: 3px;
}
.mod-onlinechapel .oc-content {
  flex: 1 1 auto;
  color: #331C1C !important;
}
.mod-onlinechapel .oc-content p {
  margin-bottom: 0.25rem !important;
}
.mod-onlinechapel .oc-channel-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: #360A13 !important;
  margin-bottom: 0.25rem !important;
}
.mod-onlinechapel .oc-channel-title a {
  color: #360A13 !important;
  text-decoration: none !important;
}
.mod-onlinechapel .oc-channel-desc {
  font-style: italic;
  margin-bottom: 0.5rem !important;
}
.mod-onlinechapel .oc-readings, .mod-onlinechapel .oc-saints {
  margin-bottom: 0.25rem;
}
.mod-onlinechapel h5 {
  color: #A60E2C !important;
  font-size: 0.9rem;
  margin-top: 0.5rem !important;
  margin-bottom: 0.15rem !important;
}
.mod-onlinechapel .oc-footer {
  font-style: italic;
  font-size: 0.875rem;
  border-top: 1px solid rgba(166, 14, 44, 0.2);
  padding-top: 0.5rem;
  margin-top: 0.5rem !important;
}
/* Extension section - light parchment on content block */
#g-extension {
  background: transparent !important;
}
#g-extension .g-content {
  background: linear-gradient(rgba(242, 232, 186, 0.85) 0%, rgba(220, 205, 155, 0.85) 100%) !important;
  border-radius: 4px !important;
  overflow: hidden;
}
/* Feature cards - darker parchment */
#g-bottom .card {
  background: linear-gradient(#d2b991 0%, #b99b6e 100%) !important;
  border: 1px solid rgba(166, 14, 44, 0.25) !important;
  border-radius: 4px !important;
}
#g-bottom .card-footer {
  background: transparent !important;
  border-top: 1px solid rgba(166, 14, 44, 0.2) !important;
}
/* H5 sizing */
h5 {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #360A13 !important;
}
/* Body font size - match production */
body {
  font-size: 1.15rem !important;
}
/* Feature card buttons - match slideshow style */
#g-bottom .btn-primary {
  background-color: #FDBD5C !important;
  border-color: #FDBD5C !important;
  color: #360A13 !important;
  font-size: 0.95rem !important;
  transition: background 0.2s !important;
}
#g-bottom .btn-primary:hover {
  background-color: #e6a83d !important;
  border-color: #e6a83d !important;
  color: #360A13 !important;
}
/* Sidebar Chapel module */
.mod-onlinechapel-sidebar {
  background: linear-gradient(#d2b991 0%, #b99b6e 100%);
  border: 1px solid rgba(166, 14, 44, 0.25);
  border-radius: 4px;
  padding: 0.75rem !important;
  font-size: 0.9rem;
  color: #331C1C;
}
.mod-onlinechapel-sidebar .oc-sidebar-title {
  font-weight: 700;
  color: #360A13;
  margin-bottom: 0.5rem;
}
.mod-onlinechapel-sidebar .oc-sidebar-title a {
  color: #360A13 !important;
  text-decoration: none;
}
.mod-onlinechapel-sidebar .oc-sidebar-title a:hover {
  color: #A60E2C !important;
}
.mod-onlinechapel-sidebar .oc-sidebar-desc {
  font-style: italic;
  color: #331C1C;
  margin-bottom: 0.5rem;
}
.mod-onlinechapel-sidebar .oc-sidebar-section {
  margin-bottom: 0.75rem;
}
.mod-onlinechapel-sidebar .oc-sidebar-section h5 {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: #A60E2C !important;
  margin-bottom: 0.25rem;
}
.mod-onlinechapel-sidebar .oc-sidebar-section p {
  margin-bottom: 0.2rem;
}
.mod-onlinechapel-sidebar .oc-sidebar-section a {
  color: #360A13 !important;
  text-decoration: none;
}
.mod-onlinechapel-sidebar .oc-sidebar-section a:hover {
  color: #A60E2C !important;
  text-decoration: underline;
}
.mod-onlinechapel-sidebar .oc-sidebar-footer {
  margin-top: 0.5rem;
  font-size: 0.85rem;
}
.mod-onlinechapel-sidebar .oc-sidebar-footer a {
  color: #A60E2C !important;
}
/* Give Online sidebar module — dark parchment */
.schgo-give-module {
  background: linear-gradient(#d2b991 0%, #b99b6e 100%);
  border: 1px solid rgba(166, 14, 44, 0.25);
  border-radius: 4px;
  padding: 0.75rem;
}
/* Slideshow — stacked card layout on mobile */
@media (max-width: 767px) {
  /* All slides: absolute, hidden by default */
  /* Active slide: relative so it sets container height */
  /* Nav arrows centered on image area */
  /* Dots flow below caption */
  .schgo-slider {
    height: auto !important;
    overflow: visible !important;
    background: #360a13 !important;
    border-radius: 6px;
  }
  .schgo-slider .schgo-slide-list {
    position: relative !important;
    min-height: 0 !important;
  }
  .schgo-slider .schgo-slide {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .schgo-slider .schgo-slide-active {
    position: relative !important;
  }
  .schgo-slider .schgo-slide img {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1.7777777778 !important;
    object-fit: cover !important;
    border-radius: 6px 6px 0 0;
  }
  .schgo-slider .schgo-caption {
    position: relative !important;
    background: transparent !important;
    padding: 1rem 1.25rem !important;
    text-align: left !important;
  }
  .schgo-slider .schgo-caption-title {
    font-size: 1.4rem !important;
    margin-bottom: 0.3rem !important;
  }
  .schgo-slider .schgo-caption-desc {
    font-size: 0.9rem !important;
    margin-bottom: 0.6rem !important;
  }
  .schgo-slider .schgo-nav {
    top: calc((100vw * 9 / 16) / 2) !important;
  }
  .schgo-slider .schgo-dots {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    justify-content: center !important;
    padding: 0 0 0.75rem !important;
  }
  .schgo-slider .schgo-dot {
    border-color: rgba(255, 255, 255, 0.6) !important;
  }
}
/* Mobile menu search input — keep background visible on focus */
@media (max-width: 767px) {
  .jl-modal-dialog input[type="search"], .jl-offcanvas-bar input[type="search"], .jl-modal-dialog .jl-search input, .jl-offcanvas-bar .jl-search input {
    background-color: rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
  }
  .jl-modal-dialog input[type="search"]:focus, .jl-offcanvas-bar input[type="search"]:focus, .jl-modal-dialog .jl-search input:focus, .jl-offcanvas-bar .jl-search input:focus {
    background-color: rgba(255, 255, 255, 0.25) !important;
    color: #ffffff !important;
    border-color: #FDBD5C !important;
    outline: none !important;
  }
  .jl-modal-dialog input[type="search"]::placeholder, .jl-offcanvas-bar input[type="search"]::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
  }
}
/* Mobile menu: auth links + parish logo */
.ssch-mobile-auth {
  padding: 1.25rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  margin-top: 0.5rem;
  text-align: center;
}
.ssch-mobile-auth-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
}
.ssch-mobile-auth-link {
  color: #FDBD5C !important;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 700;
}
.ssch-mobile-auth-link:hover {
  color: #ffffff !important;
}
.ssch-mobile-auth-link .fas {
  margin-right: 0.25rem;
}
.ssch-mobile-auth-sep {
  color: rgba(255, 255, 255, 0.3);
}
.ssch-mobile-logo {
  padding: 1.5rem 0 0.5rem;
  text-align: center;
}
.ssch-mobile-logo img {
  max-width: 180px;
  height: auto;
  opacity: 0.85;
}
.ssch-mobile-logo a:hover img {
  opacity: 1;
}
/* Logged-in / logged-out header state */
body[data-ssch-auth="ssch-logged-out"] .parish-login--member {
  display: none !important;
}
body[data-ssch-auth="ssch-logged-in"] .parish-login--guest {
  display: none !important;
}
.parish-login--member {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.parish-logout-link {
  color: #FDBD5C;
  font-weight: 700;
  text-decoration: none;
  font-size: 0.85rem;
}
.parish-logout-link:hover {
  color: #ffffff;
}
/* ===== Council Tools ===== */
.ssch-council-card {
  max-width: 780px;
  margin: 2rem auto;
  background: linear-gradient(#faf5e6 0%, #dcc8a5 100%);
  border: 1px solid rgba(166, 14, 44, 0.2);
  border-radius: 6px;
  padding: 2rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}
.ssch-council-card h2 {
  color: #360A13;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.ssch-council-desc {
  color: #331C1C;
  font-style: italic;
  margin-bottom: 1.5rem;
}
.ssch-council-field {
  margin-bottom: 1rem;
}
.ssch-council-field label, .ssch-council-field .form-label {
  color: #360A13;
  font-weight: 600;
}
.ssch-council-field .form-control, .ssch-council-field .form-select, .ssch-council-field input[type="text"], .ssch-council-field select {
  border: 1px solid #A60E2C;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.85);
}
.ssch-council-field .form-control:focus, .ssch-council-field select:focus {
  border-color: #FDBD5C;
  box-shadow: 0 0 0 2px rgba(253, 189, 92, 0.25);
}
.ssch-council-actions {
  margin-top: 1.5rem;
  display: flex;
  gap: 0.75rem;
}
.ssch-council-actions .btn-primary {
  background-color: #A60E2C !important;
  border-color: #A60E2C !important;
  color: #ffffff !important;
}
.ssch-council-actions .btn-primary:hover {
  background-color: #FDBD5C !important;
  border-color: #FDBD5C !important;
  color: #360A13 !important;
}
/* Directory table */
.ssch-directory-filters {
  margin-bottom: 1.25rem;
}
.ssch-filter-row {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  align-items: flex-end;
}
.ssch-filter-search {
  flex: 2 1 200px;
}
.ssch-filter-group {
  flex: 1 1 150px;
}
.ssch-filter-btn {
  display: flex;
  gap: 0.5rem;
}
.ssch-directory-count {
  color: #331C1C;
  font-size: 0.9rem;
  margin-bottom: 0.75rem;
}
.ssch-directory-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.ssch-directory-table thead th {
  background: rgba(166, 14, 44, 0.08);
  color: #360A13;
  font-weight: 700;
  padding: 0.5rem 0.75rem;
  border-bottom: 2px solid rgba(166, 14, 44, 0.2);
  white-space: nowrap;
}
.ssch-directory-table tbody td {
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid rgba(166, 14, 44, 0.1);
  vertical-align: middle;
}
.ssch-directory-table tbody tr:hover {
  background: rgba(253, 189, 92, 0.1);
}
.ssch-directory-name {
  color: #A60E2C !important;
  font-weight: 700;
  text-decoration: none;
}
.ssch-directory-name:hover {
  color: #360A13 !important;
  text-decoration: underline;
}
.ssch-directory-email {
  font-size: 0.85rem;
  color: #331C1C;
}
.ssch-group-badge {
  font-size: 0.8rem;
  color: #331C1C;
}
.ssch-user-blocked td {
  opacity: 0.5;
}
.btn-outline-primary {
  color: #A60E2C !important;
  border-color: #A60E2C !important;
  background: transparent;
}
.btn-outline-primary:hover {
  background: #A60E2C !important;
  color: #fff !important;
}
/* Member profile view/edit */
.ssch-member-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}
.ssch-member-header h2 {
  margin: 0;
}
.ssch-member-section {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(166, 14, 44, 0.15);
}
.ssch-member-section h3 {
  color: #360A13;
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}
@media (max-width: 768px) {
  .ssch-directory-table thead {
    display: none;
  }
  .ssch-directory-table, .ssch-directory-table tbody, .ssch-directory-table tr {
    display: block;
    width: 100%;
  }
  .ssch-directory-table tr {
    border: 1px solid rgba(166, 14, 44, 0.2);
    margin-bottom: 0.75rem;
    padding: 0.5rem;
    border-radius: 4px;
  }
  .ssch-directory-table td {
    display: flex;
    justify-content: space-between;
    border: none !important;
    padding: 0.25rem 0.5rem !important;
  }
  .ssch-directory-table td::before {
    content: attr(data-label);
    font-weight: 700;
    color: #360A13;
    margin-right: 0.5rem;
  }
}
/* ===== Profile View Page ===== */
.ssch-profile-view {
  max-width: 960px;
  margin: 2rem auto;
  background: linear-gradient(#faf5e6 0%, #dcc8a5 100%);
  border: 1px solid rgba(166, 14, 44, 0.2);
  border-radius: 6px;
  padding: 2rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}
.ssch-profile-dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.35rem 1rem;
  margin: 0;
  overflow: hidden;
}
.ssch-profile-dl dt {
  font-weight: 700;
  color: #360A13;
  white-space: nowrap;
}
.ssch-profile-dl dd {
  margin: 0;
  color: #331C1C;
  overflow-wrap: break-word;
  word-break: break-all;
  min-width: 0;
}
.ssch-profile-edit-btn {
  margin-top: 1.25rem;
}
.ssch-dl-stacked {
  display: block !important;
}
.ssch-dl-stacked dt {
  margin-top: 0.75rem;
  margin-bottom: 0.1rem;
}
.ssch-dl-stacked dt:first-child {
  margin-top: 0;
}
.ssch-dl-stacked dd {
  margin: 0;
  color: #331C1C;
}
/* ===== Profile Edit Form ===== */
.com-users-profile__edit {
  max-width: 960px;
  margin: 2rem auto;
  background: linear-gradient(#faf5e6 0%, #dcc8a5 100%);
  border: 1px solid rgba(166, 14, 44, 0.2);
  border-radius: 6px;
  padding: 2rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}
.com-users-profile__edit legend {
  color: #360A13;
  font-weight: 700;
  font-size: 1.3rem;
  border-bottom: 1px solid rgba(166, 14, 44, 0.2);
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}
.com-users-profile__edit label {
  color: #360A13;
  font-weight: 600;
}
.com-users-profile__edit .form-control, .com-users-profile__edit input[type="text"], .com-users-profile__edit input[type="email"], .com-users-profile__edit input[type="password"], .com-users-profile__edit select {
  border: 1px solid #A60E2C;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.85);
}
.com-users-profile__edit .form-control:focus, .com-users-profile__edit input:focus, .com-users-profile__edit select:focus {
  border-color: #FDBD5C;
  box-shadow: 0 0 0 2px rgba(253, 189, 92, 0.25);
  outline: none;
}
.com-users-profile__edit .btn-primary {
  background-color: #A60E2C !important;
  border-color: #A60E2C !important;
  color: #ffffff !important;
  padding: 0.5rem 2rem;
}
.com-users-profile__edit .btn-primary:hover {
  background-color: #FDBD5C !important;
  border-color: #FDBD5C !important;
  color: #360A13 !important;
}
/* City / State / Postal Code inline row */
.ssch-address-row, .ssch-name-row {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.ssch-address-col, .ssch-name-col {
  flex: 1 1 0;
  min-width: 120px;
}
.ssch-field-given-name {
  flex: 2 1 0;
}
.ssch-field-middle_name {
  flex: 1 1 0;
}
.ssch-field-city {
  flex: 2 1 0;
}
.ssch-field-state {
  flex: 1.5 1 0;
}
.ssch-field-postal-code {
  flex: 1 1 0;
}
@media (max-width: 576px) {
  .ssch-address-row, .ssch-name-row {
    flex-direction: column;
    gap: 0;
  }
}
/* Two-column profile layout */
.ssch-profile-columns {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
}
.ssch-profile-col {
  flex: 1 1 0;
  min-width: 0;
  background: rgba(255, 255, 255, 0.35);
  border: 1px solid rgba(166, 14, 44, 0.15);
  border-radius: 6px;
  padding: 1.5rem;
}
.ssch-profile-left {
  flex: 0 0 42%;
}
.ssch-profile-right {
  flex: 0 0 calc(58% - 1.5rem);
}
.ssch-profile-col legend {
  font-size: 1.15rem !important;
  margin-bottom: 0.75rem;
}
@media (max-width: 768px) {
  .ssch-profile-columns {
    flex-direction: column;
    gap: 1rem;
  }
  .ssch-profile-left, .ssch-profile-right {
    flex: 1 1 auto;
    width: 100%;
  }
}
/* MFA collapsible section — inside left column */
.ssch-mfa-section {
  background: transparent;
  border: none;
  border-top: 1px solid rgba(166, 14, 44, 0.15);
  border-radius: 0;
  padding: 1rem 0 0 0;
  margin-top: 1rem;
}
.ssch-mfa-section legend {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0.25rem !important;
}
.ssch-mfa-toggle {
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.ssch-mfa-toggle:hover {
  color: #A60E2C;
}
.ssch-mfa-arrow {
  font-size: 0.75rem;
  transition: transform 0.2s;
}
.ssch-actions-card {
  background: rgba(255, 255, 255, 0.35);
  border: 1px solid rgba(166, 14, 44, 0.15);
  border-radius: 6px;
  padding: 1.5rem;
  margin-top: 1rem;
}
.ssch-mfa-content {
  padding-top: 1rem;
}
/* ============================================
   DPCalendar — Parish Parchment Theme
   ============================================ */
/* Hide filter panel globally */
.com-dpcalendar-calendar .dp-filter {
  display: none !important;
}
/* Calendar container — parchment background */
.com-dpcalendar-calendar {
  background: linear-gradient(#faf5e6 0%, #dcc8a5 100%);
  border-radius: 8px;
  padding: 1.5rem;
  color: #360A13;
  /* FullCalendar CSS variable overrides */
  --fc-border-color: rgba(166,14,44,0.2);
  --fc-button-text-color: #360A13;
  --fc-button-bg-color: #FDBD5C;
  --fc-button-border-color: rgba(166,14,44,0.3);
  --fc-button-active-bg-color: #e6a83d;
  --fc-button-active-border-color: #A60E2C;
  --fc-button-hover-bg-color: #e6a83d;
  --fc-button-hover-border-color: #A60E2C;
  --fc-today-bg-color: rgba(253,189,92,0.2);
  --fc-event-bg-color: #A60E2C;
  --fc-event-border-color: #360A13;
  --fc-event-text-color: #fff;
  --fc-page-bg-color: transparent;
  /* Day headers (Sun Mon Tue...) */
  /* Day cells */
  /* Toolbar heading */
  /* Toolbar buttons — gold parish style */
  /* DPCalendar buttons (filter bar) */
  /* Filter/search inputs */
  /* Calendar checkbox labels */
  /* Subscribe/iCal links */
  /* Loader bar color */
  --dp-color: #A60E2C;
  /* Quick-add popup */
  /* Events on the grid */
}
.com-dpcalendar-calendar .fc .fc-col-header-cell {
  background: linear-gradient(#d2b991 0%, #b99b6e 100%);
  color: #360A13;
  font-weight: 700;
  font-family: "Judson", serif;
}
.com-dpcalendar-calendar .fc .fc-daygrid-day {
  background: rgba(250, 245, 230, 0.6);
}
.com-dpcalendar-calendar .fc .fc-day-today {
  background: rgba(253, 189, 92, 0.2) !important;
}
.com-dpcalendar-calendar .fc .fc-daygrid-day-number {
  color: #A60E2C;
  font-weight: 700;
}
.com-dpcalendar-calendar .fc .fc-day-other .fc-daygrid-day-number {
  color: rgba(54, 10, 19, 0.4);
}
.com-dpcalendar-calendar .fc-header-toolbar h2 {
  color: #360A13;
  font-family: "Judson", serif;
  font-weight: 700;
}
.com-dpcalendar-calendar .fc .fc-button-primary, .com-dpcalendar-calendar .fc .fc-button-primary:hover {
  background: #FDBD5C !important;
  color: #360A13 !important;
  border-color: rgba(166, 14, 44, 0.3) !important;
  font-weight: 700;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}
.com-dpcalendar-calendar .fc .fc-button-primary:not(:disabled):active, .com-dpcalendar-calendar .fc .fc-button-primary:not(:disabled).fc-button-active {
  background: #e6a83d !important;
  color: #360A13 !important;
  border-color: #A60E2C !important;
}
.com-dpcalendar-calendar .dp-button {
  background: #FDBD5C;
  color: #360A13;
  border-color: rgba(166, 14, 44, 0.3);
  font-weight: 700;
}
.com-dpcalendar-calendar .dp-button:hover {
  background: #e6a83d;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.com-dpcalendar-calendar .dp-input, .com-dpcalendar-calendar .dp-form-input, .com-dpcalendar-calendar .dp-select, .com-dpcalendar-calendar .form-control, .com-dpcalendar-calendar .form-select, .com-dpcalendar-calendar select, .com-dpcalendar-calendar input[type="text"], .com-dpcalendar-calendar input[type="search"] {
  background: rgba(250, 245, 230, 0.9) !important;
  color: #360A13 !important;
  border: 1px solid rgba(166, 14, 44, 0.25) !important;
  border-radius: 4px;
}
.com-dpcalendar-calendar .dp-input::placeholder, .com-dpcalendar-calendar .dp-form-input::placeholder, .com-dpcalendar-calendar .dp-select::placeholder, .com-dpcalendar-calendar .form-control::placeholder, .com-dpcalendar-calendar .form-select::placeholder, .com-dpcalendar-calendar select::placeholder, .com-dpcalendar-calendar input[type="text"]::placeholder, .com-dpcalendar-calendar input[type="search"]::placeholder {
  color: rgba(54, 10, 19, 0.5);
}
.com-dpcalendar-calendar .dp-filter__calendars .dp-calendar__label {
  color: #360A13;
  font-weight: 700;
}
.com-dpcalendar-calendar .dp-filter__calendars .dp-calendar__links a {
  color: #A60E2C;
}
.com-dpcalendar-calendar .dp-filter__calendars .dp-calendar__links a:hover {
  color: #360A13;
}
.com-dpcalendar-calendar .dp-quickadd {
  background: linear-gradient(#faf5e6 0%, #dcc8a5 100%);
  border-color: rgba(166, 14, 44, 0.3);
  color: #360A13;
}
.com-dpcalendar-calendar .fc-event {
  border-radius: 3px;
}
/* ============================================
   DPCalendar Event Detail — Parish Parchment Theme
   ============================================ */
.com-dpcalendar-event {
  background: linear-gradient(#faf5e6 0%, #dcc8a5 100%);
  border-radius: 8px;
  padding: 1.5rem;
  color: #360A13;
  /* Event title */
  /* Heading section */
  /* Information panel & image area */
  /* Description labels */
  /* Links */
  /* Buttons — gold parish style */
  /* CTA / Book button */
  /* Info boxes */
  /* Tables */
  /* Calendar name label */
  /* Schedule timeline */
  /* Form inputs (booking form etc.) */
  /* Actions bar spacing */
}
.com-dpcalendar-event .com-dpcalendar-event__title {
  color: #A60E2C;
  font-family: "Judson", serif;
  font-weight: 700;
}
.com-dpcalendar-event .dp-heading {
  color: #360A13;
  font-family: "Judson", serif;
  border-bottom-color: rgba(166, 14, 44, 0.2);
}
.com-dpcalendar-event .com-dpcalendar-event__information, .com-dpcalendar-event .com-dpcalendar-event__image {
  background-color: rgba(210, 185, 145, 0.3);
  border-bottom-color: rgba(166, 14, 44, 0.2);
}
.com-dpcalendar-event .dp-description__label {
  color: #360A13;
  font-weight: 700;
}
.com-dpcalendar-event a {
  color: #A60E2C;
}
.com-dpcalendar-event a:hover {
  color: #360A13;
}
.com-dpcalendar-event .dp-button {
  background: #FDBD5C;
  color: #360A13;
  border-color: rgba(166, 14, 44, 0.3);
  font-weight: 700;
}
.com-dpcalendar-event .dp-button:hover {
  background: #e6a83d;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.com-dpcalendar-event .dp-link_cta {
  background-color: #A60E2C !important;
  color: #fff !important;
  font-family: "Judson", serif;
}
.com-dpcalendar-event .dp-link_cta:hover {
  background-color: #360A13 !important;
}
.com-dpcalendar-event .dp-info-box {
  background-color: rgba(253, 189, 92, 0.2);
  color: #360A13;
  border-color: rgba(253, 189, 92, 0.5);
}
.com-dpcalendar-event .dp-table {
  background-color: rgba(250, 245, 230, 0.8);
  color: #360A13;
}
.com-dpcalendar-event .dp-table td, .com-dpcalendar-event .dp-table th {
  border-bottom-color: rgba(166, 14, 44, 0.15);
}
.com-dpcalendar-event .com-dpcalendar-event__calendar-title {
  color: #A60E2C;
  font-weight: 700;
}
.com-dpcalendar-event .dp-schedule-list__item {
  border-left-color: #A60E2C;
  color: #360A13;
}
.com-dpcalendar-event .dp-schedule-list__item::after {
  border-color: #A60E2C;
  background: #faf5e6;
}
.com-dpcalendar-event input[type="text"], .com-dpcalendar-event input[type="email"], .com-dpcalendar-event input[type="number"], .com-dpcalendar-event select, .com-dpcalendar-event textarea, .com-dpcalendar-event .dp-input, .com-dpcalendar-event .dp-form-input, .com-dpcalendar-event .dp-select {
  background: rgba(250, 245, 230, 0.9) !important;
  color: #360A13 !important;
  border: 1px solid rgba(166, 14, 44, 0.25) !important;
  border-radius: 4px;
}
.com-dpcalendar-event input[type="text"]::placeholder, .com-dpcalendar-event input[type="email"]::placeholder, .com-dpcalendar-event input[type="number"]::placeholder, .com-dpcalendar-event select::placeholder, .com-dpcalendar-event textarea::placeholder, .com-dpcalendar-event .dp-input::placeholder, .com-dpcalendar-event .dp-form-input::placeholder, .com-dpcalendar-event .dp-select::placeholder {
  color: rgba(54, 10, 19, 0.5);
}
.com-dpcalendar-event .com-dpcalendar-event__actions.dp-button-bar {
  padding: 1rem;
  border-bottom-color: rgba(166, 14, 44, 0.2);
}
/* DPCalendar Event Form — Parish Parchment Theme */
.com-dpcalendar-eventform, .com-dpcalendar-bookingform {
  background: linear-gradient(#faf5e6 0%, #dcc8a5 100%);
  border-radius: 8px;
  padding: 1.5rem;
  color: #360A13;
}
.com-dpcalendar-eventform .dp-button, .com-dpcalendar-bookingform .dp-button {
  background: #FDBD5C;
  color: #360A13;
  border-color: rgba(166, 14, 44, 0.3);
  font-weight: 700;
}
.com-dpcalendar-eventform .dp-button:hover, .com-dpcalendar-bookingform .dp-button:hover {
  background: #e6a83d;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.com-dpcalendar-eventform input[type="text"], .com-dpcalendar-eventform input[type="email"], .com-dpcalendar-eventform input[type="number"], .com-dpcalendar-eventform select, .com-dpcalendar-eventform textarea, .com-dpcalendar-eventform .dp-input, .com-dpcalendar-eventform .dp-form-input, .com-dpcalendar-eventform .dp-select, .com-dpcalendar-eventform .form-control, .com-dpcalendar-eventform .form-select, .com-dpcalendar-bookingform input[type="text"], .com-dpcalendar-bookingform input[type="email"], .com-dpcalendar-bookingform input[type="number"], .com-dpcalendar-bookingform select, .com-dpcalendar-bookingform textarea, .com-dpcalendar-bookingform .dp-input, .com-dpcalendar-bookingform .dp-form-input, .com-dpcalendar-bookingform .dp-select, .com-dpcalendar-bookingform .form-control, .com-dpcalendar-bookingform .form-select {
  background: rgba(250, 245, 230, 0.9) !important;
  color: #360A13 !important;
  border: 1px solid rgba(166, 14, 44, 0.25) !important;
  border-radius: 4px;
}
.com-dpcalendar-eventform label, .com-dpcalendar-eventform .form-label, .com-dpcalendar-eventform .control-label, .com-dpcalendar-bookingform label, .com-dpcalendar-bookingform .form-label, .com-dpcalendar-bookingform .control-label {
  color: #360A13;
  font-weight: 700;
}
/* Tooltip styling */
.dp-event-tooltip {
  background: linear-gradient(#faf5e6 0%, #ebdcbe 100%);
  color: #360A13;
  border: 1px solid rgba(166, 14, 44, 0.2);
  border-radius: 4px;
}
.dp-event-tooltip a {
  color: #A60E2C;
}
/* Modal styling for DPCalendar */
.tingle-modal .dp-button {
  background: #FDBD5C;
  color: #360A13;
  border-color: rgba(166, 14, 44, 0.3);
  font-weight: 700;
}
/* (duplicate Kunena block removed — see first copy above) */
/* ============================================================
   KUNENA FORUM — Parish Parchment Theme
   ============================================================ */
/* Hide Kunena's own navbar (login/menu) — site already has auth */
#kunena.layout > nav.navbar {
  display: none !important;
}
/* Hide Kunena's duplicate breadcrumbs */
#kunena.layout .mod-kunena-breadcrumbs {
  display: none !important;
}
/* Hide RSS feed icon */
#kunena.layout .bi-rss, #kunena.layout a[href*="format=feed"] {
  display: none !important;
}
/* Hide "There are no categories in the section!" message */
#kunena.layout .kfrontend td h4 {
  display: none !important;
}
/* "Powered by Kunena Forum" — leave visible, links to kunena.org */
#kunena.layout .custom-footer, #kunena.layout .pagination-container-links {
  display: none !important;
}
/* Hide collapse/expand toggle button entirely */
#kunena.layout .kfrontend > h2.btn-toolbar {
  display: none !important;
}
/* Hide category selector form above kfrontend */
#kunena.layout > form:has(select#categorylist), #kunena.layout form .form-select.inputbox.fbs {
  display: none !important;
}
/* Remove outer kfrontend shadow/border from Bootstrap .section class */
#kunena.layout .kfrontend.shadow-lg {
  box-shadow: 0 2px 8px rgba(54, 10, 19, 0.12) !important;
}
#kunena.layout .kfrontend.border {
  border: 1px solid rgba(166, 14, 44, 0.2) !important;
}
#kunena.layout .kfrontend.rounded {
  border-radius: 6px !important;
}
/* Main content area — parchment background */
#kunena.layout .kfrontend {
  background: linear-gradient(#faf5e6 0%, #dcc8a5 100%) !important;
  margin: 1.5rem 0;
}
/* Category header — burgundy bar */
#kunena.layout .card-header {
  background: #A60E2C !important;
  color: #FDBD5C !important;
  font-family: "Judson", serif;
  font-weight: 700;
  font-size: 1.3rem;
  padding: 0.75rem 1rem;
  border-bottom: 2px solid #360A13;
  border-radius: 6px 6px 0 0;
}
#kunena.layout .card-header a {
  color: #FDBD5C !important;
  text-decoration: none;
}
#kunena.layout .card-header a:hover {
  color: #fff !important;
}
#kunena.layout .card-header small {
  color: rgba(253, 189, 92, 0.7) !important;
  font-size: 0.85rem;
}
/* Category description bar */
#kunena.layout .bg-faded {
  background: rgba(242, 232, 186, 0.5) !important;
  color: #360A13;
  border-bottom: 1px solid rgba(166, 14, 44, 0.1);
  font-size: 1rem;
}
/* Table styling inside forum */
#kunena.layout .kfrontend .table {
  background: transparent;
}
#kunena.layout .kfrontend .table td {
  background: transparent;
  color: #360A13;
  border-color: rgba(166, 14, 44, 0.1);
}
#kunena.layout .kfrontend .table th {
  background: rgba(166, 14, 44, 0.08);
  color: #360A13;
  font-weight: 700;
  border-color: rgba(166, 14, 44, 0.15);
}
/* Links — parish burgundy */
#kunena.layout a {
  color: #A60E2C;
}
#kunena.layout a:hover {
  color: #360A13;
}
/* Buttons — parish gold style (scoped to avoid toolbar leak) */
#kunena.layout .kfrontend .btn-outline-primary, #kunena.layout #kform-login-desktop-submit .btn-outline-primary {
  background: #FDBD5C !important;
  color: #360A13 !important;
  border: 1px solid rgba(166, 14, 44, 0.3) !important;
  border-radius: 4px;
  font-weight: 700;
}
#kunena.layout .kfrontend .btn-outline-primary:hover, #kunena.layout #kform-login-desktop-submit .btn-outline-primary:hover {
  background: #e6a83d !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
/* Topic list items — alternating parchment */
#kunena.layout .kfrontend tr:nth-child(even) td {
  background: rgba(250, 245, 230, 0.5);
}
#kunena.layout .kfrontend tr:nth-child(odd) td {
  background: rgba(242, 232, 186, 0.3);
}
/* Topic unread indicator */
#kunena.layout .topic-item-unread {
  border-left: 3px solid #A60E2C !important;
}
/* Pagination */
#kunena.layout .pagination ul > li > a, #kunena.layout .pagination ul > li > span {
  color: #360A13;
  border-color: rgba(166, 14, 44, 0.2);
}
#kunena.layout .pagination ul > li > a:hover {
  background: #FDBD5C;
  color: #360A13;
}
/* Shadow removal on inner collapse */
#kunena.layout .kfrontend .collapse {
  box-shadow: none !important;
  border: none !important;
}
/* Profile circles */
#kunena.layout .rounded-circle {
  border-color: rgba(166, 14, 44, 0.3);
}
/* Message/post styling */
#kunena.layout .kmsg {
  font-family: "Lato", sans-serif;
}
#kunena.layout .badger-left, #kunena.layout .horizontal-message {
  border-color: rgba(166, 14, 44, 0.15);
}
#kunena.layout .mykmsg-header {
  background: rgba(242, 232, 186, 0.5) !important;
}
/* Locked icon color */
#kunena.layout .hasTooltip.locked svg {
  color: #A60E2C;
}
/* Page-level padding reset */
body.com_kunena #g-mainbar .platform-content {
  padding: 0;
}
/* Kunena topic create/edit/reply forms — parchment */
#kunena.layout {
  background: linear-gradient(#faf5e6 0%, #dcc8a5 100%);
  border-radius: 6px;
  padding: 1.5rem;
  margin: 1rem 0;
  border: 1px solid rgba(166, 14, 44, 0.2);
}
/* Kunena form inputs */
#kunena.layout input[type="text"], #kunena.layout textarea, #kunena.layout select, #kunena.layout .form-control {
  background: rgba(255, 255, 255, 0.85) !important;
  color: #360A13 !important;
  border: 1px solid rgba(166, 14, 44, 0.25) !important;
  border-radius: 4px;
}
#kunena.layout input[type="text"]:focus, #kunena.layout textarea:focus, #kunena.layout select:focus, #kunena.layout .form-control:focus {
  border-color: #FDBD5C !important;
  box-shadow: 0 0 0 2px rgba(253, 189, 92, 0.25) !important;
}
/* Kunena submit/cancel buttons */
#kunena.layout .btn-primary, #kunena.layout button[type="submit"] {
  background: #FDBD5C !important;
  color: #360A13 !important;
  border: 1px solid rgba(166, 14, 44, 0.3) !important;
  font-weight: 700;
  border-radius: 4px;
}
#kunena.layout .btn-primary:hover, #kunena.layout button[type="submit"]:hover {
  background: #e6a83d !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
/* Kunena alert/success messages */
#kunena.layout .alert {
  background: rgba(242, 232, 186, 0.7) !important;
  color: #360A13 !important;
  border-color: rgba(166, 14, 44, 0.2) !important;
}
/* Kunena category dropdown selector */
#kunena.layout .form-select.inputbox {
  background: rgba(250, 245, 230, 0.9) !important;
  color: #360A13 !important;
  border: 1px solid rgba(166, 14, 44, 0.25) !important;
}
/* Kunena file upload info labels */
#kunena.layout .badge-warning, #kunena.layout .badge-info {
  background: rgba(166, 14, 44, 0.1) !important;
  color: #360A13 !important;
}
/* Kunena topic list action buttons (New Topic, Mark Read, Subscribe) */
#kunena.layout .btn-outline-primary {
  background: transparent !important;
  color: #A60E2C !important;
  border-color: #A60E2C !important;
}
#kunena.layout .btn-outline-primary:hover {
  background: #A60E2C !important;
  color: #fff !important;
}
/* Kunena topic header row */
#kunena.layout .kfrontend thead th, #kunena.layout .kfrontend .table thead td {
  background: rgba(166, 14, 44, 0.08) !important;
  color: #360A13;
  font-weight: 700;
}
/* Kunena search input in topic list */
#kunena.layout .kfrontend input[type="search"], #kunena.layout .kfrontend .form-control[type="search"] {
  background: rgba(255, 255, 255, 0.85) !important;
  border: 1px solid rgba(166, 14, 44, 0.25) !important;
}
/* Kunena — hide rank display entirely */
#kunena.layout .topic-starter, #kunena.layout .topic-moderator, #kunena.layout .kicon-profile, #kunena.layout img[src*="ranks/"], #kunena.layout .rank-title {
  display: none !important;
}
/* Kunena profile — strip down to name + posts only */
/* Hide the profile info row (User Type, Time Zone, Gender, Birthdate, avatar) */
body.view-user #kunena.layout > .row, body.view-user #kunena.layout .clearfix + .row {
  display: none !important;
}
/* Hide Edit button */
body.view-user #kunena.layout h2.float-end {
  display: none !important;
}
/* Hide Favorites tab */
body.view-user #kunena.layout #favorites-tab {
  display: none !important;
}
body.view-user #kunena.layout #favorites {
  display: none !important;
}
/* Hide "Time to create page" debug line */
body.com_kunena #kunena.layout ~ div[style*="text-align"] {
  display: none !important;
}
/* ===== com_sschvolunteer — Volunteer Talent DB ===== */
/* Profile page: category cards */
.sschvol-profile .sschvol-category-card {
  background: linear-gradient(#faf5e6 0%, #dcc8a5 100%);
  border: 1px solid rgba(166, 14, 44, 0.15);
  border-radius: 6px;
}
.sschvol-profile .sschvol-category-card .card-header {
  background: transparent;
  border-bottom: 1px solid rgba(166, 14, 44, 0.12);
}
.sschvol-profile .sschvol-category-card .card-header h4 {
  color: #A60E2C;
  font-family: "Judson", serif;
  font-weight: 700;
  font-size: 1.15rem;
}
.sschvol-profile .form-check-label {
  color: #360A13;
}
.sschvol-profile .btn-primary {
  background-color: #FDBD5C;
  border-color: #FDBD5C;
  color: #360A13;
  font-weight: 700;
  border-radius: 4px;
}
.sschvol-profile .btn-primary:hover {
  background-color: #e6a83d;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
/* Opportunities page: cards */
.sschvol-opportunities h2, .sschvol-opportunity-detail h2, .sschvol-talent h2, .sschvol-opp-edit h2 {
  color: #A60E2C;
  font-family: "Judson", serif;
  font-weight: 700;
}
.sschvol-card-link {
  text-decoration: none !important;
  color: inherit !important;
  display: block;
}
.sschvol-card-link:hover .sschvol-opp-card {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  border-color: rgba(166, 14, 44, 0.35);
}
.sschvol-opp-card {
  background: linear-gradient(#faf5e6 0%, #dcc8a5 100%);
  border: 1px solid rgba(166, 14, 44, 0.15);
  border-radius: 6px;
  transition: box-shadow 0.2s, border-color 0.2s;
  cursor: pointer;
}
.sschvol-opp-card .card-title {
  color: #360A13;
  font-family: "Judson", serif;
  font-weight: 700;
  font-size: 1.25rem !important;
}
.sschvol-card-link:hover .card-title {
  color: #A60E2C;
}
.sschvol-opp-card .card-text {
  color: #360A13;
}
.sschvol-opp-card .card-text.text-muted {
  color: #5a2a2a !important;
}
.sschvol-status {
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  white-space: nowrap;
}
.sschvol-meta {
  color: #5a2a2a;
}
.sschvol-openings {
  color: #2e7d32;
  font-weight: 600;
}
.sschvol-openings-full {
  color: #e65100;
  font-weight: 600;
}
.sschvol-openings-negative {
  color: #c62828;
  font-weight: 600;
}
.sschvol-skill-list {
  color: #5a2a2a;
  font-style: italic;
}
.sschvol-opportunities .btn-primary, .sschvol-opp-edit .btn-primary {
  background-color: #FDBD5C;
  border-color: #FDBD5C;
  color: #360A13;
  font-weight: 700;
  border-radius: 4px;
}
.sschvol-opportunities .btn-primary:hover, .sschvol-opp-edit .btn-primary:hover {
  background-color: #e6a83d;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
/* Opportunity detail */
.sschvol-opportunity-detail .card {
  background: linear-gradient(#faf5e6 0%, #dcc8a5 100%);
  border: 1px solid rgba(166, 14, 44, 0.15);
  border-radius: 6px;
}
.sschvol-opportunity-detail .card-header {
  background: transparent;
  border-bottom: 1px solid rgba(166, 14, 44, 0.12);
}
.sschvol-opportunity-detail .badge {
  font-size: 0.85rem;
}
/* Talent Directory */
.sschvol-talent .form-select, .sschvol-talent .form-control {
  border-color: rgba(166, 14, 44, 0.2);
}
.sschvol-talent .btn-primary {
  background-color: #FDBD5C;
  border-color: #FDBD5C;
  color: #360A13;
  font-weight: 700;
  border-radius: 4px;
}
.sschvol-talent .btn-primary:hover {
  background-color: #e6a83d;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.sschvol-talent-table {
  background: linear-gradient(#faf5e6 0%, #dcc8a5 100%);
}
.sschvol-talent-table thead th {
  background: rgba(166, 14, 44, 0.08);
  color: #360A13;
  font-family: "Judson", serif;
  font-weight: 700;
  border-bottom: 2px solid rgba(166, 14, 44, 0.2);
}
.sschvol-talent-table tbody td {
  color: #360A13;
  border-color: rgba(166, 14, 44, 0.08);
}
.sschvol-talent-table a {
  color: #A60E2C;
}
/* Opportunity edit form */
.sschvol-opp-edit .form-label {
  color: #360A13;
  font-weight: 700;
}
.sschvol-opp-edit .form-control, .sschvol-opp-edit .form-select {
  border-color: rgba(166, 14, 44, 0.2);
}
/* =============================================
   YouTube Live Indicator
   ============================================= */
#ssch-yt-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
}
#ssch-yt-btn .ssch-live-dot {
  position: absolute;
  top: -4px;
  right: -6px;
  width: 9px;
  height: 9px;
  background: #e53935;
  border-radius: 50%;
  border: 1.5px solid #fff;
  animation: ssch-live-pulse 1.4s ease-in-out infinite;
}
@keyframes ssch-live-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.5);
    opacity: 0.5;
  }
}
/* Mobile navbar YT icon — live dot positioning */
.tm-header-mobile a[href="/worship/livestream"] {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.tm-header-mobile a[href="/worship/livestream"] .ssch-live-dot {
  position: absolute;
  top: -4px;
  right: -6px;
  width: 9px;
  height: 9px;
  background: #e53935;
  border-radius: 50%;
  border: 1.5px solid rgba(0, 0, 0, 0.25);
  animation: ssch-live-pulse 1.4s ease-in-out infinite;
}
/* Mobile menu dialog — live banner */
.ssch-mobile-live-bar {
  background: #e53935;
  border-radius: 4px;
  margin-bottom: 0.75rem;
}
.ssch-mobile-live-bar a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  padding: 0.6rem 1rem;
  color: #fff !important;
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
}
.ssch-mobile-live-bar a:hover {
  color: rgba(255, 255, 255, 0.85) !important;
}
.ssch-mobile-live-bar .ssch-live-dot {
  position: static;
  display: inline-block;
  flex-shrink: 0;
  width: 9px;
  height: 9px;
  background: #fff;
  border-radius: 50%;
  border: none;
  animation: ssch-live-pulse 1.4s ease-in-out infinite;
}
/* Login welcome toast */
.ssch-toast {
  position: fixed;
  top: 1.5rem;
  right: 1.5rem;
  background: #C41230;
  color: #fff;
  padding: 1.25rem 2rem;
  border-radius: 8px;
  font-size: 1.4rem;
  font-weight: 700;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.4);
  z-index: 99999;
  opacity: 0;
  transform: translateY(-1rem);
  transition: opacity 0.3s ease, transform 0.3s ease;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.ssch-toast .fas {
  color: #FDBD5C;
  font-size: 1.5rem;
}
.ssch-toast-show {
  opacity: 1;
  transform: translateY(0);
}
.ssch-toast-hide {
  opacity: 0;
  transform: translateY(-1rem);
}
/*# sourceMappingURL=custom_12.css.map */