sadar / frontend /src /pages /presentation.css
Ruperth's picture
feat: polish mobile responsive layout across all dashboard screens
96bba34
Raw
History Blame Contribute Delete
3.89 kB
.presentation {
position: relative;
background: #05080d;
}
.presentation__track {
position: relative;
height: 880vh;
}
.stage {
position: sticky;
top: 0;
height: 100vh;
height: 100svh;
overflow: hidden;
background: #05080d;
}
.scene {
position: absolute;
inset: 0;
background-size: cover;
background-position: center;
display: flex;
align-items: flex-end;
justify-content: center;
}
.scene__veil {
position: absolute;
inset: 0;
background: linear-gradient(
180deg,
rgba(5, 8, 13, 0.55) 0%,
rgba(5, 8, 13, 0.12) 38%,
rgba(5, 8, 13, 0.86) 100%
);
}
.scene__text {
position: relative;
text-align: center;
padding: 0 24px 12vh;
max-width: 780px;
}
.scene__kicker {
text-transform: uppercase;
letter-spacing: 0.4em;
font-size: 11px;
color: #8fa6bd;
margin-bottom: 14px;
}
.scene__title {
font-size: clamp(30px, 5vw, 58px);
font-weight: 500;
letter-spacing: 0.04em;
margin: 0;
color: #eaf2fb;
text-shadow: 0 2px 30px rgba(0, 0, 0, 0.6);
}
.scene__sub {
margin: 14px auto 0;
color: #c9d6e5;
max-width: 540px;
font-size: 14px;
text-shadow: 0 1px 16px rgba(0, 0, 0, 0.7);
}
.scene__shade {
position: absolute;
left: 0;
right: 0;
top: -8%;
height: 108%;
background:
linear-gradient(
180deg,
rgba(8, 10, 14, 0.98) 0%,
rgba(18, 23, 30, 0.97) 70%,
rgba(28, 34, 44, 0.92) 88%,
rgba(44, 51, 61, 0.5) 96%,
rgba(44, 51, 61, 0) 100%
);
filter: blur(1.5px);
pointer-events: none;
}
.scene__shade::after {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: -6%;
height: 14%;
background: radial-gradient(
ellipse at 50% 0%,
rgba(28, 34, 44, 0.75) 0%,
rgba(28, 34, 44, 0.3) 40%,
rgba(28, 34, 44, 0) 75%
);
filter: blur(6px);
pointer-events: none;
}
.explain {
position: absolute;
inset: 0;
display: grid;
place-items: center;
}
.explain__header {
position: absolute;
top: 12vh;
left: 0;
right: 0;
text-align: center;
text-transform: uppercase;
letter-spacing: 0.4em;
font-size: 12px;
color: var(--info);
}
.explain__panel {
position: absolute;
width: min(560px, 86vw);
border: 1px solid var(--panel-edge);
background: rgba(8, 13, 20, 0.82);
backdrop-filter: blur(2px);
padding: 28px 30px;
text-align: left;
}
.explain__panel h3 {
margin: 0 0 8px;
font-size: 18px;
letter-spacing: 0.06em;
color: var(--info);
}
.explain__panel p {
margin: 0;
color: var(--text);
font-size: 14px;
}
.ack {
position: absolute;
inset: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 10px;
text-align: center;
}
.ack__title {
font-size: clamp(26px, 4vw, 44px);
letter-spacing: 0.12em;
color: #eaf2fb;
}
.presentation__skip {
position: fixed;
top: 18px;
right: 18px;
z-index: 20;
}
.presentation__progress {
position: fixed;
left: 0;
top: 0;
height: 2px;
background: var(--info);
transform-origin: 0 50%;
z-index: 20;
}
@media (max-width: 900px) {
.presentation__track {
height: 700vh;
height: 700svh;
}
.scene {
align-items: center;
}
.scene__text {
padding: 0 18px 14vh;
max-width: 100%;
}
.scene__kicker {
letter-spacing: 0.28em;
font-size: 10px;
}
.scene__title {
letter-spacing: 0.02em;
}
.scene__sub {
font-size: 13px;
max-width: 92vw;
padding-bottom: 8px;
}
.explain__header {
top: 8vh;
letter-spacing: 0.28em;
font-size: 11px;
padding: 0 12px;
}
.explain__panel {
width: min(92vw, 520px);
padding: 18px 18px;
}
.explain__panel h3 {
font-size: 16px;
}
.explain__panel p {
font-size: 13px;
}
.presentation__skip {
top: 12px;
right: 12px;
background: rgba(5, 8, 13, 0.6);
padding: 6px 8px;
border-radius: 2px;
}
}