nightTab/css/link.css
2019-01-24 20:28:11 +00:00

313 lines
5.8 KiB
CSS

.link {
margin-bottom: 2em;
width: 100vw;
position: relative;
z-index: var(--z-index-link);
display: none;
}
.is-link .link {
display: block;
}
.is-scroll-past-end .link {
margin-bottom: 60vh;
}
.link-area {
width: 100%;
display: grid;
grid-auto-rows: 1fr;
grid-gap: calc(var(--gutter) * 2);
}
.is-link-block .link-area {
grid-template-columns: repeat(auto-fill, minmax(10em, 1fr));
}
.is-link-list .link-area {
grid-template-columns: repeat(auto-fill, minmax(16em, 1fr));
}
.is-layout-thin.is-link-list .link-area {
grid-template-columns: 1fr;
}
.link-item {
width: 100%;
height: var(--link-height);
font-size: 1em;
position: relative;
display: block;
transform: scale(1);
transition: all var(--animation-speed-fast) ease-in-out;
}
.link-item:focus-within,
.link-item:focus,
.link-item:hover {
transform: scale(1.06);
}
.link-item:active {
transform: scale(1.04);
transition: none;
}
.link-panel-front {
background-color: rgb(var(--gray-02));
border-radius: var(--radius);
padding: 0 1em;
width: 100%;
height: calc(100% - var(--line-width));
display: flex;
z-index: 3;
position: relative;
user-select: none;
transition: all var(--animation-speed-fast) ease-in-out;
}
.is-link-block .link-panel-front {
flex-direction: column;
align-items: center;
justify-content: center;
}
.is-link-list .link-panel-front {
flex-direction: row;
align-items: center;
justify-content: flex-start;
}
.link-panel-front:hover,
.link-panel-front:focus {
background-color: rgb(var(--gray-03));
outline: none;
text-decoration: none;
}
.link-item:focus .link-panel-front,
.link-item:focus-within .link-panel-front,
.link-item:hover .link-panel-front {
text-decoration: none;
outline: none;
background-color: rgb(var(--gray-03));
box-shadow: 0 2px 1em 0 rgba(0, 0, 0, 0.4);
}
.is-link-url .link-item:focus .link-panel-front,
.is-link-url .link-item:focus-within .link-panel-front,
.is-link-url .link-item:hover .link-panel-front {
height: calc(100% - var(--url-height));
}
.link-panel-back {
display: flex;
flex-direction: column;
justify-content: flex-end;
align-items: stretch;
width: 100%;
height: 100%;
position: absolute;
bottom: 0;
left: 0;
z-index: 2;
}
.link-panel-back:before {
content: "";
background-color: rgb(var(--accent));
border-radius: var(--radius);
width: calc(100% - calc(var(--line-width) + var(--line-width)));
height: calc(100% - 0.25em);
position: absolute;
bottom: 0;
left: var(--line-width);
z-index: -1;
}
.link-control {
margin: 0;
padding: 0 var(--line-width);
height: 0;
display: flex;
overflow: hidden;
flex-direction: row;
align-items: stretch;
justify-content: center;
transition: all var(--animation-speed-fast) ease-in-out;
}
.link-control-item {
background-color: transparent;
margin-bottom: 0;
border: 0;
padding-left: 0;
padding-right: 0;
color: rgb(var(--gray-02));
flex-grow: 1;
flex-basis: 50%;
}
.link-control-item:first-child {
border-radius: 0 0 0 var(--radius);
}
.link-control-item:last-child {
border-radius: 0 0 var(--radius) 0
}
.link-control-item:focus,
.link-control-item:hover {
color: rgb(var(--black));
background-color: rgba(255, 255, 255, 0.2);
}
.link-control-item:active {
color: rgb(var(--black));
background-color: rgba(255, 255, 255, 0.4);
transition: none;
}
.link-url {
padding: 0 1em;
width: 100%;
height: 0;
overflow: hidden;
display: none;
align-items: center;
transition: all var(--animation-speed-fast) ease-in-out;
}
.is-link-url .link-url {
display: flex;
}
.is-link-block .link-url {
justify-content: center;
}
.is-link-list .link-url {
justify-content: flex-start;
}
.link-item:focus-within .link-url,
.link-item:focus .link-url,
.link-item:hover .link-url {
height: var(--url-height);
}
.link-url-text {
margin: 0;
font-size: 0.7em;
color: rgb(var(--black));
font-family: var(--font-regular);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.link-letter {
font-family: var(--font-fjalla);
color: rgb(var(--accent));
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
transition: all var(--animation-speed-fast) ease-in-out;
}
.is-link-block .link-letter {
margin: 0;
font-size: 2em;
text-align: center;
max-width: 100%;
}
.is-link-list .link-letter {
margin: 0 0.5em 0 0;
font-size: 1.5em;
flex-shrink: 0;
max-width: 50%;
}
.link-item:hover .link-letter,
.link-item:focus .link-letter {
color: rgb(var(--white));
}
.link-panel-front:focus .link-letter {
color: rgb(var(--white));
}
.link-name {
margin: 0;
font-size: 0.9em;
font-family: var(--font-regular);
color: rgb(var(--gray-12));
white-space: nowrap;
overflow: hidden;
max-width: 100%;
text-overflow: ellipsis;
display: none;
transition: all var(--animation-speed-fast) ease-in-out;
}
.is-link-name .link-name {
display: block;
}
.link-item:hover .link-name,
.link-item:focus .link-name {
color: rgb(var(--white));
}
.link-panel-front:focus .link-name {
color: rgb(var(--white));
}
.link-empty {
grid-column-start: 1;
grid-column-end: -1;
text-align: center;
}
.link-empty-heading {
color: rgb(var(--gray-16));
}
.is-link-block .link-name {
text-align: center;
}
.is-edit .link-panel-front,
.is-edit .link-item:hover .link-panel-front,
.is-edit .link-item:focus .link-panel-front {
height: calc(100% - var(--edit-height));
box-shadow: 0 2px 1em 0 rgba(0, 0, 0, 0.4);
}
.is-edit .link-control {
height: var(--edit-height);
}
.is-edit .link-item:hover .link-url,
.is-edit .link-item:focus .link-url {
height: 0;
}
.is-edit .link-control-item {
pointer-events: all;
}
.is-link-block .link-panel-front {
flex-direction: column;
align-items: center;
justify-content: center;
}
.is-link-list .link-panel-front {
flex-direction: row;
align-items: center;
justify-content: flex-start;
}