Files
kjvstudy.org/kjvstudy_org/static/style.css
T
kennethreitz a18d5ae3a4 Add Crimson Text font to commentary styles and templates
Applied Crimson Text serif font throughout commentary styles and
chapter template to replace previous font variables and ensure
consistent typography across all text elements including headers,
navigation, verse numbers, and body text.
2025-05-26 20:48:03 -04:00

1682 lines
34 KiB
CSS

:root {
--primary-color: #1f1f1f;
--primary-light: #333333;
--primary-dark: #000000;
--accent-color: #666666;
--background-color: #fefefe;
--surface-color: #ffffff;
--text-primary: #1a1a1a;
--text-secondary: #666666;
--text-muted: #999999;
--border-color: #e0e0e0;
--border-light: #f0f0f0;
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
--shadow-md: 0 2px 4px 0 rgb(0 0 0 / 0.1);
--shadow-lg: 0 4px 8px 0 rgb(0 0 0 / 0.1);
--radius-sm: 0.25rem;
--radius-md: 0.375rem;
--radius-lg: 0.5rem;
--font-serif: 'Crimson Text', 'Times New Roman', 'Times', serif;
--font-sans: 'Crimson Text', 'Times New Roman', 'Times', serif;
--font-display: 'Crimson Text', 'Times New Roman', 'Times', serif;
}
* {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
font-family: 'Crimson Text', 'Times New Roman', serif;
margin: 0;
padding: 0;
background-color: var(--background-color);
color: var(--text-primary);
line-height: 1.7;
font-size: 16px;
overflow-x: hidden;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}
* {
font-family: 'Crimson Text', 'Times New Roman', serif !important;
}
/* Global text selection styling */
::selection {
background: rgba(139, 92, 246, 0.4);
color: var(--text-primary);
}
::-moz-selection {
background: rgba(139, 92, 246, 0.4);
color: var(--text-primary);
}
/* Prevent unwanted text selection on UI elements */
.sidebar-nav,
.mobile-menu-button,
.chapter-link,
.nav-button,
.book-card,
.verse-number {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/* Allow text selection on content */
.verse-text,
.commentary-section,
.outline-item,
p,
li,
div {
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
}
/* Layout */
.layout {
min-height: 100vh;
display: flex;
}
.sidebar {
width: 220px;
background: var(--surface-color);
color: var(--text-primary);
overflow-y: auto;
padding: 1.5rem 0;
box-shadow: var(--shadow-md);
border-right: 1px solid var(--border-color);
position: fixed;
height: 100vh;
z-index: 30;
transition: transform 0.3s ease;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
will-change: transform;
left: 0;
top: 0;
}
.sidebar-header {
padding: 0 1rem 1.5rem;
border-bottom: 1px solid var(--border-light);
margin-bottom: 1rem;
}
.sidebar-title {
font-family: 'Crimson Text', 'Times New Roman', serif;
font-size: 1.2rem;
font-weight: normal;
margin: 0;
color: var(--text-primary);
display: flex;
align-items: center;
gap: 0.5rem;
}
.sidebar-subtitle {
font-size: 0.875rem;
color: var(--text-secondary);
margin: 0.25rem 0 0;
font-weight: normal;
}
.sidebar-nav {
padding: 0 0.75rem;
}
.sidebar-nav h3 {
font-family: 'Crimson Text', 'Times New Roman', serif;
font-size: 0.8rem;
font-weight: normal;
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--text-muted);
margin: 1.25rem 0.5rem 0.5rem;
}
.sidebar-nav a {
display: block;
color: var(--text-secondary);
padding: 0.4rem 0.75rem;
text-decoration: none;
margin-bottom: 0.1rem;
transition: color 0.2s ease;
font-size: 0.9rem;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.sidebar-nav a:hover {
color: var(--text-primary);
}
.sidebar-nav a.active {
color: var(--text-primary);
font-weight: normal;
}
.sidebar-nav a.coming-soon {
opacity: 0.6;
cursor: not-allowed;
position: relative;
}
.sidebar-nav a.coming-soon small {
display: block;
font-size: 0.75rem;
color: var(--text-muted);
margin-top: 0.25rem;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.sidebar-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.3);
z-index: 35;
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
}
.sidebar-overlay.open {
opacity: 1;
visibility: visible;
}
.main-content {
flex: 1;
margin-left: 220px;
min-height: 100vh;
position: relative;
z-index: 10;
background-color: var(--background-color);
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
will-change: opacity;
transition: opacity 0.3s ease;
width: calc(100% - 220px);
box-sizing: border-box;
}
.container {
max-width: 1000px;
margin: 0 auto;
padding: 3rem 2rem;
background-color: var(--background-color);
position: relative;
z-index: 1;
}
.narrow-container {
max-width: 800px;
margin: 0 auto;
padding: 3rem 2rem;
background-color: var(--background-color);
}
/* Typography */
.page-title {
font-family: 'Crimson Text', 'Times New Roman', serif;
font-size: 2rem;
font-weight: normal;
color: var(--text-primary);
text-align: center;
margin: 0 0 2rem;
line-height: 1.3;
}
.section-title {
font-family: 'Crimson Text', 'Times New Roman', serif;
font-size: 1.5rem;
font-weight: normal;
color: var(--text-primary);
margin: 0 0 1rem;
line-height: 1.3;
}
.chapter-title {
font-family: 'Crimson Text', 'Times New Roman', serif;
font-size: 1.75rem;
font-weight: normal;
color: var(--text-primary);
text-align: center;
margin: 0 0 1rem;
line-height: 1.3;
}
/* Cards and Components */
.card {
background: var(--surface-color);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-sm);
border: 1px solid var(--border-light);
overflow: hidden;
transition: all 0.3s ease;
}
.card:hover {
box-shadow: var(--shadow-md);
transform: translateY(-2px);
}
.card-body {
padding: 1.5rem;
}
/* Book Grid */
.book-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
gap: 1rem;
margin-top: 1rem;
}
.book-card {
background: var(--surface-color);
border-radius: var(--radius-md);
padding: 0.75rem;
text-decoration: none;
box-shadow: var(--shadow-sm);
transition:
transform 0.2s ease,
box-shadow 0.2s ease;
border: 1px solid var(--border-color);
color: var(--text-primary);
position: relative;
-webkit-tap-highlight-color: transparent;
}
.book-card:hover {
box-shadow: var(--shadow-sm);
border-color: var(--border-color);
}
/* Testament Divider */
.testament-divider {
border: none;
height: 3px;
background: linear-gradient(
90deg,
var(--torah-color) 0%,
var(--gospels-color) 100%
);
margin: 2rem 0;
opacity: 0.7;
border-radius: 1px;
box-shadow: var(--shadow-sm);
width: 100%;
}
.book-card::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(
90deg,
var(--primary-color),
var(--accent-color)
);
transform: scaleX(0);
transition: transform 0.3s ease;
}
.book-card:hover::before {
transform: scaleX(1);
}
.book-card:hover {
box-shadow: var(--shadow-md);
transform: translateY(-4px);
border-color: var(--primary-color);
}
.book-title {
font-family: 'Crimson Text', 'Times New Roman', serif;
font-size: 1.1rem;
font-weight: normal;
color: var(--text-primary);
margin: 0;
line-height: 1.3;
}
.book-meta {
margin: 0.25rem 0 0 0;
font-size: 0.75rem;
color: var(--text-muted);
font-style: normal;
text-transform: uppercase;
letter-spacing: 0.1em;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
/* Chapter Grid */
.chapter-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
gap: 0.5rem;
margin-top: 1rem;
max-width: 600px;
margin-left: auto;
margin-right: auto;
}
.chapter-link {
display: flex;
align-items: center;
justify-content: center;
padding: 0.75rem 0.5rem;
background: var(--surface-color);
color: var(--text-primary);
text-decoration: none;
font-weight: normal;
font-size: 1rem;
border: 1px solid var(--border-light);
transition: all 0.15s ease;
min-height: 44px;
}
.chapter-link:hover {
background: var(--border-light);
color: var(--text-primary);
}
/* Verses */
.verses-container {
max-width: 600px;
margin: 0 auto;
padding: 1rem;
background: var(--background-color);
}
.chapter-text {
font-family: 'Crimson Text', 'Times New Roman', serif;
font-size: 1.2rem;
line-height: 1.9;
color: var(--text-primary);
text-align: left;
margin: 1rem 0;
padding: 2rem 1rem;
background: var(--surface-color);
max-width: 600px;
margin-left: auto;
margin-right: auto;
font-weight: 400;
letter-spacing: 0.01em;
}
.chapter-text .verse {
display: inline;
position: relative;
margin: 0;
padding: 0.1rem 0.2rem;
background: transparent;
border: none;
border-radius: 3px;
transition: background-color 0.15s ease;
}
.chapter-text .verse:hover {
background: rgba(139, 92, 246, 0.08);
}
.verse {
margin-bottom: 0.5rem;
line-height: 1.8;
font-size: 1.125rem;
position: relative;
padding: 0.25rem 0;
background: transparent;
border: none;
}
.verse:hover {
background: rgba(255, 255, 255, 0.02);
}
.verse-number {
font-size: 0.75rem !important;
color: var(--text-muted) !important;
font-weight: normal !important;
font-family: 'Crimson Text', 'Times New Roman', serif !important;
vertical-align: super !important;
margin-right: 0.2rem !important;
position: static !important;
display: inline !important;
background: none !important;
border: none !important;
padding: 0 !important;
}
.verse-text {
color: var(--text-primary);
font-family: 'Crimson Text', 'Times New Roman', serif;
font-size: 1.2rem;
line-height: 1.9;
font-weight: 400;
letter-spacing: 0.01em;
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
}
.verse-text::selection {
background: rgba(139, 92, 246, 0.4);
color: var(--text-primary);
}
.verse-text::-moz-selection {
background: rgba(139, 92, 246, 0.4);
color: var(--text-primary);
}
/* Navigation */
.breadcrumb {
display: flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 1rem;
font-size: 0.85rem;
color: var(--text-muted);
text-transform: uppercase;
letter-spacing: 0.1em;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.breadcrumb a {
color: var(--text-secondary);
text-decoration: none;
font-size: 0.85rem;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.breadcrumb a:hover {
color: var(--text-primary);
}
.breadcrumb-separator {
color: var(--text-muted);
}
.navigation {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 2rem;
padding-top: 1rem;
border-top: 1px solid var(--border-light);
}
.nav-button {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.6rem 1rem;
background: var(--surface-color);
color: var(--text-primary);
text-decoration: none;
border: 1px solid var(--border-light);
font-weight: normal;
transition: all 0.15s ease;
font-size: 0.9rem;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.nav-button:hover {
background: var(--border-light);
color: var(--text-primary);
}
.nav-button-primary {
background: var(--text-primary);
color: var(--surface-color);
border-color: var(--text-primary);
}
.nav-button-primary:hover {
background: var(--text-secondary);
border-color: var(--text-secondary);
}
/* Search */
.search-container {
position: relative;
margin-bottom: 1rem;
}
.search-input {
width: 100%;
padding: 0.75rem 0.75rem 0.75rem 2.5rem;
font-size: 1rem;
border: 1px solid var(--border-light);
background: var(--surface-color);
color: var(--text-primary);
transition: border-color 0.15s ease;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.search-input::placeholder {
color: var(--text-muted);
font-style: italic;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.search-input:focus {
outline: none;
border-color: var(--border-color);
}
.search-icon {
position: absolute;
left: 0.75rem;
top: 50%;
transform: translateY(-50%);
color: var(--text-muted);
font-size: 0.9rem;
}
/* Mobile Responsiveness */
.mobile-menu-button {
display: none;
position: fixed;
top: 1rem;
left: 1rem;
z-index: 40;
background: var(--surface-color);
color: var(--text-primary);
border: 1px solid var(--border-color);
border-radius: var(--radius-md);
padding: 0.75rem;
cursor: pointer;
box-shadow: var(--shadow-sm);
touch-action: manipulation;
min-height: 48px;
min-width: 48px;
display: flex;
align-items: center;
justify-content: center;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
/* Tablet-specific styles */
@media (min-width: 769px) and (max-width: 1024px) {
body {
font-size: 17px;
}
.sidebar {
width: 280px;
transform: translateX(-280px);
-webkit-transform: translate3d(-280px, 0, 0);
position: fixed;
left: 0;
top: 0;
z-index: 50;
}
.sidebar.open {
transform: translateX(0);
-webkit-transform: translate3d(0, 0, 0);
box-shadow: 4px 0 10px rgba(0, 0, 0, 0.2);
}
.main-content {
margin-left: 0;
width: 100%;
position: relative;
z-index: 10;
background-color: var(--background-color);
padding-top: 4rem;
}
.mobile-menu-button {
display: block;
padding: 1rem;
min-height: 52px;
min-width: 52px;
}
.container,
.narrow-container {
padding: 2rem 1.5rem;
max-width: 95%;
}
.page-title {
font-size: 2.5rem;
}
.chapter-title {
font-size: 2.5rem;
}
.book-grid {
grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
gap: 1rem;
}
.chapter-grid {
grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
gap: 1rem;
}
.chapter-link {
min-height: 60px;
font-size: 1.2rem;
}
.sidebar-nav a {
padding: 0.75rem 1rem;
font-size: 1rem;
min-height: 52px;
}
/* Special iPad handling */
@supports (-webkit-touch-callout: none) {
.layout {
display: block;
}
.sidebar {
-webkit-transform: translate3d(-280px, 0, 0);
transform: translate3d(-280px, 0, 0);
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.sidebar.open {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.main-content {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
margin-left: 0 !important;
width: 100% !important;
}
}
}
/* Mobile styles */
@media (max-width: 768px) {
body {
font-size: 16px;
}
.sidebar {
transform: translateX(-320px);
width: 100%;
max-width: 320px;
-webkit-transform: translate3d(-320px, 0, 0);
}
.sidebar.open {
transform: translateX(0);
-webkit-transform: translate3d(0, 0, 0);
box-shadow: 4px 0 10px rgba(0, 0, 0, 0.2);
}
.main-content {
margin-left: 0;
padding-top: 4rem;
position: relative;
z-index: 10;
width: 100%;
}
.mobile-menu-button {
display: block;
padding: 1rem;
min-height: 48px;
min-width: 48px;
touch-action: manipulation;
}
.container,
.narrow-container {
padding: 1.5rem 1rem;
max-width: 100%;
}
.page-title {
font-size: 1.75rem;
margin-bottom: 1.5rem;
line-height: 1.3;
padding: 0 0.5rem;
}
.chapter-title {
font-size: 1.75rem;
margin-bottom: 1.5rem;
line-height: 1.3;
padding: 0 0.5rem;
}
.section-title {
font-size: 1.5rem;
margin-bottom: 1rem;
}
.book-grid {
grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
gap: 0.75rem;
padding: 0 0.25rem;
}
.book-card {
padding: 1rem 0.75rem;
min-height: 80px;
touch-action: manipulation;
}
.book-card:active {
transform: scale(0.98);
background: var(--border-light);
}
.book-title {
font-size: 1.1rem;
line-height: 1.2;
}
.book-meta {
font-size: 0.75rem;
margin-top: 0.5rem;
}
.chapter-grid {
grid-template-columns: repeat(auto-fill, minmax(70px, 1fr));
gap: 0.5rem;
padding: 0 0.25rem;
}
.chapter-link {
padding: 1rem 0.5rem;
font-size: 1rem;
min-height: 56px;
touch-action: manipulation;
}
.chapter-link:active {
transform: scale(0.95);
background: var(--primary-light);
color: white;
}
.verse {
font-size: 1rem;
padding: 0.25rem 0;
margin-bottom: 0.5rem;
line-height: 1.7;
}
.verse-number {
font-size: 0.75rem !important;
vertical-align: super !important;
display: inline !important;
}
.verse-text {
font-size: 1.1rem;
line-height: 1.8;
font-family: 'Crimson Text', 'Times New Roman', serif;
font-weight: 400;
letter-spacing: 0.01em;
}
.chapter-text {
font-size: 1.1rem;
line-height: 1.8;
padding: 1rem;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.navigation {
flex-direction: column;
gap: 1rem;
margin-top: 3rem;
}
.nav-button {
padding: 1rem 1.5rem;
font-size: 1rem;
min-height: 48px;
touch-action: manipulation;
text-align: center;
justify-content: center;
}
.nav-button:active {
transform: scale(0.98);
background: var(--primary-dark);
}
.sidebar-nav {
max-height: calc(100vh - 200px);
overflow-y: auto;
-webkit-overflow-scrolling: touch;
padding: 0 0.5rem;
}
.sidebar-nav a {
padding: 0.75rem 1rem;
font-size: 1rem;
min-height: 48px;
display: flex;
align-items: center;
touch-action: manipulation;
}
.sidebar-nav a:active {
background-color: rgba(255, 255, 255, 0.2);
transform: scale(0.98);
}
.breadcrumb {
font-size: 1rem;
margin-bottom: 1.5rem;
flex-wrap: wrap;
gap: 0.25rem 0.5rem;
}
.breadcrumb a {
font-size: 1rem;
}
.search-input {
font-size: 16px;
padding: 1rem;
}
/* Better spacing for mobile content */
.verses-container {
padding: 1rem 0.5rem;
margin: 0 auto;
}
.chapter-text {
font-size: 1rem;
line-height: 1.7;
padding: 1rem;
text-align: left;
margin: 1rem 0;
}
/* Improve touch targets for all interactive elements */
a,
button,
input,
select,
textarea {
touch-action: manipulation;
}
/* Prevent zoom on form inputs */
input[type="text"],
input[type="search"],
textarea {
font-size: 16px;
-webkit-appearance: none;
border-radius: var(--radius-md);
font-family: 'Crimson Text', 'Times New Roman', serif !important;
}
/* Improve readability on mobile */
p,
li {
font-size: 1rem;
line-height: 1.65;
}
h1,
h2,
h3,
h4,
h5,
h6 {
line-height: 1.3;
font-weight: 600;
}
}
/* Utilities */
.text-center {
text-align: center;
}
.text-muted {
color: var(--text-muted);
}
.mb-4 {
margin-bottom: 2rem;
}
.mt-4 {
margin-top: 2rem;
}
.hidden {
display: none;
}
/* Loading and States */
.loading {
display: flex;
align-items: center;
justify-content: center;
padding: 3rem;
color: var(--text-muted);
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.spinner {
width: 24px;
height: 24px;
border: 3px solid var(--border-color);
border-top: 3px solid var(--primary-color);
border-radius: 50%;
animation: spin 1s linear infinite;
margin-right: 0.75rem;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
/* Fix for background issues in all browsers */
body,
html,
.layout,
.main-content {
min-height: 100vh;
background-color: var(--background-color) !important;
position: relative;
}
/* Ensure background color extends to the end of the page */
.layout::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 100%;
background-color: var(--background-color) !important;
z-index: -1;
}
.commentary-container,
.commentary-section,
.commentary-content,
.container,
.narrow-container {
background-color: var(--background-color) !important;
position: relative;
z-index: 1;
font-size: 1.2rem;
}
/* Add additional background fixes */
.verse-card,
.verse-text,
.chapter-overview,
.commentary-header,
.commentary-meta {
position: relative;
z-index: 2;
background-color: var(--surface-color);
}
.commentary-section {
background-color: var(--surface-color);
}
.tab-content {
background-color: var(--surface-color);
}
/* Additional mobile optimizations */
@media (max-width: 480px) {
.page-title {
font-size: 1.5rem;
margin-bottom: 1rem;
}
.chapter-title {
font-size: 1.5rem;
margin-bottom: 1rem;
}
.container,
.narrow-container {
padding: 1rem 0.75rem;
}
.book-grid {
grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
gap: 0.5rem;
}
.book-card {
padding: 0.75rem 0.5rem;
min-height: 70px;
}
.book-title {
font-size: 1rem;
}
.chapter-grid {
grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
gap: 0.5rem;
}
.chapter-link {
padding: 0.75rem 0.25rem;
font-size: 0.9rem;
min-height: 48px;
}
.chapter-link:active {
background: var(--primary-color);
color: white;
}
@media (max-width: 480px) {
.page-title {
font-size: 1.5rem;
margin-bottom: 1rem;
}
.chapter-title {
font-size: 1.5rem;
margin-bottom: 1rem;
}
.container,
.narrow-container {
padding: 1rem 0.75rem;
}
.book-grid {
grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
gap: 0.5rem;
}
.book-card {
padding: 0.75rem 0.5rem;
min-height: 70px;
}
.book-title {
font-size: 1rem;
}
.chapter-grid {
grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
gap: 0.5rem;
}
.chapter-link {
padding: 0.75rem 0.25rem;
font-size: 0.9rem;
min-height: 48px;
}
.chapter-link:active {
background: var(--primary-color);
color: white;
}
.verse {
padding: 0.25rem 0;
font-size: 0.95rem;
}
.verse-number {
font-size: 0.7rem !important;
vertical-align: super !important;
display: inline !important;
}
.verse-text {
font-size: 1rem;
line-height: 1.7;
font-family: 'Crimson Text', 'Times New Roman', serif;
font-weight: 400;
letter-spacing: 0.01em;
}
.chapter-text {
font-size: 1rem;
line-height: 1.7;
padding: 0.75rem;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.sidebar-nav {
padding: 0 0.25rem;
}
.sidebar-nav a {
padding: 0.6rem 0.75rem;
font-size: 0.95rem;
min-height: 44px;
}
.nav-button {
padding: 0.875rem 1.25rem;
font-size: 0.95rem;
min-height: 44px;
}
.nav-button:active {
background: var(--primary-dark);
transform: scale(0.97);
}
}
/* Force dark theme always - no media query */
/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
* {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}
/* Commentary and Outline Styles */
.commentary-container {
background-color: var(--background-color);
min-height: 100vh;
margin-left: 220px;
width: calc(100% - 220px);
padding: 2rem;
box-sizing: border-box;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
/* Commentary-specific container overrides */
.commentary-container .container {
margin-left: 0 !important;
width: 100% !important;
max-width: none;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.commentary-breadcrumb {
margin-left: 220px;
width: calc(100% - 220px);
box-sizing: border-box;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.commentary-navigation {
margin-left: 220px;
width: calc(100% - 220px);
box-sizing: border-box;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.commentary-header {
text-align: center;
margin-bottom: 3rem;
padding: 2rem 1rem;
background: var(--surface-color);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-sm);
border: 1px solid var(--border-color);
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.commentary-header h1 {
font-family: 'Crimson Text', 'Times New Roman', serif;
font-size: 2.5rem;
color: var(--primary-color);
margin: 0 0 1rem;
}
.commentary-header p {
font-size: 1.2rem;
color: var(--text-secondary);
margin: 0 0 1.5rem;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.book-meta {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 1rem;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.book-meta-item {
background: var(--primary-color);
color: white;
padding: 0.5rem 1rem;
border-radius: var(--radius-md);
font-size: 0.9rem;
font-weight: 500;
border: 1px solid var(--primary-light);
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.commentary-section {
background: var(--surface-color);
margin-bottom: 2rem;
padding: 2rem;
border-radius: var(--radius-lg);
box-shadow: var(--shadow-sm);
border: 1px solid var(--border-color);
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.commentary-section h2 {
font-family: 'Crimson Text', 'Times New Roman', serif;
font-size: 1.8rem;
color: var(--primary-color);
margin: 0 0 1.5rem;
border-bottom: 2px solid var(--border-light);
padding-bottom: 0.5rem;
}
.outline-section {
margin-bottom: 2rem;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.outline-title {
font-family: 'Crimson Text', 'Times New Roman', serif;
font-size: 1.4rem;
color: var(--text-primary);
margin: 0 0 1rem;
padding: 0.75rem 1rem;
background: var(--border-light);
border-radius: var(--radius-md);
border: 1px solid var(--border-color);
}
.outline-list {
list-style: none;
padding: 0;
margin: 0;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.outline-item {
padding: 0.75rem 1rem;
margin-bottom: 0.5rem;
background: var(--background-color);
border-radius: var(--radius-sm);
border-left: 4px solid var(--accent-color);
line-height: 1.6;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.outline-nested {
list-style: none;
padding: 0;
margin: 1rem 0 0 1rem;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.outline-nested .outline-item {
border-left-color: var(--text-muted);
font-size: 0.95rem;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.verse-reference {
color: var(--primary-color);
text-decoration: none;
font-weight: 500;
position: relative;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.verse-reference:hover {
text-decoration: underline;
}
.verse-tooltip {
display: none;
position: absolute;
background: var(--text-primary);
color: white;
padding: 0.75rem 1rem;
border-radius: var(--radius-sm);
font-size: 0.9rem;
max-width: 400px;
min-width: 300px;
z-index: 100;
bottom: 100%;
left: 50%;
transform: translateX(-50%);
line-height: 1.5;
white-space: normal;
word-wrap: break-word;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.verse-reference:hover .verse-tooltip {
display: block;
}
.tags-container {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.tag {
background: var(--accent-color);
color: white;
padding: 0.25rem 0.75rem;
border-radius: var(--radius-md);
font-size: 0.85rem;
font-weight: 500;
border: 1px solid rgba(139, 92, 246, 0.3);
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.two-column {
display: grid;
grid-template-columns: 1fr 300px;
gap: 2rem;
align-items: start;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.main-content {
min-width: 0;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.toc-sidebar {
position: sticky;
top: 2rem;
background: var(--surface-color);
border-radius: var(--radius-lg);
padding: 1.5rem;
box-shadow: var(--shadow-sm);
border: 1px solid var(--border-color);
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.toc-title {
font-family: 'Crimson Text', 'Times New Roman', serif;
font-size: 1.2rem;
color: var(--primary-color);
margin: 0 0 1rem;
}
.toc-list {
list-style: none;
padding: 0;
margin: 0;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.toc-item {
margin-bottom: 0.5rem;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.toc-link {
display: block;
padding: 0.5rem 0.75rem;
color: var(--text-secondary);
text-decoration: none;
border-radius: var(--radius-sm);
transition: all 0.2s ease;
font-family: 'Crimson Text', 'Times New Roman', serif;
}
.toc-link:hover {
background: var(--border-light);
color: var(--primary-color);
transform: translateX(4px);
}
/* Mobile styles for commentary */
@media (max-width: 768px) {
.commentary-container {
margin-left: 0 !important;
width: 100% !important;
padding: 1rem;
}
.commentary-breadcrumb,
.commentary-navigation {
margin-left: 0 !important;
width: 100% !important;
}
.commentary-header {
padding: 1.5rem 1rem;
margin-bottom: 2rem;
}
.commentary-header h1 {
font-size: 2rem;
}
.commentary-header p {
font-size: 1rem;
}
.book-meta {
gap: 0.5rem;
}
.book-meta-item {
font-size: 0.8rem;
padding: 0.4rem 0.8rem;
}
.commentary-section {
padding: 1.5rem 1rem;
margin-bottom: 1.5rem;
}
.commentary-section h2 {
font-size: 1.5rem;
margin-bottom: 1rem;
}
.outline-title {
font-size: 1.2rem;
padding: 0.6rem 1rem;
}
.outline-item {
padding: 0.6rem 0.8rem;
margin-bottom: 0.4rem;
font-size: 0.95rem;
}
.outline-nested {
margin-left: 0.5rem;
}
.outline-nested .outline-item {
font-size: 0.9rem;
padding: 0.5rem 0.7rem;
}
.two-column {
grid-template-columns: 1fr;
gap: 1.5rem;
}
.toc-sidebar {
order: -1;
position: static;
padding: 1rem;
}
.toc-title {
font-size: 1.1rem;
}
.toc-link {
padding: 0.6rem 0.8rem;
font-size: 0.95rem;
}
.verse-tooltip {
position: fixed;
bottom: 2rem;
left: 1rem;
right: 1rem;
transform: none;
max-width: none;
min-width: auto;
padding: 1rem;
font-size: 1rem;
z-index: 1001;
}
}
/* Tablet responsive tooltips */
@media (min-width: 769px) and (max-width: 1024px) {
.commentary-container {
margin-left: 0 !important;
width: 100% !important;
padding: 1.5rem;
}
.commentary-breadcrumb,
.commentary-navigation {
margin-left: 0 !important;
width: 100% !important;
}
.verse-tooltip {
max-width: 380px;
min-width: 280px;
font-size: 0.875rem;
}
}
/* Large screen tooltips */
@media (min-width: 1200px) {
.verse-tooltip {
max-width: 500px;
min-width: 400px;
font-size: 0.95rem;
padding: 1rem 1.25rem;
}
.commentary-container {
margin-left: 240px;
width: calc(100% - 260px);
padding: 3rem;
max-width: 1400px;
}
.commentary-breadcrumb,
.commentary-navigation {
margin-left: 240px;
width: calc(100% - 260px);
max-width: 1400px;
}
}
@media (max-width: 480px) {
.commentary-header {
padding: 1rem 0.75rem;
}
.commentary-header h1 {
font-size: 1.75rem;
}
.commentary-section {
padding: 1rem 0.75rem;
}
.commentary-section h2 {
font-size: 1.3rem;
}
.outline-title {
font-size: 1.1rem;
padding: 0.5rem 0.75rem;
}
.outline-item {
padding: 0.5rem 0.6rem;
font-size: 0.9rem;
}
.outline-nested .outline-item {
font-size: 0.85rem;
padding: 0.4rem 0.6rem;
}
.book-meta-item {
font-size: 0.75rem;
padding: 0.3rem 0.6rem;
}
.tag {
font-size: 0.8rem;
padding: 0.2rem 0.6rem;
}
}
/* High contrast mode support */
@media (prefers-contrast: high) {
:root {
--border-color: #000;
--border-light: #333;
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.3);
--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.3);
}
* {
font-family: 'Crimson Text', 'Times New Roman', serif !important;
}
}
/* Apply Crimson Text to all remaining elements */
h1, h2, h3, h4, h5, h6,
p, li, span, div, a, button,
input, textarea, select,
label, table, th, td,
blockquote, pre, code {
font-family: 'Crimson Text', 'Times New Roman', serif !important;
}