mirror of
https://github.com/picocss/pico.git
synced 2025-02-23 00:01:58 -05:00
1358 lines
24 KiB
CSS
1358 lines
24 KiB
CSS
/*!
|
|
* Pico.css v1.0.1 (https://picocss.com)
|
|
* Copyright 2019 - Licensed under MIT
|
|
*/
|
|
/**
|
|
* Theme: default
|
|
*/
|
|
[data-theme="light"],
|
|
:root:not([data-theme="dark"]) {
|
|
--background: #FFF;
|
|
--text: #415462;
|
|
--h1: #1b2832;
|
|
--h2: #2c3d49;
|
|
--h3: #415462;
|
|
--h4: #596b78;
|
|
--h5: #73828c;
|
|
--h6: #8a99a3;
|
|
--primary: #1095c1;
|
|
--primary-hover: #08769b;
|
|
--primary-focus: rgba(16, 149, 193, 0.125);
|
|
--primary-inverse: #FFF;
|
|
--secondary: #73828c;
|
|
--secondary-hover: #415462;
|
|
--secondary-focus: rgba(115, 130, 140, 0.125);
|
|
--secondary-inverse: #FFF;
|
|
--contrast: #2c3d49;
|
|
--contrast-hover: #0d1419;
|
|
--contrast-focus: rgba(115, 130, 140, 0.125);
|
|
--contrast-border: rgba(255, 223, 128, 0.5);
|
|
--contrast-inverse: #FFF;
|
|
--input-background: #FFF;
|
|
--input-border: #c8d1d8;
|
|
--valid: #288a6a;
|
|
--invalid: #b94646;
|
|
--mark: rgba(255, 223, 128, 0.5);
|
|
--mark-text: #2c3d49;
|
|
--muted-text: #7e8d98;
|
|
--muted-background: #edf0f3;
|
|
--muted-border: #edf0f3;
|
|
--card-background: #FFF;
|
|
--card-sections: #f3f5f7;
|
|
--card-shadow: 0 0.125rem 1rem rgba(27, 40, 50, 0.04), 0 0.125rem 2rem rgba(27, 40, 50, 0.08), 0 0 0 0.0625rem rgba(27, 40, 50, 0.024);
|
|
--code-background: #f3f5f7;
|
|
--code-inlined: #edf0f3;
|
|
--code-color-1: #73828c;
|
|
--code-color-2: #b34d80;
|
|
--code-color-3: #3d888f;
|
|
--code-color-4: #998866;
|
|
--code-color-5: #96a4ae;
|
|
--table-border: rgba(237, 240, 243, 0.75);
|
|
--table-stripping: rgba(115, 130, 140, 0.04);
|
|
}
|
|
|
|
@media only screen and (prefers-color-scheme: dark) {
|
|
:root:not([data-theme="light"]) {
|
|
--background: #10181e;
|
|
--text: #a2afb9;
|
|
--h1: #edf0f3;
|
|
--h2: #d5dce2;
|
|
--h3: #bbc6ce;
|
|
--h4: #a2afb9;
|
|
--h5: #8a99a3;
|
|
--h6: #73828c;
|
|
--primary: #1095c1;
|
|
--primary-hover: #1ab3e6;
|
|
--primary-focus: rgba(16, 149, 193, 0.25);
|
|
--primary-inverse: #FFF;
|
|
--secondary: #596b78;
|
|
--secondary-hover: #73828c;
|
|
--secondary-focus: rgba(89, 107, 120, 0.25);
|
|
--secondary-inverse: #FFF;
|
|
--contrast: #d5dce2;
|
|
--contrast-hover: #FFF;
|
|
--contrast-focus: rgba(89, 107, 120, 0.25);
|
|
--contrast-border: rgba(255, 223, 128, 0.33);
|
|
--contrast-inverse: #10181e;
|
|
--input-background: #10181e;
|
|
--input-border: #374956;
|
|
--valid: #1f7a5c;
|
|
--invalid: #943838;
|
|
--mark: rgba(255, 223, 128, 0.5);
|
|
--mark-text: #FFF;
|
|
--muted-text: #73828c;
|
|
--muted-background: #10181e;
|
|
--muted-border: #23333e;
|
|
--card-background: #17232b;
|
|
--card-sections: #141d24;
|
|
--card-shadow: 0 0.125rem 1rem rgba(0, 0, 0, 0.08), 0 0.125rem 2rem rgba(0, 0, 0, 0.04), 0 0 0 0.0625rem rgba(0, 0, 0, 0.1);
|
|
--code-background: #141d24;
|
|
--code-inlined: rgba(65, 84, 98, 0.25);
|
|
--code-color-1: #73828c;
|
|
--code-color-2: #a65980;
|
|
--code-color-3: #599fa6;
|
|
--code-color-4: #8c8473;
|
|
--code-color-5: #4d606d;
|
|
--table-border: #10181e;
|
|
--table-stripping: rgba(115, 130, 140, 0.02);
|
|
}
|
|
}
|
|
|
|
[data-theme="dark"] {
|
|
--background: #10181e;
|
|
--text: #a2afb9;
|
|
--h1: #edf0f3;
|
|
--h2: #d5dce2;
|
|
--h3: #bbc6ce;
|
|
--h4: #a2afb9;
|
|
--h5: #8a99a3;
|
|
--h6: #73828c;
|
|
--primary: #1095c1;
|
|
--primary-hover: #1ab3e6;
|
|
--primary-focus: rgba(16, 149, 193, 0.25);
|
|
--primary-inverse: #FFF;
|
|
--secondary: #596b78;
|
|
--secondary-hover: #73828c;
|
|
--secondary-focus: rgba(89, 107, 120, 0.25);
|
|
--secondary-inverse: #FFF;
|
|
--contrast: #d5dce2;
|
|
--contrast-hover: #FFF;
|
|
--contrast-focus: rgba(89, 107, 120, 0.25);
|
|
--contrast-border: rgba(255, 223, 128, 0.33);
|
|
--contrast-inverse: #10181e;
|
|
--input-background: #10181e;
|
|
--input-border: #374956;
|
|
--valid: #1f7a5c;
|
|
--invalid: #943838;
|
|
--mark: rgba(255, 223, 128, 0.5);
|
|
--mark-text: #FFF;
|
|
--muted-text: #73828c;
|
|
--muted-background: #10181e;
|
|
--muted-border: #23333e;
|
|
--card-background: #17232b;
|
|
--card-sections: #141d24;
|
|
--card-shadow: 0 0.125rem 1rem rgba(0, 0, 0, 0.08), 0 0.125rem 2rem rgba(0, 0, 0, 0.04), 0 0 0 0.0625rem rgba(0, 0, 0, 0.1);
|
|
--code-background: #141d24;
|
|
--code-inlined: rgba(65, 84, 98, 0.25);
|
|
--code-color-1: #73828c;
|
|
--code-color-2: #a65980;
|
|
--code-color-3: #599fa6;
|
|
--code-color-4: #8c8473;
|
|
--code-color-5: #4d606d;
|
|
--table-border: #10181e;
|
|
--table-stripping: rgba(115, 130, 140, 0.02);
|
|
}
|
|
|
|
/**
|
|
* Document
|
|
* Content-box & Responsive typography
|
|
*/
|
|
*,
|
|
*::before,
|
|
*::after {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
html {
|
|
-webkit-text-size-adjust: 100%;
|
|
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
|
background: var(--background);
|
|
color: var(--text);
|
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
font-size: 16px;
|
|
font-weight: 400;
|
|
line-height: 1.5;
|
|
text-rendering: optimizeLegibility;
|
|
}
|
|
|
|
@media (min-width: 576px) {
|
|
html {
|
|
font-size: 17px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
html {
|
|
font-size: 18px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 992px) {
|
|
html {
|
|
font-size: 19px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1200px) {
|
|
html {
|
|
font-size: 20px;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Sectioning
|
|
* Container and responsive spacings for header, main, footer
|
|
*/
|
|
main {
|
|
display: block;
|
|
}
|
|
|
|
body {
|
|
width: 100%;
|
|
margin: 0;
|
|
}
|
|
|
|
body > header,
|
|
body > main,
|
|
body > footer {
|
|
width: 100%;
|
|
margin-right: auto;
|
|
margin-left: auto;
|
|
padding: 2rem 1rem;
|
|
}
|
|
|
|
@media (min-width: 576px) {
|
|
body > header,
|
|
body > main,
|
|
body > footer {
|
|
padding: 2.5rem 1rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
body > header,
|
|
body > main,
|
|
body > footer {
|
|
padding: 3rem 1rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 992px) {
|
|
body > header,
|
|
body > main,
|
|
body > footer {
|
|
padding: 3.5rem 1rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1200px) {
|
|
body > header,
|
|
body > main,
|
|
body > footer {
|
|
padding: 4rem 1rem;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Section
|
|
* Responsive spacings for section
|
|
*/
|
|
section {
|
|
margin-bottom: 4rem;
|
|
}
|
|
|
|
@media (min-width: 576px) {
|
|
section {
|
|
margin-bottom: 5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
section {
|
|
margin-bottom: 6rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 992px) {
|
|
section {
|
|
margin-bottom: 7rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1200px) {
|
|
section {
|
|
margin-bottom: 8rem;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Horizontal scroller (<figure>)
|
|
*/
|
|
figure {
|
|
display: block;
|
|
margin: 0;
|
|
padding: 0;
|
|
overflow-x: auto;
|
|
}
|
|
|
|
figure figcaption {
|
|
padding: 0.5rem 0;
|
|
color: var(--muted-text);
|
|
}
|
|
|
|
/**
|
|
* Typography
|
|
*/
|
|
b,
|
|
strong {
|
|
font-weight: bolder;
|
|
}
|
|
|
|
sub,
|
|
sup {
|
|
position: relative;
|
|
font-size: .75rem;
|
|
line-height: 0;
|
|
vertical-align: baseline;
|
|
}
|
|
|
|
sub {
|
|
bottom: -0.25rem;
|
|
}
|
|
|
|
sup {
|
|
top: -0.5rem;
|
|
}
|
|
|
|
img {
|
|
max-width: 100%;
|
|
height: auto;
|
|
border-style: none;
|
|
}
|
|
|
|
svg,
|
|
img {
|
|
vertical-align: text-bottom;
|
|
}
|
|
|
|
address,
|
|
blockquote,
|
|
dl,
|
|
figure,
|
|
form,
|
|
ol,
|
|
p,
|
|
pre,
|
|
table,
|
|
ul {
|
|
margin-top: 0;
|
|
margin-bottom: 1.5rem;
|
|
color: var(--text);
|
|
font-size: 1rem;
|
|
font-style: normal;
|
|
}
|
|
|
|
a {
|
|
background-color: transparent;
|
|
color: var(--primary);
|
|
text-decoration: none;
|
|
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, text-decoration 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
|
|
}
|
|
|
|
a:hover, a:active, a:focus {
|
|
color: var(--primary-hover);
|
|
text-decoration: underline;
|
|
}
|
|
|
|
a:focus {
|
|
outline: none;
|
|
background-color: var(--primary-focus);
|
|
}
|
|
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4,
|
|
h5,
|
|
h6 {
|
|
margin-top: 0;
|
|
margin-bottom: 1.5rem;
|
|
font-weight: 700;
|
|
}
|
|
|
|
h1 {
|
|
margin-bottom: 3rem;
|
|
color: var(--h1);
|
|
font-size: 2rem;
|
|
}
|
|
|
|
h2 {
|
|
margin-bottom: 2.625rem;
|
|
color: var(--h2);
|
|
font-size: 1.75rem;
|
|
}
|
|
|
|
h3 {
|
|
margin-bottom: 2.25rem;
|
|
color: var(--h3);
|
|
font-size: 1.5rem;
|
|
}
|
|
|
|
h4 {
|
|
margin-bottom: 1.875rem;
|
|
color: var(--h4);
|
|
font-size: 1.25rem;
|
|
}
|
|
|
|
h5 {
|
|
margin-bottom: 1.6875rem;
|
|
color: var(--h5);
|
|
font-size: 1.125rem;
|
|
}
|
|
|
|
h6 {
|
|
color: var(--h6);
|
|
font-size: 1rem;
|
|
}
|
|
|
|
hgroup {
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
hgroup * {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
hgroup > *:last-child {
|
|
color: var(--muted-text);
|
|
font-size: 1.125rem;
|
|
font-weight: normal;
|
|
}
|
|
|
|
p {
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
|
|
small {
|
|
font-size: 85%;
|
|
}
|
|
|
|
@media (min-width: 576px) {
|
|
small {
|
|
font-size: 83%;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
small {
|
|
font-size: 81%;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 992px) {
|
|
small {
|
|
font-size: 79%;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1200px) {
|
|
small {
|
|
font-size: 77%;
|
|
}
|
|
}
|
|
|
|
ul,
|
|
ol {
|
|
padding-left: 1.5rem;
|
|
}
|
|
|
|
ul li,
|
|
ol li {
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
|
|
ul li {
|
|
list-style: square;
|
|
}
|
|
|
|
mark {
|
|
padding: .125rem .25rem;
|
|
background: var(--mark);
|
|
color: var(--mark-text);
|
|
vertical-align: middle;
|
|
}
|
|
|
|
blockquote {
|
|
display: block;
|
|
margin: 3rem 0;
|
|
padding: 1rem;
|
|
border-left: 0.25rem solid var(--muted-border);
|
|
}
|
|
|
|
blockquote footer {
|
|
margin-top: 0.75rem;
|
|
color: var(--muted-text);
|
|
}
|
|
|
|
abbr[title] {
|
|
border-bottom: 1px dotted;
|
|
text-decoration: none;
|
|
cursor: help;
|
|
}
|
|
|
|
ins {
|
|
color: var(--valid);
|
|
text-decoration: none;
|
|
}
|
|
|
|
del {
|
|
color: var(--invalid);
|
|
}
|
|
|
|
::selection {
|
|
background-color: var(--primary-focus);
|
|
}
|
|
|
|
/**
|
|
* Form elements
|
|
*/
|
|
input,
|
|
optgroup,
|
|
select,
|
|
textarea {
|
|
margin: 0;
|
|
font-family: inherit;
|
|
font-size: 1rem;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
input {
|
|
overflow: visible;
|
|
}
|
|
|
|
select {
|
|
text-transform: none;
|
|
}
|
|
|
|
legend {
|
|
display: table;
|
|
max-width: 100%;
|
|
padding: 0;
|
|
color: inherit;
|
|
white-space: normal;
|
|
}
|
|
|
|
textarea {
|
|
overflow: auto;
|
|
}
|
|
|
|
[type="checkbox"],
|
|
[type="radio"] {
|
|
padding: 0;
|
|
}
|
|
|
|
[type="number"]::-webkit-inner-spin-button {
|
|
height: auto;
|
|
}
|
|
|
|
[type="search"] {
|
|
-webkit-appearance: textfield;
|
|
outline-offset: -2px;
|
|
}
|
|
|
|
[type="search"]::-webkit-search-decoration {
|
|
-webkit-appearance: none;
|
|
}
|
|
|
|
::-webkit-file-upload-button {
|
|
-webkit-appearance: button;
|
|
font: inherit;
|
|
}
|
|
|
|
fieldset {
|
|
margin: 0;
|
|
margin-bottom: 1.5rem;
|
|
padding: 0;
|
|
border: 0;
|
|
}
|
|
|
|
input:not([type="checkbox"]):not([type="radio"]),
|
|
select,
|
|
textarea,
|
|
form small {
|
|
display: block;
|
|
width: 100%;
|
|
}
|
|
|
|
label,
|
|
fieldset legend {
|
|
display: block;
|
|
margin-bottom: 0.125rem;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
input,
|
|
select,
|
|
textarea {
|
|
-webkit-appearance: none;
|
|
-moz-appearance: none;
|
|
appearance: none;
|
|
border: 1px solid var(--input-border);
|
|
border-radius: 0.25rem;
|
|
outline: none;
|
|
background-color: var(--input-background);
|
|
color: var(--text);
|
|
font-weight: normal;
|
|
vertical-align: middle;
|
|
transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
|
|
}
|
|
|
|
input::placeholder,
|
|
select::placeholder,
|
|
textarea::placeholder {
|
|
color: var(--muted-text);
|
|
opacity: 1;
|
|
}
|
|
|
|
input:active, input:focus,
|
|
select:active,
|
|
select:focus,
|
|
textarea:active,
|
|
textarea:focus {
|
|
border-color: var(--primary);
|
|
}
|
|
|
|
input:focus,
|
|
select:focus,
|
|
textarea:focus {
|
|
box-shadow: 0 0 0 0.2rem var(--primary-focus);
|
|
}
|
|
|
|
input[readonly], input[disabled],
|
|
select[readonly],
|
|
select[disabled],
|
|
textarea[readonly],
|
|
textarea[disabled] {
|
|
border-color: var(--muted-border);
|
|
box-shadow: none;
|
|
}
|
|
|
|
input[readonly] ~ label, input[disabled] ~ label,
|
|
select[readonly] ~ label,
|
|
select[disabled] ~ label,
|
|
textarea[readonly] ~ label,
|
|
textarea[disabled] ~ label {
|
|
color: var(--muted-text);
|
|
}
|
|
|
|
input[disabled],
|
|
select[disabled],
|
|
textarea[disabled] {
|
|
background-color: var(--muted-background);
|
|
opacity: .5;
|
|
}
|
|
|
|
input:focus:-moz-focusring,
|
|
select:focus:-moz-focusring,
|
|
textarea:focus:-moz-focusring {
|
|
color: transparent;
|
|
text-shadow: 0 0 0 #000;
|
|
}
|
|
|
|
input:not([type="checkbox"]):not([type="radio"]),
|
|
select,
|
|
textarea {
|
|
margin-bottom: 1.5rem;
|
|
padding: 0.75rem 1rem;
|
|
}
|
|
|
|
input[type="color"] {
|
|
height: calc(3rem + 2px);
|
|
}
|
|
|
|
select::-ms-expand {
|
|
border: 0;
|
|
background-color: transparent;
|
|
}
|
|
|
|
select:not([multiple]) {
|
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
|
|
background-position: center right .75rem;
|
|
background-repeat: no-repeat;
|
|
background-size: 1rem auto;
|
|
}
|
|
|
|
form small {
|
|
color: var(--muted-text);
|
|
}
|
|
|
|
input + small {
|
|
margin-top: -1rem;
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
label > input:not([type="checkbox"]):not([type="radio"]),
|
|
label > select,
|
|
label > textarea {
|
|
margin-top: 0.125rem;
|
|
}
|
|
|
|
/**
|
|
* Form elements
|
|
*/
|
|
[type="checkbox"],
|
|
[type="radio"] {
|
|
display: inline-block;
|
|
width: 1em;
|
|
height: 1em;
|
|
margin-right: .375rem;
|
|
margin-bottom: 0.125rem;
|
|
border-width: 2px;
|
|
font-size: 1.125rem;
|
|
vertical-align: middle;
|
|
cursor: pointer;
|
|
transition: none;
|
|
}
|
|
|
|
[type="checkbox"]::-ms-check,
|
|
[type="radio"]::-ms-check {
|
|
display: none;
|
|
}
|
|
|
|
[type="checkbox"]:checked,
|
|
[type="radio"]:checked {
|
|
border-color: var(--primary);
|
|
background-color: var(--primary);
|
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FFF' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
background-size: .66rem auto;
|
|
}
|
|
|
|
[type="checkbox"] ~ label,
|
|
[type="radio"] ~ label {
|
|
display: inline-block;
|
|
margin-right: .375rem;
|
|
margin-bottom: 0;
|
|
cursor: pointer;
|
|
}
|
|
|
|
[type="radio"] {
|
|
border-radius: 50%;
|
|
}
|
|
|
|
[type="radio"]:checked {
|
|
border-width: .33rem;
|
|
border-color: var(--primary);
|
|
background-color: var(--primary-inverse);
|
|
background-image: none;
|
|
}
|
|
|
|
[type="checkbox"][role="switch"] {
|
|
width: 1.85em;
|
|
height: 1em;
|
|
border: 2px solid var(--input-border);
|
|
border-radius: 1em;
|
|
background-color: var(--input-border);
|
|
line-height: 1em;
|
|
}
|
|
|
|
[type="checkbox"][role="switch"]:before {
|
|
display: block;
|
|
width: calc(1em - 4px);
|
|
height: 100%;
|
|
border-radius: 50%;
|
|
background-color: var(--primary-inverse);
|
|
content: '';
|
|
transition: margin 0.1s ease-in-out;
|
|
}
|
|
|
|
[type="checkbox"][role="switch"]:checked {
|
|
border-color: var(--primary);
|
|
background-color: var(--primary);
|
|
background-image: none;
|
|
}
|
|
|
|
[type="checkbox"][role="switch"]:checked::before {
|
|
margin-right: 0;
|
|
margin-left: calc(0.925em - 2px);
|
|
}
|
|
|
|
/**
|
|
* Button
|
|
*/
|
|
button {
|
|
margin: 0;
|
|
overflow: visible;
|
|
font-family: inherit;
|
|
text-transform: none;
|
|
}
|
|
|
|
button,
|
|
[type="button"],
|
|
[type="reset"],
|
|
[type="submit"] {
|
|
-webkit-appearance: button;
|
|
}
|
|
|
|
button::-moz-focus-inner,
|
|
[type="button"]::-moz-focus-inner,
|
|
[type="reset"]::-moz-focus-inner,
|
|
[type="submit"]::-moz-focus-inner {
|
|
padding: 0;
|
|
border-style: none;
|
|
}
|
|
|
|
button:-moz-focusring,
|
|
[type="button"]:-moz-focusring,
|
|
[type="reset"]:-moz-focusring,
|
|
[type="submit"]:-moz-focusring {
|
|
outline: 1px dotted ButtonText;
|
|
}
|
|
|
|
button {
|
|
display: block;
|
|
width: 100%;
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
a[role="button"] {
|
|
display: inline-block;
|
|
text-decoration: none;
|
|
}
|
|
|
|
button,
|
|
input[type="submit"],
|
|
a[role="button"] {
|
|
border: 1px solid transparent;
|
|
padding: 0.75rem 1rem;
|
|
border-radius: 0.25rem;
|
|
outline: none;
|
|
background-color: var(--primary);
|
|
color: var(--primary-inverse);
|
|
font-size: 1rem;
|
|
font-weight: normal;
|
|
line-height: 1.5;
|
|
text-align: center;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
|
|
}
|
|
|
|
button:hover, button:active, button:focus,
|
|
input[type="submit"]:hover,
|
|
input[type="submit"]:active,
|
|
input[type="submit"]:focus,
|
|
a[role="button"]:hover,
|
|
a[role="button"]:active,
|
|
a[role="button"]:focus {
|
|
background-color: var(--primary-hover);
|
|
}
|
|
|
|
button:focus,
|
|
input[type="submit"]:focus,
|
|
a[role="button"]:focus {
|
|
box-shadow: 0 0 0 0.2rem var(--primary-focus);
|
|
}
|
|
|
|
input[type="reset"] {
|
|
cursor: pointer;
|
|
}
|
|
|
|
button[disabled],
|
|
input[type="submit"][disabled],
|
|
input[type="reset"][disabled],
|
|
a[role="button"][disabled] {
|
|
opacity: .5;
|
|
pointer-events: none;
|
|
}
|
|
|
|
/**
|
|
* Table
|
|
*/
|
|
table {
|
|
width: 100%;
|
|
border-spacing: 0;
|
|
}
|
|
|
|
th,
|
|
td {
|
|
padding: 0.5rem 1rem;
|
|
border-bottom: 1px solid var(--table-border);
|
|
color: var(--muted-text);
|
|
font-weight: 400;
|
|
text-align: left;
|
|
font-size: 0.875rem;
|
|
}
|
|
|
|
th,
|
|
thead td {
|
|
color: var(--text);
|
|
font-size: 1rem;
|
|
}
|
|
|
|
thead th,
|
|
thead td {
|
|
border-bottom: 3px solid var(--table-border);
|
|
}
|
|
|
|
tbody tr:nth-child(odd) {
|
|
background-color: var(--table-stripping);
|
|
}
|
|
|
|
/**
|
|
* Code
|
|
*/
|
|
pre,
|
|
code,
|
|
kbd,
|
|
samp {
|
|
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
font-size: 1rem;
|
|
}
|
|
|
|
pre,
|
|
code,
|
|
kbd {
|
|
background: var(--code-inlined);
|
|
color: var(--code-color-1);
|
|
font-size: 85%;
|
|
font-weight: 400;
|
|
line-height: 1;
|
|
}
|
|
|
|
@media (min-width: 576px) {
|
|
pre,
|
|
code,
|
|
kbd {
|
|
font-size: 83%;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
pre,
|
|
code,
|
|
kbd {
|
|
font-size: 81%;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 992px) {
|
|
pre,
|
|
code,
|
|
kbd {
|
|
font-size: 79%;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1200px) {
|
|
pre,
|
|
code,
|
|
kbd {
|
|
font-size: 77%;
|
|
}
|
|
}
|
|
|
|
code,
|
|
kbd {
|
|
display: inline-block;
|
|
padding: .375rem .5rem;
|
|
border-radius: 0.25rem;
|
|
}
|
|
|
|
pre {
|
|
display: block;
|
|
margin-bottom: 2rem;
|
|
padding: 2rem 1rem;
|
|
overflow-x: auto;
|
|
background: var(--code-background);
|
|
}
|
|
|
|
pre > code {
|
|
display: block;
|
|
padding: 0;
|
|
background: transparent;
|
|
font-size: 14px;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
code b {
|
|
color: var(--code-color-2);
|
|
font-weight: normal;
|
|
}
|
|
|
|
code i {
|
|
color: var(--code-color-3);
|
|
font-style: normal;
|
|
}
|
|
|
|
code u {
|
|
color: var(--code-color-4);
|
|
text-decoration: none;
|
|
}
|
|
|
|
code em {
|
|
color: var(--code-color-5);
|
|
font-style: normal;
|
|
}
|
|
|
|
kbd {
|
|
background-color: var(--secondary);
|
|
color: var(--secondary-inverse);
|
|
font-weight: bolder;
|
|
}
|
|
|
|
/**
|
|
* Miscs
|
|
*/
|
|
hr {
|
|
box-sizing: content-box;
|
|
height: 0;
|
|
overflow: visible;
|
|
border: none;
|
|
border-top: 1px solid var(--muted-border);
|
|
}
|
|
|
|
progress {
|
|
vertical-align: baseline;
|
|
}
|
|
|
|
[hidden],
|
|
template {
|
|
display: none;
|
|
}
|
|
|
|
/**
|
|
* Accordion (<details>)
|
|
* Inspiration: https://codepen.io/koca/pen/RyeLLV
|
|
*/
|
|
details {
|
|
display: block;
|
|
margin-bottom: 1.5rem;
|
|
padding-bottom: 0.75rem;
|
|
border-bottom: 1px solid var(--muted-border);
|
|
}
|
|
|
|
details summary {
|
|
list-style-type: none;
|
|
cursor: pointer;
|
|
line-height: 1rem;
|
|
}
|
|
|
|
details summary::-webkit-details-marker {
|
|
display: none;
|
|
}
|
|
|
|
details summary::marker {
|
|
display: none;
|
|
}
|
|
|
|
details summary::-moz-list-bullet {
|
|
list-style-type: none;
|
|
}
|
|
|
|
details summary::after {
|
|
display: inline-block;
|
|
width: 1rem;
|
|
height: 1rem;
|
|
float: right;
|
|
transform: rotate(-90deg);
|
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
background-size: 1rem auto;
|
|
content: '';
|
|
}
|
|
|
|
details summary:focus {
|
|
outline: none;
|
|
}
|
|
|
|
details summary ~ * {
|
|
margin-top: 0.75rem;
|
|
}
|
|
|
|
details summary ~ * ~ * {
|
|
margin-top: 0;
|
|
}
|
|
|
|
details[open] summary {
|
|
margin-bottom: 0.375rem;
|
|
color: var(--muted-text);
|
|
}
|
|
|
|
details[open] summary::after {
|
|
transform: rotate(0);
|
|
}
|
|
|
|
/**
|
|
* Card (<article>)
|
|
*/
|
|
article {
|
|
margin: 2rem 0;
|
|
padding: 2rem 1rem;
|
|
overflow: hidden;
|
|
border-radius: 0.25rem;
|
|
background: var(--card-background);
|
|
box-shadow: var(--card-shadow);
|
|
}
|
|
|
|
@media (min-width: 576px) {
|
|
article {
|
|
margin: 2.5rem 0;
|
|
padding: 2.5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
article {
|
|
margin: 3rem 0;
|
|
padding: 3rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 992px) {
|
|
article {
|
|
margin: 3.5rem 0;
|
|
padding: 3.5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1200px) {
|
|
article {
|
|
margin: 4rem 0;
|
|
padding: 4rem;
|
|
}
|
|
}
|
|
|
|
article > *:not(header):not(footer):not(pre):last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
/**
|
|
* Card sectionning (<article> > header, footer, pre)
|
|
*/
|
|
article > header,
|
|
article > footer {
|
|
background-color: var(--card-sections);
|
|
}
|
|
|
|
article > header,
|
|
article > footer,
|
|
article > pre {
|
|
margin: -1rem;
|
|
padding: 2rem 1rem;
|
|
}
|
|
|
|
@media (min-width: 576px) {
|
|
article > header,
|
|
article > footer,
|
|
article > pre {
|
|
margin: -2.5rem;
|
|
padding: 2rem 2.5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
article > header,
|
|
article > footer,
|
|
article > pre {
|
|
margin: -3rem;
|
|
padding: 2rem 3rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 992px) {
|
|
article > header,
|
|
article > footer,
|
|
article > pre {
|
|
margin: -3.5rem;
|
|
padding: 2rem 3.5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1200px) {
|
|
article > header,
|
|
article > footer,
|
|
article > pre {
|
|
margin: -4rem;
|
|
padding: 2rem 4rem;
|
|
}
|
|
}
|
|
|
|
article > header {
|
|
margin-top: -2rem;
|
|
margin-bottom: 2rem;
|
|
}
|
|
|
|
@media (min-width: 576px) {
|
|
article > header {
|
|
margin-top: -2.5rem;
|
|
margin-bottom: 2.5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
article > header {
|
|
margin-top: -3rem;
|
|
margin-bottom: 3rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 992px) {
|
|
article > header {
|
|
margin-top: -3.5rem;
|
|
margin-bottom: 3.5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1200px) {
|
|
article > header {
|
|
margin-top: -4rem;
|
|
margin-bottom: 4rem;
|
|
}
|
|
}
|
|
|
|
article > footer,
|
|
article > pre {
|
|
margin-top: 2rem;
|
|
margin-bottom: -2rem;
|
|
}
|
|
|
|
@media (min-width: 576px) {
|
|
article > footer,
|
|
article > pre {
|
|
margin-top: 2.5rem;
|
|
margin-bottom: -2.5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
article > footer,
|
|
article > pre {
|
|
margin-top: 3rem;
|
|
margin-bottom: -3rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 992px) {
|
|
article > footer,
|
|
article > pre {
|
|
margin-top: 3.5rem;
|
|
margin-bottom: -3.5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1200px) {
|
|
article > footer,
|
|
article > pre {
|
|
margin-top: 4rem;
|
|
margin-bottom: -4rem;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Nav
|
|
*/
|
|
nav,
|
|
nav ul {
|
|
display: flex;
|
|
}
|
|
|
|
nav {
|
|
justify-content: space-between;
|
|
}
|
|
|
|
nav ul {
|
|
align-items: center;
|
|
margin-bottom: 0;
|
|
padding: 0;
|
|
list-style: none;
|
|
}
|
|
|
|
nav ul:first-of-type {
|
|
margin-left: -0.5rem;
|
|
}
|
|
|
|
nav ul:last-of-type {
|
|
margin-right: -0.5rem;
|
|
}
|
|
|
|
nav li {
|
|
display: inline-block;
|
|
margin: 0;
|
|
padding: 1rem 0.5rem;
|
|
}
|
|
|
|
nav li > *,
|
|
nav li > input:not([type="checkbox"]):not([type="radio"]) {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
nav a {
|
|
display: block;
|
|
margin: -1rem -0.5rem;
|
|
padding: 1rem 0.5rem;
|
|
border-radius: 0.25rem;
|
|
}
|
|
|
|
nav a:hover, nav a:active, nav a:focus {
|
|
text-decoration: none;
|
|
}
|
|
|
|
aside nav,
|
|
aside ul,
|
|
aside li {
|
|
display: block;
|
|
}
|
|
|
|
aside li {
|
|
padding: 0.5rem;
|
|
}
|
|
|
|
aside li a {
|
|
margin: -0.5rem;
|
|
padding: 0.5rem;
|
|
}
|
|
|
|
/**
|
|
* Tooltip ([data-tooltip])
|
|
*/
|
|
[data-tooltip] {
|
|
position: relative;
|
|
}
|
|
|
|
[data-tooltip]:not(a):not(button):not(input) {
|
|
border-bottom: 1px dotted;
|
|
text-decoration: none;
|
|
cursor: help;
|
|
}
|
|
|
|
[data-tooltip]::before, [data-tooltip]::after {
|
|
display: block;
|
|
z-index: 99;
|
|
position: absolute;
|
|
bottom: 100%;
|
|
left: 50%;
|
|
padding: .25rem .5rem;
|
|
overflow: hidden;
|
|
transform: translate(-50%, -0.25rem);
|
|
border-radius: 0.25rem;
|
|
background: var(--contrast);
|
|
color: var(--contrast-inverse);
|
|
font-size: .85rem;
|
|
font-style: normal;
|
|
font-weight: normal;
|
|
text-decoration: none;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
content: attr(data-tooltip);
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
}
|
|
|
|
[data-tooltip]::after {
|
|
padding: 0;
|
|
transform: translate(-50%, 0rem);
|
|
border-top: .3rem solid;
|
|
border-right: .3rem solid transparent;
|
|
border-left: .3rem solid transparent;
|
|
border-radius: 0;
|
|
background-color: transparent;
|
|
color: var(--contrast);
|
|
content: '';
|
|
}
|
|
|
|
[data-tooltip]:focus::before, [data-tooltip]:focus::after, [data-tooltip]:hover::before, [data-tooltip]:hover::after {
|
|
opacity: 1;
|
|
}
|