matrix.org/sass/_projects.scss

308 lines
5.8 KiB
SCSS

.projects-card-deck {
display: grid;
grid-template-columns: repeat(auto-fill, 17.6rem);
@media (max-width: 767px) {
max-width: 17.6rem;
}
gap: 1rem;
margin-inline: auto;
}
.projects-card-deck>div {
height: 100%;
width: 100%;
}
.project-card {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 24px;
gap: 1rem;
min-height: 100%;
border: 1px solid #D2D2D2;
border-radius: 16px;
img {
margin: 0;
width: 65px;
height: 65px;
box-sizing: content-box;
}
h3 {
margin: 0;
font-style: normal;
font-weight: 700;
font-size: 1.8rem;
line-height: 1;
}
a,
.open-project {
margin-block: auto 0;
color: var(--color-text-light);
text-decoration: none;
}
p {
line-height: 1;
}
.licence-language {
display: flex;
flex-direction: row;
gap: .2rem;
}
.pill {
background-color: #e9e9e9;
border-radius: 9999px;
padding-inline: .5rem;
color: var(--color-text);
}
}
.filtered-out {
display: none;
}
.filters {
display: flex;
flex-direction: row;
flex-wrap: wrap;
max-width: 40rem;
margin: 0 auto 2rem auto;
justify-content: center;
gap: 1rem;
.filter-wrap {
position: relative;
.filter {
position: relative;
display: flex;
flex-direction: row;
justify-content: space-between;
gap: .8rem;
z-index: 100;
padding: .5rem .8rem;
background-color: #fafafa;
color: #000;
border: 1px solid #d2d2d2;
border-radius: 1000px;
cursor: pointer;
user-select: none;
.divider {
width: 1px;
height: 100%;
border-left: 1px solid var(--borders-color);
}
img {
height: .9em;
margin-block: auto;
}
&.enabled {
background-color: #000;
border-color: #666;
color: #fff;
img {
filter: invert(1);
}
}
&.expanded {
z-index: 200;
}
}
.filter-menu {
position: absolute;
top: 2.7rem;
left: 0;
min-width: 15rem;
max-width: 20rem;
z-index: 200;
padding: .5rem 1rem;
background-color: #fafafa;
border: 1px solid var(--borders-color);
border-radius: 16px;
p {
margin: 0;
margin-bottom: .5rem;
font-size: .8rem;
text-align: start;
}
input {
accent-color: #000;
}
input,
label {
cursor: pointer;
user-select: none;
}
.reset-links {
font-size: .8rem;
a {
cursor: pointer;
user-select: none;
}
}
&:not(.display) {
display: none;
}
button {
background: none;
border: transparent;
color: var(--color-text);
cursor: pointer;
}
}
}
}
.maturity {
border: 1px solid var(--borders-color);
border-radius: 9999px;
padding: 0 .6rem;
font-size: 1rem;
font-weight: 400;
max-width: fit-content;
&.stable {
background-color: #DFF6D5;
border-color: #245C0C;
color: #245C0C
}
&.beta {
background-color: #F6E7D5;
border-color: #6F420F;
color: #6F420F;
}
&.alpha {
background-color: #F6D5D5;
border-color: #8B1212;
color: #8B1212;
}
&.obsolete {
background-color: #E6E6E6;
border-color: #4A4A4A;
color: #4A4A4A;
}
}
.title-row {
width: 100%;
max-width: 100%;
display: flex;
justify-content: space-between;
gap: .2rem;
align-items: start;
}
#filters-overlay {
position: fixed;
top: var(--navbar-height);
left: 0;
right: 0;
bottom: 0;
z-index: 100;
background-color: rgba(0, 0, 0, .5);
&:not(.display) {
display: none;
}
}
.project-links {
display: flex;
flex-wrap: wrap;
gap: .3rem;
margin-bottom: 1rem;
.pill {
display: flex;
align-items: center;
gap: .2rem;
border: 1px solid var(--color-text);
color: var(--color-text);
border-radius: 9999px;
padding: .1rem .4rem;
.fillme {
fill: var(--color-text);
stroke: var(--color-text);
}
.fillme-inverse {
stroke: #fff;
}
&:hover {
background-color: var(--color-text);
color: #fff;
.fillme {
fill: #fff;
stroke: #fff;
}
.fillme-inverse {
stroke: var(--color-text);
}
}
}
}
.features-matrix {
ul {
border: 1px solid var(--borders-color);
border-radius: 16px;
padding-inline: 1rem;
li {
padding: .5rem;
line-height: 1.6;
list-style-position: inside;
list-style-image: url('/assets/cross_unsupported.svg');
&.supported {
list-style-image: url('/assets/tick_supported.svg');
}
&+li {
border-top: 1px solid #d2d2d2;
}
}
}
}