quickshell-web/src/styles/components/featurelist.css
2024-11-17 22:15:46 +11:00

225 lines
3.8 KiB
CSS

.featurelist-section {
position: relative;
}
.featurelist {
list-style: none;
margin: 0.25rem 0.5rem;
display: flex;
flex-direction: column;
}
.featurelist-item {
position: relative;
display: flex;
gap: 0.618rem;
flex-direction: column;
align-items: center;
margin-block: 0.618rem;
border-radius: 9px;
background-color: hsl(var(--blue) 60% 98%);
padding: 0.618rem;
border: 1px solid hsl(var(--blue) 9% 75%);
&::before {
content: "";
position: absolute;
inset: 0.618rem;
background-image: radial-gradient(
hsl(var(--blue) 9% 75%) 1px,
transparent 1px
);
background-position: 50% 50%;
background-size: 1.1rem 1.1rem;
}
}
html.dark .featurelist-item {
background-color: hsl(var(--blue) 100% 81% / 0.05);
border-color: hsl(0deg 0% 100% / 0.05);
&::before {
background-image: radial-gradient(
hsl(0deg 0% 100% / 0.1) 1px,
transparent 1px
);
}
}
.feature-text {
margin: 1rem 0;
text-align: center;
font-size: 1.2rem;
& .feature-title {
margin-bottom: 0.517rem;
}
& .feature-subtitle {
color: #303030;
}
}
html.dark .feature-text {
& .feature-subtitle {
color: #afafaf;
}
}
.feature-showcase {
width: 100%;
max-height: min-content;
display: flex;
justify-content: center;
& video {
width: 100%;
aspect-ratio: 16 / 9;
border-radius: 0.681rem;
}
& .shiki {
margin-block: unset;
width: 100%;
height: 100%;
/*font-size: 0.55rem;*/
}
& .showcase-desktop {
width: 100%;
height: 100%;
display: none;
}
& .showcase-mobile {
width: 100%;
height: 100%;
}
&.cloud {
overflow: clip;
}
}
html:not(.dark) .feature-showcase .shiki,
html:not(.dark) .feature-showcase .shiki span {
background-color: #ffffff;
}
.feature-cloud {
position: relative;
margin: auto;
max-width: 21.5rem;
height: 100%;
min-height: 20rem;
margin-bottom: 1rem;
animation: spin 40s linear infinite;
& .cloud-item {
position: absolute;
&.wayland {
transform: translate(-50%, 0);
}
&.hyprland {
transform: translate(-50%, 0) rotate(72deg);
& > div {
transform: rotate(-72deg);
}
}
&.pipewire {
transform: translate(-50%, 0) rotate(144deg);
& > div {
transform: rotate(-144deg);
}
}
&.x-org {
transform: translate(-50%, 0) rotate(216deg);
& > div {
transform: rotate(-216deg);
}
}
&.sway {
transform: translate(-50%, 0) rotate(288deg);
& > div {
transform: rotate(-288deg);
}
}
& img,
svg {
animation: counter-spin 40s linear infinite;
width: 80px;
height: 80px;
}
left: 50%;
height: 100%;
}
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@keyframes counter-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(-360deg);
}
}
@media (min-width: 34rem) {
.feature-showcase {
& .showcase-desktop {
display: unset;
}
& .showcase-mobile {
display: none;
}
}
}
@media (min-width: 63rem) {
.featurelist {
max-width: 75rem;
margin: 1rem 1.618rem;
width: auto;
align-items: center;
}
.feature-text {
margin: 0 2.218rem;
}
.featurelist-item {
width: 100%;
padding: unset;
padding: 1.217rem;
justify-content: space-between;
flex-direction: row;
}
.featurelist-item.right {
flex-direction: row-reverse;
}
.feature-showcase {
height: 22rem;
}
.feature-text {
text-align: left;
}
.feature-showcase {
width: auto;
aspect-ratio: 16 / 9;
& video {
scale: 1;
}
& .shiki {
font-size: 0.93rem;
}
.feature-cloud {
margin-bottom: 0;
}
}
}