/*========================================================

CHANGED

TABLE OF CONTENTS STYLESHEET

Author: Bradley Hobbs
Version: 2.0

PART 1

========================================================*/


/*========================================================

ROOT VARIABLES

========================================================*/

: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 35px 90px rgba(0,0,0,.16);

--radius:20px;

--transition:.35s ease;

--width:1200px;

--narrow:860px;

}


/*========================================================

RESET

========================================================*/

*,
*::before,
*::after{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

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

font-size:18px;

line-height:1.9;

background:var(--cream);

color:var(--charcoal);

overflow-x:hidden;

-webkit-font-smoothing:antialiased;

text-rendering:optimizeLegibility;

}


/*========================================================

BACKGROUND

========================================================*/

body::before{

content:"";

position:fixed;

inset:0;

background-image:

radial-gradient(

rgba(200,164,93,.05) 1px,

transparent 1px

);

background-size:42px 42px;

pointer-events:none;

z-index:-1;

}


/*========================================================

TYPOGRAPHY

========================================================*/

h1,
h2,
h3,
h4,
h5,
h6{

font-family:"Cinzel",serif;

font-weight:600;

line-height:1.18;

color:var(--navy);

margin-bottom:28px;

}

h1{

font-size:clamp(2.8rem,5vw,4.5rem);

}

h2{

font-size:clamp(2rem,4vw,3rem);

}

h3{

font-size:1.6rem;

}

p{

margin-bottom:28px;

}

strong{

font-weight:700;

}

em{

font-family:"Cormorant Garamond",serif;

font-style:italic;

}

blockquote{

font-family:"Cormorant Garamond",serif;

font-size:2.2rem;

font-style:italic;

line-height:1.6;

text-align:center;

color:var(--purple);

max-width:760px;

margin:60px auto;

}


/*========================================================

LINKS

========================================================*/

a{

text-decoration:none;

color:inherit;

transition:var(--transition);

}

a:hover{

color:var(--purple);

}


/*========================================================

IMAGES

========================================================*/

img{

display:block;

max-width:100%;

height:auto;

}

ul{

list-style:none;

}


/*========================================================

LAYOUT

========================================================*/

.container{

width:min(92%,var(--width));

margin-inline:auto;

}

.narrow{

max-width:var(--narrow);

margin-inline:auto;

}

section:not(.hero){

padding:100px 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:5000;

}


/*========================================================

NAVIGATION

========================================================*/

.navbar{

position:sticky;

top:0;

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

backdrop-filter:blur(18px);

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

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

z-index:3000;

}

.navbar .container{

display:flex;

justify-content:space-between;

align-items:center;

padding:20px 0;

}


/*========================================================

LOGO

========================================================*/

.logo{

font-family:"Cinzel",serif;

font-size:2rem;

font-weight:700;

letter-spacing:2px;

color:var(--navy);

transition:var(--transition);

}

.logo:hover{

color:var(--gold);

}


/*========================================================

NAVIGATION MENU

========================================================*/

.navigation{

display:flex;

align-items:center;

justify-content:flex-end;

gap:38px;

margin:0;

padding:0;

list-style:none;

}

.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:var(--transition);

}

.navigation a:hover::after,
.navigation a.active::after{

width:100%;

}

.navigation a.active{

color:var(--purple);

}


/*========================================================

MOBILE NAVIGATION

========================================================*/

.nav-toggle{

display:none;

background:none;

border:none;

cursor:pointer;

}

.nav-toggle span{

display:block;

width:30px;

height:3px;

margin:6px 0;

background:var(--navy);

border-radius:999px;

transition:var(--transition);

}


/*========================================================

HERO

========================================================*/

.hero{

margin:0;

padding:30px 0 50px;

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);

}

/*========================================================

CONTENTS HEADER

========================================================*/

.contents-header{

background:
linear-gradient(
180deg,
var(--ivory),
var(--cream)
);

text-align:center;

}

.chapter-label{

display:inline-block;

margin-bottom:18px;

font-size:.9rem;

font-weight:700;

letter-spacing:5px;

text-transform:uppercase;

color:var(--gold);

}

.contents-header h1{

max-width:820px;

margin-inline:auto;

margin-bottom:35px;

}

.contents-introduction{

max-width:760px;

margin-inline:auto;

font-size:1.15rem;

line-height:2;

color:var(--gray);

}

.chapter-divider{

width:180px;

height:2px;

margin:55px auto 0;

background:

linear-gradient(

90deg,

transparent,

var(--gold),

transparent

);

}


/*========================================================

CONTENTS LIST

========================================================*/

.contents-list{

background:var(--white);

}

.contents-list .container{

max-width:900px;

}

.contents-section{

margin:0 0 35px;

font-size:2rem;

text-align:center;

color:var(--navy);

}

.contents-section:not(:first-child){

margin-top:80px;

}

.contents-divider{

width:100%;

height:2px;

margin:60px auto;

background:

linear-gradient(

90deg,

transparent,

var(--gold),

transparent

);

}


/*========================================================

FRONT MATTER LINKS

========================================================*/

.contents-item{

display:flex;

justify-content:space-between;

align-items:center;

padding:24px 10px;

border-bottom:1px solid var(--border);

font-size:1.12rem;

font-weight:600;

transition:var(--transition);

}

.contents-item:hover{

padding-left:24px;

background:rgba(101,69,157,.04);

color:var(--purple);

}

.contents-item span:last-child{

font-size:1.35rem;

font-weight:700;

color:var(--gold);

}


/*========================================================

CHAPTER CARDS

========================================================*/

.chapter-entry{

display:flex;

justify-content:space-between;

align-items:center;

gap:40px;

padding:40px;

margin-bottom:30px;

background:var(--ivory);

border-radius:var(--radius);

border-left:6px solid transparent;

box-shadow:var(--shadow);

transition:var(--transition);

position:relative;

overflow:hidden;

}

.chapter-entry::before{

content:"";

position:absolute;

top:0;

left:0;

width:100%;

height:5px;

background:

linear-gradient(

90deg,

var(--purple),

var(--teal)

);

transform:scaleX(0);

transform-origin:left;

transition:var(--transition);

}

.chapter-entry:hover{

transform:translateY(-8px);

border-left-color:var(--gold);

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

}

.chapter-entry:hover::before{

transform:scaleX(1);

}

.chapter-entry div{

flex:1;

}

.chapter-number{

margin-bottom:12px;

font-size:.82rem;

font-weight:700;

letter-spacing:4px;

text-transform:uppercase;

color:var(--gold);

}

.chapter-entry h2{

margin:0;

font-size:2rem;

line-height:1.3;

color:var(--navy);

}

.chapter-entry span{

font-size:1rem;

font-weight:700;

white-space:nowrap;

margin-left:35px;

color:var(--purple);

transition:var(--transition);

}

.chapter-entry:hover span{

color:var(--teal);

transform:translateX(6px);

}

/*========================================================

JOURNEY CALLOUT

========================================================*/

.journey-callout{

background:
linear-gradient(
135deg,
var(--purple),
var(--teal)
);

text-align:center;

color:var(--white);

}

.journey-callout .chapter-label{

color:rgba(255,255,255,.85);

}

.journey-callout h2{

color:var(--white);

max-width:760px;

margin:0 auto 30px;

}

.journey-callout p{

max-width:760px;

margin:0 auto 30px;

font-size:1.08rem;

line-height:2;

color:rgba(255,255,255,.95);

}

.journey-callout blockquote{

margin:70px auto;

font-family:"Cormorant Garamond",serif;

font-size:2.5rem;

font-style:italic;

line-height:1.6;

color:var(--white);

}


/*========================================================

BUTTONS

========================================================*/

.button-group{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

margin-top:50px;

}

.button{

display:inline-flex;

align-items:center;

justify-content:center;

padding:18px 42px;

border-radius:999px;

font-weight:600;

cursor:pointer;

transition:var(--transition);

}

.button.primary{

background:var(--white);

color:var(--purple);

box-shadow:var(--shadow);

}

.button.primary:hover{

background:var(--gold);

color:var(--white);

transform:translateY(-5px);

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

}

.button.secondary{

background:transparent;

border:2px solid var(--white);

color:var(--white);

}

.button.secondary:hover{

background:var(--white);

color:var(--purple);

}


/*========================================================

CHAPTER NAVIGATION

========================================================*/

.chapter-navigation{

background:
linear-gradient(
180deg,
var(--ivory),
var(--cream)
);

padding:90px 0;

}

.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{

font-size:.9rem;

font-weight:700;

letter-spacing:2px;

text-transform:uppercase;

color:var(--gold);

margin-bottom:10px;

}

.chapter-link strong{

font-family:"Cinzel",serif;

font-size:1.15rem;

color:var(--navy);

}

.previous{

text-align:left;

}

.center-link{

text-align:center;

align-items:center;

}

.next{

text-align:right;

align-items:flex-end;

}


/*========================================================

FOOTER

========================================================*/

footer{

background:var(--navy);

padding:120px 0 70px;

text-align:center;

color:var(--white);

}

.footer-brand{

margin-bottom:55px;

}

.footer-brand h2{

color:var(--white);

margin-bottom:16px;

}

.footer-brand p{

margin:0;

font-size:1.08rem;

color:rgba(255,255,255,.78);

}

.footer-navigation{

display:flex;

justify-content:center;

align-items:center;

flex-wrap:wrap;

gap:18px 34px;

max-width:1000px;

margin:60px auto;

}

.footer-navigation a{

font-weight:600;

color:rgba(255,255,255,.9);

transition:var(--transition);

}

.footer-navigation a:hover{

color:var(--gold-light);

}

.footer-scripture{

max-width:760px;

margin:70px auto 60px;

padding-top:40px;

border-top:1px solid rgba(255,255,255,.12);

}

.footer-scripture blockquote{

margin:0 auto 25px;

font-size:1.8rem;

line-height:1.7;

color:rgba(255,255,255,.95);

}

.footer-scripture p{

margin:0;

font-size:.95rem;

font-weight:700;

letter-spacing:.15em;

text-transform:uppercase;

color:var(--gold-light);

}

.copyright{

margin-top:35px;

font-size:.92rem;

line-height:1.8;

color:rgba(255,255,255,.65);

}

/*========================================================

SCROLL TO TOP

========================================================*/

#scrollTop{

position:fixed;

right:28px;

bottom:28px;

width:56px;

height:56px;

border:none;

border-radius:50%;

background:

linear-gradient(

135deg,

var(--purple),

var(--teal)

);

color:var(--white);

font-size:1.2rem;

cursor:pointer;

box-shadow:var(--shadow);

transition:var(--transition);

opacity:0;

visibility:hidden;

z-index:999;

}

#scrollTop.show{

opacity:1;

visibility:visible;

}

#scrollTop:hover{

transform:translateY(-5px);

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

}


/*========================================================

FADE ANIMATIONS

========================================================*/

.fade-up{

opacity:0;

transform:translateY(40px);

transition:.8s ease;

}

.fade-up.visible{

opacity:1;

transform:none;

}


/*========================================================

TABLET

========================================================*/

@media (max-width:900px){

.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;

padding:45px;

gap:24px;

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

transition:var(--transition);

}

.navigation.active{

right:0;

}

.nav-toggle{

display:block;

}

.navigation a{

color:var(--navy)!important;

}

.contents-header{

padding:90px 0;

}

.contents-list{

padding:90px 0;

}

.chapter-entry{

flex-direction:column;

align-items:flex-start;

gap:25px;

padding:32px;

}

.chapter-entry span{

margin-left:0;

}

.button-group{

flex-direction:column;

}

.button{

width:100%;

}

.chapter-navigation .container{

grid-template-columns:1fr;

gap:25px;

}

.chapter-link{

width:100%;

padding:24px 28px;

min-height:100px;

}

.previous,
.center-link,
.next{

text-align:center;

align-items:center;

justify-content:center;

}

.footer-navigation{

gap:18px 24px;

}

}


/*========================================================

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:80px 0;

}

.logo{

font-size:1.6rem;

}

.contents-header h1{

font-size:2.35rem;

}

.contents-introduction{

font-size:1.05rem;

}

.contents-section{

font-size:1.75rem;

}

.contents-item{

padding:20px 5px;

font-size:1rem;

}

.chapter-entry{

padding:28px;

}

.chapter-entry h2{

font-size:1.6rem;

}

.chapter-number{

letter-spacing:2px;

}

.chapter-link{

width:100%;

padding:24px;

text-align:center;

align-items:center;

justify-content:center;

}

blockquote{

font-size:1.9rem;

}

.button{

width:100%;

}

.footer-navigation{

flex-direction:column;

gap:16px;

margin:45px auto;

}

.footer-scripture blockquote{

font-size:1.4rem;

}

.footer-scripture p{

font-size:.85rem;

}

}


/*========================================================

ACCESSIBILITY

========================================================*/

a:focus,
button:focus{

outline:3px solid var(--gold);

outline-offset:4px;

}

button{

font-family:inherit;

}


/*========================================================

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,

.button-group{

display:none;

}

body{

background:#ffffff;

color:#000000;

}

section{

padding:30px 0;

}

}


/*========================================================

UTILITY CLASSES

========================================================*/

.text-center{

text-align:center;

}

.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;

}


/*========================================================

END OF FILE

CHANGED

TABLE OF CONTENTS STYLESHEET

Author:
Bradley Hobbs

Version:
2.0

========================================================*/
