2023-09-29 12:56:26 -05:00
/* 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 ;
2024-02-24 01:00:32 +00:00
scrollbar-color : var ( --scrollbar-thumb-color ) var ( --background-color ) ; /* Set scrollbar color Firefox, Chrome (≥v121) */
2023-09-29 12:56:26 -05:00
}
# sidebar {
2024-02-24 01:00:32 +00:00
scrollbar-width : none ; /* Hide scrollbar Firefox, Chrome (≥v121) */
2023-09-29 12:56:26 -05:00
}
2024-02-24 01:00:32 +00:00
/* Hide scrollbar Chrome (<v121) */
2023-09-29 12:56:26 -05:00
# sidebar :: -webkit-scrollbar {
width : 0px ;
}
@ media only screen and ( min-width : 900px ) {
2024-02-24 01:00:32 +00:00
/* Show scrollbar Firefox, Chrome (≥v121) */
2023-09-29 12:56:26 -05:00
# sidebar : hover {
scrollbar-width : thin ;
}
2024-02-24 01:00:32 +00:00
/* Show scrollbar Chrome (<v121) */
2023-09-29 12:56:26 -05:00
# 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 : 16 px ; }
# social-media-buttons > span # twitter-button > a > svg { height : 18 px ; }
# social-media-buttons > span # reddit-button > a > svg { height : 16 px ; }
# social-media-buttons > span # rss-feed-button > a > svg { height : 15 px ; }
/* 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 ;
}