@font-face {
font-family: 'Lora';
src: url('/fonts/lora-700.woff2') format('woff2');
font-weight: 700;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Lora';
src: url('/fonts/lora-500.woff2') format('woff2');
font-weight: 500;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Noto Sans';
src: url('/fonts/noto-sans-700.woff2') format('woff2');
font-weight: 700;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Noto Sans';
src: url('/fonts/noto-sans-400.woff2') format('woff2');
font-weight: 400;
font-style: normal;
font-display: swap;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html,
body {
height: 100%;
}
body {
font-family: 'Noto Sans', sans-serif;
background-color: #2e3440;
color: #8fd6bb;
display: flex;
flex-direction: column;
}
header {
flex-shrink: 0;
min-height: 80px;
background-color: #2e3440;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
padding: 15px 10px;
color: #8fd6bb;
}
header h1 {
font-family: 'Lora', serif;
font-size: clamp(2rem, 4vw, 3rem);
font-weight: 700;
letter-spacing: .5px;
}
ol {
list-style-type: none;
}
p, li {
margin-bottom: 0.72rem;
}
.on {
flex: 1;
display: flex;
flex-direction: column;
}
.stage {
flex-shrink: 0;
min-height: 160px;
background:linear-gradient(45deg,#23465c,#20364b);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
padding: 45px 40px;
}
.purpose {
line-height: 1.6;
font-size: 1.1rem;
color: #66c2f2;
margin-bottom: 12px;
}
.prompt {
line-height: 1.4;
font-size: 1rem;
color: #cae6f1;
}
.choice {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
font-size: 1rem;
color: #8fd6bb;
margin-top: 10px;
font-weight: 500;
letter-spacing: .4px;
}
.cards {
flex: 1;
display: grid;
max-width: 1200px;
width: 100%;
margin-left: auto;
margin-right: auto;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
padding: 10px 24px 24px 24px;
min-height: 0;
background-color: #2e3440;
}
.card-link {
text-decoration: none;
}
.link {
display: inline-block;
text-decoration: underline;
}
.nowrap {
white-space: nowrap;
}
.card {
height: 100%;
display: flex;
align-items: center;
justify-content: center;
background-color: #1e2233;
border: 1px solid #88c0d0;
border-radius: 5px;
box-shadow: 0 10px 25px rgba(0,0,0,.4);
transition: box-shadow .3s ease, border-color .3s ease;
}
.card:hover {
box-shadow:
0 10px 20px rgba(0,0,0,.12),
0 0 15px rgba(143,214,193,.4),
0 0 15px rgba(143,214,193,.3);
}
.card h2 {
font-family: 'Lora', serif;
text-align: center;
font-size: clamp(1.5rem, 1vw, 2rem);
font-weight: 500;
color: #66c2f2;
}
.card:hover h2 {
color: #8fd6bb;
}
.door {
text-align: center;
flex-shrink: 0;
background:linear-gradient(45deg,#23465c,#20364b);
padding-bottom: 6px;
}
.sign {
line-height: 1.6;
font-size: 1rem;
color: #cae6f1;
margin-bottom: 0;
}
.knock {
text-decoration: none;
color: #66c2f2;
}
.knock:hover {
color: #8fd6bb;
}
.call {
line-height: 1.4;
font-size: 1.1rem;
color: #66c2f2;
}
.action {
line-height: 1.4;
font-size: 1rem;
color: #cae6f1;
}
.block {
background-color: #1e2233;
display: flex;
justify-content: center;
align-items: center;
}
.source {
background-color: #1e2233;
margin: 0 12px 24px 12px;
max-width: 72ch;
line-height: 1.6;
}
footer {
padding: 4px 4px;
justify-content: center;
align-items: center;
background: #20364b;
color: #cae6f1;
font-size: .8rem;
text-align: center;
a {
color: #cae6f1;
}
}
@media (max-width: 1000px) {
.on {display: block;}
.stage {min-height: auto;padding: 35px 40px;}
.cards {grid-template-columns: 1fr;gap: 16px;padding: 16px;}
.card {padding: 12px 0;}
}
@media (max-width: 768px) {
header {min-height: auto;}
.stage {padding: 35px 25px;}
.purpose {font-size: 1rem;}
.prompt {font-size: .9rem;}
.call {font-size: 1rem;}
.door p {margin-bottom: 0.3rem; margin-left: 0.72rem;}
}
}
