:root {
  /* Fonts */
  --font-family-sans:
    "DM Sans", "Roboto", system-ui, -apple-system, BlinkMacSystemFont,
    sans-serif;
  --font-family-serif: "Source Serif 4", serif;
  --font-family-display: "Playfair Display", serif;

  /* Colors */
  --primary-color: #5271ff;
  --secondary-color: #fff951;
  /* --text-color: #222;
  --background-color: #fff; */
}

html {
  scroll-behavior: smooth;
}

body {
  position: relative;
  font-family: var(--font-family-sans);
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

body > main {
  flex: 1 1 auto;
}

body > footer {
  flex-grow: 0;
  flex-shrink: 0;
}

section.content {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-family-sans);
}

/* :is(h1, h2) + p {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
} */

p {
  font-family: var(--font-family-serif);
}

p.first-letter::first-letter {
  initial-letter: 2;
  -webkit-initial-letter: 2;
  font-weight: bold;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.font-logo {
  font-family: var(--font-family-display);
  font-weight: 700;
  font-style: italic;
  letter-spacing: -1px;
}

.gr-primary {
  color: var(--primary-color);
}

.header-bg {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: scroll;
  min-height: 30vh;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}

/* .abc-icon {
  font-size: x-small;
  color: slategray;
  user-select: none;
} */

.table-wrapper {
  width: 100%;
  overflow-x: auto;
  white-space: nowrap;
}

td a {
  height: 100%;
}

.scripture {
  font-size: 1rem;
  font-weight: 400;
  color: #aaa;
  font-style: italic;
}

.verse-ref {
  font-weight: 700;
  color: darkblue;
}

.text-gold {
  color: #ffd700;
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(0, 123, 255, 0.7);
  }

  70% {
    box-shadow: 0 0 0 10px rgba(0, 123, 255, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(0, 123, 255, 0);
  }
}

.animate-pulse {
  animation: pulse 1.5s infinite;
}
