mediawiki-skins-Citizen/resources/skins.citizen.styles/common/common.less
2022-11-21 17:42:45 -05:00

282 lines
4 KiB
Plaintext

/*
* Framework
*/
html {
// Not ideal but it works
scroll-padding-top: 6rem;
}
html,
body {
min-height: 100vh;
padding: 0;
margin: 0;
accent-color: var( --color-primary );
background: var( --color-surface-0 );
color: var( --color-base );
}
:focus {
outline-color: var( --color-primary );
}
h1,
h2,
h3,
h4,
h5,
h6 {
color: var( --color-base--emphasized );
font-weight: var( --font-weight-semibold );
}
table {
overflow: auto;
max-width: 100vw;
}
hr {
border: 0;
border-top: 1px solid var( --border-color-base--darker );
}
ul,
ol {
padding: 0;
}
p,
ul,
ol,
dl {
margin: @content-margin-top 0 0 0;
}
pre,
code,
.mw-code {
border: 1px solid var( --border-color-base );
background-color: var( --color-surface-2 );
}
code {
padding: 1px 4px;
}
pre,
.mw-code {
overflow: auto;
padding: 1rem;
border-radius: var( --border-radius--large );
}
input,
select,
textarea {
border: 1px solid var( --border-color-base );
background-color: var( --color-surface-1 );
color: inherit;
}
fieldset {
padding: @content-margin-top / 2 20px;
border: 1px solid var( --border-color-base );
margin: @content-margin-top 0;
}
fieldset > table {
margin-top: 0 !important;
}
legend {
padding: 4px;
margin: 0;
color: var( --color-base--subtle );
}
textarea {
width: 100%;
}
blockquote {
margin: @content-margin-top var( --padding-page );
color: var( --color-base--subtle );
cite {
display: block;
margin-top: @content-margin-top * @content-scaling;
&:before {
content: '— ';
}
}
}
sup,
sub {
line-height: 1;
}
dd {
margin-bottom: 0.1rem;
margin-left: @content-margin-top * 2;
}
td {
> p,
> ul,
> ol {
&:first-child {
margin-top: 0; // Remove margin for the first element in td
}
}
}
a {
color: var( --color-link );
text-decoration: none;
&:not( [ href ] ) {
cursor: pointer;
/* Always cursor:pointer even without href */
}
&:hover {
color: var( --color-link--hover );
}
&:active {
color: var( --color-link--active );
}
&.new {
color: var( --color-link-new ); // Override visited
&:hover {
color: var( --color-link-new--hover );
}
&:active {
color: var( --color-link-new--active );
}
}
&.mw-selflink {
color: inherit;
font-weight: var( --font-weight-semibold );
text-decoration: inherit;
&:hover {
cursor: inherit;
text-decoration: inherit;
}
&:active {
color: inherit;
}
}
}
.error {
padding: 2px 4px;
background-color: var( --background-color-destructive );
}
.nowrap {
white-space: nowrap;
}
/*
* Content
*/
.mw-body,
.parsoid-body {
direction: ltr;
}
// TODO: Think of better places to put indicators;
.mw-indicators {
display: flex;
align-items: center;
padding-left: 10px;
border-left: 1px solid var( --border-color-base );
margin-left: 10px;
font-size: @ui-menu-text;
}
.printfooter {
display: none;
}
div.patrollink {
font-size: 75%;
text-align: right;
}
video {
max-width: 100%; // Prevent overflow
}
// FIXME: This should not be here
.citizen-ui-icon {
&:before {
content: "";
display: block;
width: 100%;
height: 100%;
background-repeat: no-repeat;
background-position: center;
background-size: contain;
}
}
.skin-citizen-dark {
color-scheme: dark;
.citizen-ui-icon {
filter: invert( 1 );
}
.mw-editsection > a:before {
filter: invert( 1 );
}
.mw-indicator {
filter: invert( 1 ) hue-rotate( 180deg );
// Have to hardcode the color since the filter breaks the color
a {
color: @color-primary;
&:hover {
color: @color-primary--hover;
}
&:active {
color: @color-primary--active;
}
}
}
}
@media ( max-width: @width-breakpoint-tablet ) {
.mw-body,
.parsoid-body {
overflow-x: hidden; // fallback if clip is not supported
overflow-x: clip; // avoid breaking layout in smaller screen sizes
}
table {
display: block;
}
}
@media ( min-width: @width-breakpoint-tablet ) {
// Delay scroll animation won't happen on load
// Use it only for larger viewport as it is very costly
// on mobile devices
html.citizen-animations-ready {
scroll-behavior: smooth;
}
}