diyhrt/transfemscience.org/assets/css/site-layout.css
2024-02-24 01:00:32 +00:00

1204 lines
30 KiB
CSS

/* General */
html, body {
width: 100%;
height: auto; /* Needed for persistent header */
min-height: 100%;
margin: 0;
padding: 0;
background-color: var(--background-color);
color: var(--font-color);
font-family: -apple-system, BlinkMacSystemFont, "helvetica neue", helvetica, roboto, noto, "segoe ui", arial, sans-serif;
font-size: 16px;
line-height: 1.4;
scroll-behavior: auto; /* 'auto' = jump straight there, 'smooth' = "animation" */
box-sizing: border-box;
/* -webkit-tap-highlight-color: rgba(0, 0, 0, 0); /* To disable it fallback */
/* -webkit-tap-highlight-color: transparent; */ /* To disable it */
-webkit-tap-highlight-color: var(--tap-highlight-color);
overflow-anchor: none;
-ms-text-size-adjust: none; /* Disable font size scaling on mobile devices */
-moz-text-size-adjust: none; /* Disable font size scaling on mobile devices */
-webkit-text-size-adjust: none; /* Disable font size scaling on mobile devices */
text-size-adjust: none; /* Disable font size scaling on mobile devices */
}
@media only screen and (max-width: 499.9px) {
html, body {
/* font-size: 15px; */ /* Maybe no */
}
}
html {
overflow-y: scroll; /* Prevent FOUC if scrollbar is absent (scrollbar-gutter not working) */
scrollbar-gutter: stable; /* Doesn't seem to be working? (Maybe not supported on html/body? To-do: fix?) */
}
/* Disable article scrolling when contents sidebar is open on mobile */
@media only screen and (max-width: 499.9px) {
html[data-sidebar-open] {
max-height: 100%;
overflow: hidden;
}
}
*, *:before, *:after {
box-sizing: inherit;
}
@media only screen {
::selection {
color: var(--selection-font-color);
background-color: var(--selection-background-color);
}
:target {
scroll-margin-top: calc(20px + var(--header-height-persistent) + var(--google-translate-bar-height));
}
html[data-persistent-header-hidden]:not([data-header-persistent]) :target {
scroll-margin-top: calc(20px + var(--google-translate-bar-height));
}
html[data-header-persistent][data-persistent-header-hidden] :target {
scroll-margin-top: calc(20px + var(--google-translate-bar-height));
}
}
@media only screen and (max-width: 899.9px) {
html :target {
scroll-margin-top: calc(20px + var(--header-height-persistent-mobile) + var(--google-translate-bar-height));
}
html[data-mobile-menu-open] :target {
scroll-margin-top: calc(20px + var(--header-height-persistent-mobile) + var(--mobile-menu-height) + var(--google-translate-bar-height));
}
}
button {
display: inline-block;
border: none;
border-radius: 2px;
padding: 0px;
margin: 0px;
text-decoration: none;
background: none;
background-image: none;
color: none;
font-family: -apple-system, BlinkMacSystemFont, "helvetica neue", helvetica, roboto, noto, "segoe ui", arial, sans-serif;
font-size: 16px;
line-height: 1;
cursor: pointer;
text-align: center;
transition: none;
-webkit-appearance: none;
-moz-appearance: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
button:hover, button:focus {
background: none;
}
button:focus {
outline: 2px solid #000;
outline-offset: 0px;
}
@media only screen {
html[data-theme='dark'] button:focus {
outline: 1.5px solid #fff;
}
}
button:active {
transform: none;
}
/* Header */
#header {
width: 100%;
height: var(--header-height); /* Needed for transition animation to work both ways */
/* ^ If not using transition animation, can just use height: auto; and that's it */
border-bottom: var(--layout-border-style);
box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0); /* Needed for transition */
background-color: var(--background-color);
position: fixed;
top: var(--google-translate-bar-height);
z-index: 99999;
-webkit-touch-callout: none;
-webkit-user-select: none;
user-select: none;
overflow-x: scroll;
overflow-y: hidden;
scrollbar-width: none; /* Hide scrollbar (Firefox) */
transition: height 200ms, border-bottom-width 200ms, box-shadow 200ms;
}
/* Hide scrollbar (Chrome, etc.) */
#header::-webkit-scrollbar {
width: 0;
height: 0;
}
@media only screen {
html[data-header-persistent] #header {
height: var(--header-height-persistent); /* Needed for transition animation to work both ways */
box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.25);
}
}
@media only screen and (min-width: 900px) {
html[data-header-persistent][data-persistent-header-hidden] #header {
height: 0px; /* Using this instead of display: none; for transition animation */
border-bottom-width: 0px; /* Needed for transition */
box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0); /* Needed for transition */
}
}
@media only screen and (max-width: 899.9px) {
#header {
height: var(--header-height-mobile); /* Needed for transition animation to work both ways */
}
html[data-header-persistent] #header {
height: var(--header-height-persistent-mobile);
}
html[data-mobile-menu-open] #header {
height: calc(var(--header-height-mobile) + var(--mobile-menu-height));
}
html[data-header-persistent][data-mobile-menu-open] #header {
height: calc(var(--header-height-persistent-mobile) + var(--mobile-menu-height));
}
}
@media only screen and (max-width: 899.9px) {
#header {
background-color: var(--header-footer-background-color-mobile);
border-bottom-width: 0px; /* Needed for transition */
box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.25); /* Needed for transition */
}
html[data-header-persistent] #header {
border-bottom: var(--layout-border-style);
box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.25);
}
}
#header-subcontainer {
height: var(--header-height);
width: 85%;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: nowrap;
white-space: nowrap;
transition: width 200ms, height 200ms;
}
@media only screen and (max-width: 899.9px) {
#header-subcontainer {
height: var(--header-height-mobile);
width: 100%;
}
}
@media only screen and (max-width: 1149.9px) {
#header-subcontainer {
width: 100%;
}
}
@media only screen {
html[data-header-persistent] #header-subcontainer {
height: var(--header-height-persistent);
}
}
@media only screen and (max-width: 899.9px) {
html[data-header-persistent] #header-subcontainer {
height: var(--header-height-persistent-mobile);
}
}
#site-icon-and-title-container {
height: 100%;
cursor: pointer;
padding-left: 20px;
padding-right: 20px;
text-decoration: none;
display: flex;
flex-wrap: nowrap;
align-items: center;
justify-content: center;
}
#site-icon-and-title-container:active {
background-color: var(--top-link-background-color-hover);
}
@media only screen and (min-width: 900px) {
#site-icon-and-title-container {
min-width: 300px;
}
#site-icon-and-title-container:hover {
background-color: var(--top-link-background-color-hover);
}
}
@media only screen and (max-width: 899.9px) {
#site-icon-and-title-container {
padding-left: 10px;
padding-right: 10px;
}
}
#site-icon {
width: 30px; /* Old larger style: 33px */
min-width: 30px; /* Old larger style: 33px */
height: 100%;
display: flex;
align-items: center;
background-image: var(--site-logo);
background-repeat: no-repeat;
background-position: left center;
background-size: contain;
padding: 2px;
margin-right: 9px;
transition: width 200ms, min-width 200ms, margin-right 200ms;
}
@media only screen {
html[data-persistent-header-toggle-no-transition]:not([data-persistent-header-hidden]) #site-icon {
transition: none;
}
html[data-persistent-header-toggle-no-transition][data-persistent-header-hidden] #site-icon {
transition-delay: 200ms;
}
}
@media only screen and (min-width: 900px) {
html[data-header-persistent]:not([data-persistent-header-hidden]) #site-icon {
width: 22px;
min-width: 22px;
margin-right: 7px;
}
}
@media only screen and (max-width: 899.9px) {
#site-icon {
width: 27px; /* Formerly 29px */
min-width: 27px; /* Formerly 29px */
margin-right: 9px; /* Formerly 10px */
}
/* Shrink top bar on mobile upon scrolling down (disabled now) */
html[data-header-persistent] #site-icon {
width: 27px; /* Formerly 25px */
min-width: 27px; /* Formerly 25px */
margin-right: 9px; /* Formerly 8px */
}
}
#site-title {
height: 100%;
font-size: 21px; /* Old larger style: 24px */
font-family: Georgia, serif;
color: var(--site-title-color);
display: flex;
align-items: center;
transition: font-size 200ms;
}
@media only screen {
html[data-persistent-header-toggle-no-transition]:not([data-persistent-header-hidden]) #site-title {
transition: none;
}
html[data-persistent-header-toggle-no-transition][data-persistent-header-hidden] #site-title {
transition-delay: 200ms;
}
}
@media only screen and (min-width: 900px) {
html[data-header-persistent]:not([data-persistent-header-hidden]) #site-title {
font-size: 18px;
}
}
@media only screen and (max-width: 899.9px) {
#site-title {
font-size: 18px;
}
/* Shrink top bar on mobile upon scrolling down (disabled now) */
html[data-header-persistent] #site-title {
font-size: 18px; /* Formerly smaller px (?) */
}
}
#site-title-text-xs, #site-title-text-sm, #site-title-text-md, #site-title-text-lg {
display: none;
max-width: 220px; /* 300px - 40px left/right padding - 30px icon - 10px margin between icon and title */
overflow: hidden;
text-overflow: ellipsis;
}
/* These media queries include -5px to allow for extra space (e.g., for Firefox mobile) */
@media only screen and (min-width: 305px) and (max-width: 319.9px) {
#site-title-text-xs { /* "TFS" */
display: inline-block;
}
}
@media only screen and (min-width: 320px) and (max-width: 379.9px) {
#site-title-text-sm { /* "TFSci" */
display: inline-block;
}
}
@media only screen and (min-width: 380px) and (max-width: 459.9px) {
#site-title-text-md { /* "Transfem Sci" */
display: inline-block;
}
}
@media only screen and (min-width: 460px) {
#site-title-text-lg { /* "Transfeminine Science" */
display: inline-block;
}
}
#top-links, #top-buttons {
height: 100%;
display: flex; /* Needed to prevent unexplained space between children; see: https://stackoverflow.com/questions/19038799/why-is-there-an-unexplainable-gap-between-these-inline-block-div-elements */
align-items: center;
justify-content: center;
}
#top-buttons {
margin-left: 20px; /* To balance margin of logo/title block */
margin-right: 20px; /* To balance margin of logo/title block */
}
@media only screen and (min-width: 1150px) {
#top-buttons {
width: 250px;
}
}
@media only screen and (max-width: 899.9px) {
#top-buttons {
margin-left: 0px;
margin-right: 5px;
}
}
/* Add right/right padding on iOS devices to avoid overlay scrollbar interference with rightmost button */
/* Include left padding as well to keep sides balanced */
@supports (-webkit-touch-callout: none) {
@media only screen and (max-width: 899.9px) {
#header-subcontainer {
padding-left: 10px;
padding-right: 10px;
}
#top-buttons {
margin-left: 0px;
margin-right: 0px;
}
}
}
.top-link {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
font-size: 16px;
/*color: var(--top-link-font-color);*/
color: var(--link-color);
padding-left: 17px;
padding-right: 17px;
cursor: pointer;
text-decoration: none;
transition: font-size 200ms;
}
@media only screen {
html[data-persistent-header-toggle-no-transition]:not([data-persistent-header-hidden]) .top-link {
transition: none;
}
html[data-persistent-header-toggle-no-transition][data-persistent-header-hidden] .top-link {
transition-delay: 200ms;
}
}
.top-link:active {
background-color: var(--top-link-background-color-hover);
color: var(--link-color);
}
@media only screen and (min-width: 900px) {
.top-link:hover {
background-color: var(--top-link-background-color-hover);
color: var(--link-color);
}
}
@media only screen and (min-width: 900px) {
html[data-header-persistent]:not([data-persistent-header-hidden]) .top-link {
font-size: 15px;
}
}
.top-button {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
width: 44px; /* Padding-inclusive (24px) */
padding-left: 12px;
padding-right: 12px;
cursor: pointer;
fill: var(--button-icon-fill-color);
color: var(--button-icon-fill-color); /* Needed for mobile menu button */
}
@media only screen and (max-width: 899.9px) {
.top-button {
width: 40px; /* Padding-inclusive (18px) */
padding-left: 9px;
padding-right: 9px;
}
}
.top-button:active, #menu-button-mobile-menu {
fill: var(--button-icon-fill-color-hover);
color: var(--button-icon-fill-color-hover); /* Needed for mobile menu button */
}
@media only screen and (min-width: 900px) {
.top-button:hover {
fill: var(--button-icon-fill-color-hover);
color: var(--button-icon-fill-color-hover); /* Needed for mobile menu button */
}
}
#theme-button-light-svg {
display: inline-block;
}
#theme-button-dark-svg {
display: none;
}
@media only screen {
html[data-theme='dark'] #theme-button-dark-svg {
display: inline-block;
}
html[data-theme='dark'] #theme-button-light-svg {
display: none;
}
}
.top-button-svg {
height: 24px;
transition: height 200ms;
pointer-events: none;
}
@media only screen {
html[data-persistent-header-toggle-no-transition]:not([data-persistent-header-hidden]) .top-button-svg {
transition: none;
}
html[data-persistent-header-toggle-no-transition][data-persistent-header-hidden] .top-button-svg {
transition-delay: 200ms;
}
}
@media only screen and (min-width: 900px) {
html[data-header-persistent]:not([data-persistent-header-hidden]) .top-button-svg {
height: 18px;
}
html[data-header-persistent]:not([data-persistent-header-hidden]) #search-button .top-button-svg {
height: 22px;
}
html[data-header-persistent]:not([data-persistent-header-hidden]) #toc-button-mobile .top-button-svg {
height: 15px;
}
}
@media only screen and (max-width: 899.9px) {
html[data-no-contents-sidebar] #toc-button-mobile {
display: none;
}
}
@media only screen and (min-width: 900px) {
html[data-no-contents-sidebar] #toc-button-mobile {
visibility: hidden;
pointer-events: none;
}
}
@media only screen and (min-width: 900px) {
#menu-button-mobile-menu {
display: none;
}
}
@media only screen and (max-width: 899.9px) {
#top-links {
display: none;
}
}
#mobile-menu {
width: 100%;
height: 0px;
background-color: var(--header-footer-background-color-mobile);
display: none;
transition: height 200ms;
}
@media only screen and (max-width: 899.9px) {
#mobile-menu {
display: block;
}
html[data-mobile-menu-open] #mobile-menu {
height: var(--mobile-menu-height);
}
}
#top-links-mobile {
display: flex;
align-items: center;
height: var(--mobile-menu-height);
}
@media only screen and (max-width: 899.9px) {
.top-link {
color: var(--link-color);
}
}
@media only screen and (max-width: 499.9px) {
.top-link {
font-size: 15.5px;
}
}
#hide-persistent-header-button {
display: none;
width: 40px;
cursor: pointer;
align-items: center;
justify-content: center;
padding-left: 0px;
padding-right: 0px;
opacity: 0;
transition: opacity 200ms;
pointer-events: none;
}
@media only screen and (min-width: 900px) {
html[data-header-persistent] #hide-persistent-header-button {
display: flex;
opacity: 1;
pointer-events: auto;
}
html[data-header-persistent][data-persistent-header-hidden] #hide-persistent-header-button {
opacity: 0;
pointer-events: none;
}
}
@media only screen and (min-width: 1150px) {
html[data-header-persistent] #hide-persistent-header-button {
position: absolute;
top: 0px;
right: 20px;
}
}
@media only screen and (max-width: 1149.9px) {
#hide-persistent-header-button {
display: flex;
}
}
@media only screen and (max-width: 899.9px) {
#hide-persistent-header-button {
display: none;
}
}
#restore-persistent-header-button {
height: calc(var(--header-height-persistent)); /* Will always be this since only shows on persistent header */
width: 40px;
position: fixed;
top: var(--google-translate-bar-height);
right: 20px;
cursor: pointer;
align-items: center;
justify-content: center;
padding-left: 0px;
padding-right: 0px;
opacity: 0;
pointer-events: none;
transition: opacity 200ms;
}
@media only screen and (min-width: 900px) {
html[data-header-persistent][data-persistent-header-hidden] #restore-persistent-header-button {
opacity: 1;
pointer-events: auto;
}
}
@media only screen and (max-width: 899.9px) {
#restore-persistent-header-button {
display: none;
}
}
#hide-persistent-header-button-svg {
transform: rotate(270deg);
/* fill: var(--sidebar-button-icon-fill-color); */
pointer-events: none;
}
#restore-persistent-header-button-svg {
transform: rotate(90deg);
fill: var(--sidebar-button-icon-fill-color);
pointer-events: none;
}
#hide-persistent-header-button:active #hide-persistent-header-button-svg {
fill: var(--button-icon-fill-color-hover);
}
@media only screen and (min-width: 900px) {
#hide-persistent-header-button:hover #hide-persistent-header-button-svg {
fill: var(--button-icon-fill-color-hover);
}
}
#restore-persistent-header-button:active #restore-persistent-header-button-svg {
fill: var(--button-icon-fill-color-hover);
}
@media only screen and (min-width: 900px) {
#restore-persistent-header-button:hover #restore-persistent-header-button-svg {
fill: var(--button-icon-fill-color-hover);
}
}
/* Middle section */
#mid-section {
width: 100%;
margin-top: calc(var(--header-height) + var(--google-translate-bar-height));
transition: margin-top 200ms;
}
@media only screen {
/*html[data-header-persistent] #mid-section {
margin-top: calc(var(--header-height-persistent) + var(--google-translate-bar-height));
}
html[data-header-persistent][data-persistent-header-hidden] #mid-section {
margin-top: calc(var(--google-translate-bar-height));
}*/
}
@media only screen and (max-width: 899.9px) {
#mid-section {
margin-top: calc(var(--header-height-mobile) + var(--google-translate-bar-height));
}
/*html[data-header-persistent] #mid-section {
margin-top: calc(var(--header-height-persistent-mobile) + var(--google-translate-bar-height));
}*/
html[data-mobile-menu-open] #mid-section {
margin-top: calc(var(--header-height-mobile) + var(--mobile-menu-height) + var(--google-translate-bar-height));
}
/*html[data-header-persistent][data-mobile-menu-open] #mid-section {
margin-top: calc(var(--header-height-persistent-mobile) + var(--mobile-menu-height) + var(--google-translate-bar-height));
}*/
}
/* Sidebar */
#sidebar {
position: fixed;
z-index: 9999;
width: 0px;
display: inline-block;
left: 0px;
top: calc(var(--header-height) + var(--google-translate-bar-height));
bottom: 0;
background-color: var(--background-color);
border-right: var(--layout-border-style);
overflow-x: hidden;
overflow-y: auto;
overscroll-behavior: contain;
scrollbar-gutter: stable;
-webkit-user-select: none;
user-select: none;
transition: width 150ms, height 150ms, top 150ms;
scrollbar-color: var(--scrollbar-thumb-color) var(--background-color); /* Set scrollbar color Firefox, Chrome (≥v121) */
}
#sidebar {
scrollbar-width: none; /* Hide scrollbar Firefox, Chrome (≥v121) */
}
/* Hide scrollbar Chrome (<v121) */
#sidebar::-webkit-scrollbar {
width: 0px;
}
@media only screen and (min-width: 900px) {
/* Show scrollbar Firefox, Chrome (≥v121) */
#sidebar:hover {
scrollbar-width: thin;
}
/* Show scrollbar Chrome (<v121) */
#sidebar:hover::-webkit-scrollbar {
width: 5px;
}
}
#sidebar-button-standalone {
top: calc(var(--header-height) + var(--google-translate-bar-height));
}
@media only screen {
html[data-sidebar-open] #sidebar-button-standalone {
pointer-events: none; /* Do things this way to avoid flicker between button swaps */
}
}
@media only screen and (max-width: 899.9px) {
#sidebar-button-standalone {
display: none;
}
}
@media only screen {
html[data-sidebar-open] #sidebar {
width: var(--sidebar-width);
/* box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25); */
}
}
@media only screen and (min-width: 1700px) {
html[data-sidebar-open] #sidebar {
width: var(--sidebar-width-wide);
}
}
@media only screen and (max-width: 899.9px) {
#sidebar {
border-right: none;
/* box-shadow: 1px 0px 0px 0px rgba(0, 0, 0, 0.15); */ /* Border right */
transition: width 150ms, height 150ms, top 150ms;
}
html[data-sidebar-open] #sidebar {
width: 100%;
/* box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25); */
/* border-right: solid 1px rgba(0, 0, 0, 0.15); */
}
html[data-sidebar-slide-transition-disable] #sidebar {
transition: width 0ms, height 150ms, top 150ms;
}
}
@media only screen {
html[data-header-persistent] #sidebar,
html[data-header-persistent] #sidebar-button-standalone {
top: calc(var(--header-height-persistent) + var(--google-translate-bar-height));
}
}
@media only screen and (min-width: 900px) {
html[data-header-persistent][data-persistent-header-hidden] #sidebar,
html[data-header-persistent][data-persistent-header-hidden] #sidebar-button-standalone {
top: var(--google-translate-bar-height);
}
}
@media only screen and (max-width: 899.9px) {
#sidebar {
top: calc(var(--header-height-mobile) + var(--google-translate-bar-height));
}
html[data-header-persistent] #sidebar {
top: calc(var(--header-height-persistent-mobile) + var(--google-translate-bar-height));
}
html[data-mobile-menu-open] #sidebar {
top: calc(var(--header-height-mobile) + var(--mobile-menu-height) + var(--google-translate-bar-height));
}
html[data-header-persistent][data-mobile-menu-open] #sidebar {
top: calc(var(--header-height-persistent-mobile) + var(--mobile-menu-height) + var(--google-translate-bar-height));
}
}
#sidebar-subcontainer {
width: var(--sidebar-width);
padding-top: 25px;
padding-bottom: 35px;
padding-left: 20px;
padding-right: 20px;
}
@media only screen and (min-width: 1700px) {
html[data-sidebar-open] #sidebar-subcontainer {
width: var(--sidebar-width-wide);
}
}
@media only screen and (max-width: 899.9px) {
#sidebar-subcontainer {
width: 100vw;
padding-top: 25px;
padding-bottom: 35px;
padding-left: 15px;
padding-right: 15px;
}
}
#sidebar-title-container {
height: 50px;
display: flex;
align-items: center;
}
.sidebar-button {
padding: 14px;
cursor: pointer;
margin-left: -10px;
-webkit-touch-callout: none;
-webkit-user-select: none;
user-select: none;
transition: top 200ms;
}
/* Fix positioning on Firefox only */
@-moz-document url-prefix() {
.sidebar-button {
margin-top: -0.5px;
}
}
#sidebar-button-standalone {
position: fixed;
left: 20px;
margin-top: 25px; /* ~25px (sidebar padding-top) */
}
/* Fix positioning on Firefox only */
@-moz-document url-prefix() {
#sidebar-button-standalone {
margin-top: 25px;
}
}
.sidebar-button-icon {
fill: var(--sidebar-button-icon-fill-color);
pointer-events: none;
}
.sidebar-button:active .sidebar-button-icon {
fill: var(--button-icon-fill-color-hover);
}
@media only screen and (min-width: 900px) {
.sidebar-button:hover .sidebar-button-icon {
fill: var(--button-icon-fill-color-hover);
}
}
/* Fix SVG icon positioning... */
.sidebar-button-icon-svg {
margin-top: 3px;
margin-left: 2px;
pointer-events: none;
}
@media only screen and (max-width: 899.9px) {
.sidebar-button {
display: none;
}
}
#sidebar-title {
font-size: 21px;
color: var(--article-heading-font-color);
}
@media only screen and (max-width: 899.9px) {
#sidebar-title {
font-size: 24px;
margin-top: -15px; /* Hack for now to fix positioning on this on mobile (to-do: fix/change?) */
margin-left: 5px;
}
}
@media only screen and (max-width: 499.9px) {
#sidebar-title {
font-size: 28px;
}
}
#sidebar-contents {
font-size: 14px;
line-height: 1.4;
}
@media only screen and (max-width: 899.9px) {
#sidebar-contents {
font-size: 15px;
}
}
@media only screen and (max-width: 499.9px) {
#sidebar-contents {
font-size: 16px;
}
}
@media only screen {
html[data-sidebar-open] #sidebar-title {
display: inline-block;
}
}
#sidebar-contents a {
color: var(--article-font-color);
text-decoration: none;
padding: 5px 5px 5px 5px;
display: block;
scroll-margin: calc((100vh - var(--header-height) - var(--google-translate-bar-height)) / 2); /* Padding when scrolling */
}
@media only screen and (max-width: 899.9px) {
#sidebar-contents a {
scroll-margin: calc((100vh - var(--header-height-mobile) - var(--google-translate-bar-height)) / 2); /* Padding when scrolling */
}
html[data-mobile-menu-open] #sidebar-contents a {
scroll-margin: calc((100vh - var(--header-height-mobile) - var(--mobile-menu-height) - var(--google-translate-bar-height)) / 2); /* Padding when scrolling */
}
}
#sidebar-contents a:active, #sidebar-contents a.active-section {
color: var(--sidebar-item-font-color-hover);
background-color: var(--sidebar-item-background-color-hover);
border-radius: 3px;
}
@media only screen and (min-width: 900px) {
#sidebar-contents a:hover {
color: var(--sidebar-item-font-color-hover);
background-color: var(--sidebar-item-background-color-hover);
border-radius: 3px;
}
}
@media only screen and (max-width: 899.9px) {
#sidebar-contents a {
padding: 10px 5px 10px 5px;
}
}
.toc-h1, .toc-h2 {
padding-left: 0px;
}
.toc-h3, .toc-h4, .toc-h5, .toc-h6 {
padding-left: 10px;
}
html[data-no-contents-sidebar] #sidebar,
html[data-no-contents-sidebar] #sidebar-button-standalone {
display: none;
}
/* Main area and article */
#main-area {
width: 100%;
min-height: calc(100vh - var(--header-height) - var(--google-translate-bar-height) - var(--footer-height)); /* Get footer at bottom */
display: block;
padding-top: 25px;
padding-bottom: 25px;
padding-left: 50px;
padding-right: 50px;
/* overflow-x: scroll; */
overflow-x: auto; /* Hide scrollbar in Firefox when not needed */
transition: width 150ms, min-height 150ms, margin-left 150ms;
}
@media only screen and (max-width: 899.9px) {
#main-area {
min-height: calc(100vh - var(--header-height-mobile) - var(--google-translate-bar-height) - var(--footer-height)); /* Get footer at bottom */
padding: 15px;
}
html[data-mobile-menu-open] #main-area {
min-height: calc(100vh - var(--header-height) - var(--mobile-menu-height) - var(--google-translate-bar-height) - var(--footer-height)); /* Get footer at bottom */
}
}
@media only screen and (min-width: 900px) {
html[data-sidebar-open]:not([data-no-contents-sidebar]) #main-area {
width: calc(100% - var(--sidebar-width));
margin-left: var(--sidebar-width);
}
}
@media only screen and (min-width: 1700px) {
html[data-sidebar-open]:not([data-no-contents-sidebar]) #main-area {
width: calc(100% - var(--sidebar-width-wide));
margin-left: var(--sidebar-width-wide);
}
}
#article {
margin: 0 auto;
max-width: var(--article-width);
height: 100%;
}
@media only screen and (max-width: 899.9px) {
#article {
width: 100%;
}
}
@media only screen and (min-width: 1700px) {
#article {
max-width: var(--article-width-wide);
}
}
/* Footer */
#footer {
width: 100%;
height: var(--footer-height);
padding: 5px;
border-top: var(--layout-border-style);
display: block;
-webkit-touch-callout: none;
-webkit-user-select: none;
user-select: none;
}
#footer-subcontainer {
height: 100%;
font-size: 12px;
color: var(--footer-font-color);
display: flex;
align-items: center;
justify-content: center;
}
@media only screen and (max-width: 499.9px) {
#footer-subcontainer {
font-size: 11px;
}
}
.footer-divider {
margin-left: 12px;
margin-right: 9px;
}
@media only screen and (max-width: 899.9px) {
#footer {
border-top: none;
background-color: var(--header-footer-background-color-mobile);
}
}
@media only screen and (min-width: 900px) {
html[data-sidebar-open]:not([data-no-contents-sidebar]) #footer {
width: calc(100% - var(--sidebar-width));
margin-left: var(--sidebar-width);
}
}
@media only screen and (min-width: 1700px) {
html[data-sidebar-open]:not([data-no-contents-sidebar]) #footer {
width: calc(100% - var(--sidebar-width-wide));
margin-left: var(--sidebar-width-wide);
}
}
#social-media-buttons a {
text-decoration: none;
display: inline-block;
padding-top: 6px;
padding-bottom: 6px;
padding-left: 4px;
padding-right: 4px;
}
#social-media-buttons a svg {
vertical-align: middle;
fill: var(--footer-button-colors);
}
#social-media-buttons > span:hover { cursor: pointer; }
#social-media-buttons > span#facebook-button:hover > a > svg { fill: #3B5998; }
#social-media-buttons > span#twitter-button:hover > a > svg { fill: #55ACEE; }
#social-media-buttons > span#reddit-button:hover > a > svg { fill: #ff4500; }
#social-media-buttons > span#rss-feed-button:hover > a > svg { fill: #f99839; }
#social-media-buttons > span#facebook-button > a > svg { height: 16px; }
#social-media-buttons > span#twitter-button > a > svg { height: 18px; }
#social-media-buttons > span#reddit-button > a > svg { height: 16px; }
#social-media-buttons > span#rss-feed-button > a > svg { height: 15px; }
/* Scrollbar */
::-webkit-scrollbar {
background-color: var(--background-color);
border: none;
width: 8px;
height: 8px;
}
::-webkit-scrollbar-thumb {
background-color: var(--scrollbar-thumb-color);
border: 1px solid var(--scrollbar-thumb-color);
}
::-webkit-scrollbar-thumb:hover {
background-color: var(--scrollbar-thumb-color-hover);
box-shadow: inset 0px 0px 3px 0px rgba(0, 0, 0, 0.2);
border: none;
}