/*========================================================
CHANGED
CHAPTER ONE STYLESHEET

Author: Bradley Hobbs
Version: 1.1
========================================================*/

:root{
--navy:#1d2947;
--navy-light:#30406b;
--purple:#65459d;
--purple-light:#8366ba;
--teal:#2c9eb8;
--teal-light:#76d2df;
--gold:#c8a45d;
--gold-light:#e5cb91;
--cream:#f8f3ea;
--ivory:#fffdf9;
--charcoal:#303030;
--gray:#666666;
--white:#ffffff;
--border:#ece6db;
--shadow:0 20px 50px rgba(0,0,0,.10);
--shadow-large:0 30px 80px rgba(0,0,0,.15);
--radius:18px;
--transition:.35s ease;
--width:1200px;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:"Inter",sans-serif;
background:var(--cream);
color:var(--charcoal);
font-size:18px;
line-height:1.9;
overflow-x:hidden;
-webkit-font-smoothing:antialiased;
}

body::before{
content:"";
position:fixed;
inset:0;
background-image:radial-gradient(
rgba(200,164,93,.05) 1px,
transparent 1px
);
background-size:40px 40px;
pointer-events:none;
z-index:-1;
}

h1,h2,h3,h4,h5,h6{
font-family:"Cinzel",serif;
font-weight:600;
line-height:1.2;
color:var(--navy);
margin-bottom:28px;
}

h1{font-size:clamp(3rem,6vw,4.8rem);}
h2{font-size:clamp(2rem,4vw,3rem);}
h3{font-size:1.6rem;}

p{margin-bottom:28px;}

a{
text-decoration:none;
color:inherit;
transition:var(--transition);
}

a:hover{color:var(--purple);}

img{
display:block;
max-width:100%;
height:auto;
}

ul{list-style:none;}

blockquote{
font-family:"Cormorant Garamond",serif;
font-size:2.2rem;
font-style:italic;
line-height:1.6;
text-align:center;
color:var(--purple);
margin:60px auto;
max-width:760px;
}

.container{
width:min(92%,var(--width));
margin:auto;
}

.narrow{
max-width:860px;
margin:auto;
}

section:not(.hero){
padding:110px 0;
position:relative;
}

/*========================================================
PROGRESS BAR
========================================================*/

#progress-bar{
position:fixed;
top:0;
left:0;
width:0;
height:4px;
background:linear-gradient(90deg,var(--purple),var(--teal));
z-index:3000;
}

/*========================================================
MASTER TOP NAVIGATION
MATCHES LANDING.CSS
========================================================*/

.navbar{

position:sticky;

top:0;

width:100%;

background:rgba(248,243,234,.97);

backdrop-filter:blur(16px);

-webkit-backdrop-filter:blur(16px);

box-shadow:0 8px 30px rgba(0,0,0,.08);

z-index:2000;

}

.navbar.scrolled{

background:rgba(255,253,249,.97);

}

.navbar .container{

width:min(92%,1200px);

margin:0 auto;

display:flex;

justify-content:space-between;

align-items:center;

padding:20px 0;

}

.logo{

font-family:"Cinzel",serif;

font-size:2rem;

font-weight:700;

letter-spacing:2px;

color:var(--navy);

white-space:nowrap;

}

.logo:hover{

color:var(--gold);

}

.navigation{

display:flex;

align-items:center;

justify-content:flex-end;

gap:38px;

margin:0;

padding:0;

list-style:none;

}

.navigation li{

display:flex;

align-items:center;

margin:0;

padding:0;

}

.navigation a{

display:inline-block;

position:relative;

font-family:"Inter",sans-serif;

font-size:1rem;

font-weight:600;

line-height:1.4;

color:var(--navy);

padding:6px 0;

white-space:nowrap;

}

.navigation a::after{

content:"";

position:absolute;

left:0;

bottom:0;

width:0;

height:2px;

background:var(--gold);

transition:.35s ease;

}

.navigation a:hover{

color:var(--navy);

}

.navigation a:hover::after,

.navigation a.active::after{

width:100%;

}

.navigation a.active{

color:var(--purple);

}

.nav-toggle{

display:none;

background:none;

border:none;

cursor:pointer;

padding:10px;

margin:0;

}

.nav-toggle span{

display:block;

width:30px;

height:3px;

margin:6px 0;

background:var(--navy);

border-radius:100px;

}


/*========================================================
HERO
========================================================*/

.hero{
padding:30px 0 50px;
margin:0;
line-height:0;
background:var(--ivory);
}

.hero-banner{
display:block;
width:min(90%,1100px);
max-width:1100px;
height:auto;
margin:0 auto;
border-radius:var(--radius);
box-shadow:0 20px 60px rgba(0,0,0,.12);
}

/*========================================================
CHAPTER HEADER
========================================================*/

.chapter-header{
text-align:center;
background:linear-gradient(180deg,var(--ivory),var(--cream));
}

.chapter-label{
display:inline-block;
margin-bottom:18px;
font-size:.9rem;
font-weight:700;
letter-spacing:4px;
text-transform:uppercase;
color:var(--gold);
}

.chapter-subtitle{
max-width:760px;
margin:0 auto;
font-size:1.15rem;
color:var(--gray);
}

.chapter-divider{
width:140px;
height:2px;
margin:45px auto 0;
background:linear-gradient(
90deg,
transparent,
var(--gold),
transparent
);
}

/*========================================================
CHAPTER CONTENT
========================================================*/

.chapter-content{
background:var(--white);
}

.chapter-content p{
max-width:760px;
margin:0 auto 30px;
}

.text-center{text-align:center;}

.drop-cap::first-letter{
float:left;
font-family:"Cinzel",serif;
font-size:5rem;
font-weight:700;
line-height:.8;
padding-right:14px;
color:var(--gold);
}

.reflection-heading{
text-align:center;
margin:70px auto 35px;
color:var(--navy);
transition:var(--transition);
}

.reflection-heading::after{
content:"";
display:block;
width:80px;
height:2px;
margin:18px auto 0;
background:var(--gold);
}

.reflection-heading.gold{
color:var(--gold);
}

.reflection-text{
max-width:760px;
margin:0 auto 30px;
}

/*========================================================
CHAPTER CALLOUT
========================================================*/

.chapter-callout{
margin:80px auto;
padding:70px;
max-width:860px;
border-radius:var(--radius);
background:linear-gradient(135deg,var(--purple),var(--teal));
color:var(--white);
text-align:center;
box-shadow:var(--shadow-large);
}

.callout-label{
display:inline-block;
margin-bottom:18px;
font-size:.9rem;
font-weight:700;
letter-spacing:4px;
text-transform:uppercase;
color:rgba(255,255,255,.82);
}

.chapter-callout h2{
color:var(--white);
margin-bottom:30px;
}

.chapter-callout p{
max-width:700px;
margin:0 auto 22px;
color:rgba(255,255,255,.96);
}

.chapter-callout p:last-child{
margin-bottom:0;
}

/*========================================================
SCRIPTURE CALLOUT
========================================================*/

.scripture-callout{
margin:80px auto;
padding:70px;
max-width:860px;
border-radius:var(--radius);
background:var(--ivory);
border:1px solid var(--border);
box-shadow:var(--shadow);
text-align:center;
}

.scripture-label{
display:inline-block;
margin-bottom:18px;
font-size:.9rem;
font-weight:700;
letter-spacing:4px;
text-transform:uppercase;
color:var(--gold);
}

.scripture{
font-family:"Cormorant Garamond",serif;
font-size:2.2rem;
font-style:italic;
line-height:1.7;
color:var(--purple);
margin-bottom:25px;
max-width:760px;
}

.scripture-reference{
font-weight:700;
letter-spacing:3px;
text-transform:uppercase;
color:var(--gold);
}

/*========================================================
BOTTOM CHAPTER NAVIGATION
MASTER STYLE
========================================================*/

.chapter-navigation{

padding:90px 0;

background:

linear-gradient(

180deg,

var(--ivory),

var(--cream)

);

}

.chapter-navigation .container{

width:min(92%,1200px);

margin:0 auto;

display:grid;

grid-template-columns:minmax(0,1fr) 255px minmax(0,1fr);

gap:35px;

align-items:center;

}

.chapter-link{

display:flex;

flex-direction:column;

justify-content:center;

min-height:130px;

padding:28px 34px;

background:var(--white);

border-radius:var(--radius);

box-shadow:var(--shadow);

transition:var(--transition);

}

.chapter-link:hover{

transform:translateY(-8px);

box-shadow:var(--shadow-large);

}

.chapter-link span{

display:block;

margin-bottom:10px;

font-family:"Inter",sans-serif;

font-size:.9rem;

font-weight:700;

letter-spacing:2px;

line-height:1.4;

text-transform:uppercase;

color:var(--gold);

}

.chapter-link strong{

display:block;

font-family:"Cinzel",serif;

font-size:1.15rem;

font-weight:600;

line-height:1.4;

color:var(--navy);

}

.chapter-link.previous{

text-align:left;

align-items:flex-start;

}

.chapter-link.center-link{

text-align:center;

align-items:center;

}

.chapter-link.next{

text-align:right;

align-items:flex-end;

}


/*========================================================
FOOTER
========================================================*/

footer{
background:var(--navy);
padding:100px 0 60px;
color:var(--white);
text-align:center;
}

.footer-brand h2{
color:var(--white);
margin-bottom:15px;
}

.footer-brand p{
margin-bottom:45px;
color:rgba(255,255,255,.75);
}

.footer-navigation{
display:flex;
justify-content:center;
align-items:center;
flex-wrap:wrap;
gap:35px;
margin-bottom:50px;
}

.footer-navigation a{
font-weight:600;
color:rgba(255,255,255,.92);
}

.footer-navigation a:hover{
color:var(--gold-light);
}

.footer-scripture{
max-width:760px;
margin:0 auto 45px;
}

.footer-scripture blockquote{
font-family:"Cormorant Garamond",serif;
font-size:1.45rem;
font-style:italic;
line-height:1.8;
margin:0 auto 15px;
color:var(--white);
max-width:760px;
}

.footer-scripture p{
margin-bottom:0;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;
color:var(--gold-light);
}

.copyright{
margin-top:40px;
font-size:.95rem;
opacity:.75;
}

/*========================================================
SCROLL TO TOP
========================================================*/

#scrollTop{
position:fixed;
right:30px;
bottom:30px;
width:58px;
height:58px;
border:none;
border-radius:50%;
background:linear-gradient(135deg,var(--purple),var(--teal));
color:var(--white);
font-size:1.3rem;
cursor:pointer;
box-shadow:var(--shadow);
opacity:0;
visibility:hidden;
transition:var(--transition);
z-index:1000;
}

#scrollTop.show{
opacity:1;
visibility:visible;
}

#scrollTop:hover{
transform:translateY(-6px);
box-shadow:var(--shadow-large);
}

/*========================================================
FADE ANIMATION
========================================================*/

.fade-up{
opacity:0;
transform:translateY(45px);
transition:.8s ease;
}

.fade-up.visible{
opacity:1;
transform:translateY(0);
}

/*========================================================
TABLET
========================================================*/

@media (max-width:900px){

section:not(.hero){
padding:90px 0;
}

.navbar .container{

padding:20px 0;

}

.navigation{

position:fixed;

top:82px;

right:-100%;

width:320px;

height:calc(100vh - 82px);

background:var(--ivory);

display:flex;

flex-direction:column;

align-items:flex-start;

justify-content:flex-start;

padding:45px;

gap:25px;

box-shadow:-12px 0 40px rgba(0,0,0,.12);

transition:.35s ease;

overflow-y:auto;

}

.navigation.active{

right:0;

}

.navigation li{

width:100%;

}

.navigation a{

width:100%;

color:var(--navy)!important;

padding:5px 0;

}

.nav-toggle{

display:block;

}

.chapter-navigation .container{
grid-template-columns:1fr;
gap:25px;
}

.chapter-link.previous,
.chapter-link.center-link,
.chapter-link.next{
text-align:center;
align-items:center;
}

.chapter-callout,
.scripture-callout{
padding:50px 35px;
}

blockquote{
font-size:1.9rem;
}

}

/*========================================================
MOBILE
========================================================*/

@media (max-width:640px){

.hero{
padding:20px 0 35px;
}

.hero-banner{
width:94%;
border-radius:12px;
}

body{
font-size:17px;
line-height:1.8;
}

.container{
width:92%;
}

section:not(.hero){
padding:75px 0;
}

.logo{
font-size:1.6rem;
}

.navbar .container{

width:92%;

padding:16px 0;

}

.navigation{

top:74px;

height:calc(100vh - 74px);

width:300px;

padding:35px 30px;

gap:22px;

}

h1{
font-size:2.5rem;
}

h2{
font-size:2rem;
}

.chapter-subtitle{
font-size:1.05rem;
}

blockquote{
font-size:1.7rem;
padding:0;
}

.drop-cap::first-letter{
font-size:4rem;
padding-right:10px;
}

.chapter-callout,
.scripture-callout{
padding:40px 25px;
}

.scripture{
font-size:1.75rem;
}

.chapter-link{

min-height:105px;

padding:24px;

text-align:center;

align-items:center;

}

.chapter-link span{

font-size:.85rem;

}

.chapter-link strong{

font-size:1.05rem;

}

.footer-navigation{
flex-direction:column;
gap:18px;
}

.footer-scripture blockquote{
font-size:1.2rem;
}

}

/*========================================================
ACCESSIBILITY
========================================================*/

a:focus,
button:focus{
outline:3px solid var(--gold);
outline-offset:4px;
}

button{
font-family:inherit;
}

/*========================================================
UTILITY
========================================================*/

.hidden{display:none;}

.mt-1{margin-top:20px;}
.mt-2{margin-top:40px;}
.mt-3{margin-top:60px;}

.mb-1{margin-bottom:20px;}
.mb-2{margin-bottom:40px;}
.mb-3{margin-bottom:60px;}

/*========================================================
REDUCED MOTION
========================================================*/

@media (prefers-reduced-motion:reduce){

*{
animation:none!important;
transition:none!important;
scroll-behavior:auto!important;
}

}

/*========================================================
PRINT
========================================================*/

@media print{

.navbar,
#progress-bar,
#scrollTop,
.chapter-navigation,
footer{
display:none;
}

body{
background:#ffffff;
color:#000000;
}

section{
padding:30px 0;
}

}
