privacyguides.org/theme/assets/stylesheets/extra.css
2024-09-08 11:27:28 -05:00

530 lines
15 KiB
CSS

/*
/// Copyright (c) 2022-2024 Jonah Aragon <jonah@triplebit.net>
///
/// Permission is hereby granted, free of charge, to any person obtaining a
/// copy of this software and associated documentation files (the "Software"),
/// to deal in the Software without restriction, including without limitation
/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
/// and/or sell copies of the Software, and to permit persons to whom the
/// Software is furnished to do so, subject to the following conditions:
///
/// The above copyright notice and this permission notice shall be included in
/// all copies or substantial portions of the Software.
///
/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
/// DEALINGS
*/
@font-face {
font-family: 'Bagnard';
src: url("../brand/fonts/Bagnard/Bold.woff") format("woff");
font-display: swap;
}
/* Define brand */
:root, [data-md-color-scheme="default"] {
--md-default-bg-color: rgb(247, 247, 252);
--md-primary-fg-color: rgb(255, 255, 255);
--md-primary-fg-color--light: #ffd06f;
--md-primary-fg-color--dark: #db9d21;
--md-primary-bg-color: rgba(0,0,0,.75);
--md-primary-bg-color--light: rgba(0,0,0,.54);
--md-accent-fg-color: #4e30e6;
--pg-light-border: rgb(229, 231, 235);
--pg-hero-color: rgb(45, 45, 45);
--pg-purple: #603aa0;
--pg-red: #c0322f;
--pg-orange: #ac2f09;
--pg-teal: #04756a;
--pg-brown: #8d6e62;
--pg-blue: #0e66ae;
--pg-green: #2e7e31;
--pg-blue-gray: #546d78;
--pg-viridian: #40826d;
}
:root, [data-md-color-scheme="slate"] {
--md-default-bg-color: rgb(26, 26, 27);
--md-primary-fg-color: rgb(15, 15, 15);
--md-primary-fg-color--light: #ffd06f;
--md-primary-fg-color--dark: #db9d21;
--md-primary-bg-color: rgba(0,0,0,.75);
--md-primary-bg-color--light: rgba(0,0,0,.54);
--md-accent-fg-color: #ffdb57;
--pg-light-border: rgb(47, 47, 47);
--pg-hero-color: #ffd06f;
--pg-purple: #af94de;
--pg-red: #ff6c6a;
--pg-orange: #e97b5a;
--pg-teal: #8dc6c1;
--pg-brown: #b6988c;
--pg-blue: #74b9f1;
--pg-green: #72cd75;
--pg-blue-gray: #9ab2bc;
--pg-viridian: #40826d;
--md-footer-bg-color--dark: var(--md-default-bg-color);
}
/* Better contrast link colors */
[data-md-color-scheme="default"] > * {
--md-typeset-a-color: rgb(79, 70, 229);
}
[data-md-color-scheme="slate"] > * {
--md-typeset-a-color: rgb(255, 208, 111);
}
/* Hide shadow under navigation */
.md-header[data-md-state="shadow"],
.md-header--shadow {
box-shadow: none;
}
/* buttons */
.md-typeset .md-button {
color: var(--md-typeset-color);
background: none;
border: 1px solid var(--pg-light-border);
border-radius: 6px;
box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 3px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px -1px;
}
.md-typeset .md-button--primary {
color: var(--md-typeset-a-color);
background-color: var(--md-primary-fg-color);
}
.md-typeset .grid.cards > :is(ul, ol) > li, .md-typeset .grid > .card { /* Firefox */
color: var(--md-typeset-color);
background: var(--md-primary-fg-color);
border: 1px solid var(--pg-light-border);
border-radius: 6px;
box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 3px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px -1px;
transition: none;
position: relative;
}
.md-typeset .grid.cards>:-webkit-any(ul,ol)>li, .md-typeset .grid>.card { /* Webkit */
color: var(--md-typeset-color);
background: var(--md-primary-fg-color);
border: 1px solid var(--pg-light-border);
border-radius: 6px;
box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 3px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px -1px;
transition: none;
position: relative;
}
.md-typeset .grid.cards > :is(ul, ol) > li:is(:focus-within, :hover), .md-typeset .grid > .card:is(:focus-within, :hover) { /* Firefox */
box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 3px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px -1px;
border-color: var(--md-accent-fg-color);
}
.md-typeset .grid.cards>:-webkit-any(ul,ol)>li:-webkit-any(:focus-within,:hover) { /* Webkit */
box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 3px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px -1px;
border-color: var(--md-accent-fg-color);
}
.md-typeset .grid.cards > :is(ul, ol) > li > a::after, .md-typeset .grid>.card a::after { /* Firefox */
content: "";
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
.md-typeset .grid.cards>:-webkit-any(ul, ol)>li > a::after, .md-typeset .grid>.card a::after { /* Webkit */
content: "";
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
/* header font */
.md-header__topic:first-child {
font-weight: 300;
}
h1, h2, h3, .md-header__topic {
font-family: "Bagnard", serif;
}
/* Recommendation cards */
.md-typeset .admonition.recommendation,
.md-typeset details.recommendation {
border: 1px solid var(--pg-light-border);
font-size: inherit;
}
.md-typeset .recommendation > .admonition-title,
.md-typeset .recommendation > summary {
background-color: rgba(43, 155, 70, 0.0);
border: none;
padding-left: 0.6rem;
}
.md-typeset .recommendation > .admonition-title::before,
.md-typeset .recommendation > .admonition-title,
.md-typeset .recommendation > summary::before {
display: none;
}
img[align="right"], svg[align="right"] {
width: 150px;
}
.md-typeset .admonition.downloads,
.md-typeset details.downloads {
border: none;
box-shadow: none;
}
.md-typeset .downloads > .admonition-title,
.md-typeset .downloads > summary {
background-color: rgba(43, 155, 70, 0.0);
}
.md-typeset .downloads > .admonition-title::before,
.md-typeset .downloads > .admonition-title,
.md-typeset .downloads > summary::before {
background-color: var( --md-typeset-a-color);
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-arrow-down-circle-fill' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z'/%3E%3C/svg%3E");
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-arrow-down-circle-fill' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z'/%3E%3C/svg%3E");
}
.md-typeset .downloads > summary::after {
right:auto;
}
.downloads > ul > li {
padding: 0.5em 0 !important;
}
.downloads > ul .twemoji {
width: .9rem
}
details[class="downloads annotate"] > p .md-annotation span span::before {
vertical-align: 0;
}
.downloads > ul {
display: grid!important;
grid-template-columns: repeat(4, 1fr);
align-items: center;
list-style-type: none;
}
.md-typeset .admonition.person,
.md-typeset details.person {
border-color: var(--md-default-bg-color);
box-shadow: none;
background-color: var(--md-default-bg-color);
margin: 0;
}
.md-typeset .person > .admonition-title,
.md-typeset .person > summary {
background-color: var(--md-default-bg-color);
}
.md-typeset .person > .admonition-title::before,
.md-typeset .person > summary::before {
background-color: var(--md-accent-fg-color);
-webkit-mask-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" height="48" width="48"><path d="M24 23.95q-3.3 0-5.4-2.1-2.1-2.1-2.1-5.4 0-3.3 2.1-5.4 2.1-2.1 5.4-2.1 3.3 0 5.4 2.1 2.1 2.1 2.1 5.4 0 3.3-2.1 5.4-2.1 2.1-5.4 2.1ZM8 40v-4.7q0-1.9.95-3.25T11.4 30q3.35-1.5 6.425-2.25Q20.9 27 24 27q3.1 0 6.15.775 3.05.775 6.4 2.225 1.55.7 2.5 2.05.95 1.35.95 3.25V40Z"/></svg>');
mask-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" height="48" width="48"><path d="M24 23.95q-3.3 0-5.4-2.1-2.1-2.1-2.1-5.4 0-3.3 2.1-5.4 2.1-2.1 5.4-2.1 3.3 0 5.4 2.1 2.1 2.1 2.1 5.4 0 3.3-2.1 5.4-2.1 2.1-5.4 2.1ZM8 40v-4.7q0-1.9.95-3.25T11.4 30q3.35-1.5 6.425-2.25Q20.9 27 24 27q3.1 0 6.15.775 3.05.775 6.4 2.225 1.55.7 2.5 2.05.95 1.35.95 3.25V40Z"/></svg>');
}
@media screen and (max-width: 600px) {
.downloads > ul {
grid-template-columns: repeat(2, 1fr);
}
.all-contributors-table tbody td {
display: block;
width: 100%;
}
}
/* Card links */
.md-typeset .card-link {
color: var(--md-default-fg-color--light);
}
.md-typeset .card-link:hover {
color: var(--md-accent-fg-color);
}
.md-typeset .card-link:not(:first-child) {
padding-left: 0.5em;
}
/* Correct page icon size */
.md-nav__link svg {
width: 22px;
}
/* Un-sticky sidebar without JS */
.no-js .md-sidebar {
align-self: auto;
}
/* Maintain 16:9 aspect ratio on embedded YT videos */
.yt-embed {
position: relative;
width: 100%;
padding-bottom: 56.25%;
height: 0;
}
.yt-embed iframe {
position: absolute;
top:0;
left: 0;
width: 100%;
height: 100%;
}
/* Badge colors */
.pg-purple {
color: var(--pg-purple)!important;
}
.pg-red {
color: var(--pg-red)!important;
}
.pg-orange {
color: var(--pg-orange)!important;
}
.pg-teal {
color: var(--pg-teal)!important;
}
.pg-brown {
color: var(--pg-brown)!important;
}
.pg-blue {
color: var(--pg-blue)!important;
}
.pg-green {
color: var(--pg-green)!important;
}
.pg-blue-gray {
color: var(--pg-blue-gray)!important;
}
.pg-viridian {
color: var(--pg-viridian)!important;
}
/* Make header icons smaller */
.md-header__button.md-icon svg {
height: 1rem;
width: 1rem;
}
/* override language selector */
.md-select button img.twemoji {
height: 1rem;
vertical-align: middle;
}
.md-select__link img.twemoji {
height: 1rem;
vertical-align: text-bottom;
margin-right: 1%;
}
.md-select__inner {
left: 0%;
}
.md-select__inner:after {
display: none;
}
/* Custom header + nav */
.md-header >*, .md-tabs {
background: none;
}
[data-md-color-scheme="slate"] .md-header >*, [data-md-color-scheme="slate"] .md-tabs {
color: #fff;
}
.md-header__button {
color: var(--md-default-fg-color--light);
}
.md-header, .md-tabs { /* firefox fallback */
background-color: rgba(255, 255, 255, .95);
}
[data-md-color-scheme="slate"] .md-header, [data-md-color-scheme="slate"] .md-tabs { /* firefox fallback */
background-color: rgba(9, 9, 9, 0.95);
}
@supports ((-webkit-backdrop-filter: none) or (backdrop-filter: none)) {
.md-header, .md-tabs {
background-color: rgba(255, 255, 255, .6);
-webkit-backdrop-filter: blur(12px);
backdrop-filter: blur(12px);
}
[data-md-color-scheme="slate"] .md-header, [data-md-color-scheme="slate"] .md-tabs {
background-color: rgba(0, 0, 0, 0.5);
-webkit-backdrop-filter: blur(12px);
backdrop-filter: blur(12px);
}
}
[data-md-color-scheme="default"] img[src$="#only-dark"] {
display: none !important;
}
[data-md-color-scheme="slate"] img[src$="#only-light"] {
display: none !important;
}
[data-md-color-scheme="slate"] .md-nav--primary .md-nav__title[for="__drawer"] {
color: var(--md-typeset-a-color)
}
@media screen and (max-width: 59.9375em) {
.md-nav__source {
display: none;
}
}
header[class="md-header md-header--shadow"], nav[class="md-tabs"] {
border-bottom: 1px solid var(--pg-light-border);
}
@media screen and (min-width: 60em) {
.md-search__overlay {
background-color: transparent;
}
.md-search__form {
border: 1px solid var(--pg-light-border);
background-color: var(--md-primary-fg-color) !important;
box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.02) 0px 1px 3px 0px, rgba(0, 0, 0, 0.02) 0px 1px 2px -1px;
border-radius: 6px;
height: 1.4rem;
}
[data-md-toggle="search"]:checked ~ .md-header .md-search__form {
border-radius: 6px 6px 0 0;
}
[dir="ltr"] .md-search__output {
top: initial;
border-radius: 0 0 6px 6px;
}
[data-md-toggle="search"]:checked ~ .md-header .md-search__output {
box-shadow: 0 0 .6rem rgba(0,0,0,.07);
}
.md-search__input {
font-size: .6rem;
}
.md-search__options {
top: .05rem;
}
.md-search__icon, .md-search__input::placeholder {
color: var(--md-default-fg-color--light) !important;
}
.md-search__icon svg {
width: .75rem;
height: .75rem;
}
}
div[class="md-source__icon md-icon"], div[class="md-source__repository md-source__repository--active"] *:not(.md-source__facts):not(.md-source__fact) {
display: none;
}
.md-source__fact::before {
color: var(--md-default-fg-color--light);
}
.md-header__option {
transition: max-width 0ms,opacity 0ms;
}
.md-header__source {
text-align: right;
width: initial;
margin-right: 1em;
}
[dir="ltr"] .md-source__icon + .md-source__repository {
padding-left: 0;
}
.md-source__repository {
max-width: initial;
}
.md-tabs__link--active {
background:
radial-gradient(farthest-side, var(--md-primary-fg-color--light) 98%,transparent 100%) bottom right/2px 2px,
radial-gradient(farthest-side, var(--md-primary-fg-color--light) 98%,transparent 100%) bottom left /2px 2px,
linear-gradient(var(--md-primary-fg-color--light),var(--md-primary-fg-color--light)) bottom/calc(100% - 2px) 2px;
background-repeat:no-repeat;
background-origin: padding-box;
padding-bottom: 2px;
}
/* Redesigned admonitions */
.md-typeset :is(.admonition, details) {
background-color: var(--md-primary-fg-color);
}
.md-typeset .recommendation img[align="right"] {
width: 100px;
}
/* Custom tooltips */
.md-tooltip {
background-color: var(--md-primary-fg-color);
border-radius: 6px;
}
path[d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25Z"] {
d: path('M16.937 3.722a2.363 2.363 0 1 1 3.341 3.341L19.342 8 16 4.658l.937-.936ZM13.467 7 3 17.467V21h3.532L17 10.533 13.465 7h.001Z')
}
/* Cover images */
.cover.center-cropped {
width: 100%;
height: 200px;
background-position: center center;
background-size: cover;
background-repeat: no-repeat;
overflow: hidden;
position: relative;
text-align: center;
border-radius: 0.5em;
}
/* Set the image to fill its parent and make transparent */
.cover.center-cropped img {
height: 100%;
width: 100%;
object-fit: cover;
}
.cover ~ h1 {
margin: 1.25em 0 0;
text-align: center;
}
/* Social share button */
.social-share-text {
width: 100%;
padding: 1em !important;
}
.pg-proconlist {
list-style-type: disc;
padding-inline-start: 1em;
}