quickshell-web/src/styles/main-page.css

266 lines
4.3 KiB
CSS

.main-page_hero {
position: relative;
margin-block: 1.618rem;
display: flex;
flex-grow: 1;
flex-direction: column;
justify-content: flex-start;
align-items: center;
& h1 {
position: relative;
font-size: 4.618rem;
}
& .navy {
color: hsl(var(--blue) 66 60);
}
& .green {
color: hsl(var(--accent-400));
}
}
h1.gradient-text {
background: linear-gradient(
30deg,
hsl(var(--green) 100 62),
hsl(var(--blue) 100 59)
);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.main-page_hero-text {
color: hsl(var(--secondary-400));
text-align: center;
text-wrap: balance;
margin-block: 0.618rem;
& h2 {
display: flex;
flex-direction: column;
font-size: 2rem;
font-weight: 400;
letter-spacing: 0.018rem;
margin-bottom: 0.117rem;
color: hsl(var(--blue) 100 83);
}
}
.marquee-buttons {
display: flex;
gap: 3rem;
font-size: 1.874rem;
font-weight: 600;
}
.marquee-button {
all: unset;
position: relative;
color: hsl(var(--accent-400));
&::before {
content: "";
position: absolute;
bottom: 3px;
left: 2px;
right: 2px;
height: 3px;
background-color: hsla(var(--accent-400) / 0.3);
z-index: -1;
}
}
.marquee {
position: relative;
width: 100%;
margin-block: 1.817rem;
}
.marquee-content {
width: 100%;
height: 100%;
overflow: hidden;
display: flex;
}
.marquee-item {
flex: 1 0 100%;
transition: transform 0.3s cubic-bezier(0.46, 0.03, 0.52, 0.96);
transform: translateX(var(--scroll));
display: flex;
justify-content: center;
}
.marquee-item-spacing {
width: 75%;
max-width: 80rem;
aspect-ratio: 16 / 9;
}
.marquee-item-content {
border-radius: 6px;
}
.marquee-scroll {
position: absolute;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
transition: background-color 0.3s, opacity 0.3s;
z-index: 10;
user-select: none;
align-items: stretch;
pointer-events: none;
}
.marquee-scroll-arrow {
flex-grow: 1;
max-width: 8rem;
font-size: 2rem;
pointer-events: all;
}
.marquee-scroll-arrow > div {
height: 100%;
display: flex;
align-items: center;
justify-content: center;
opacity: 0.5;
transition: opacity 0.3s ease;
&:hover {
opacity: 0.9;
}
}
/*.marquee-scroll-left {
left: 3.117rem;
}
.marquee-scroll-right {
right: 3.117rem;
}*/
.call-buttons {
margin-bottom: 1.618rem;
display: flex;
gap: 3rem;
}
.call-button {
width: 15rem;
font-size: 1.874rem;
font-weight: 600;
border: 1px solid hsl(var(--accent-400));
border-radius: 4px;
text-align: center;
}
.main-page_links {
position: relative;
display: flex;
width: 75%;
flex-wrap: wrap;
gap: 2rem;
z-index: 0;
}
.main-page_link-card {
all: unset;
position: relative;
z-index: 1;
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 9.67rem;
border-radius: 9px;
overflow: hidden;
border: 1px solid transparent;
transition: border-color 0.3s;
&:hover {
cursor: pointer;
text-decoration: none;
}
&::before {
content: "";
position: absolute;
inset: 0;
filter: blur(1.5rem) saturate(150%);
transition: filter 0.3s;
z-index: 1;
}
&:nth-child(1),
&:nth-child(2) {
&::before {
background: linear-gradient(
115deg,
hsla(var(--green) 20 15 / 0.7) 25%,
hsla(var(--green) 25 25 / 0.8) 50%,
hsla(var(--green) 60 60 / 0.6) 80%
);
}
&:hover {
border-color: hsl(var(--accent-600));
&::before {
filter: blur(0.9rem) saturate(200%);
}
}
}
&:nth-child(3),
&:nth-child(4) {
&::before {
background: linear-gradient(
115deg,
hsla(var(--blue) 10 15 / 0.7) 25%,
hsla(var(--blue) 15 25 / 0.8) 50%,
hsla(var(--blue) 60 60 / 0.6) 80%
);
}
&:hover {
border-color: hsl(var(--blue) 90 40);
&::before {
filter: blur(0.9rem) saturate(200%);
}
}
}
& h3 {
z-index: 2;
}
}
.baselayout footer {
bottom: 0;
}
@media (min-width: 65rem) {
.main-page_hero-text {
text-align: end;
& h2 {
display: block;
}
}
.main-page_links {
justify-content: center;
}
.main-page_link-card {
max-width: 21.33rem;
}
}