@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');

:root {
	--page-ink: #241b1d;
	--page-maroon: #4b1824;
	--page-deep: #291217;
	--page-saffron: #d5682f;
	--page-gold: #c59a57;
	--page-ivory: #f7f1e8;
	--page-paper: #fffdf8;
	--page-muted: #857876;
	--page-line: rgba(75, 24, 36, .16);
}

html { scroll-behavior: smooth; }
body {
	background: var(--page-ivory);
	color: var(--page-ink);
	font-family: 'DM Sans', sans-serif;
	font-size: 16px;
	line-height: 1.65;
}
a:focus, button:focus {  outline-offset: 4px; }
a:hover,a:focus { outline: none !important; text-decoration: none !important; }

#navigation .navbar {
	background: rgba(41, 18, 23, .97);
	background-image: none;
	border-bottom: 1px solid rgba(75, 24, 36, .1);
	border: 0;
	box-shadow: 0 8px 24px rgba(36, 27, 29, .12);
	padding: 4px 0;
}
#navigation .navbar-brand { align-items: center; display: flex; gap: 12px; padding-top: 6px; }
#navigation .brand-logo { height: 54px; width: auto; }
#navigation .brand-copy { display: block; }
#navigation .brand-title {
	color: var(--page-paper);
	display: block;
	font-family: 'Playfair Display', serif;
	font-size: 25px;
	font-weight: 600;
	line-height: .95;
}
#navigation .brand-subtitle {
	align-items: center;
	color: var(--page-gold);
	display: flex;
	font-size: 14px;
	font-weight: 700;
	gap: 9px;
	letter-spacing: .3em;
	line-height: 1.2;
	margin-top: 6px;
	text-align: center;
	text-transform: uppercase;
}
#navigation .brand-subtitle::before,
#navigation .brand-subtitle::after {
	background: rgba(197, 154, 87, .7);
	content: '';
	display: block;
	flex: 1;
	height: 1.8px;
}
#navigation .navbar-nav.navbar-right { margin-top: 18px; }
#navigation .navbar-nav.navbar-right li a {
	color: rgba(255, 253, 248, .8);
	font-size: 12px;
	font-weight: 600;
	letter-spacing:.01em;
	padding: 8px 16px;
	text-transform: none;
}
#navigation .navbar-nav.navbar-right li a:hover,
#navigation .navbar-nav.navbar-right li.active > a,
#navigation .navbar-nav.navbar-right li.active > a:focus { background: transparent; color: #fff; }
#navigation .navbar-nav .donate a {  border-radius: 2px; color: #fff; }
#navigation .dropdown-menu { border: 0; border-radius: 0; box-shadow: 0 12px 25px rgba(36, 27, 29, .16); padding: 8px; }
#navigation .dropdown-menu li a { color: var(--page-ink) !important; font-size: 12px; padding: 10px 13px; }
#navigation .dropdown-menu li a:hover { background: var(--page-ivory); color: var(--page-maroon) !important; }

#about-us, #events, #downloads, #our-team {
	background: var(--page-ivory);
	min-height: calc(100vh - 83px);
	padding: 145px 0 90px !important;
}
#about-us .title-one, #events .title-one, #downloads .title-one, #our-team .title-one {
	color: var(--page-maroon);
	font-family: 'Playfair Display', serif;
	font-size: clamp(38px, 5vw, 58px);
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.1;
	margin: 0 0 45px;
	padding: 0;
	text-transform: none;
}
#about-us .title-one::before, #about-us .title-one::after,
#events .title-one::before, #events .title-one::after,
#downloads .title-one::before, #downloads .title-one::after,
#our-team .title-one::before, #our-team .title-one::after { display: none; }
#about-us .col-sm-8.col-sm-offset-2 { background: var(--page-paper); border-left: 4px solid var(--page-saffron); box-shadow: 0 12px 35px rgba(75, 24, 36, .08); padding: 42px 48px; }
#about-us p { color: var(--page-muted); font-size: 17px; line-height: 1.9; margin: 0; }
.modern-journey {
	height: calc(150vw - 150px);
	overflow: hidden;
	position: relative;
}
.modern-journey__image { 
	background: url('../images/slider/ourjourney.png') center top/100% auto no-repeat;
	inset: 0;
	position: absolute;
}

#events { background: var(--page-paper); }
#events .title-one { margin-bottom: 35px; }
#events .panel-group { margin: 0 auto 58px; max-width: 980px; text-align: left; }
#events .panel { background: var(--page-paper); border: 1px solid var(--page-line); border-radius: 0; box-shadow: none; margin-bottom: 14px; }
#events .panel-heading { background: var(--page-ivory); border: 0; padding: 0; }
#events .panel-title a { color: var(--page-maroon); display: block; font-family: 'Playfair Display', serif; font-size: 25px; padding: 22px 26px; }
#events .panel-title a:hover, #events .panel-title a:focus { color: var(--page-saffron); text-decoration: none; }
#events .panel-body { border-top: 1px solid var(--page-line) !important; padding: 24px 26px; }
#events .table { margin: 0; }
#events .table > tbody > tr > td { border-color: var(--page-line); color: var(--page-muted); padding: 14px 10px; vertical-align: top; }
#events .table > tbody > tr > td:first-child { color: var(--page-maroon); font-weight: 700; width: 35%; }
#events > .container > div:last-child { background: var(--page-maroon); color: var(--page-paper); margin: 20px auto 0; max-width: 980px; padding: 32px; }
#events > .container > div:last-child h4 { color: var(--page-gold) !important; margin-top: 0; }
#events > .container > div:last-child h5 { color: rgba(255,253,248,.78) !important; }

.programs-page { background: var(--page-paper); }
.programs-page #schedule-app, .programs-page .schedule-app { padding: 0px 0 90px; }
.programs-hero { align-items: end; display: flex; gap: 40px; justify-content: space-between; margin: 0 auto 58px; max-width: 1170px; }
.programs-hero__copy { max-width: 650px; }
.programs-hero .eyebrow { color: var(--page-saffron); font-size: 11px; font-weight: 700; letter-spacing: .16em; margin: 0 0 18px; text-transform: uppercase; }
.programs-hero h1 { color: var(--page-ink); font-family: 'Playfair Display', serif; font-size: clamp(46px, 6vw, 78px); font-weight: 600; line-height: 1.02; margin: 0 0 20px; }
.programs-hero__intro { color: var(--page-muted); font-size: 17px; line-height: 1.7; margin: 0; max-width: 560px; }
.programs-hero__meta { border-left: 2px solid var(--page-saffron); color: var(--page-maroon); font-size: 13px; line-height: 1.7; margin-bottom: 4px; max-width: 220px; padding-left: 18px; }
.programs-hero__meta strong { display: block; font-family: 'Playfair Display', serif; font-size: 24px; font-weight: 600; line-height: 1.2; margin-bottom: 5px; }
.schedule-list { display: grid; gap: 18px; margin: 0 auto; max-width: 1170px; }
.schedule-day { background: var(--page-paper); border: 1px solid var(--page-line); display: grid; grid-template-columns: 190px minmax(0, 1fr); }
.schedule-day__date { background: var(--page-maroon); color: var(--page-paper); padding: 28px 24px; }
.schedule-day__number { color: var(--page-gold); display: block; font-family: 'Playfair Display', serif; font-size: 48px; line-height: .95; }
.schedule-day__month { display: block; font-size: 11px; font-weight: 700; letter-spacing: .14em; margin-top: 10px; text-transform: uppercase; }
.schedule-day__weekday { color: rgba(255,253,248,.68); font-size: 13px; margin-top: 25px; }
.schedule-day__content { padding: 25px 30px; }
.schedule-day__title { color: var(--page-maroon); font-family: 'Playfair Display', serif; font-size: 28px; font-weight: 600; margin: 0 0 16px; }
.schedule-activity { align-items: baseline; border-top: 1px solid var(--page-line); display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr) auto; padding: 14px 0; }
.schedule-activity:first-of-type { border-top: 0; padding-top: 0; }
.schedule-activity__name { color: var(--page-ink); font-size: 15px; }
.schedule-activity__time { color: var(--page-saffron); font-size: 13px; font-weight: 700; text-align: right; white-space: nowrap; }
.programs-venue { background: var(--page-maroon); color: var(--page-paper); margin: 58px auto 0; max-width: 1170px; padding: 30px 34px; }
.programs-venue .eyebrow { color: var(--page-gold); margin: 0 0 8px; }
.programs-venue p:last-child { color: rgba(255,253,248,.76); margin: 0; }

#downloads { background: var(--page-ivory); }
#downloads ul { background: var(--page-paper); box-shadow: 0 12px 35px rgba(75, 24, 36, .08); list-style: none; margin: 0 auto; max-width: 780px; padding: 10px 30px; text-align: left; }
#downloads li { border-bottom: 1px solid var(--page-line); padding: 20px 8px; }
#downloads li:last-child { border-bottom: 0; }
#downloads li a { color: var(--page-maroon); font-weight: 700; }
#downloads li a:hover { color: var(--page-saffron); }

#about-us:has(.donation-page),
.donation-page { background: var(--page-ivory); }
#about-us .donation-banner, .donation-banner { background: var(--page-saffron) !important; border: 0 !important; color: #fff; margin: 0 auto 35px !important; max-width: 980px; padding: 25px !important; }
#about-us .donation-banner h2, .donation-banner h2 { color: #fff; font-family: 'Playfair Display', serif; font-size: 38px; margin: 0; }
#about-us .table, .donation-page .table { background: var(--page-paper); border: 1px solid var(--page-line); margin: 0 auto 22px; max-width: 980px; }
#about-us .table > tbody > tr > td, .donation-page .table > tbody > tr > td { border-color: var(--page-line); color: var(--page-muted); padding: 15px 18px; vertical-align: middle; }
#about-us .table > tbody > tr > td:first-child, .donation-page .table > tbody > tr > td:first-child { color: var(--page-maroon); font-weight: 700; }

#our-team { background: var(--page-paper); }
#our-team .team-members { margin: 0 auto; max-width: 1100px; }
#our-team .row1, #our-team .row2 { align-items: stretch; display: flex; flex-wrap: wrap; gap: 18px; justify-content: center; margin: 0 0 18px; }
#our-team .single-member { background: var(--page-ivory) !important; border: 1px solid var(--page-line); color: var(--page-ink); flex: 1 1 210px; margin: 0 !important; min-height: 290px; padding: 24px 18px; transition: .25s ease; }
#our-team .single-member:hover { background: var(--page-maroon) !important; color: var(--page-paper); transform: translateY(-4px); }
#our-team .single-member img { border: 3px solid var(--page-paper); height: 150px; object-fit: cover; width: 150px; }
#our-team .single-member h4 { color: var(--page-maroon); font-family: 'Playfair Display', serif; font-size: 21px; margin: 18px 0 4px; }
#our-team .single-member h5 { color: var(--page-muted); font-size: 12px; letter-spacing: .07em; margin: 0; text-transform: uppercase; }
#our-team .single-member:hover h4, #our-team .single-member:hover h5 { color: var(--page-paper); }
#our-team .wrapper { background: var(--page-paper); margin: 0 auto; max-width: 980px; padding: 10px; }
#our-team .wrapper .panel { border: 1px solid var(--page-line); border-radius: 0; box-shadow: none; }
#our-team .wrapper .panel-heading { background: var(--page-ivory); padding: 18px 24px; }
#our-team .wrapper .panel-title { color: var(--page-maroon); font-family: 'Playfair Display', serif; font-size: 24px; }
#our-team .wrapper .panel-body { padding: 24px; }
#our-team .wrapper .table { margin: 0; }
#our-team .wrapper .table > tbody > tr > td { border-color: var(--page-line); color: var(--page-muted); padding: 13px 10px; }
#our-team .wrapper .table > tbody > tr > td:first-child { color: var(--page-maroon); font-weight: 700; }

.committee-page { max-width: 1170px; }
.committee-hero { align-items: end; display: flex; gap: 40px; justify-content: space-between; margin: 0 auto 58px; max-width: 980px; }
.committee-hero__copy { max-width: 680px; }
.committee-hero .eyebrow { color: var(--page-saffron); font-size: 11px; font-weight: 700; letter-spacing: .16em; margin: 0 0 18px; text-transform: uppercase; }
.committee-hero h1 { color: var(--page-ink); font-family: 'Playfair Display', serif; font-size: clamp(44px, 6vw, 74px); font-weight: 600; line-height: 1.02; margin: 0 0 20px; }
.committee-hero__copy > p:last-child { color: var(--page-muted); font-size: 17px; line-height: 1.7; margin: 0; max-width: 590px; }
.committee-hero__mark { color: var(--page-maroon); font-family: 'Playfair Display', serif; font-size: 66px; line-height: .8; text-align: right; }
.committee-hero__mark span { color: var(--page-saffron); display: block; font-family: 'DM Sans', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .16em; margin-top: 14px; text-transform: uppercase; }
.committee-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 auto; max-width: 1100px; }
.committee-card { background: var(--page-paper); border: 1px solid var(--page-line); min-width: 0; transition: background .25s ease, transform .25s ease; }
.committee-card:hover { background: var(--page-maroon); transform: translateY(-5px); }
.committee-card__viewer { background: var(--page-ivory); display: block; overflow: hidden; position: relative; }
.committee-card__viewer img { aspect-ratio: 1 / 1; display: block; object-fit: cover; transition: transform .35s ease; width: 100%; }
.committee-card:hover .committee-card__viewer img { transform: scale(1.04); }
.committee-card__zoom { align-items: center; background: var(--page-saffron); bottom: 12px; color: #fff; display: flex; font-size: 14px; height: 34px; justify-content: center; opacity: 0; position: absolute; right: 12px; transition: opacity .25s ease; width: 34px; }
.committee-card:hover .committee-card__zoom, .committee-card__viewer:focus .committee-card__zoom { opacity: 1; }
.committee-card__body { min-height: 112px; padding: 20px 20px 18px; }
.committee-card__role { color: var(--page-saffron); font-size: 10px; font-weight: 700; letter-spacing: .12em; margin: 0 0 8px; text-transform: uppercase; }
.committee-card h2 { color: var(--page-maroon); font-family: 'Playfair Display', serif; font-size: 21px; line-height: 1.15; margin: 0; }
.committee-card:hover h2 { color: var(--page-paper); }
.committee-card__contact { color: var(--page-muted); display: inline-block; font-size: 12px; margin-top: 12px; }
.committee-card__contact .fa { color: var(--page-saffron); margin-right: 7px; }
.committee-card:hover .committee-card__contact { color: rgba(255,253,248,.76); }

#footer { background: var(--page-deep); border: 0; color: rgba(255,253,248,.6); padding: 15px 0; }
#footer p { font-size: 12px; margin: 8px 0; }
#footer a { color: var(--page-gold); }
#footer .fa { color: var(--page-paper); font-size: 20px; margin: 0 8px; }

@media (max-width: 991px) {
	#navigation .navbar-nav.navbar-right li a { padding-left: 7px; padding-right: 7px; }
	#navigation .brand-logo { height: 44px; }
	#navigation .brand-title { font-size: 25px; }
	#navigation .brand-subtitle { font-size: 14px; letter-spacing: .3em; }
	.modern-hero h1 { font-size: 60px; max-width: 580px; }
	.modern-countdown { padding-left: 25px; }
	.modern-countdown__box { height: 75px; width: 75px; }
	.modern-countdown__box span { font-size: 25px; }
	.modern-section { padding: 80px 0; }
}

@media (max-width: 767px) {
	#navigation .navbar { padding: 9px 0; }
	#navigation .navbar-nav.navbar-right { margin: 0; }
	#navigation .navbar-brand { gap: 8px; }
	#navigation .brand-logo { height: 38px; }
	#navigation .brand-title { font-size: 25px; }
	#navigation .brand-subtitle { font-size: 14px; gap: 9px; margin-top: 4px; letter-spacing: 0.3em;  }
	#navigation .brand-subtitle::before, #navigation .brand-subtitle::after { height: 1.8px; }
	#navigation .navbar-nav.navbar-right li a { color: var(--page-ink); padding: 12px 20px; }
	#navigation .navbar-nav .donate a { margin: 5px 20px; }
	#about-us, #events, #downloads, #our-team { padding: 105px 15px 60px !important; }
	#about-us .col-sm-8.col-sm-offset-2 { padding: 28px 24px; }
	#about-us p { font-size: 16px; }
	.modern-journey {
	height: calc(200vw - 60px);
	overflow: hidden;
	position: relative;
}
	.modern-journey__image { 
	background: url('../images/slider/ourjourney-mobile.png') center top/100% auto no-repeat;
	inset: 0;
	position: absolute;
}
	#events .panel-title a { font-size: 21px; padding: 18px; }
	#events .panel-body { padding: 15px; }
	#events .table { font-size: 13px; }
	#events .table > tbody > tr > td:first-child { width: 40%; }
	.programs-page #schedule-app, .programs-page .schedule-app { padding: 0px 15px 60px; }
	.programs-hero { align-items: start; display: block; margin-bottom: 38px; }
	.programs-hero h1 { font-size: 48px; }
	.programs-hero__meta { margin-top: 28px; max-width: none; }
	.schedule-day { display: block; }
	.schedule-day__date { align-items: center; display: grid; gap: 12px; grid-template-columns: auto auto 1fr; padding: 18px 20px; }
	.schedule-day__number { font-size: 36px; }
	.schedule-day__month, .schedule-day__weekday { margin: 0; }
	.schedule-day__content { padding: 22px 20px; }
	.schedule-day__title { font-size: 24px; }
	.schedule-activity { gap: 12px; grid-template-columns: 1fr; }
	.schedule-activity__time { text-align: left; }
	.programs-venue { margin-top: 38px; padding: 24px 20px; }
	#our-team .row1, #our-team .row2 { display: grid; grid-template-columns: 1fr 1fr; }
	#our-team .single-member { min-height: 250px; padding: 18px 10px; }
	#our-team .single-member img { height: 105px; width: 105px; }
	#our-team .single-member h4 { font-size: 17px; }
	#our-team .single-member h5 { font-size: 10px; }
	#our-team .wrapper .panel-body { overflow-x: auto; padding: 12px; }
	#our-team .wrapper .table { min-width: 570px; }
	.committee-hero { align-items: start; display: block; margin-bottom: 38px; }
	.committee-hero h1 { font-size: 48px; }
	.committee-hero__mark { font-size: 48px; margin-top: 30px; text-align: left; }
	.committee-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.committee-card__body { min-height: 0; padding: 16px 14px; }
	.committee-card h2 { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
