projectb/css/main.css
2023-06-08 00:03:05 +05:30

272 lines
4.0 KiB
CSS

@charset "UTF-8";
* {
padding: 0;
margin: 0;
box-sizing: border-box;
font-family: "Roboto", sans-serif;
}
:root {
font-size: clamp(1rem, 1.2vmax, 1.2rem);
}
html,
body {
height: 100%;
overflow: hidden;
}
body {
--accent-color: #3d5afe;
--secondary-color: #ffac2e;
--text-color: 20, 20, 20;
--foreground-color: 252, 253, 255;
--background-color: 241, 243, 248;
--danger-color: rgb(255, 75, 75);
--green: #1cad59;
--yellow: rgb(220, 165, 0);
--inline-padding: max(1rem, 6vw);
}
body[data-theme=dark] {
--accent-color: #6d83ff;
--secondary-color: #d60739;
--text-color: 220, 220, 220;
--foreground-color: 27, 28, 29;
--background-color: 21, 22, 22;
--danger-color: rgb(255, 106, 106);
--green: #00e676;
--yellow: rgb(255, 213, 5);
}
p,
strong {
font-size: 0.9rem;
max-width: 65ch;
line-height: 1.7;
color: rgba(var(--text-color), 0.9);
}
img {
width: 100%;
height: 100%;
-o-object-fit: cover;
object-fit: cover;
}
h1 {
font-size: max(1.8rem, 4vw);
}
h2 {
font-size: max(1.5rem, 3vw);
}
h3 {
font-size: max(1.2rem, 2vw);
}
h4 {
font-size: max(1rem, 1.3vw);
}
img {
-o-object-fit: contain;
object-fit: contain;
}
.icon {
width: 1.2rem;
height: 1.2rem;
fill: rgba(var(--text-color), 0.9);
}
.flex {
display: flex;
}
.align-items-center {
align-items: center;
}
.justify-content-center {
justify-content: center;
}
.flex-column {
flex-direction: column;
}
.flex-1 {
flex: 1;
}
.grid {
display: grid;
}
.gap-0-3 {
gap: 0.3rem;
}
.gap-0-5 {
gap: 0.5rem;
}
.gap-1 {
gap: 1rem;
}
.gap-1-5 {
gap: 1.5rem;
}
.gap-2 {
gap: 2rem;
}
.gap-3 {
gap: 3rem;
}
.gap-4 {
gap: 4rem;
}
article {
height: 100vh;
overflow-y: auto;
scroll-snap-type: y proximity;
}
article > * {
scroll-snap-align: start;
padding: max(1rem, 2vw) var(--inline-padding);
}
header {
position: -webkit-sticky;
position: sticky;
top: 0;
background-color: rgba(var(--foreground-color), 0.5);
z-index: 2;
-webkit-backdrop-filter: blur(1rem);
backdrop-filter: blur(1rem);
}
#above_fold {
padding-top: 0;
height: calc(100vh - 6rem);
text-align: center;
align-content: center;
}
#above_fold h2 {
margin: auto;
max-width: 46rem;
}
#above_fold p {
max-width: none;
}
#hero_illustration {
width: min(100%, 26rem);
margin: auto;
}
section {
display: grid;
position: relative;
min-height: 100vh;
align-content: center;
}
section:nth-of-type(2) img {
position: absolute;
opacity: 0.5;
height: 80vh;
width: auto;
align-self: center;
right: 0;
}
section:nth-of-type(3) {
text-align: center;
}
section:nth-of-type(3) p {
max-width: none;
}
.section-header {
display: flex;
flex-direction: column;
text-align: center;
}
.section-header::after {
content: "•••";
line-height: 0.5;
}
#poc_stats {
list-style: none;
display: flex;
gap: 1rem;
border: solid thin rgba(var(--text-color), 0.5);
padding: max(1.5rem, 2vw) max(1rem, 2vw);
border-radius: 1rem;
margin: auto;
}
#poc_stats .stat {
display: flex;
flex-direction: column;
gap: 0.5rem;
flex: 1;
}
#poc_stats .stat__number {
font-size: 2rem;
font-weight: 700;
}
#poc_stats .stat__title {
font-size: 0.9rem;
}
#team_members {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
margin-top: 5rem;
gap: 3rem 1.5rem;
}
.team-member {
display: flex;
flex-direction: column;
text-align: center;
}
.team-member img {
-o-object-fit: cover;
object-fit: cover;
width: 100%;
aspect-ratio: 3/3.5;
border-radius: 1rem;
margin-bottom: 1.2rem;
}
.team-member__name {
font-weight: 700;
font-size: 1rem;
line-height: 1.2;
}
.team-member__title {
line-height: normal;
font-weight: 500;
font-size: 0.9rem;
}
@media screen and (max-width: 768px) {
.hide-on-small {
display: none !important;
}
}
@media screen and (min-width: 768px) {
body {
--inline-padding: max(1rem, 12vw);
}
.hide-on-large {
display: none !important;
}
}