lbry.tech/app/sass/partials/_ecosystem.scss
2019-01-25 11:00:44 -05:00

416 lines
6.4 KiB
SCSS

.ecosystem {
display: grid;
font-size: 1rem;
grid-gap: 1rem;
margin-bottom: 2rem;
padding-top: 1rem;
&:not(.expand-left):not(.expand-right) {
grid-template-columns: 144px auto 144px;
.ecosystem__submodules {
padding-top: 2.5rem;
}
}
&.expand-left {
grid-template-columns: 50% auto;
.ecosystem__submodules:last-of-type,
.ecosystem__submodule:not(.active) {
display: none;
}
.ecosystem__submodules:first-of-type { // TODO: Figure out how to write this in a way that doesn't override
@media (min-resolution: 96dpi) {
height: 383px;
}
@media (min-resolution: 192dpi) {
height: 378px;
}
}
}
&.expand-right {
grid-template-columns: auto 50%;
.ecosystem__submodules:first-of-type,
.ecosystem__submodule:not(.active) {
display: none;
}
.ecosystem__submodules:last-of-type {
@media (min-resolution: 96dpi) {
height: 383px;
}
@media (min-resolution: 192dpi) {
height: 378px;
}
}
}
}
.ecosystem__module {
width: 100%;
position: relative;
> * {
z-index: 1;
}
h2 {
width: 100%;
position: relative;
> div {
float: right;
font-size: 1rem;
padding-top: 1.95rem;
padding-right: 3rem;
position: relative;
text-align: right;
&::before {
@include font-serif;
width: 100%;
top: 0.9rem; right: 3rem;
content: "key repositories";
font-size: 80%;
font-style: italic;
opacity: 0.3;
position: absolute;
text-align: right;
}
span {
cursor: pointer;
display: inline-block;
position: relative;
&:not(:last-of-type) {
margin-right: 1rem;
&::after {
top: 0; right: -0.7rem;
color: $lbry-gray-1;
content: "/";
font-style: italic;
position: absolute;
}
}
}
}
}
h3 {
position: relative;
}
&::before {
width: 100%; height: 100%;
top: 0; left: 0;
content: "";
position: absolute;
z-index: 0;
}
&:not(.active) {
@include center;
h2 {
font-size: 1.5rem;
text-align: center;
> span {
padding: 1.9rem 2rem;
cursor: pointer;
display: block;
em {
display: block;
font-size: 70%;
font-weight: normal;
}
}
> div {
display: none;
}
}
.ecosystem__module__details {
display: none;
}
.__close {
top: 2rem;
transform: rotate(45deg);
z-index: 0;
}
}
&.active {
padding: 1.9rem 2rem;
h2 {
font-size: 3rem;
margin-bottom: 1rem;
> span {
cursor: default;
em {
display: none;
}
}
}
&::before {
background-color: $lbry-white;
}
.__close {
top: 2.35rem;
z-index: 3;
}
}
&.lbrycrd,
&.lbry {
margin-bottom: 1rem;
}
&.lbrycrd,
&.lbry,
&.applications {
&:not(.active) {
h2 {
margin-bottom: 0.5rem;
&::after {
width: 100%;
bottom: 1rem; left: 0;
font-size: 0.5rem;
letter-spacing: 0.1rem;
position: absolute;
z-index: -1;
}
}
}
}
&.lbrycrd {
&:not(.active) {
&::before {
background-color: $lbry-red-3;
}
h2::after {
content: "◼︎";
}
}
&.active::before {
border: 2px solid $lbry-red-3;
}
}
&.lbry {
&:not(.active) {
&::before {
background-color: $lbry-blue-3;
}
h2::after {
content: "◼︎◼︎";
}
}
&.active::before {
border: 2px solid $lbry-blue-3;
}
}
&.applications {
&:not(.active) {
&::before {
background-color: $lbry-green-3;
}
h2::after {
content: "◼︎◼︎◼︎︎";
}
}
&.active::before {
border: 2px solid $lbry-green-3;
}
}
}
.ecosystem__module__details,
.ecosystem__submodule__markdown {
@extend %markdown;
}
.ecosystem__module__piece {
width: 80%; left: 10%;
background-color: $lbry-white;
line-height: 2;
position: relative;
&:not(:last-of-type) {
margin-bottom: 0.5rem;
}
}
.ecosystem__submodule {
border-width: 2px;
cursor: default;
position: relative;
transition: border-color 0.2s;
z-index: 2;
&:not(:last-of-type) {
margin-bottom: 1rem;
}
&:not(.on):not(.active) {
color: $lbry-gray-1;
}
&:not(.active) {
@include center;
width: 144px; height: 144px;
border-radius: 50%;
border-style: dashed;
.ecosystem__submodule__title {
width: 100%; height: 100%;
line-height: 140px;
text-align: center;
}
.ecosystem__submodule__description {
display: none;
}
}
&.active {
width: 100%; height: 100%;
padding: 2rem;
border-style: solid;
overflow-y: auto;
.ecosystem__submodule__title {
line-height: 1.33;
margin-bottom: 1rem;
}
}
&:not(.blue):not(.green):not(.red) {
border-color: $lbry-gray-1;
}
&.blue,
&.green,
&.red {
&:not(.active) {
cursor: pointer;
}
}
&.blue {
background-color: rgba($lbry-blue-1, 0.05);
border-color: $lbry-blue-3;
}
&.green {
background-color: rgba($lbry-green-1, 0.05);
border-color: $lbry-green-3;
}
&.red {
background-color: rgba($lbry-red-1, 0.05);
border-color: $lbry-red-3;
}
}
.ecosystem__submodule__title {
font-size: 1.15rem;
}
.ecosystem__submodule__description {
margin-bottom: 2rem;
.__close {
top: -0.7rem; right: -2rem;
}
}
.__parents {
top: 2rem; right: 4rem;
font-size: 1.15rem;
line-height: 1.33;
list-style-type: none;
padding-right: 1rem;
position: absolute;
z-index: 1;
&::before,
&::after {
position: absolute;
}
&::before {
@include font-serif;
top: 0.3rem; left: -3.4rem;
color: $lbry-gray-4;
content: "back to";
font-size: 0.8rem;
font-style: italic;
font-weight: 700;
}
&::after {
width: 2px; height: 100%;
top: 0; right: 0;
background-color: $lbry-gray-1;
content: "";
}
}
.__parent {
font-weight: 700;
&:not(.active) {
display: none;
}
&.active {
cursor: pointer;
}
}
.__close {
right: 2rem;
cursor: pointer;
font-size: 2rem;
position: absolute;
transition: all 0.2s;
}