LƯU Ý:
Đây là trang component được sử dụng nội bộ bởi Wiki SCP-VN. Trang này được tạo để sử dụng và thêm vào các trang khác.
What this does
Makes the sidebar hidden by default and toggled via a corner button, similar to the mobile version of the site.
- Does NOT work on Sigma-9. This ONLY functions with Black Highlighter.
- Use this component by EstrellaYoshte instead if you intend to use Sigma-9.
- If you prefer, there is also a Collapsible Sidebar that functions on both BHL and Sigma-9.
The collapsible sidebar functions via hovering rather than clicking and is slightly more visible than the Toggle Sidebar.
How to use
1. Copy code below.
2. Paste in article after Black Highlighter and any other Theme include.
[[include :scp-wiki:component:toggle-sidebar-bhl]]
3. (Optional) Style toggle button if using a theme.
There are also 5 CSS Vars available to style the button if needed.
For the colors, it is heavily suggested that you use the available BHL Color Vars which can be found here.
:root {
--toggle-button-bg: hex/rgb/hsl color;
--toggle-border-color: hex/rgb/hsl color;
--toggle-border-width: px/rem/em;
--toggle-icon-color: hex/rgb/hsl color;
--toggle-roundness: percentage;
}
@supports(display: grid) { :root { --sidebar-width-on-desktop: calc((var(--base-font-size) * (14 / 15)) * 19); --body-width-on-desktop: 45.75rem; } @media only screen and (min-width: 769px) { #side-bar .close-menu { display: block; position: fixed; top: 0.5rem; left: 0.5rem; width: 3rem; height: 3rem; opacity: 1; pointer-events: all; z-index: -1; } #side-bar .close-menu img { color: transparent; } #side-bar .close-menu::before, #side-bar .close-menu::after { content: ""; box-sizing: border-box; position: fixed; display: block; top: 0.5rem; left: 0.5rem; width: 3rem; height: 3rem; padding: 0; margin: 0; text-align: center; pointer-events: all; cursor: pointer; transition: opacity var(--sidebar-transition-timing); } #side-bar .close-menu::before { --mask:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' id='Hamburger' x='0' y='0' baseProfile='tiny' overflow='visible' version='1.2' viewBox='0 0 32 32' xml:space='preserve'%3E%3Cpath d='M4 10h24c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2s.9 2 2 2zm24 4H4c-1.1 0-2 .9-2 2s.9 2 2 2h24c1.1 0 2-.9 2-2s-.9-2-2-2zm0 8H4c-1.1 0-2 .9-2 2s.9 2 2 2h24c1.1 0 2-.9 2-2s-.9-2-2-2z'/%3E%3C/svg%3E"); z-index: -1; background-color: var(--toggle-icon-color, rgb(var(--sidebar-links-text))) !important; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: 50% 50%; mask-position: 50% 50%; -webkit-mask-size: 60%; mask-size: 60%; } #side-bar .close-menu::after { z-index: -2; background-color: var(--toggle-button-bg, rgb(var(--sidebar-bg-color))) !important; border-radius: var(--toggle-roundness, 50%); border: var(--toggle-border-color, rgb(var(--sidebar-links-text))) var(--toggle-border-width, 0.25rem) solid; } #side-bar:focus-within .close-menu, #side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu { pointer-events: none; } #side-bar:focus-within .close-menu::before, #side-bar:focus-within .close-menu::after { opacity: 0; pointer-events: none; } #side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu::before, #side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu::after { opacity: 0; pointer-events: none; } #side-bar { display: block; position: fixed; top: 0; left: calc(var(--sidebar-width-on-desktop)*-1); z-index: 10; transition: left 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms; height: 100%; overflow-y: auto; overflow-x: hidden; margin-top: 0; } #side-bar:focus-within { left: 0; } #side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover { left: 0; } #side-bar .side-block { margin-top: 1rem; background-color: rgb(0, 0, 0, 0); border-radius: 0; border-left-width: 0px; border-right-width: 0px; } #main-content::before { content: ""; display: block; position: fixed; top: 0; right: 0; z-index: -1; opacity: 0; transition: opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms, width 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms; margin-left: var(--sidebar-width-on-desktop); background: rgba(var(--swatch-menubg-black-color), .3) 1px 1px repeat; padding-right: 0; width: 100%; height: 100vh; pointer-events: none; z-index: 99; } #side-bar:focus-within ~ #main-content::before { width: calc(100% - var(--sidebar-width-on-desktop)); opacity: 1; pointer-events: all; } #side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover ~ #main-content::before { width: calc(100% - var(--sidebar-width-on-desktop)); opacity: 1; pointer-events: all; } @supports (-moz-appearance:none) and (background-attachment:local) and (not (-moz-osx-font-smoothing:auto)) { #side-bar { padding: inherit; } } #content-wrap { display: flex; flex-direction: row; width: calc(100vw - (100vw - 100%)); min-height: calc(100vh - calc(var(--final-header-height-on-desktop, 10.125rem))); flex-grow: 2; height: auto; position: relative; margin: 0 auto; max-width: inherit; } #main-content { width: 100%; position: initial; max-height: 100%; padding: 2rem 1rem; width: var(--body-width-on-desktop, 45.75rem); max-width: var(--body-width-on-desktop, 45.75rem); margin: 0 auto; } #page-content { max-width: min(90vw, var(--body-width-on-desktop, 45.75rem)); } @supports (-webkit-hyphens:none) { #side-bar { transition: left 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms, padding-right 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms, background-color 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms; padding-right: 0; background-color: rgb(0, 0, 0, 0); pointer-events: all; overflow-x: visible; overflow-y: visible; z-index: 999; } #side-bar::-webkit-scrollbar { opacity: 0; -webkit-transition: opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms; transition: opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms; } #side-bar .close-menu::before { z-index: 999; } #side-bar .close-menu::after { z-index: 998; } #side-bar:hover .close-menu::before, #side-bar:hover .close-menu::after { opacity: 0; } #side-bar:hover { left: 0; background-color: rgba(var(--swatch-menubg-color), 1); padding-right: 0; } #side-bar:hover::-webkit-scrollbar { opacity: 1; } #side-bar:hover~#main-content::before { width: calc(100% - var(--sidebar-width-on-desktop)); opacity: 1; pointer-events: all; } } } }
This is a component that animates the ACS header upon loading.
How to use:
Put this in anywhere in the article:
[[include :scp-wiki:component:acs-animation]]
And you're done!
Example: SCP-5935
Note:
- Two variables, --timeScale and --timeDelay, control the timings of the animation. For example:
[[module CSS]]
:root {
--timeScale: 2;
--timeDelay: 0.5s;
}
[[/module]]
--timeScale slows down the entire animation by a factor of 2, and --timeDelay delays the starting point of the animation by half a second. Default values are 1 and 0s, respectively.
To change the default values, put the above after the [[include]]. --timeDelay is recommended if the ACS isn't the first content element, or you're using it in conjunction with other animation modules (a la component:fade-in.)
- Likely incompatible with other types of ACS headers*.
*To use with PeppersGhost's ACS Lite, add the following patch after the [[include]]:
[[module CSS]]
/*-- ACS Lite Animation Compatibility Patch --*/
.anom-bar > .bottom-box::before { display: none; }
.anom-bar > .bottom-box { box-shadow: none!important; }
div.diamond-part { clip-path: none; animation: none; box-shadow: none!important; }
@media (max-width: 480px) {
div.top-right-box { clip-path: polygon(0% -30%, 100% -30%, 100% 130%, 0% 130%); }
}
[[/module]]
- Inspired by the works of AnAnomalousWriter.
Source Code:
:root { --timeScale: 1; --timeDelay: 0s; } /* Converting middle divider from box-shadow to ::before pseudo-element */ .anom-bar > div.bottom-box { box-shadow: none; position: relative; } .anom-bar > div.bottom-box::before { position: absolute; content: " "; width: 100%; height: 0.5rem; bottom: 100%; left: 0; background-color: rgb(var(--swatch-menubg-black-color, 12, 12, 12)); } /* DIVIDER */ .anom-bar > .bottom-box::before { animation-name: divider; animation-duration: calc(0.74s * var(--timeScale)); animation-delay: calc(0.1s * var(--timeScale) + var(--timeDelay)); animation-iteration-count: 1; animation-timing-function: cubic-bezier(.32,.38,.39,.94); animation-fill-mode: backwards; } /* CLASSIFIED LEVEL BARS */ div.top-center-box > * { animation-name: bar; animation-duration: calc(0.45s * var(--timeScale)); animation-iteration-count: 1; animation-timing-function: ease-out; animation-fill-mode: backwards; } div.top-center-box > :nth-child(1) { animation-delay: calc(0.2s * var(--timeScale) + var(--timeDelay)); } div.top-center-box > :nth-child(2) { animation-delay: calc(0.32s * var(--timeScale) + var(--timeDelay)); } div.top-center-box > :nth-child(3) { animation-delay: calc(0.45s * var(--timeScale) + var(--timeDelay)); } div.top-center-box > :nth-child(4) { animation-delay: calc(0.61s * var(--timeScale) + var(--timeDelay)); } div.top-center-box > :nth-child(5) { animation-delay: calc(0.75s * var(--timeScale) + var(--timeDelay)); } div.top-center-box > :nth-child(6) { animation-delay: calc(0.95s * var(--timeScale) + var(--timeDelay)); } /* TOP TEXT */ div.top-left-box, div.top-right-box { clip-path: polygon( 0% -50%, 150% -50%, 150% 100%, 0% 100%); } div.top-left-box > *, div.top-right-box > * { position: relative; animation-name: bottomup; animation-duration: calc(0.65s * var(--timeScale)); animation-delay: calc(0.5s * var(--timeScale) + var(--timeDelay)); animation-iteration-count: 1; animation-timing-function: ease-out; animation-fill-mode: backwards; } /*-----------------------------------*/ /*-----------------------------------*/ /* CONTAINMENT, DISRUPTION, RISK CLASSES */ div.text-part > * { clip-path: polygon( 0% 0%, 100% 0%, 100% 100%, 0% 100%); animation-name: expand2; animation-duration: calc(0.5s * var(--timeScale)); animation-iteration-count: 1; animation-timing-function: cubic-bezier(.12,.41,.27,.99); animation-fill-mode: backwards; } div.text-part > :nth-child(1) { animation-name: expand1; } div.text-part > :nth-child(1) { animation-delay: calc(0.6s * var(--timeScale) + var(--timeDelay)); } div.text-part > :nth-child(2) { animation-delay: calc(0.75s * var(--timeScale) + var(--timeDelay)); } div.text-part > :nth-child(3) { animation-delay: calc(0.86s * var(--timeScale) + var(--timeDelay)); } div.main-class::before, div.main-class::after { animation-name: iconslide; animation-duration: calc(0.45s * var(--timeScale)); animation-delay: calc(0.8s * var(--timeScale) + var(--timeDelay)); animation-iteration-count: 1; animation-timing-function: cubic-bezier(.12,.41,.27,.99); animation-fill-mode: backwards; } /* BOTTOM TEXT */ div.main-class > *, div.disrupt-class > *, div.risk-class > * { white-space: nowrap; animation-name: flowIn; animation-duration: calc(0.42s * var(--timeScale)); animation-delay: calc(0.75s * var(--timeScale) + var(--timeDelay)); animation-iteration-count: 1; animation-timing-function: ease-out; animation-fill-mode: backwards; } /*-----------------------------------*/ /*-----------------------------------*/ /* DIAMOND */ div.arrows { animation-name: arrowspin; animation-duration: calc(0.65s * var(--timeScale)); animation-delay: calc(0.55s * var(--timeScale) + var(--timeDelay)); animation-iteration-count: 1; animation-timing-function: cubic-bezier(.12,.41,.27,.99); animation-fill-mode: backwards; } div.quadrants > * { animation-name: fade; animation-duration: calc(0.3s * var(--timeScale)); animation-delay: calc(1.4s * var(--timeScale) + var(--timeDelay)); animation-iteration-count: 1; animation-timing-function: cubic-bezier(.12,.41,.27,.99); animation-fill-mode: backwards; } div.top-icon, div.right-icon, div.left-icon, div.bottom-icon { animation-name: nodegrow; animation-duration: calc(0.4s * var(--timeScale)); animation-delay: calc(1.4s * var(--timeScale) + var(--timeDelay)); animation-iteration-count: 1; animation-timing-function: cubic-bezier(.12,.41,.27,.99); animation-fill-mode: backwards; } .bottom-box > div.diamond-part { box-shadow: none; } .bottom-box > div.diamond-part::before { content: ""; position: absolute; width: 0.5rem; height: 100%; top: 0; right: 100%; background-color: rgb(var(--swatch-menubg-black-color, 12, 12, 12)); animation-name: diamondBorder; animation-duration: calc(0.475s * var(--timeScale)); animation-delay: calc(0.775s * var(--timeScale) + var(--timeDelay)); animation-iteration-count: 1; animation-timing-function: cubic-bezier(.28,.72,.55,.91); animation-fill-mode: backwards; } /* MOBILE QUERY */ @media (max-width: 480px ) { .anom-bar > div.bottom-box { position: initial; } .anom-bar > div.bottom-box::before { bottom: initial; top: 40vw; } div.top-center-box > * { animation-name: bar-mobile; animation-duration: calc(0.9s * var(--timeScale)); } div.top-center-box > :nth-child(1) { animation-delay: calc(0.1s * var(--timeScale) + var(--timeDelay)); } div.top-center-box > :nth-child(2) { animation-delay: calc(0.2s * var(--timeScale) + var(--timeDelay)); } div.top-center-box > :nth-child(3) { animation-delay: calc(0.3s * var(--timeScale) + var(--timeDelay)); } div.top-center-box > :nth-child(4) { animation-delay: calc(0.4s * var(--timeScale) + var(--timeDelay)); } div.top-center-box > :nth-child(5) { animation-delay: calc(0.5s * var(--timeScale) + var(--timeDelay)); } div.top-center-box > :nth-child(6) { animation-delay: calc(0.6s * var(--timeScale) + var(--timeDelay)); } } /*--- Motion Accessibility ---*/ @media screen and (prefers-reduced-motion: reduce) { div.anom-bar-container { --timeScale: 0!important; } } /*-------------------------*/ @keyframes divider { from { max-width: 0%; } to { max-width: 100%; } } @keyframes bar { from { max-width: 0%; } to { max-width: 100%; } } @keyframes bar-mobile { from { max-height: 0%; } to { max-height: 100%; } } @keyframes bottomup { from { top: 100px; } to { top: 0; } } @keyframes expand1 { from { opacity: 0; clip-path: inset(0 calc(100% - 0.75rem) 0 0); } to { opacity: 1; clip-path: inset(0); } } @keyframes iconslide { from { opacity: 0; transform: translateX(-5rem); } to { opacity: 1; transform: translateX(0); } } @keyframes expand2 { from { opacity: 0; width: 1%; } to { opacity: 1; width: calc(100% - 0.25rem); } } @keyframes fade { from { opacity: 0; } to { opacity: 1; } } @keyframes flowIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes arrowspin { from { clip-path: circle(0%); transform: rotate(135deg); } to { clip-path: circle(75%); transform: rotate(0deg); } } @keyframes nodegrow { from { transform: scale(0);} to { transform: scale(1);} } @keyframes diamondBorder { from { height: 0; } to { height: 100%; } }
What this does
Makes the sidebar hidden by default and toggled via a corner button, similar to the mobile version of the site.
- Does NOT work on Sigma-9. This ONLY functions with Black Highlighter.
- Use this component by EstrellaYoshte instead if you intend to use Sigma-9.
- If you prefer, there is also a Collapsible Sidebar that functions on both BHL and Sigma-9.
The collapsible sidebar functions via hovering rather than clicking and is slightly more visible than the Toggle Sidebar.
How to use
1. Copy code below.
2. Paste in article after Black Highlighter and any other Theme include.
[[include :scp-wiki:component:toggle-sidebar-bhl]]
3. (Optional) Style toggle button if using a theme.
There are also 5 CSS Vars available to style the button if needed.
For the colors, it is heavily suggested that you use the available BHL Color Vars which can be found here.
:root {
--toggle-button-bg: hex/rgb/hsl color;
--toggle-border-color: hex/rgb/hsl color;
--toggle-border-width: px/rem/em;
--toggle-icon-color: hex/rgb/hsl color;
--toggle-roundness: percentage;
}
@supports(display: grid) { :root { --sidebar-width-on-desktop: calc((var(--base-font-size) * (14 / 15)) * 19); --body-width-on-desktop: 45.75rem; } @media only screen and (min-width: 769px) { #side-bar .close-menu { display: block; position: fixed; top: 0.5rem; left: 0.5rem; width: 3rem; height: 3rem; opacity: 1; pointer-events: all; z-index: -1; } #side-bar .close-menu img { color: transparent; } #side-bar .close-menu::before, #side-bar .close-menu::after { content: ""; box-sizing: border-box; position: fixed; display: block; top: 0.5rem; left: 0.5rem; width: 3rem; height: 3rem; padding: 0; margin: 0; text-align: center; pointer-events: all; cursor: pointer; transition: opacity var(--sidebar-transition-timing); } #side-bar .close-menu::before { --mask:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' id='Hamburger' x='0' y='0' baseProfile='tiny' overflow='visible' version='1.2' viewBox='0 0 32 32' xml:space='preserve'%3E%3Cpath d='M4 10h24c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2s.9 2 2 2zm24 4H4c-1.1 0-2 .9-2 2s.9 2 2 2h24c1.1 0 2-.9 2-2s-.9-2-2-2zm0 8H4c-1.1 0-2 .9-2 2s.9 2 2 2h24c1.1 0 2-.9 2-2s-.9-2-2-2z'/%3E%3C/svg%3E"); z-index: -1; background-color: var(--toggle-icon-color, rgb(var(--sidebar-links-text))) !important; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: 50% 50%; mask-position: 50% 50%; -webkit-mask-size: 60%; mask-size: 60%; } #side-bar .close-menu::after { z-index: -2; background-color: var(--toggle-button-bg, rgb(var(--sidebar-bg-color))) !important; border-radius: var(--toggle-roundness, 50%); border: var(--toggle-border-color, rgb(var(--sidebar-links-text))) var(--toggle-border-width, 0.25rem) solid; } #side-bar:focus-within .close-menu, #side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu { pointer-events: none; } #side-bar:focus-within .close-menu::before, #side-bar:focus-within .close-menu::after { opacity: 0; pointer-events: none; } #side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu::before, #side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu::after { opacity: 0; pointer-events: none; } #side-bar { display: block; position: fixed; top: 0; left: calc(var(--sidebar-width-on-desktop)*-1); z-index: 10; transition: left 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms; height: 100%; overflow-y: auto; overflow-x: hidden; margin-top: 0; } #side-bar:focus-within { left: 0; } #side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover { left: 0; } #side-bar .side-block { margin-top: 1rem; background-color: rgb(0, 0, 0, 0); border-radius: 0; border-left-width: 0px; border-right-width: 0px; } #main-content::before { content: ""; display: block; position: fixed; top: 0; right: 0; z-index: -1; opacity: 0; transition: opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms, width 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms; margin-left: var(--sidebar-width-on-desktop); background: rgba(var(--swatch-menubg-black-color), .3) 1px 1px repeat; padding-right: 0; width: 100%; height: 100vh; pointer-events: none; z-index: 99; } #side-bar:focus-within ~ #main-content::before { width: calc(100% - var(--sidebar-width-on-desktop)); opacity: 1; pointer-events: all; } #side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover ~ #main-content::before { width: calc(100% - var(--sidebar-width-on-desktop)); opacity: 1; pointer-events: all; } @supports (-moz-appearance:none) and (background-attachment:local) and (not (-moz-osx-font-smoothing:auto)) { #side-bar { padding: inherit; } } #content-wrap { display: flex; flex-direction: row; width: calc(100vw - (100vw - 100%)); min-height: calc(100vh - calc(var(--final-header-height-on-desktop, 10.125rem))); flex-grow: 2; height: auto; position: relative; margin: 0 auto; max-width: inherit; } #main-content { width: 100%; position: initial; max-height: 100%; padding: 2rem 1rem; width: var(--body-width-on-desktop, 45.75rem); max-width: var(--body-width-on-desktop, 45.75rem); margin: 0 auto; } #page-content { max-width: min(90vw, var(--body-width-on-desktop, 45.75rem)); } @supports (-webkit-hyphens:none) { #side-bar { transition: left 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms, padding-right 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms, background-color 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms; padding-right: 0; background-color: rgb(0, 0, 0, 0); pointer-events: all; overflow-x: visible; overflow-y: visible; z-index: 999; } #side-bar::-webkit-scrollbar { opacity: 0; -webkit-transition: opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms; transition: opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms; } #side-bar .close-menu::before { z-index: 999; } #side-bar .close-menu::after { z-index: 998; } #side-bar:hover .close-menu::before, #side-bar:hover .close-menu::after { opacity: 0; } #side-bar:hover { left: 0; background-color: rgba(var(--swatch-menubg-color), 1); padding-right: 0; } #side-bar:hover::-webkit-scrollbar { opacity: 1; } #side-bar:hover~#main-content::before { width: calc(100% - var(--sidebar-width-on-desktop)); opacity: 1; pointer-events: all; } } } }
What this does
Rearranges the header so that the titles and logos are centered
- Does NOT work on Sigma-9. This ONLY functions with Black Highlighter.
- Highly suggest using with either Collapsible Sidebar or Toggle Sidebar
How to use
1. Copy code below.
2. Paste in article after Black Highlighter and any other Theme include.
[[include :scp-wiki:component:centered-header-bhl]]
:root { /* header measurements */ --header-height-on-desktop: 10rem; --header-height-on-mobile: 10rem; --header-h1-font-size: clamp(2rem, 5vw, 2.8125rem); --header-h2-font-size: clamp(0.875rem, 3vw, 0.9375rem); --logo-image: url("https://nu-scptheme.github.io/Black-Highlighter/img/logo.svg"); } #header { --search-textbox-text-color: var(--swatch-secondary-color); background: none; } #header::before { content: " "; position: absolute; width: 100%; height: 100%; left: 0; top: 0.75rem; background-image: var(--logo-image); background-repeat: no-repeat; background-position: center 0; background-size: auto calc(var(--header-height-on-desktop) - 1.5rem); opacity: 0.8; pointer-events: none; } #header h1, #header h2 { margin: 0; padding: 0; width: 100%; height: var(--header-height-on-desktop); display: flex; align-items: center; justify-content: center; display: flex; align-items: center; justify-content: center; } #header h1 a, #header h1 a::before, #header h2 span, #header h2 span::before { margin: 0; padding: 0; z-index: 0; display: block; text-align: center; } #header h1 { z-index: 1; } #header h1 a::before, #header h1 a::after { content: var(--header-title); } #header h1 a::before { color: rgb(var(--swatch-text-tertiary-color)); z-index: -1; -webkit-text-stroke: 0.325rem rgb(var(--swatch-text-dark)); } #header h1 a::after { color: rgb(var(--swatch-headerh1-color)); z-index: 1; } #header h2 { z-index: 0; text-transform: uppercase; pointer-events: none; } #header h2 span { margin-top: calc(var(--header-height-on-mobile)/2 + var(--header-h1-font-size)/2 - 2em); } #header h2 span::before, #header h2 span::after { --wght: 600; content: var(--header-subtitle); position: absolute; left: 50%; transform: translateY(-50%) translateX(-50%); width: 100%; text-align: center; } #header h2 span::before { -webkit-text-stroke: 0.25rem rgb(var(--swatch-text-dark)); } #header h2 span::after { color: rgb(var(--swatch-headerh2-color)); z-index: 1; } #search-top-box form[id="search-top-box-form"]:not(:focus-within) input[type="text"] { color: rgba(0, 0, 0, 0); } @media (min-width: 36rem) { #login-status { flex-grow: 1; left: 3%; right: initial; } #login-status::before { --mask-image: none; background-color: transparent; } #login-status:not(:focus-within) { color: rgb(var(--login-line-divider-color)); -webkit-user-select: initial; -moz-user-select: initial; -ms-user-select: initial; user-select: initial; } #login-status #account-topbutton, #login-status:not(:focus-within) #account-topbutton { --clip-path: polygon( 0 0, 100% 0, 100% 100%, 0 100% ); background-color: rgba(var(--login-arrow-color), 0); } #login-status #account-topbutton::before{ --clip-path: polygon( 30% 35%, 70% 35%, 50% 60%, 50% 60% ); --mask-image: initial; content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(var(--login-arrow-color), 1); -webkit-clip-path: var(--clip-path); clip-path: var(--clip-path); } #login-status #account-topbutton::before, #login-status:not(:focus-within) #account-topbutton::before, #login-status:not(:focus-within) #account-topbutton:hover::before { --clip-path: polygon( 30% 35%, 70% 35%, 50% 60%, 50% 60% ); --mask-image: initial; } #login-status:not(:focus-within) #account-topbutton::after { display: none; } #login-status:not(:focus-within) *:not(#account-topbutton):not([href*="account/messages"]) { --clip-path: polygon( 0 0, 100% 0, 100% 100%, 0 100% ); pointer-events: all; -webkit-clip-path: var(--clip-path); clip-path: var(--clip-path); } #login-status:not(:focus-within) *:not(#account-topbutton):not(#account-options):not([href*="account/messages"]) { opacity: 1; } #login-status #my-account { --wght: 300; } #account-options { background: var(--gradient-header); } #search-top-box { top: 1.5em; right: 3%; background: rgba(var(--search-focus-textbox-bg-color), 0.4); box-shadow: calc(var(--search-height) / 2 * -1) 0 calc(var(--search-height) / 2) rgba(var(--search-focus-textbox-bg-color), 0.4); } #search-top-box:focus-within ~ #login-status { opacity: 1; } #search-top-box::after { transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1); transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1), clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1); transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1), clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1); } #search-top-box:not(:focus-within)::after { --clip-path: polygon( 0 0, 100% 0, 100% 100%, 0% 100% ); background-color: rgba(var(--search-icon-bg-color, --dark-accent), 1); -webkit-clip-path: var(--clip-path); clip-path: var(--clip-path); } #search-top-box:not(:focus-within):hover::after { --clip-path: polygon( 0 0, 100% 0, 100% 100%, 0 100% ); background-color: rgb(var(--search-icon-hover-bg-color)); } #search-top-box form[id="search-top-box-form"]:not(:focus-within) { max-width: var(--search-width); } #search-top-box form[id="search-top-box-form"]:not(:focus-within) input[type="text"] { max-width: var(--search-width); padding: 0 var(--search-height) 0 1em; outline-width: 0; background-color: rgb(var(--search-focus-textbox-bg-color), 0.35); color: rgba(var(--search-textbox-text-color), 0.4); cursor: pointer; } #search-top-box form[id="search-top-box-form"]:not(:focus-within) input[type="submit"], #search-top-box form[id="search-top-box-form"]:focus-within input[type="submit"] { pointer-events: all; border: none; } } #page-title::after, .meta-title::after, #page-title::before, .meta-title::before { content: ""; flex-grow: 1; height: 0.0625rem; background: rgb(var(--swatch-primary)); } #page-title::before, .meta-title::before { margin: auto 1.25rem auto auto; }
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Fira+Code&display=swap'); @supports(display: grid) { :root { /* S-CSS-P Integration */ /* If you're making a new CSS theme, please include the following three variables at minimum. */ --theme-base: "black-highlighter"; /* must be either "black-highlighter" or "sigma9" */ --theme-id: "penumbra-bhl"; /* set this to the URL of your theme's page - eg for "component:ar-theme", set it to "ar-theme" */ --theme-name: "Penumbra BHL Theme"; /* set this to your theme's full name */ --lgurl: var(--logo-image); --header-title: "TỔ CHỨC SCP"; --header-subtitle: "QUẢN THÚC - LƯU TRỮ - BẢO MẬT"; /* Typefaces */ --body-font: "Roboto", sans-serif; --header-font: "Josefin Sans", sans-serif; --title-font: "Josefin Sans", sans-serif; --mono-font: "Fira Code", "Andale Mono", "Courier New", Courier, monospace; --ui-wght: 600; --ui-hvr-wght: 800; /* Standard Colors */ --white-monochrome: 248, 248, 248; /* white */ --pale-gray-monochrome: 237, 237, 237; /* v light gray for blockquotes and stuff */ --light-pale-gray-monochrome: 237, 237, 237; /* very light pale gray for misc. use */ --very-light-gray-monochrome: 215, 215, 215; /* very light accent gray for misc. use */ --light-gray-monochrome: 160, 160, 160; /* light accent gray for login status */ --gray-monochrome: 66, 66, 72; /* gray */ --dark-gray-monochrome: 47, 51, 60; /* dark accent gray for sidebar background */ --black-monochrome: 33, 37, 46; /* black */ --accentColor: 30, 181, 232; /*Penumbra Accent Color*/ --pale-accent: var(--accentColor); /* light red, for visited links */ --bright-accent: var(--accentColor); /* bright red */ --medium-accent: var(--accentColor); /* medium red - the "default" accent color */ --dark-accent: var(--accentColor); /* dark red */ --alt-accent: 221, 102, 17; /* pale orange, for newpage links */ /* Background and Header Colors */ --background-gradient-color: var(--black-monochrome); /* Primary Theme Colors */ --swatch-background: var(--dark-gray-monochrome); /* Primary Text Colors */ --swatch-text-light: var(--pale-gray-monochrome); --swatch-text-general: var(--swatch-text-light); /* Primary Menu Colors */ --swatch-menubg-color: var(--black-monochrome); --swatch-menutxt-general-color: var(--swatch-menutxt-light-color); --swatch-alternate-color: var(--swatch-menubg-dark-color); /* Link Colors */ --sidebar-links-text: var(--bright-accent); /* Rating Module Colors */ --rating-module-button-color: var(--white-monochrome); --rating-module-text-color: var(--swatch-menutxt-light-color); /* Header Gradients */ --diagonal-stripes: initial; /* header measurements */ --header-height-on-desktop: 8.750rem; --header-height-on-mobile: 8.750rem; --header-h1-font-size: calc(2rem + (2.75 - 2) * ((100vw - 18.750rem) / (60 - 18.750))); --header-h2-font-size: calc(var(--base-font-size) * 1.15); /* Toggle Sidebar Variable */ --toggle-border-color: rgb(var(--swatch-primary)); --toggle-icon-color: rgb(var(--swatch-primary)); --toggle-roundness: 0; } /* ===PAGE ELEMENTS COLORS=== */ :root { /* ===UI BUTTON COLORS=== */ --ui-button-bg: var(--swatch-menubg-medium-dark-color); --ui-button-txt: var(--swatch-text-secondary-color); --ui-button-hover-txt: var(--swatch-text-secondary-color); /* ===MODALS COLORS=== */ --modal-bg: var(--black-monochrome); --modal-body-text: var(--swatch-text-secondary-color); --modal-body-header-txt: var(--swatch-primary); --modal-header-bg: var(--black-monochrome); /* ===FOOTNOTES HOVER BLOCK COLORS=== */ --hoverblock-bg: var(--swatch-menubg-medium-dark-color); --hoverblock-txt: var(--swatch-text-general); } #main-content { /* ===TABS===*/ --tabs-bg: var(--swatch-menubg-medium-dark-color); --tabs-content-bg-color: var(--swatch-menubg-medium-dark-color), 1; /* ===BLOCKQUOTES=== */ --blockquote-bg-color: var(--swatch-menubg-medium-dark-color), 1; } #header { /* Primary Header Colors */ --swatch-headerh1-color: var(--bright-accent); --swatch-headerh2-color: var(--bright-accent); } #footer { --footer-link-hover-color: var(--swatch-text-tertiary-color); } ::-moz-selection { background: rgba(var(--swatch-primary), 1); color: rgb(var(--black-monochrome)) !important; text-shadow: none; } ::selection { background: rgba(var(--swatch-primary), 1); color: rgb(var(--black-monochrome)) !important; text-shadow: none; } html, body { scrollbar-color: rgb(var(--swatch-primary)) rgb(var(--black-monochrome)); } body { background-image: var(--gradient-background); background-size: 100% var(--background-gradient-distance); } .danger-diamond a, .danger-diamond a:hover { color: rgba(0, 0, 0, 0) !important; box-shadow: initial !important; } #header::before { background-image: var(--lgurl); opacity: 0.15; background-size: auto 9.5rem; } #header h1 a { text-transform: uppercase; } #header h1, #header h1 a, #header h1 a::before { top: 0.35rem; } #header h2 { top: calc(var(--header-h2-font-size) * 0.9); } #side-bar .heading { background: none; flex-basis: 90%; margin: 0.5rem auto 0.125rem; font-family: var(--header-font); } #side-bar .heading p, #side-bar .side-block>.collapsible-block .collapsible-block-link { text-transform: none; text-align: left; font-size: 0.94rem; text-indent: 0; } #page-content { font-size: 0.9rem !important; } #page-title { color: rgb(var(--swatch-text-general)); border-color: rgb(var(--swatch-text-general)); padding: 0; } h1, h2, h3, h4, h5, h6 { color: rgb(var(--swatch-primary)); } h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: rgb(var(--white-monochrome)); } #login-status #my-account { --wght: 400; font-weight: 400; } #top-bar div.mobile-top-bar>ul>li>ul>li>a, #top-bar div.top-bar>ul>li>ul>li>a { --wght: 400; font-weight: 400; } #top-bar div.mobile-top-bar>ul>li>ul>li:hover a, #top-bar div.top-bar>ul>li>ul>li:hover a { color: rgb(var(--black-monochrome)); } #page-content a:not([href*="user"]):not([href*="javascript:;"]) { padding: 0.15em; margin: -0.15em; color: rgb(var(--white-monochrome)); -webkit-box-decoration-break: clone; box-decoration-break: clone; box-shadow: inset 0 -0.125rem 0 0rem rgba(var(--swatch-primary), 1); transition: box-shadow 300ms cubic-bezier(0.4, 0.0, 0.2, 1), color 300ms cubic-bezier(0.4, 0.0, 0.2, 1), padding 300ms cubic-bezier(0.4, 0.0, 0.2, 1), margin 300ms cubic-bezier(0.4, 0.0, 0.2, 1); } #page-content a:not([href*="user"]):not([href*="javascript:;"]):hover { padding: 0.3em 0.25em 0.2em 0.25em; margin: -0.25em; box-shadow: inset 0 -1.5em 0 0 rgba(var(--swatch-primary), 1); text-decoration: none; color: rgb(var(--black-monochrome)) } .page-rate-widget-box { background: rgb(var(--black-monochrome)); } /* Ayer's info-bar patch by Monkatraz */ #page-content .info-container .collapsible-block-folded, #page-content .info-container .collapsible-block-unfolded-link { width: 100%; max-width: 100%; margin: 0 auto; box-shadow: none; } #page-content .info-container .collapsible-block-link { padding: 0; } #page-content .info-container .collapsible-block-link::before, #page-content .info-container .collapsible-block-unfolded-link::before { content: " "; display: none; } #page-content .info-container .collapsible-block-content::after { display: none; } #u-author_block>p>a { background-color: rgb(var(--black-monochrome)); border-radius: 0; } :is(blockquote, .blockquote, div.blockquote, [class*="blockquote"]), #toc { background-color: rgb(var(--black-monochrome)); border: solid 0.125rem rgb(var(--dark-gray-monochrome)); box-shadow: -0.188rem 0rem 0rem -0.006rem rgb(var(--swatch-primary)); } .code { background-color: rgb(var(--black-monochrome)); border: solid 0.1875rem rgb(var(--dark-gray-monochrome)); box-shadow: none; } .code pre, .code p, .code { font-size: 0.87rem; background-color: rgb(var(--black-monochrome)); color: rgb(var(--swatch-text-general)); } .code pre { white-space: pre-wrap; } .code pre span[class*="hl-"] { -webkit-filter: invert(1) hue-rotate(180deg); filter: invert(1) hue-rotate(180deg); } #page-content .yui-navset .yui-nav { width: 100%; } #page-content .yui-navset .yui-nav a { transition: background-color 300ms cubic-bezier(0.4, 0.0, 0.2, 1); } #page-content .yui-navset .yui-nav li, #page-content .yui-navset .yui-navset-top .yui-nav li { box-shadow: initial; } #page-content .yui-navset .yui-nav li { background-color: rgb(var(--black-monochrome)); padding-top: 0.25em; -webkit-animation: tab-active 300ms cubic-bezier(0.4, 0.0, 0.2, 1); animation: tab-active 300ms cubic-bezier(0.4, 0.0, 0.2, 1); -webkit-animation-iteration-count: 1; animation-iteration-count: 1; -webkit-animation-fill-mode: forward; animation-fill-mode: forward; -webkit-animation-play-state: paused; animation-play-state: paused; } #page-content .yui-navset .yui-nav li:hover { background-color: rgb(var(--swatch-primary)); } #page-content .yui-navset .yui-nav li em { transition: transform 400ms cubic-bezier(0.4, 0.0, 0.2, 1); color: rgb(var(--swatch-menutxt-light-color)); } #page-content .yui-navset .yui-nav li:hover em { color: rgb(var(--swatch-menutxt-dark-color)); } #page-content .yui-navset .yui-nav .selected { margin-top: -0.5em; padding-top: 0.5em; margin-right: 0.0625rem; background-color: rgb(var(--swatch-primary)); -webkit-animation-iteration-count: 1; animation-iteration-count: 1; -webkit-animation-fill-mode: backwards; animation-fill-mode: backwards; -webkit-animation-play-state: running; animation-play-state: running; } #page-content .yui-navset .yui-nav .selected a em { transform: translateY(-0.25em); color: rgb(var(--black-monochrome)); } #page-content .yui-navset .yui-nav a, #page-content .yui-navset .yui-nav a:hover, #page-content .yui-navset .yui-nav a:active, #page-content .yui-navset .yui-nav a:focus-within { background: rgba(0, 0, 0, 0) !important; font-family: var(--title-font); font-weight: 700; isolation: isolate; } #page-content .yui-navset .yui-nav a::before, #page-content .yui-navset .yui-nav a::after { content: " "; position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 1; pointer-events: none; } #page-content .yui-navset .yui-nav a:hover::before, #page-content .yui-navset .yui-nav a:focus::before, #page-content .yui-navset .yui-nav .selected a::before { -webkit-mask-position: center 0rem !important; mask-position: center 0rem !important; background-position: 100% 200vh; } #page-content .yui-navset .yui-nav a:hover::after, #page-content .yui-navset .yui-nav a:focus::after, #page-content .yui-navset .yui-nav .selected a::after { opacity: 0; -webkit-animation: fade 300ms cubic-bezier(0.4, 0.0, 0.2, 1); animation: fade 300ms cubic-bezier(0.4, 0.0, 0.2, 1); -webkit-animation-direction: backwards; animation-direction: backwards; -webkit-animation-iteration-count: 1; animation-iteration-count: 1; } #page-content :is(.yui-navset, .yui-navset-top, .yui-navset-bottom) .yui-content { background: rgb(var(--black-monochrome)); border: none; margin-top: 0; } #page-content table.wiki-content-table tr { border: none !important; } #page-content table.wiki-content-table th { background-color: rgb(var(--black-monochrome)); color: rgb(var(--swatch-primary)); ; font-family: var(--title-font); font-weight: 700; text-transform: uppercase; padding-top: 0.4em; } #page-content table.wiki-content-table th, #page-content table.wiki-content-table td { border: solid 0.0625rem rgb(var(--swatch-primary)) !important; } hr { border-color: rgb(var(--accentColor)); background-color: rgb(var(--accentColor)); } /*---- TAB ANIMATION by Croquembouche ---- */ #page-content .yui-navset .yui-content>div { display: block; top: 0; overflow: hidden; transform-origin: 0 0; } #page-content .yui-navset .yui-content>div[style*="none"] { display: block !important; flex: 0; max-height: 0; padding: 0 0.5em; border-width: 0; /* The following transition affects the one that DISAPPEARS */ transition: padding 0s linear 0.5s, border-width 0s linear 0.5s, flex 0.5s cubic-bezier(.18, .51, .54, .9) 0s; -webkit-animation: tab-disappear 0.5s ease-in-out 0s 1 both; animation: tab-disappear 0.5s ease-in-out 0s 1 both; } #page-content .yui-navset .yui-content>div[style*="block"] { display: block !important; flex: 1; max-height: 9999rem; /* The following transition affects the one that APPEARS */ transition: padding 0s linear 0.5s, border-width 0s linear 0.5s, flex 0.5s cubic-bezier(.18, .51, .54, .9) 0.5s; -webkit-animation: tab-appear 0.5s ease-in-out 0.5s 1 both; animation: tab-appear 0.5s ease-in-out 0.5s 1 both; } @-webkit-keyframes tab-disappear { 0% { max-height: 9999rem; } 1% { max-height: 100vh; } 100% { max-height: 0; } } @keyframes tab-disappear { 0% { max-height: 9999rem; } 1% { max-height: 100vh; } 100% { max-height: 0; } } @-webkit-keyframes tab-appear { 0% { max-height: 0; } 99% { max-height: 100vh; } 100% { max-height: 9999rem; } } @keyframes tab-appear { 0% { max-height: 0; } 99% { max-height: 100vh; } 100% { max-height: 9999rem; } } /* fancy collapsible */ #page-content .collapsible-block-folded, #page-content .collapsible-block-unfolded-link { background: rgb(var(--black-monochrome)); transition: background 0.25s linear; width: -moz-fit-content; width: -webkit-fit-content; width: fit-content; overflow: hidden; margin: auto; box-sizing: border-box; } #page-content .collapsible-block-folded .collapsible-block-link::before { content: "▷ "; } #page-content .collapsible-block-unfolded .collapsible-block-link::before { content: "▽ "; } #page-content .collapsible-block-link { display: inline-block; padding: 0.5rem 1rem; text-decoration: none; text-align: center; color: rgb(var(--white-monochrome)); font-weight: 700; } #page-content .collapsible-block-link:hover { color: rgb(var(--black-monochrome)); } #page-content .collapsible-block-folded:hover, #page-content .collapsible-block-unfolded-link:hover { background: rgb(var(--swatch-primary)); } #page-content .collapsible-block-unfolded-link { box-shadow: 0rem -0.26rem 0rem 0rem rgb(var(--swatch-primary)); } #page-content .collapsible-block-folded, #page-content .collapsible-block-unfolded-link { margin-top: 0.625rem; margin-bottom: 0.625rem; } :is(div.image-block, div.scp-image-block) { border: solid 0.5rem rgb(var(--black-monochrome)); border-bottom: solid 0rem rgb(var(--black-monochrome)); box-shadow: 0rem 0.26rem 0rem 0rem rgb(var(--accentColor)); box-sizing: border-box; } :is(div.image-block, div.scp-image-block) :is(.image-caption, .scp-image-caption) { background-color: rgb(var(--black-monochrome)); border: solid 0.25rem rgb(var(--black-monochrome)); color: rgb(var(--pale-gray-monochrome)); font-size: 0.84rem; box-shadow: none; } a.footnoteref { padding: 0.05em; color: rgb(var(--swatch-primary)); -webkit-box-decoration-break: clone; box-decoration-break: clone; box-shadow: inset 0 0 0 0rem rgba(var(--swatch-primary), 1); transition: box-shadow 300ms cubic-bezier(0.4, 0.0, 0.2, 1), color 300ms cubic-bezier(0.4, 0.0, 0.2, 1), padding 300ms cubic-bezier(0.4, 0.0, 0.2, 1), margin 300ms cubic-bezier(0.4, 0.0, 0.2, 1); } a.footnoteref:hover { box-shadow: inset 0 -1.25em 0 0 rgba(var(--swatch-primary), 1); text-decoration: none; color: rgb(var(--black-monochrome)) } .footnotes-footer a[href*="javascript"]::before, .bibitems .bibitem::after, .footnotes-footer { background-color: rgb(var(--black-monochrome)); } /* Tags */ .page-tags span { border-top: 0.0625rem solid rgb(var(-white-monochrome)); } .page-tags span a { padding: 0.25em; color: rgb(var(--white-monochrome)); -webkit-box-decoration-break: clone; box-decoration-break: clone; box-shadow: inset 0 -0.125rem 0 0rem rgba(var(--swatch-primary), 1); transition: box-shadow 300ms cubic-bezier(0.4, 0.0, 0.2, 1), color 300ms cubic-bezier(0.4, 0.0, 0.2, 1), padding 300ms cubic-bezier(0.4, 0.0, 0.2, 1), margin 300ms cubic-bezier(0.4, 0.0, 0.2, 1); } .page-tags span a:hover { padding: 0.3em 0.25em 0.2em 0.25em; box-shadow: inset 0 -1.75em 0 0 rgba(var(--swatch-primary), 1); text-decoration: none; color: rgb(var(--black-monochrome)) } div#page-options-bottom-2>a, div#page-options-bottom>a { border-color: rgba(var(--swatch-primary-darkest), 1); background-color: rgba(var(--swatch-menubg-dark-color), 1); color: rgb(var(--white-monochrome)); border-radius: 0; } div#page-options-bottom-2>a:active, div#page-options-bottom-2>a:hover, div#page-options-bottom>a:active, div#page-options-bottom>a:hover { border-color: rgba(var(--swatch-menubg-dark-color), 1); background-color: rgba(var(--swatch-primary-darkest), 1); color: rgb(var(--black-monochrome)); border-radius: 0; } #who-rated-page-area>div>span[style*="color"] { color: rgb(var(--swatch-text-secondary-color)) !important; } #footer { color: rgb(var(--black-monochrome)); } #license-area { color: rgb(var(--white-monochrome)); } input.text, textarea { background-color: rgb(var(--black-monochrome)); color: rgb(var(--swatch-text-general)); border-color: rgb(var(--swatch-menubg-dark-color)); } #lock-info { background-color: rgb(var(--black-monochrome)); color: rgb(var(--swatch-text-general)); border-color: rgb(var(--swatch-menubg-dark-color)); } /* Pop-Up Windows */ .owindow { background-color: rgb(var(--black-monochrome)); border-color: rgb(var(--swatch-primary)); } .owindow .modal-header { background-color: rgb(var(--black-monochrome)); } .owindow .modal-body img { background-color: transparent !important; } .owindow .title { background-color: rgb(var(--black-monochrome)); color: var(--swatch-primary); border-bottom: 0.0625rem solid rgb(var(--swatch-primary)); } .owindow .button-bar a { background-color: rgb(var(--black-monochrome)); border-color: rgb(var(--swatch-primary)); color: rgb(var(--white-monochrome)); } .owindow .button-bar a:hover { background-color: rgb(var(--swatch-primary)); } /* ---- Darkbox/Lightbox ---- */ .darkbox, .lightbox { border-left: solid 0.26rem rgb(var(--swatch-primary)); border-right: solid 0.26rem rgb(var(--swatch-primary)); padding: .4rem; margin-top: 0.75rem; margin-bottom: 0.75rem; } .darkbox { background-color: rgb(var(--black-monochrome)); } .lightbox { background-color: rgb(var(--white-monochrome)); color: rgb(var(--black-monochrome)); } .lightbox h2, .lightbox h3, .lightbox h4, .lightbox h5, .lightbox h6 { color: rgb(var(--black-monochrome)); } /* Custom Assets by EstrellaYoshte */ .limit { margin-bottom: -1rem; } .anchor { position: -webkit-sticky; position: sticky; height: 0; top: 0; z-index: 9999; } .sidebox { background-color: rgb(var(--black-monochrome)); border-top: solid 0.125rem rgb(var(--swatch-primary)); padding: .14rem 1rem .14rem; margin-top: 0; margin-bottom: 0.5rem; width: calc((100vw - (var(--body-width-on-desktop) + 10rem))/2); max-height: calc(100vh - 18rem); position: absolute; top: 0; left: 103.5%; z-index: 5; overflow: auto; box-sizing: border-box; } .hovertip { color: rgb(var(--swatch-text-general)); } @media (max-width: 80.625rem) { .sidebox { width: auto; max-width: 50vw; color: rgba(0, 0, 0, 0); background-color: rgba(0, 0, 0, 0); box-shadow: 0 0 0 0 rgb(var(--swatch-primary)); border: none; right: calc(((100vw - 1em - var(--body-width-on-desktop)) / 2) * -1); left: initial; pointer-events: none; transition: max-width 0.2s ease-in-out 0.1s, color 0.2s ease-in-out 0.1s, box-shadow 0.5s ease-in-out 0.1s, background-color 0s ease-in-out 0s; overflow-x: hidden; overflow-y: hidden; scrollbar-width: thin; } .sidebox::-webkit-scrollbar { width: 0.5em; } .sidebox * { opacity: 0; transition: opacity 0.2s ease-in-out 0.1s; } .sidebox::before, .sidebox::after { content: " "; position: absolute; pointer-events: all; right: 0; } .sidebox::before { top: calc(50% - 0.75rem); width: 0; height: 0; border-top: 0.75rem solid transparent; border-bottom: 0.75rem solid transparent; border-right: 0.75rem solid rgb(var(--swatch-primary)); transition: border 0.1s ease-in-out 0.1s; z-index: 10; } .sidebox::after { top: 0; max-width: 0.75rem; width: 100%; height: 100%; box-shadow: 0.125rem 0 0 0 rgb(var(--swatch-primary)); max-height: calc(100vh - 18rem); background-color: rgb(var(--black-monochrome)); z-index: -1; transition: box-shadow 0.5s ease-in-out 0.1s, max-width 0.5s ease-in-out 0.1s, border-top-left-radius 0.5s ease-in-out 0.1s, border-bottom-left-radius 0.5s ease-in-out 0.1s; } .sidebox:hover, .sidebox:active { color: rgb(var(--swatch-text-general)); background-color: rgb(var(--black-monochrome)); pointer-events: all; overflow-y: scroll; transition: max-width 0.5s ease-in-out 0.2s, color 0.5s ease-in-out 0.2s, box-shadow 0.5s ease-in-out 0.1s, background-color 0s ease-in-out 0.6s, right 0.5s ease-in-out 0.1s; } .sidebox:hover *, .sidebox:active * { opacity: 1; transition: opacity 0.5s ease-in-out 0.2s; } .sidebox:hover::before, .sidebox:active::before { border-top: 0vw solid transparent; border-bottom: 0vw solid transparent; } .sidebox:hover::after, .sidebox:active::after { box-shadow: 0 -0.125rem 0 0 rgb(var(--swatch-primary)); right: 0; max-width: 100%; border-top-left-radius: 0rem; border-bottom-left-radius: 0rem; } } @media only screen and (max-width:56.25rem) { :root { --body-width-on-desktop: 100vw; --header-h1-font-size: calc(2rem + (2.5 - 2) * ((100vw - 18.750rem) / (60 - 18.750))); --header-h2-font-size: var(--base-font-size); } #header h1, #header h1 a, #header h1 a::before { top: 0.5rem; } #header h2, #header h2 a, #header h2 a::before { top: 0.35rem; } .anchor { top: calc(var(--topbar-height-on-mobile) + 0.75rem); } .sidebox, .sidebox:hover, .sidebox:active { right: calc(((100vw - (100% - 3rem))/2) * -1 + 1.5em); } .sidebox::before, .sidebox::after { content: " "; position: absolute; pointer-events: all; right: 0; } .blockquote, [class*="blockquote"], blockquote, div.blockquote { margin: 0; } } .page-source { color:#fff; background: var(--black-monochrome); } @media only screen and (min-width: 48.0625rem) { #search-top-box-form input[type="submit"], #search-top-box-form input[type="submit"]:focus, #search-top-box-form input[type="submit"]:hover { border-left: 0.0625rem solid rgba(var(--swatch-primary-darkest), 0); } #search-top-box-form input[type="submit"] { background: rgba(var(--swatch-primary-darkest), 0.5); } } }
On any wiki:
[[include :scp-vn:component:djk]]
Hello everyone, I'm djkaktus. This is a personal component I am using to alleviate the suffering of one Elenee FishTruck who has, until this day, worked tirelessly to update all 140+ of my pages every time I update my standard formatting to something I really like. This way, I can just edit them all from a single place.
Some things this does:
1) Adds Black Highlighter to the page (Hallowed be our Woed)
2) Modifies Black Highlighter using the BHL Penumbra Theme (shoutout to Estrella)
3) Modifies BHL Penumbra with a bunch of color changes into this sort of retro variant I'm really into
4) Adds an ACS customization to fit the Penumbra changes
5) Adds the Fade In, Collapsible Sidebar, and ACS Animation components
6) Allows me to change any of this on a whim
I'm constantly striving to find the most representative theming possible for the majority of my articles. This effectively allows me to inch closer towards that ideal without having to update a hundred pages every time I change something.
sup { vertical-align: top; position: relative; top: -0.5em; } :root{ --header-title: "TỔ CHỨC"; --header-subtitle: "PHÒNG BAN QUẢN THÚC"; --lgurl: url(https://scp-wiki.wdfiles.com/local--files/component%3Adjk/scpnewlogo.png); --white-monochrome: 15, 15, 15 ; --pale-gray-monochrome: 35, 35, 35 ; --light-pale-gray-monochrome: 35, 35, 35 ; --very-light-gray-monochrome: 60, 60, 60 ; --light-gray-monochrome: 160, 160, 160 ; --gray-monochrome: 200, 200, 200 ; --dark-gray-monochrome: 220, 220, 220 ; --black-monochrome: 245, 245, 245 ; --accentColor: 83, 49, 49 ; --background-gradient-color: var(--light-gray-monochrome); --five-color: 83, 49, 49 ; --four-color: 83, 49, 49 ; --three-color: 83, 49, 49 ; --two-color: 83, 49, 49 ; --one-color: 83, 49, 49 ; --swatch-menubg-dark-color: var(--very-light-gray-monochrome); } #header h1 a::before { -webkit-text-stroke: initial; } #header h2 span::before { content: none; } #page-content .info-container { --link-color: 0, 0, 0 ; } #page-content .info-container .translation_block { display: none; } #page-content .info-container .collapsible-block-link, #page-content .info-container:hover .collapsible-block-link { line-height: 1.6em; } #page-content .info-container .collapsible-block-folded, #page-content .info-container .collapsible-block-unfolded-link { display: grid; background: #533131; } #page-content .info-container .collapsible-block-folded .collapsible-block-link, #page-content .info-container .collapsible-block-link { -webkit-mask: unset; mask: unset; background: transparent; grid-column: 1; grid-row: 1; opacity: 0; } #page-content .info-container .collapsible-block-folded::before, #page-content .info-container .collapsible-block-unfolded-link::before { --wght: 800; content: "DJK"; color: #fff; font-family: Inter, Arimo, Verdana, Geneva, "Helvetica Neue", "Helvetica", Arial, sans-serif;; display: block; pointer-events: none; grid-column: 1; grid-row: 1; } #page-content div.warning-top-box>h1 { color: rgb(var(--black-monochrome)); } #page-content .collapsible-block-folded, #page-content .collapsible-block-unfolded-link { margin: 0; background: transparent; } #footer a, #footer a:visited { color: rgb(var(--black-monochrome)); } #side-bar iframe.scpnet-interwiki-frame:not(:lang(cn)) { filter: none; } #page-content table.wiki-content-table th { color: rgb(var(--black-monochrome)); } #license-area { color: rgb(var(--black-monochrome)); } #license-area a, #license-area a:visited { color: rgb(var(--black-monochrome)); } table.page-files th { color: rgb(var(--black-monochrome)); } .top-right-box > .level { line-height: 0; } .scp-image-block { border: solid 0.5rem rgb(var(--pale-gray-monochrome)); border-bottom: solid 0rem rgb(var(--pale-gray-monochrome)); box-shadow: 0rem 0.26rem 0rem 0rem rgb(var(--accentColor)); box-sizing: border-box; } .scp-image-block .scp-image-caption { background-color: rgb(var(--pale-gray-monochrome)); border: solid 0.25rem rgb(var(--pale-gray-monochrome)); color: rgb(var(--black-monochrome)); font-size: 0.84rem; } div[id*=page-options-bottom]>a:after { background-color: rgb(var(--black-monochrome)); } div.menu-item a:hover { color: rgb(var(--black-monochrome)) !important; } .bibitems .title, .footnotes-footer .title { color: rgb(var(--black-monochrome)) !important; } #header div[class*=top-bar]>ul>li>ul { background: rgba(var(--gray-monochrome)); } .code pre, .code p, .code { background-color: rgb(var(--pale-gray-monochrome)); color: rgb(var(--black-monochrome)); } .page-source{ color:#fff; }