vuepress-theme-system
Version:
332 lines (273 loc) • 5.93 kB
CSS
/*
Theme
-------------------------------
*/
:root {
--header-height: var(--unit-xxl);
}
svg.icon.outbound {
display: none;
}
.sitename {
typescale: -1.5 1;
font-weight: 700;
}
.navbar {
position: fixed;
background-color: var(--color-bg);
width: 100vw;
height: var(--header-height);
z-index: 2;
}
.main {
margin-top: var(--header-height);
}
.sidebar {
position: fixed;
background-color: var(--color-bg);
top: var(--header-height);
right: 0;
bottom: 0;
left: 0;
padding-top: var(--unit);
z-index: 1;
}
.sidebar-content {
padding-left: var(--container-padding);
padding-right: var(--container-padding);
margin-left: auto;
margin-right: auto;
width: 100%;
}
.sidebar-link {
display: block;
padding: var(--unit-xs) 0;
}
.sidebar-link.active {
border-left: var(--unit-xs) solid var(--color-highlight);
}
.sidebar-links > li > a {
margin-left: calc(-1 * var(--unit));
padding-left: var(--unit);
}
.sidebar-links > li > a.active {
padding-left: calc(var(--unit) - var(--unit-xs));
}
.sidebar-sub-headers > li > a {
margin-left: calc(-2 * var(--unit));
padding-left: calc(2 * var(--unit));
}
.sidebar-sub-headers > li > a.active {
padding-left: calc(2 * var(--unit) - var(--unit-xs));
}
.hero {
position: relative;
height: calc(100vh - var(--header-height));
}
.hero-img {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow: hidden;
}
.hero-img img {
height: 100%;
width: 100%;
object-fit: cover;
}
.hero-content {
position: absolute;
right: 0;
bottom: 5vh;
left: 0;
color: var(--color-bg);
}
.overlay-color {
background-color: rgba(39, 62, 84, 0.4);
}
.content__default > h1 {
margin-top: calc(-1 * var(--header-height));
padding-top: calc((var(--header-height) + var(--unit)));
}
.content__default > h2 {
margin-top: calc(-1 * var(--header-height) + var(--unit-s));
padding-top: calc((var(--header-height) + var(--unit)));
}
.content__default > h2::before {
content: '';
display: block;
clear: both;
}
.content__default > h1 .header-anchor,
.content__default > h2 .header-anchor,
.content__default > h3 .header-anchor,
.content__default > h4 .header-anchor,
.content__default > h5 .header-anchor,
.content__default > h6 .header-anchor {
margin-left: -0.8em;
opacity: 0;
color: var(--color-alt);
}
.content__default > h1:hover .header-anchor,
.content__default > h2:hover .header-anchor,
.content__default > h3:hover .header-anchor,
.content__default > h4:hover .header-anchor,
.content__default > h5:hover .header-anchor,
.content__default > h6:hover .header-anchor {
opacity: 1;
}
.content__default ul {
list-style: none;
& > li::before {
content: var(--list-prefix);
margin-right: var(--unit-xs);
color: var(--color-neutral);
}
}
a.bg-neutral {
transition: var(--transition);
& h2 {
border-bottom-color: var(--color-bg);
color: var(--color-bg);
}
& p {
color: var(--color-bg);
}
}
a.bg-neutral:hover {
background-color: var(--color-highlight);
}
.content__default .img-full {
margin-right: calc(-1 * var(--gutter));
margin-left: calc(-1 * var(--gutter));
position: relative;
margin-bottom: var(--unit);
}
.content__default .img-full:after {
content: '';
display: block;
padding-bottom: 100%;
}
.content__default .img-full img {
position: absolute;
width: 100%;
height: 100%;
object-fit: cover;
}
.content__default .img-full-left img {
object-position: left 50%;
}
.content__default .img-full-right img {
object-position: right 50%;
}
.content__default .img-full p {
margin-bottom: 0;
}
@media (--viewport-mobile) {
.sitename {
typescale: 0 1;
}
}
@media (--viewport-tablet) {
h1,
.h1 {
typescale: 5 2;
}
h2,
.h2 {
typescale: 3 1.5;
}
h3,
.h3 {
typescale: 1 1.25;
}
blockquote {
padding: var(--unit-xl);
}
.sidebar-content {
width: calc(2 * var(--col-width) + var(--gutter));
}
.img-left {
float: left;
margin-right: var(--gutter);
}
.img-right {
float: right;
margin-left: var(--gutter);
}
.content__default .img-right {
width: var(--col-width);
}
.content__default .img-left {
width: var(--col-width);
}
.content__default .img-full {
margin-right: initial;
margin-left: initial;
position: initial;
}
.content__default .img-full:after {
content: initial;
display: initial;
padding-bottom: initial;
}
.content__default .img-full img {
position: initial;
width: initial;
height: initial;
object-fit: initial;
}
}
@media (--viewport-desktop) {
.desktop-show {
display: block;
visibility: visible;
}
.desktop-hide {
display: none;
visibility: hidden;
}
.sidebar {
position: sticky;
display: initial;
visibility: initial;
background-color: initial;
}
.no-sidebar .sidebar {
display: none;
visibility: hidden;
}
.sidebar-content {
width: initial;
padding-left: initial;
padding-right: initial;
margin-left: initial;
margin-right: initial;
}
.hero-content {
bottom: 15vh;
}
.hero-content h1 {
typescale: 5 2;
}
}
@media (--viewport-large) {
.content__default {
margin-left: calc((var(--col-width) + var(--gutter)) / 2);
margin-right: calc((var(--col-width) + var(--gutter)) / 2);
}
.content__default .img-right {
width: calc(var(--col-width) + (var(--col-width) + var(--gutter)) / 2);
margin-right: calc(-1 * (var(--col-width) + var(--gutter)) / 2);
}
.content__default .img-left {
width: calc(var(--col-width) + (var(--col-width) + var(--gutter)) / 2);
margin-left: calc(-1 * (var(--col-width) + var(--gutter)) / 2);
}
.content__default .img-full {
margin-right: calc(-1 * (var(--col-width) + var(--gutter)) / 2);
margin-left: calc(-1 * (var(--col-width) + var(--gutter)) / 2);
}
}