:root{
  --stg-red:#dd1e25;
  --stg-red-dark:#c6242a;
  --stg-sidebar-medium:#b8afa2;
  --stg-sidebar-dark:#9f9488;
  --stg-bg:#dedbd5;
  --stg-panel:#e7e4df;
  --stg-text:#2c2926;
  --stg-muted:#6f675f;
  --stg-white:#fffaf4;
  --stg-brown:#514b45;
  --stg-control-hover:#c9c2b8;
  --stg-control-active:#d3cdc5;
  --font-heading:Arial,Helvetica,sans-serif;
  --font-body:Arial,Helvetica,sans-serif;
  --sidebar-width:238px;
  --divider-height:28px;
  --page-max-width:1440px
}
*{
  box-sizing:border-box
}
html{
  background:var(--stg-bg);
  overflow-y:scroll
}
body{
  margin:0;
  color:var(--stg-text);
  font-family:var(--font-body);
  background:var(--stg-bg)
}
a{
  color:inherit
}
.site-shell{
  max-width:var(--page-max-width);
  margin:0 auto;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  background:var(--stg-panel);
  box-shadow:0 0 16px rgba(0,0,0,.18)
}
.utility-bar{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:18px;
  min-height:32px;
  padding:6px 22px;
  background:var(--stg-red-dark);
  color:var(--stg-white);
  font-size:13px;
  letter-spacing:.03em
}
.utility-link{
  text-decoration:none;
  opacity:.92
}
.utility-link:hover{
  text-decoration:underline;
  opacity:1
}
.social-icons{
  display:flex;
  gap:8px
}
.social-icon{
  width:22px;
  height:22px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:50%;
  display:grid;
  place-items:center;
  text-decoration:none;
  font-size:13px;
  font-weight:700
}
.lang-switch{
  display:flex;
  gap:6px
}
.lang-switch button{
  border:1px solid rgba(255,255,255,.65);
  background:transparent;
  color:var(--stg-white);
  padding:3px 7px;
  cursor:pointer;
  font-size:12px
}
.lang-switch button.is-active{
  background:var(--stg-white);
  color:var(--stg-red-dark)
}
/* Selected bilingual pages only: language switch uses links instead of buttons. */
.directions-page .lang-switch a,
.projects-page .lang-switch a,
.archive-page .lang-switch a,
.faith-page .lang-switch a,
.about-page .lang-switch a,
.leadership-page .lang-switch a,
.donations-page .lang-switch a,
.commemorations-page .lang-switch a,
.calendar-page .lang-switch a,
.schedule-page .lang-switch a,
.home-page .lang-switch a,
.contributions-page .lang-switch a {
  border:1px solid rgba(255,255,255,.65);
  background:transparent;
  color:var(--stg-white);
  padding:3px 7px;
  cursor:pointer;
  font-size:12px;
  text-decoration:none
}
.directions-page .lang-switch a.is-active,
.projects-page .lang-switch a.is-active,
.archive-page .lang-switch a.is-active,
.faith-page .lang-switch a.is-active,
.about-page .lang-switch a.is-active,
.leadership-page .lang-switch a.is-active,
.donations-page .lang-switch a.is-active,
.commemorations-page .lang-switch a.is-active,
.calendar-page .lang-switch a.is-active,
.schedule-page .lang-switch a.is-active,
.home-page .lang-switch a.is-active,
.contributions-page .lang-switch a.is-active{
  background:var(--stg-white);
  color:var(--stg-red-dark)
}
.site-header{
  background:var(--stg-red);
  color:var(--stg-white);
  overflow:hidden
}
.branding{
  min-height:215px;
  display:grid;
  grid-template-columns:210px 1fr;
  align-items:center;
  gap:22px;
  padding:18px 34px 20px
}
.branding-logo{
  display:flex;
  justify-content:center;
  align-items:center;
  background:transparent;
  transform:translateX(-24px)
}
.branding-logo img{
  max-width:220px;
  max-height:180px;
  width:100%;
  height:auto;
  display:block;
  position:relative;
  top:7px;
  transform:scale(1.63);
  transform-origin:center center
}
.branding-text{
  text-transform:uppercase;
  letter-spacing:.08em
}
.branding-title{
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(30px,4.2vw,62px);
  line-height:.95;
  font-weight:700
}
html[lang="ru-RU"] .branding-title{
  font-size:clamp(32px,4.6vw,68px);
}
.branding-subtitle{
  margin-top:10px;
  font-size:clamp(15px,1.6vw,24px);
  letter-spacing:.18em
}
.horizontal-divider{
  height:var(--divider-height);
  background-image:url("../assets/svg/divider-horizontal.svg");
  background-repeat:repeat-x;
  background-position:center;
  background-size:auto var(--divider-height);
  background-color:var(--stg-panel)
}
.site-body{
  flex:1;
  display:grid;
  grid-template-columns:var(--sidebar-width) minmax(0,1fr);
  min-height:620px;
}

.sidebar{
  background:var(--stg-sidebar-medium);
  border-right:1px solid rgba(0,0,0,.15);
}
.mobile-menu-button{
  display:none;
  width:100%;
  padding:14px 18px;
  border:0;
  background:var(--stg-sidebar-dark);
  color:#fff;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  cursor:pointer
}
.main-nav ul{
  list-style:none;
  margin:0;
  padding:18px 0
}
.main-nav a{
  display:block;
  padding:13px 24px;
  text-decoration:none;
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.08em;
  color:#3a342f;
  font-size:16px;
  border-left:6px solid transparent
}
.main-nav a:hover,
.main-nav a:focus{
  background:rgba(255,255,255,.24)
}
.main-nav a.is-active{
  background:rgba(255,255,255,.38);
  border-left-color:var(--stg-red)
}
.content-wrap{
  background:var(--stg-panel);
  padding:clamp(22px,4vw,54px)
}
.content-card{
  max-width:980px;
  margin:0 auto
}
.page-title{
  font-family:var(--font-heading);
  font-size:clamp(34px,4vw,58px);
  line-height:1.05;
  margin:0 0 24px;
  color:#625b55;
  font-weight:600
}
.page-intro{
  font-size:18px;
  line-height:1.65;
  color:#3e3934;
  max-width:850px;
  margin-bottom:32px
}
/* Page height normalization */
:is(.site-shell, .site-body):has(
  :is(
    .home-content,
    .schedule-content,
    .calendar-content,
    .commemorations-content,
    .donations-content,
    .leadership-content,
    .about-content,
    .faith-content,
    .archive-content,
    .projects-content,
    .directions-content,
	.contributions-content
  )
){
  min-height:0;
}
/* Text content pages */
.commemorations-content p,
.donations-content p,
.about-content p,
.faith-content p,
.projects-content p,
.directions-content p,
.home-content .page-intro,
.contributions-content .contributions-intro {
  text-align: justify
}
.leader-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(220px,1fr));
  gap:28px
}
.leader-card{
  background:transparent;
  border:0;
  padding:20px;
  text-align:center
}
.leader-photo{
  width:calc(100% - 24px);
  aspect-ratio:4/5;
  object-fit:cover;
  background:var(--stg-panel);
  box-shadow:0 0 0 12px var(--stg-control-active);
  display:block;
  margin:12px auto 30px
}
.leader-role{
  font-size:15px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--stg-red);
  font-weight:700;
  margin:0 0 8px
}
.leader-name{
  font-family:var(--font-heading);
  font-size:24px;
  line-height:1.15;
  margin:0 0 8px
}
.site-footer{
  background:var(--stg-red-dark);
  color:#eee9e2;
  text-align:center;
  padding:18px 24px 22px;
  font-size:13px;
  line-height:1.5
}
.home-content .page-intro{
  max-width:100%
}
/* Home page recent-post feed */
.home-post-feed{
  padding-top:34px;
  border-top:1px solid var(--stg-sidebar-medium)
}
/* Archive page only */
.archive-content{
  max-width:980px;
}
.archive-year{
  margin:0
}
.archive-year-title{
  margin:0 0 14px;
  color:var(--stg-red);
  font-size:28px;
  line-height:1;
  font-weight:700
}
.archive-month-grid + .archive-year-title{
  margin-top:32px
}
.archive-month-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px
}
.archive-month{
  min-height:102px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:var(--stg-sidebar-medium);
  color:var(--stg-text);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:16px;
  font-weight:700;
  text-align:center;
  transition:background .15s ease
}
.archive-month:hover{
  background:var(--stg-control-hover)
}
.archive-month:focus,
.archive-month:active,
.archive-month.is-active{
  background:var(--stg-control-active)
}
.archive-month-view{
  margin:0
}
.archive-month-title{
  margin:0 0 22px;
  color:var(--stg-red);
  font-family:var(--font-heading);
  font-size:28px;
  line-height:1;
  font-weight:700
}
.archive-post{
  margin:0;
  padding:0 0 34px
}
.archive-post + .archive-post{
  padding-top:34px;
  border-top:1px solid var(--stg-sidebar-medium)
}
.archive-post-title{
  margin:0 0 14px;
  color:var(--stg-brown);
  font-family:var(--font-heading);
  font-size:24px;
  line-height:1.25;
  font-weight:700
}
.archive-post-date{
  margin:0 0 8px;
  color:var(--stg-brown);
  font-family:var(--font-body);
  font-size:14px;
  line-height:1.25;
  font-weight:600
}
.archive-post-copy{
  margin:0 0 20px;
  color:var(--stg-text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6
}
.archive-post-copy p,
.archive-post-copy div{
  margin:0;
  text-align:justify
}
.archive-post-copy p + p,
.archive-post-copy div + div,
.archive-post-copy p + div,
.archive-post-copy div + p{
  margin-top:10px
}
.archive-post-copy a{
  color:var(--stg-red-dark)
}
.archive-post-image-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:start
}
.archive-post-image-link{
  display:block;
  min-width:0;
  aspect-ratio:1 / 1;
  overflow:hidden;
  text-decoration:none
}
.archive-post-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  margin:0
}
.archive-month-nav{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
  margin:8px 0 0
}
.archive-month-nav-link{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 16px;
  text-align:center;
  font-family:var(--font-body);
  font-size:14px;
  font-weight:700;
  letter-spacing:.06em;
  line-height:1.3;
  text-transform:uppercase
}
.archive-month-nav-link{
  background:var(--stg-sidebar-medium);
  color:#3a342f;
  text-decoration:none;
  transition:background .15s ease
}
.archive-month-nav-link:hover,
.archive-month-nav-link:focus{
  background:var(--stg-control-hover)
}
/* Calendar page only */
.calendar-content{
  max-width:980px;
}
.calendar-day-nav{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
  margin:0 0 18px
}
.calendar-day-control{
  min-height:82px;
  font-family:var(--font-body);
  font-size:14px;
  font-weight:700;
  letter-spacing:.08em;
  color:#3a342f;
  text-align:center
}
.calendar-day-button{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px 18px;
  background:var(--stg-sidebar-medium);
  color:#3a342f;
  text-decoration:none;
  text-transform:uppercase;
  transition:background .15s ease
}
.calendar-day-button:hover{
  background:var(--stg-control-hover)
}
.calendar-day-button:focus,
.calendar-day-button:active{
  background:var(--stg-control-active)
}
.calendar-selected-date{
  min-height:82px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border:1px solid rgba(0,0,0,.10);
  background:var(--stg-control-active);
  text-align:center
}
.calendar-today-label{
  margin:0 0 5px;
  color:var(--stg-red);
  text-transform:uppercase;
  letter-spacing:inherit;
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit
}
.calendar-old-style-date{
  font-family:inherit;
  font-size:inherit;
  line-height:1.1;
  font-weight:inherit;
  letter-spacing:inherit;
  color:#3a342f;
  text-transform:uppercase
}
.calendar-old-style-label{
  margin-top:5px;
  color:var(--stg-red);
  text-transform:uppercase;
  letter-spacing:inherit;
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit
}
.calendar-today-link-wrap{
  text-align:center;
  margin:-2px 0 18px
}
.calendar-today-link{
  color:var(--stg-red);
  font-family:var(--font-body);
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  text-decoration:none
}
.calendar-today-link:hover,
.calendar-today-link:focus{
  text-decoration:underline
}
.calendar-day-card{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:14px;
  align-items:start;
  margin-top:12px;
  padding:0;
  background:var(--stg-panel);
  border:1px solid var(--stg-sidebar-medium)
}
.calendar-icon-wrap{
  grid-column:1;
  margin:0;
  width:100%;
  text-align:center
}
.calendar-icon-box{
  width:100%;
  padding:18px 0 16px;
  background:transparent
}
.calendar-day-icon{
  display:block;
  width:50%;
  height:auto;
  max-width:50%;
  max-height:none;
  margin:0 auto;
  border:1px solid var(--stg-sidebar-medium)
}
.calendar-icon-label{
  margin:0 12px 12px;
  color:var(--stg-red);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  font-weight:700
}
.calendar-icon-link{
  display:flex;
  justify-content:center;
  width:100%
}
.calendar-icon-caption{
  margin:12px 12px 0;
  color:var(--stg-text);
  font-family:var(--font-body);
  font-size:12px;
  line-height:1.6
}
.calendar-summary-line{
  margin:0 0 20px;
  font-family:var(--font-heading);
  font-size:25px;
  line-height:1.45;
  font-weight:700;
  color:var(--stg-brown)
}
.calendar-section{
  margin:0 0 22px
}
.calendar-section:last-child{
  margin-bottom:0
}
.calendar-section h3{
  margin:0 0 8px;
  font-family:var(--font-heading);
  font-size:20px;
  color:var(--stg-brown)
}
.calendar-section p,
.calendar-source-text{
  margin:0;
  font-size:16px;
  line-height:1.6
}
.calendar-section p + p{
  margin-top:6px
}
.calendar-data-list{
  list-style:none;
  margin:0;
  padding-left:0;
  font-size:16px;
  line-height:1.6
}
.calendar-data-list li{
  position:relative;
  margin:0;
  padding-left:22px
}
.calendar-data-list li::before{
  content:"•";
  position:absolute;
  left:0;
  top:0;
  width:14px;
  text-align:center
}
.calendar-data-list li + li{
  margin-top:3px
}
.calendar-message{
  margin-top:12px;
  padding:18px 20px;
  border:1px solid rgba(0,0,0,.10);
  background:rgba(255,255,255,.28);
  line-height:1.5
}
.calendar-message-error{
  border-left:5px solid var(--stg-red)
}
.calendar-day-details{
  grid-column:2 / 4;
  padding:24px 26px 24px 0px;
  min-width:0;
  background:transparent
}
/* ============================================================
   DONATIONS PAGE
   ============================================================ */
.donations-content{
  max-width:980px
}
.donations-intro{
  margin:0 0 32px;
  max-width:100%;
  color:var(--stg-text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6
}
.donations-section{
  max-width:100%;
  margin:0 0 32px
}
.donations-section:last-child{
  margin-bottom:0
}
.donations-section-title{
  margin:0 0 10px;
  color:var(--stg-brown);
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:700
}
.donations-section p{
  margin:0;
  font-size:16px;
  line-height:1.6
}
.donations-detail{
  margin-top:6px !important;
  font-weight:700
}
.donations-action-wrap{
  margin:14px 0 0
}
.donations-action{
  display:flex;
  width:100%;
  max-width:100%;
  min-height:54px;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border:0;
  border-radius:0;
  background:var(--stg-red);
  color:var(--stg-white);
  font-family:var(--font-body);
  font-size:15px;
  font-weight:700;
  letter-spacing:.06em;
  line-height:1.25;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .15s ease
}
.donations-action:hover,
.donations-action:focus{
  background:var(--stg-red-dark);
  color:var(--stg-white);
  text-decoration:none
}
.donations-qr-section{
  margin-top:42px;
  padding-top:0
}
.donations-qr-image{
  display:block;
  width:220px;
  max-width:60%;
  height:auto;
  margin:clamp(22px,4vw,54px) auto 0
}
/* ============================================================
   COMMEMORATIONS PAGE
   ============================================================ */
.commemorations-content{
  max-width:980px
}
.commemorations-intro{
  margin:0 0 24px;
  max-width:900px;
  color:var(--stg-text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6
}
.commemoration-form{
  margin:0
}
.commemoration-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start
}
.commemoration-note{
  position:relative;
  min-width:0;
  padding:20px 18px 18px;
  border:1px solid var(--stg-sidebar-medium);
  background:transparent
}
.commemoration-note-living{
  color:var(--stg-red)
}
.commemoration-note-departed{
  color:var(--stg-text)
}
.commemoration-note-header{
  margin:0 0 18px;
  text-align:center
}
.commemoration-cross{
  display:block;
  width:30px;
  height:46px;
  margin:0 auto 7px
}
.commemoration-note-title{
  color:inherit;
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:700;
  line-height:1.2
}
.commemoration-note-subtitle{
  margin-top:4px;
  color:inherit;
  font-family:var(--font-body);
  font-size:17px;
  font-weight:700;
  line-height:1.3
}
.commemoration-name-list{
  display:grid;
  gap:5px
}
.commemoration-name-row{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:8px;
  align-items:start;
  color:var(--stg-text)
}
.commemoration-name-row > label{
  padding-top:8px;
  color:var(--stg-text);
  font-size:13px;
  font-weight:700;
  text-align:right
}
.commemoration-input-wrap{
  min-width:0
}
.commemoration-input-wrap input{
  display:block;
  width:100%;
  min-width:0;
  padding:6px 4px 5px;
  border:0;
  border-bottom:1px solid var(--stg-sidebar-medium);
  border-radius:0;
  outline:none;
  background:transparent;
  color:var(--stg-text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.35
}
.commemoration-note-living .commemoration-input-wrap input:focus{
  border-bottom-color:var(--stg-red)
}
.commemoration-note-departed .commemoration-input-wrap input:focus{
  border-bottom-color:var(--stg-text)
}
.commemoration-input-wrap input::placeholder{
  color:var(--stg-muted);
  opacity:.72
}
.commemoration-field-error{
  min-height:0;
  margin:3px 0 0;
  color:var(--stg-red-dark);
  font-family:var(--font-body);
  font-size:12px;
  line-height:1.25
}
.commemoration-input-wrap input.has-error{
  border-bottom-color:var(--stg-red-dark)
}
.commemoration-donation-note{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:5px 9px;
  margin:20px 0 14px;
  padding:13px 15px;
  border:1px solid var(--stg-sidebar-medium);
  color:var(--stg-text);
  font-family:var(--font-body);
  font-size:15px;
  line-height:1.45
}
.commemoration-donation-note strong{
  color:var(--stg-red-dark);
  font-size:17px
}
.commemoration-confirm-row{
  margin:0 0 16px;
  color:var(--stg-text)
}
.commemoration-confirm-row label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-family:var(--font-body);
  font-size:15px;
  line-height:1.45;
  cursor:pointer
}
.commemoration-confirm-row input{
  margin-top:3px;
  flex:0 0 auto
}
.commemoration-confirm-error{
  margin:4px 0 0 26px;
  color:var(--stg-red-dark);
  font-size:13px
}
.commemoration-confirm-row.is-invalid{
  color:var(--stg-red-dark)
}
.commemoration-supplemental-field{
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important
}
.commemoration-form-error{
  min-height:20px;
  margin:0 0 8px;
  color:var(--stg-red-dark);
  font-family:var(--font-body);
  font-size:14px;
  font-weight:700
}
.commemoration-submit{
  display:block;
  width:100%;
  min-height:54px;
  padding:12px 18px;
  border:0;
  background:var(--stg-red);
  color:var(--stg-white);
  font-family:var(--font-body);
  font-size:15px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .15s ease
}
.commemoration-submit:hover,
.commemoration-submit:focus{
  background:var(--stg-red-dark)
}
/* ============================================================
   SCHEDULE PAGE
   ============================================================ */
.schedule-content{
  max-width:980px
}
.schedule-image{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  margin:0
}
/* ============================================================
   ABOUT PAGE
   ============================================================ */
.about-content{
  max-width:980px
}
.about-church-image{
  float:left;
  width:300px;
  max-width:42%;
  height:auto;
  margin:0 28px 18px 0
}
.about-copy{
  margin:0 0 30px
}
.about-copy::after{
  content:"";
  display:block;
  clear:both
}
.about-copy p{
  margin:0;
  font-size:16px;
  line-height:1.6
}
.about-copy p + p{
  margin-top:14px
}
.about-contact{
  margin-top:28px;
  clear:both
}
.about-section-title{
  margin:0 0 12px;
  color:var(--stg-brown);
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:700
}
.about-contact p{
  margin:0;
  font-size:16px;
  line-height:1.6
}
.about-contact p + p{
  margin-top:5px
}
.about-contact a{
  color:var(--stg-red-dark)
}
.about-contact a:hover,
.about-contact a:focus{
  text-decoration:underline
}
/* ============================================================
   PROJECTS PAGE
   ============================================================ */
.projects-content{
  max-width:980px
}
.projects-intro{
  margin:0 0 32px;
  font-size:16px;
  line-height:1.6
}
.projects-section{
  margin:0 0 38px
}
.projects-section:last-child{
  margin-bottom:0
}
.projects-section-title{
  margin:0 0 12px;
  color:var(--stg-brown);
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:700
}
.projects-section p{
  margin:0;
  font-size:16px;
  line-height:1.6
}
.projects-section-copy{
  margin:0
}
.projects-section-copy::after{
  content:"";
  display:block;
  clear:both
}
.projects-image{
  float:left;
  width:300px;
  max-width:42%;
  height:auto;
  aspect-ratio:16 / 9;
  object-fit:cover;
  margin:0 28px 18px 0
}
/* ============================================================
   CONTRIBUTIONS PAGE
   ============================================================ */
.contributions-content{
  max-width:980px
}
.contributions-intro{
  margin:0 0 32px;
  max-width:100%;
  color:var(--stg-text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6
}
.contributions-intro a{
  color:var(--stg-red-dark)
}
.contributions-ledger{
  padding-top:34px;
  border-top:1px solid var(--stg-sidebar-medium)
}
.contributions-project{
  margin:0 0 36px;
  padding:0 0 32px;
  border-bottom:1px solid var(--stg-sidebar-medium)
}
.contributions-project:last-child{
  margin-bottom:0;
  padding-bottom:0;
  border-bottom:0
}
.contributions-project-title{
  margin:0 0 18px;
  color:var(--stg-brown);
  font-family:var(--font-heading);
  font-size:24px;
  line-height:1.25;
  font-weight:700
}
.contributions-money{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:16px;
  margin:0 0 12px
}
.contributions-raised{
  color:var(--stg-text);
  font-size:30px;
  font-weight:700
}
.contributions-target{
  color:var(--stg-muted);
  font-size:18px
}
.contributions-bar{
  width:100%;
  height:15px;
  background:var(--stg-control-active);
  border-radius:9px;
  overflow:hidden
}
.contributions-bar-fill{
  height:100%;
  background:var(--stg-red);
  border-radius:9px
}
.contributions-bar-caption{
  display:flex;
  justify-content:space-between;
  gap:14px;
  margin:10px 0 24px;
  color:var(--stg-muted);
  font-size:15px;
  line-height:1.4
}
.contributions-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font-family:var(--font-body);
  font-size:15px;
  line-height:1.5
}
.contributions-table th,
.contributions-table td{
  padding:11px 10px;
  border-bottom:1px solid var(--stg-sidebar-medium);
  vertical-align:top;
  text-align:left
}
.contributions-table th{
  color:var(--stg-brown);
  font-weight:700
}
.contributions-table th:first-child,
.contributions-table td:first-child{
  width:27%;
  padding-left:0;
  white-space:nowrap
}
.contributions-table th:nth-child(2),
.contributions-table td:nth-child(2){
  width:43%;
  overflow-wrap:anywhere
}
.contributions-table th:last-child,
.contributions-table td:last-child{
  width:30%;
  padding-right:0;
  text-align:right;
  white-space:nowrap
}
.contributions-updated{
  margin:20px 0 0;
  color:var(--stg-muted);
  font-family:var(--font-body);
  font-size:14px;
  line-height:1.5
}
@media(max-width:900px){
  :root{
    --sidebar-width:212px
  }
  .branding{
    grid-template-columns:150px 1fr;
	padding:16px 22px
  }
  .branding-logo{
    transform:none;
  }
  .branding-logo img{
    max-width:130px;
	transform:none
  }
  .main-nav a{
    padding:11px 18px;
	font-size:15px
  }
  .commemorations-content p,
  .donations-content p,
  .about-content p,
  .faith-content p,
  .projects-content p,
  .directions-content p,
  .archive-post-copy p,
  .archive-post-copy div,
  .home-content .page-intro,
  .contributions-content .contributions-intro{
    text-align: left;
  }
  .archive-post-image-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .contributions-project-title{
    font-size:22px
  }
  .contributions-raised{
    font-size:26px
  }
  .contributions-target{
    font-size:16px
  }
  .contributions-table{
    font-size:14px
  }
  .contributions-table th:first-child,
  .contributions-table td:first-child{
    width:30%
  }
  .contributions-table th:nth-child(2),
  .contributions-table td:nth-child(2){
    width:38%
  }
  .contributions-table th:last-child,
  .contributions-table td:last-child{
    width:32%
  } 
}
@media(max-width:720px){
  .utility-bar{
    justify-content:center;
	flex-wrap:wrap;
	gap:10px 14px
  }
  .branding{
    grid-template-columns:1fr;
    text-align:center;
  }
  .branding-logo img{
    max-width:140px
  }
  .site-body{
    display:block
  }
  .mobile-menu-button{
    display:block;
	font-size:16px
  }
  .main-nav{
    display:none
  }
  .main-nav.is-open{
    display:block
  }
  .main-nav ul{
    padding:8px 0 14px
  }
  .content-wrap{
    padding:24px 18px 34px
  }
  .leader-grid{
    grid-template-columns:1fr
  }
  .leader-card{
    max-width:420px;
	margin:0 auto
  }
  .archive-month-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .archive-month{
    min-height:76px;
    font-size:15px
  }
  .archive-post-image-grid{
    grid-template-columns:1fr
  }
  .archive-post-title{
    font-size:22px
  }
  .archive-month-nav{
    grid-template-columns:1fr;
    gap:8px
  }
  .archive-month-nav-link{
    min-height:62px;
    padding:12px
  }
  .calendar-day-nav{
    grid-template-columns:1fr 1fr;
    gap:8px
  }
  .calendar-selected-date{
    grid-column:1 / -1;
    grid-row:1
  }
  .calendar-day-button{
    min-height:62px;
    padding:12px
  }
  .calendar-day-card{
    grid-template-columns:1fr;
    padding:0;
    gap:0
  }
  .calendar-icon-wrap,
  .calendar-day-details{
    grid-column:1
  }
  .calendar-day-details{
    padding:18px
  }
  .calendar-day-icon{
    width:50%;
	max-width:50%;
    max-height:none
  }
  .commemoration-grid{
    grid-template-columns:1fr
  }
  .commemorations-intro{
    font-size:15px
  }
  .commemoration-note{
    padding:18px 14px 16px
  }
  .commemoration-note-title{
    font-size:19px
  }
  .commemoration-note-subtitle{
    font-size:16px
  }
  .commemoration-name-row{
    grid-template-columns:26px minmax(0,1fr)
  }
  .commemoration-donation-note{
    padding:12px 14px
  }
  .about-church-image{
    float:none;
    display:block;
    width:auto;
    max-width:100%;
    margin:0 auto 24px
  }
  .projects-image{
    float:none;
    display:block;
    width:auto;
    max-width:100%;
    margin:0 auto 24px
  }
  .donations-qr-image{
    width:220px;
    max-width:80%
  }
  .contributions-intro{
    font-size:15px;
  }
  .contributions-ledger{
    padding-top:24px
  }
  .contributions-project{
    margin-bottom:28px;
    padding-bottom:24px
  }
  .contributions-project-title{
    font-size:20px
  }
  .contributions-money{
    flex-wrap:wrap;
    gap:6px 12px
  }
  .contributions-raised{
    font-size:23px
  }
  .contributions-target{
    font-size:15px
  }
  .contributions-bar{
    height:12px
  }
  .contributions-bar-caption{
    font-size:13px;
    gap:8px;
    margin-bottom:18px
  }
  .contributions-table{
    font-size:12px;
    line-height:1.4
  }
  .contributions-table th,
  .contributions-table td{
    padding:9px 4px
  }
  .contributions-table th:first-child,
  .contributions-table td:first-child{
    width:32%;
    padding-left:0
  }
  .contributions-table th:nth-child(2),
  .contributions-table td:nth-child(2){
    width:35%
  }
  .contributions-table th:last-child,
  .contributions-table td:last-child{
    width:33%;
    padding-right:0
  }
  .contributions-updated{
    font-size:13px
  }
}
