gnu-social/public/assets/default_theme/css/base.css

815 lines
22 KiB
CSS

@import url("../fonts/poppins/poppins.css");
@import url("../fonts/opensans/opensans.css");
@import url("widgets/buttons.css");
@import url("widgets/sections.css");
@import url("colors.css");
/* Sizes vars */
:root {
--smaller: 0.6rem;
--default: 1rem;
--small: 1.3rem;
--medium: 1.62rem;
--big: 3rem;
}
/* RESET START */
:link,
:visited {
text-decoration: none;
color: currentColor;
}
a:hover {
text-decoration: underline;
}
hr {
all: unset;
display: block;
height: 1px;
}
ol,
ul {
list-style: none;
}
blockquote,
body,
fieldset,
form,
html,
input,
pre,
textarea {
margin: 0;
padding: 0;
border: none;
}
:link img,
:visited img,
a img {
border: none;
}
address {
font-style: normal;
}
:focus {
outline: none;
}
::-moz-focus-inner {
border: 0;
}
details summary > * {
margin: unset;
padding: unset;
}
details > summary {
list-style: none;
}
details > summary::-webkit-details-marker {
display: none;
}
/* Internet Explorer <details> graceful degradation */
@supports not (-ms-ime-align: auto) {
details summary {
cursor: pointer;
}
}
[hidden] {
display: none;
}
* {
-webkit-box-sizing: border-box !important;
-moz-box-sizing: border-box !important;
box-sizing: border-box !important;
}
body,
html {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
background-attachment: fixed;
font-family: 'Open Sans', sans-serif;
font-size: var(--default);
}
h1,
h2,
h3,
h4,
h5,
h6 {
all: unset;
display: block;
font-family: 'Poppins', sans-serif;
}
h1 {
font-size: var(--medium);
font-weight: 700;
margin-bottom: 16.2px;
}
h2 {
font-size: var(--small);
font-weight: 600;
margin-bottom: 13px;
}
h3 {
font-size: var(--default);
font-weight: 600;
margin-bottom: 10px;
}
h4,
h5 {
font-size: var(--default);
font-weight: 400;
margin-bottom: 6.1px;
}
p {
font-family: 'Open Sans', sans-serif;
font-size: var(--default);
font-weight: 400;
margin: unset;
}
p:first-line {
padding-left: var(--default);
}
p:first-line {
margin-top: 0;
margin-bottom: 10px;
}
p:not(:first-line) {
margin-top: 10px;
margin-bottom: 10px;
}
label {
max-width: 100%;
}
input[type=password],
input[type=text],
textarea {
font-family: 'Open Sans', sans-serif;
font-weight: 400;
padding: 4px 6px;
}
ul {
text-decoration: none;
margin: 0;
padding: 0;
list-style: none;
}
li {
margin: 0;
padding: 0;
}
/* Focus and hover (inset shadow is used in alternative to a border to prevent further redraws) */
*:focus {
-webkit-box-shadow: var(--shadow-inset-accent);
-moz-box-shadow: var(--shadow-inset-accent);
box-shadow: var(--shadow-inset-accent);
}
hr {
background-color: var(--border) !important;
}
/* RESET END */
/* DARK AND LIGHT COLOUR SCHEMES START */
@media (prefers-color-scheme: dark) {
/* Colour vars */
:root {
--foreground: #F0F6F6;
--background-hard: #141216;
--background-card: #131217;
--border: #201F25;
--accent: #5ddbcf;
--shadow: 0 0 12px 0 #01010166;
--shadow-inset-accent: inset 0 0 0 2px var(--accent);
--background-checkerboard: repeating-conic-gradient(#ffffff66 0deg 90deg, #ffffff33 0deg 180deg) 0 0/40px 40px round;
--gradient: linear-gradient(10deg, var(--border) 0%, transparent 100%) !important;
--gradient-backwards: linear-gradient(290deg, var(--border) 0%, var(--background-card) 100%) !important;
}
/* The page background image itself */
.background-image {
background-color: var(--background-hard);
}
/* Select element custom dropdown arrow */
select {
background: var(--gradient), url("../images/select_drop_dark.png") no-repeat center right 5px !important;
background-size: cover, 16px !important;
}
}
@media (prefers-color-scheme: light) {
/* Colour vars */
:root {
--foreground: #09090D;
--background-hard: #EBEBEB;
--background-card: #F0F0F0;
--border: #D5D5D5;
--accent: #A22430;
--shadow: 0 0 12px 0 #24243416;
--shadow-inset-accent: inset 0 0 0 2px var(--accent);
--background-checkerboard: repeating-conic-gradient(#ffffff66 0deg 90deg, #ffffff33 0deg 180deg) 0 0/40px 40px round;
--gradient: linear-gradient(290deg, var(--border) 0%, transparent 60%) !important;
--gradient-backwards: linear-gradient(290deg, var(--border) 0%, var(--background-card) 100%) !important;
}
/* The page background image itself */
.background-image {
background-color: var(--background-hard);
}
/* Select element custom dropdown arrow */
select {
background: var(--gradient), url("../images/select_drop_light.png") no-repeat center right 5px !important;
background-size: cover, 16px !important;
background-blend-mode: saturation;
}
}
/* DARK AND LIGHT COLOUR SCHEMES END */
/* MISCELLANEOUS START */
/* Align all icon .svg to center */
.icon {
align-self: center;
}
/* All active links should pop up, the user should be aware where it is */
.active {
font-weight: bold;
}
/* Hide all anchors used for accesskey shortcuts */
.anchor-hidden {
width: 1px;
height: 1px;
overflow: hidden;
}
/* MISCELLANEOUS END */
/* Background image and noise (Firefox-based browsers present banding without it) */
.background-image {
background-position: center;
background-repeat: no-repeat;
-webkit-background-size: 100% 100%;
-moz-background-size: 100% 100%;
-o-background-size: 100% 100%;
background-size: 100% 100%;
}
.accessibility-menu {
display: block;
position: absolute;
z-index: 999;
top: -90%;
left: -90%;
width: 30%;
height: min-content;
padding: var(--smaller);
border-radius: var(--smaller);
background-color: var(--background-hard) !important;
border: 2px solid var(--border);
}
.accessibility-menu ul {
list-style-type: disc;
margin-left: var(--small);
}
.accessibility-menu:focus-within:not(:active) {
top: var(--smaller);
left: var(--smaller);
}
.page-header {
z-index: 1;
font-family: 'Poppins', sans-serif;
font-size: var(--medium);
height: var(--big);
display: flex;
justify-content: center;
position: fixed;
top: 0;
width: 100%;
align-items: center;
padding: var(--smaller);
background: var(--gradient) !important;
box-shadow: var(--shadow);
}
/* Allow scrolling all the way to the top ("page-header" has a height of 3rem) */
html {
scroll-margin-top: var(--big);
}
.header-instance {
display: flex;
position: absolute;
text-align: center;
align-items: center;
align-self: center;
margin-left: auto;
}
.header-instance > * {
margin: unset;
}
.header-extra-actions {
justify-self: flex-end;
margin-left: auto;
}
.header-extra-actions[open] > *:not(summary) {
z-index: 2;
position: absolute;
top: 100%;
right: 0;
width: 19vw;
font-size: var(--default);
border-radius: 0 0 var(--smaller) var(--smaller);
padding: var(--smaller);
background: var(--background-hard);
box-shadow: var(--shadow);
}
.page-content-wrapper {
position: relative;
margin-left: auto;
margin-right: auto;
justify-content: center;
padding: var(--smaller) var(--smaller) 0;
}
.page-content {
display: flex;
flex-direction: column;
padding: var(--smaller) var(--smaller) 0;
width: 100%;
}
.markdown-blocks {
border-radius: 0 0 var(--smaller) var(--smaller);
padding: var(--smaller);
}
.markdown-blocks ul {
margin-left: 1em;
list-style: disc;
}
.markdown-blocks ul li {
margin-bottom: 0.2em;
}
.doc-navigation {
border-radius: var(--smaller) var(--smaller) 0 0;
border-bottom: none;
padding: var(--smaller);
}
.doc-navigation ul {
display: flex;
justify-content: space-evenly;
font-size: var(--medium);
}
#replyform {
padding: var(--smaller);
margin-top: var(--smaller);
border-radius: var(--smaller);
display: flex;
flex-direction: column;
font-size: var(--default);
}
#replyform textarea {
width: 100%;
resize: vertical;
margin-top: var(--smaller);
padding: var(--smaller);
}
.page-content-wrapper {
top: var(--big);
width: 62vw;
}
.header-panel {
display: -webkit-box;
display: -webkit-flex;
display: -moz-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-moz-box-orient: vertical;
-moz-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
font-family: 'Open Sans', sans-serif;
font-size: var(--default);
position: fixed;
top: 0;
margin-top: var(--big);
height: -webkit-calc(100% - var(--big));
height: -moz-calc(100% - var(--big));
height: calc(100% - var(--big));
padding: var(--smaller);
overflow-y: auto;
}
@media only screen and (min-width: 1281px) {
.page-content {
padding: var(--smaller) var(--medium) 0;
}
.header-panel {
width: 19vw;
}
a[id|="anchor"]:target + .accessibility-target {
-webkit-animation-name: highlight;
-moz-animation-name: highlight;
-o-animation-name: highlight;
animation-name: highlight;
-webkit-animation-duration: 600ms;
-moz-animation-duration: 600ms;
-o-animation-duration: 600ms;
animation-duration: 600ms;
-webkit-animation-timing-function: ease-in-out;
-moz-animation-timing-function: ease-in-out;
-o-animation-timing-function: ease-in-out;
animation-timing-function: ease-in-out;
}
}
@media only screen and (max-width: 1280px) {
.page-content-wrapper {
width: 100%;
}
.page-content {
max-width: 100%;
}
.header-extra-actions[open] > *:not(summary) {
width: 100%;
}
#panel-left-toggle:not(:checked) + .header-panel,
#panel-right-toggle:not(:checked) + .header-panel {
display: none;
}
#panel-left-toggle:checked + .header-panel,
#panel-right-toggle:checked + .header-panel,
a[id|="anchor"]:target ~ .panel-content {
display: -webkit-box;
display: -webkit-flex;
display: -moz-box;
display: -ms-flexbox;
display: flex;
width: 100%;
-webkit-background-size: 100% 100%;
-moz-background-size: 100% 100%;
-o-background-size: 100% 100%;
background-size: 100% 100%;
z-index: auto;
background-color: var(--background-hard) !important;
}
}
@-webkit-keyframes fadeIn {
0% {
opacity: 0;
-webkit-transform: translateY(-10px);
transform: translateY(-10px);
}
100% {
opacity: unset;
-webkit-transform: none;
transform: none;
}
}
@-moz-keyframes fadeIn {
0% {
opacity: 0;
-moz-transform: translateY(-10px);
transform: translateY(-10px);
}
100% {
opacity: unset;
-moz-transform: none;
transform: none;
}
}
@-o-keyframes fadeIn {
0% {
opacity: 0;
-o-transform: translateY(-10px);
transform: translateY(-10px);
}
100% {
opacity: unset;
-o-transform: none;
transform: none;
}
}
@keyframes fadeIn {
0% {
opacity: 0;
-webkit-transform: translateY(-10px);
-moz-transform: translateY(-10px);
-o-transform: translateY(-10px);
transform: translateY(-10px);
}
100% {
opacity: unset;
-webkit-transform: none;
-moz-transform: none;
-o-transform: none;
transform: none;
}
}
@-webkit-keyframes fadeOut {
100% {
opacity: 0;
-webkit-transform: translateY(-10px);
transform: translateY(-10px);
}
0% {
opacity: unset;
-webkit-transform: none;
transform: none;
}
}
@-moz-keyframes fadeOut {
100% {
opacity: 0;
-moz-transform: translateY(-10px);
transform: translateY(-10px);
}
0% {
opacity: unset;
-moz-transform: none;
transform: none;
}
}
@-o-keyframes fadeOut {
100% {
opacity: 0;
-o-transform: translateY(-10px);
transform: translateY(-10px);
}
0% {
opacity: unset;
-o-transform: none;
transform: none;
}
}
@keyframes fadeOut {
100% {
opacity: 0;
-webkit-transform: translateY(-10px);
-moz-transform: translateY(-10px);
-o-transform: translateY(-10px);
transform: translateY(-10px);
}
0% {
opacity: unset;
-webkit-transform: none;
-moz-transform: none;
-o-transform: none;
transform: none;
}
}
@media (prefers-color-scheme: dark) {
@-webkit-keyframes highlight {
0% {
-webkit-box-shadow: initial;
box-shadow: initial;
-webkit-border-radius: var(--smaller);
border-radius: var(--smaller);
}
50% {
-webkit-border-rns
Enable/disabadius: var(--smaller);
border-radius: var(--smaller);
-webkit-box-shadow: inset 0 20px 40px #FFF;
box-shadow: inset 0 20px 40px #FFF;
-webkit-transition: -webkit-box-shadow 0.3s ease-in-out;
transition: -webkit-box-shadow 0.3s ease-in-out;
-o-transition: box-shadow 0.3s ease-in-out;
-moz-transition: box-shadow 0.3s ease-in-out, -moz-box-shadow 0.3s ease-in-out;
transition: box-shadow 0.3s ease-in-out;
transition: box-shadow 0.3s ease-in-out, -webkit-box-shadow 0.3s ease-in-out, -moz-box-shadow 0.3s ease-in-out;
}
100% {
-webkit-box-shadow: initial;
box-shadow: initial;
-webkit-border-radius: var(--smaller);
border-radius: var(--smaller);
}
}
@-moz-keyframes highlight {
0% {
-moz-box-shadow: initial;
box-shadow: initial;
-moz-border-radius: var(--smaller);
border-radius: var(--smaller);
}
50% {
-moz-border-radius: var(--smaller);
border-radius: var(--smaller);
-moz-box-shadow: inset 0 20px 40px #FFF;
box-shadow: inset 0 20px 40px #FFF;
-webkit-transition: -webkit-box-shadow 0.3s ease-in-out;
transition: -webkit-box-shadow 0.3s ease-in-out;
-o-transition: box-shadow 0.3s ease-in-out;
-moz-transition: box-shadow 0.3s ease-in-out, -moz-box-shadow 0.3s ease-in-out;
transition: box-shadow 0.3s ease-in-out;
transition: box-shadow 0.3s ease-in-out, -webkit-box-shadow 0.3s ease-in-out, -moz-box-shadow 0.3s ease-in-out;
}
100% {
-moz-box-shadow: initial;
box-shadow: initial;
-moz-border-radius: var(--smaller);
border-radius: var(--smaller);
}
}
@-o-keyframes highlight {
0% {
box-shadow: initial;
border-radius: var(--smaller);
}
50% {
border-radius: var(--smaller);
box-shadow: inset 0 20px 40px #FFF;
-webkit-transition: -webkit-box-shadow 0.3s ease-in-out;
transition: -webkit-box-shadow 0.3s ease-in-out;
-o-transition: box-shadow 0.3s ease-in-out;
-moz-transition: box-shadow 0.3s ease-in-out, -moz-box-shadow 0.3s ease-in-out;
transition: box-shadow 0.3s ease-in-out;
transition: box-shadow 0.3s ease-in-out, -webkit-box-shadow 0.3s ease-in-out, -moz-box-shadow 0.3s ease-in-out;
}
100% {
box-shadow: initial;
border-radius: var(--smaller);
}
}
@keyframes highlight {
0% {
-webkit-box-shadow: initial;
-moz-box-shadow: initial;
box-shadow: initial;
-webkit-border-radius: var(--smaller);
-moz-border-radius: var(--smaller);
border-radius: var(--smaller);
}
50% {
-webkit-border-radius: var(--smaller);
-moz-border-radius: var(--smaller);
border-radius: var(--smaller);
-webkit-box-shadow: inset 0 20px 40px #FFF;
-moz-box-shadow: inset 0 20px 40px #FFF;
box-shadow: inset 0 20px 40px #FFF;
-webkit-transition: -webkit-box-shadow 0.3s ease-in-out;
transition: -webkit-box-shadow 0.3s ease-in-out;
-o-transition: box-shadow 0.3s ease-in-out;
-moz-transition: box-shadow 0.3s ease-in-out, -moz-box-shadow 0.3s ease-in-out;
transition: box-shadow 0.3s ease-in-out;
transition: box-shadow 0.3s ease-in-out, -webkit-box-shadow 0.3s ease-in-out, -moz-box-shadow 0.3s ease-in-out;
}
100% {
-webkit-box-shadow: initial;
-moz-box-shadow: initial;
box-shadow: initial;
-webkit-border-radius: var(--smaller);
-moz-border-radius: var(--smaller);
border-radius: var(--smaller);
}
}
}
@media (prefers-color-scheme: light) {
@-webkit-keyframes highlight {
0% {
-webkit-box-shadow: initial;
box-shadow: initial;
-webkit-border-radius: var(--smaller);
border-radius: var(--smaller);
}
50% {
-webkit-border-radius: var(--smaller);
border-radius: var(--smaller);
-webkit-box-shadow: inset 0 20px 40px #000;
box-shadow: inset 0 20px 40px #000;
-webkit-transition: -webkit-box-shadow 0.3s ease-in-out;
transition: -webkit-box-shadow 0.3s ease-in-out;
-o-transition: box-shadow 0.3s ease-in-out;
-moz-transition: box-shadow 0.3s ease-in-out, -moz-box-shadow 0.3s ease-in-out;
transition: box-shadow 0.3s ease-in-out;
transition: box-shadow 0.3s ease-in-out, -webkit-box-shadow 0.3s ease-in-out, -moz-box-shadow 0.3s ease-in-out;
}
100% {
-webkit-box-shadow: initial;
box-shadow: initial;
-webkit-border-radius: var(--smaller);
border-radius: var(--smaller);
}
}
@-moz-keyframes highlight {
0% {
-moz-box-shadow: initial;
box-shadow: initial;
-moz-border-radius: var(--smaller);
border-radius: var(--smaller);
}
50% {
-moz-border-radius: var(--smaller);
border-radius: var(--smaller);
-moz-box-shadow: inset 0 20px 40px #000;
box-shadow: inset 0 20px 40px #000;
-webkit-transition: -webkit-box-shadow 0.3s ease-in-out;
transition: -webkit-box-shadow 0.3s ease-in-out;
-o-transition: box-shadow 0.3s ease-in-out;
-moz-transition: box-shadow 0.3s ease-in-out, -moz-box-shadow 0.3s ease-in-out;
transition: box-shadow 0.3s ease-in-out;
transition: box-shadow 0.3s ease-in-out, -webkit-box-shadow 0.3s ease-in-out, -moz-box-shadow 0.3s ease-in-out;
}
100% {
-moz-box-shadow: initial;
box-shadow: initial;
-moz-border-radius: var(--smaller);
border-radius: var(--smaller);
}
}
@-o-keyframes highlight {
0% {
box-shadow: initial;
border-radius: var(--smaller);
}
50% {
border-radius: var(--smaller);
box-shadow: inset 0 20px 40px #000;
-webkit-transition: -webkit-box-shadow 0.3s ease-in-out;
transition: -webkit-box-shadow 0.3s ease-in-out;
-o-transition: box-shadow 0.3s ease-in-out;
-moz-transition: box-shadow 0.3s ease-in-out, -moz-box-shadow 0.3s ease-in-out;
transition: box-shadow 0.3s ease-in-out;
transition: box-shadow 0.3s ease-in-out, -webkit-box-shadow 0.3s ease-in-out, -moz-box-shadow 0.3s ease-in-out;
}
100% {
box-shadow: initial;
border-radius: var(--smaller);
}
}
@keyframes highlight {
0% {
-webkit-box-shadow: initial;
-moz-box-shadow: initial;
box-shadow: initial;
-webkit-border-radius: var(--smaller);
-moz-border-radius: var(--smaller);
border-radius: var(--smaller);
}
50% {
-webkit-border-radius: var(--smaller);
-moz-border-radius: var(--smaller);
border-radius: var(--smaller);
-webkit-box-shadow: inset 0 20px 40px #000;
-moz-box-shadow: inset 0 20px 40px #000;
box-shadow: inset 0 20px 40px #000;
-webkit-transition: -webkit-box-shadow 0.3s ease-in-out;
transition: -webkit-box-shadow 0.3s ease-in-out;
-o-transition: box-shadow 0.3s ease-in-out;
-moz-transition: box-shadow 0.3s ease-in-out, -moz-box-shadow 0.3s ease-in-out;
transition: box-shadow 0.3s ease-in-out;
transition: box-shadow 0.3s ease-in-out, -webkit-box-shadow 0.3s ease-in-out, -moz-box-shadow 0.3s ease-in-out;
}
100% {
-webkit-box-shadow: initial;
-moz-box-shadow: initial;
box-shadow: initial;
-webkit-border-radius: var(--smaller);
-moz-border-radius: var(--smaller);
border-radius: var(--smaller);
}
}
}