html {
  scroll-behavior: smooth;
}

:root {
  --header-offset: 80px;
  --section-gap: 1.5rem;
}

body,
button,
input,
select,
textarea,
.btn,
.card,
.card-body,
.card-title,
.card-subtitle,
.card-text,
.blockquote-verse,
.toc-top-list,
.toc-sub,
.back-to-toc {
  font-family: var(--fs-font-base, "Josefin Sans", Arial, Helvetica, sans-serif) !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  scroll-margin-top: var(--header-offset);
  font-family: var(--fs-font-base, "Josefin Sans", Arial, Helvetica, sans-serif) !important;
}

html,
body {
  overflow-x: hidden;
}

body,
.main-content,
.main-content.container-fluid {
  background: var(--fs-page-surface, #FAF7F2) !important;
}

.main-content.container-fluid {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#toc {
  scroll-margin-top: var(--header-offset);
}

.card-text h3,
.card-text h4,
.card-subtitle {
  color: #6c757d;
  font-weight: 600;
}

.h-heading-with-back {
  display: flex;
  align-items: baseline;
  gap: .5rem;
  flex-wrap: wrap;
}

.back-to-toc {
  font-size: .9rem;
  opacity: .75;
  text-decoration: none;
}

.back-to-toc:hover {
  opacity: 1;
  text-decoration: underline;
}

.toc-top h5 {
  margin: 1rem 0 .5rem;
}

.toc-top-list,
.toc-sub {
  list-style: none;
  padding-inline-start: 0;
  margin: 0;
  columns: 1 !important;
}

.toc-top-list li,
.toc-sub li {
  margin: .25rem 0;
}

.toc-sub {
  margin: .15rem 0 .35rem 0;
  border-inline-start: 1px dashed rgba(0, 0, 0, .15);
}

.toc-sub-li {
  margin: .15rem 0 .35rem 0;
  padding-inline-start: 1rem;
  border-inline-start: 1px dashed rgba(0, 0, 0, .15);
}

.toc-top-list a,
.toc-sub a {
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none !important;
  color: var(--fs-link-color, var(--fs-soft-gold, #C99D4D)) !important;
  font-weight: 700;
  border-bottom: 1px solid rgba(216, 179, 106, .65);
}

.toc-top-list a:hover,
.toc-sub a:hover,
.toc-top-list a:focus,
.toc-sub a:focus {
  color: var(--fs-soft-gold-hover, #B98222) !important;
  border-bottom-color: var(--fs-soft-gold, #C99D4D);
}

.card-text .h4-row {
  display: flex;
  align-items: baseline;
  gap: .5rem;
  margin-inline-start: 1rem;
}

.card-text .h4-body {
  margin-inline-start: 1.5rem;
  padding-inline-start: 1rem;
  border-inline-start: 1px dashed rgba(0, 0, 0, .15);
}

.rounded-container img {
  border-radius: 12px;
}

.blockquote-verse p {
  margin: 0;
}

.verse-ref {
  margin-top: 0;
  margin-bottom: 1rem;
}

.verse-ref.small {
  font-size: .925rem;
  color: #6c757d;
}

[dir="rtl"] .card-text,
[dir="rtl"] .card-text p,
[dir="rtl"] .card-text li,
[dir="rtl"] .card-text blockquote,
[dir="rtl"] .card-text h3,
[dir="rtl"] .card-text h4 {
  text-align: start !important;
  unicode-bidi: plaintext;
}

[dir="rtl"] .card-text ul,
[dir="rtl"] .card-text ol {
  padding-inline-start: 1.5rem;
  padding-inline-end: 0;
}

[dir="rtl"] header .navbar,
[dir="rtl"] .navbar,
[dir="rtl"] header nav,
[dir="rtl"] .topbar {
  direction: ltr !important;
}

[dir="rtl"] .navbar .navbar-collapse {
  display: flex !important;
  justify-content: center !important;
}

[dir="rtl"] .navbar .navbar-nav {
  display: flex !important;
  flex-direction: row-reverse !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 auto !important;
  float: none !important;
}

[dir="rtl"] .dropdown-menu {
  right: 0 !important;
  left: auto !important;
  text-align: end !important;
}

.fs-article-panel.card,
.fs-article-panel {
  width: 100% !important;
  background: var(--fs-panel-surface, var(--fs-page-surface, #FAF7F2)) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin-bottom: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1180px);
  justify-content: center;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  box-sizing: border-box;
}

.fs-article-panel .card-body {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 !important;
  padding: 2rem 0;
  background: var(--fs-panel-surface, var(--fs-page-surface, #FAF7F2)) !important;
  box-sizing: border-box;
}

.fs-article-panel .card-body,
.fs-article-panel .card-body p,
.fs-article-panel .card-title,
.fs-article-panel .card-subtitle,
.fs-article-panel h2,
.fs-article-panel h3,
.fs-article-panel h4,
.fs-article-panel h5,
.fs-article-panel h6,
.fs-article-panel .blockquote-verse,
.fs-article-panel .verse-ref {
  color: var(--fs-article-text, var(--fs-deep-slate, #2B2F3A)) !important;
}

.fs-article-image-panel {
  background: var(--fs-page-surface, #FAF7F2) !important;
  padding: 2rem 0;
  margin-bottom: 0 !important;
}

.video-header.fs-standard-hero,
.image-header.fs-standard-hero {
  height: clamp(360px, 36vw, 470px) !important;
}

.header-transparent-overlay {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(0, 0, 0, .30) !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 1.5rem !important;
  box-sizing: border-box !important;
}

.fs-hero-overlay-inner {
  max-width: min(1180px, 96vw);
  margin: 0 auto;
  padding-top: clamp(2.4rem, 5vw, 5rem) !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.35rem;
}

.header-transparent-overlay h1 {
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  display: block !important;
  color: #ffffff !important;
  font-size: clamp(2.4rem, 4.4vw, 5.4rem) !important;
  line-height: 1.05 !important;
  letter-spacing: .05em !important;
  text-shadow: 0 3px 8px rgba(0, 0, 0, .45) !important;
  max-width: 1180px;
}

.fs-standard-hero.fs-journey-salvation,
.main-content .fs-standard-themed.fs-journey-salvation {
  --fs-journey-color: var(--fs-journey-salvation, #2F8A5F);
  --fs-journey-hover: var(--fs-journey-salvation-hover, #256F4C);
  --fs-journey-soft: var(--fs-journey-salvation-soft, rgba(47, 138, 95, .18));
  --fs-journey-border: var(--fs-journey-salvation-border, rgba(47, 138, 95, .50));
}

.fs-standard-hero.fs-journey-walk,
.main-content .fs-standard-themed.fs-journey-walk {
  --fs-journey-color: var(--fs-journey-walk, var(--fs-soft-gold, #C99D4D));
  --fs-journey-hover: var(--fs-journey-walk-hover, var(--fs-soft-gold-hover, #B98222));
  --fs-journey-soft: var(--fs-journey-walk-soft, rgba(201, 157, 77, .14));
  --fs-journey-border: var(--fs-journey-walk-border, rgba(201, 157, 77, .46));
}

.fs-standard-hero.fs-journey-endtimes,
.main-content .fs-standard-themed.fs-journey-endtimes {
  --fs-journey-color: var(--fs-journey-endtimes, #4A4FA8);
  --fs-journey-hover: var(--fs-journey-endtimes-hover, #373B82);
  --fs-journey-soft: var(--fs-journey-endtimes-soft, rgba(74, 79, 168, .17));
  --fs-journey-border: var(--fs-journey-endtimes-border, rgba(74, 79, 168, .48));
}

.fs-hero-cta,
.fs-hero-cta:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .85rem 1.75rem;
  border-radius: 999px;
  background: var(--fs-journey-color, var(--fs-soft-gold, #C99D4D)) !important;
  color: var(--fs-journey-button-text, #ffffff) !important;
  font-weight: 800;
  text-decoration: none !important;
  border: 2px solid var(--fs-journey-color, var(--fs-soft-gold, #C99D4D)) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .22);
  text-shadow: var(--fs-button-text-shadow, 0 1px 1px rgba(43, 47, 58, .22)) !important;
}

.fs-hero-cta:hover,
.fs-hero-cta:focus {
  background: var(--fs-journey-hover, var(--fs-soft-gold-hover, #B98222)) !important;
  border-color: var(--fs-journey-hover, var(--fs-soft-gold-hover, #B98222)) !important;
}

.fs-scroll-anchor {
  position: relative;
  top: calc(-1 * var(--header-offset));
  display: block;
  height: 0;
  visibility: hidden;
}

.main-content .fs-standard-themed.fs-ai-intro-band,
.main-content .fs-standard-themed.fs-ai-faq-band,
.main-content .fs-standard-themed.fs-ai-related-section,
.main-content .fs-standard-themed.fs-journey-nav-section {
  --fs-ai-heading-color: var(--fs-journey-color);
  --fs-ai-copy-color: var(--fs-journey-color);
  --fs-ai-field-bg: var(--fs-journey-color);
  --fs-ai-field-hover: var(--fs-journey-hover);
  --fs-ai-field-text: #ffffff;
  --fs-divider-color: var(--fs-journey-border);
}

.fs-orientation-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 2rem auto 0;
  max-width: 1040px;
}

.main-content .fs-standard-themed .fs-orientation-card {
  background: var(--fs-journey-soft) !important;
  border: 1px solid var(--fs-journey-border) !important;
  border-radius: 18px;
  padding: 1.25rem;
  text-align: left;
  color: var(--fs-deep-slate, #2B2F3A) !important;
}

.main-content .fs-standard-themed .fs-orientation-card h3 {
  color: var(--fs-journey-color) !important;
  margin-bottom: .55rem;
  font-size: 1.2rem;
  text-align: left !important;
}

.main-content .fs-standard-themed .fs-orientation-card p,
.main-content .fs-standard-themed .fs-orientation-card div {
  color: var(--fs-deep-slate, #2B2F3A) !important;
  line-height: 1.55;
  font-weight: 600;
}

.main-content .fs-standard-themed .fs-ai-card-tile,
.main-content .fs-standard-themed .fs-faq-item,
.main-content .fs-standard-themed .fs-faq-item summary,
.main-content .fs-standard-themed .fs-faq-answer,
.main-content .fs-standard-themed .fs-ai-related-list a {
  background: var(--fs-journey-color) !important;
  color: #ffffff !important;
}

.main-content .fs-standard-themed .fs-faq-item summary::after {
  color: #ffffff !important;
}

.main-content .fs-standard-themed .fs-faq-item:hover,
.main-content .fs-standard-themed .fs-faq-item:focus-within,
.main-content .fs-standard-themed .fs-ai-related-list a:hover,
.main-content .fs-standard-themed .fs-ai-related-list a:focus {
  background: var(--fs-journey-hover) !important;
  color: #ffffff !important;
}

.main-content .fs-standard-themed .fs-ai-intro-inner::after,
.main-content .fs-standard-themed .fs-ai-section-inner::before {
  background: var(--fs-journey-border) !important;
}

.main-content .fs-standard-themed .fs-ai-details-block {
  border-top-color: var(--fs-journey-border) !important;
}

@media (max-width: 991.98px) {
  .fs-orientation-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .video-header.fs-standard-hero,
  .image-header.fs-standard-hero {
    height: clamp(340px, 76vw, 430px) !important;
  }

  .fs-hero-overlay-inner {
    padding-top: clamp(2rem, 10vw, 3.5rem) !important;
  }

  .header-transparent-overlay h1 {
    font-size: clamp(2rem, 10vw, 3.2rem) !important;
  }

  .fs-hero-cta {
    width: min(100%, 320px);
    padding: .75rem 1.25rem;
  }
}