JabberCard/css/stylesheet.css

680 lines
10 KiB
CSS
Raw Normal View History

#bar,
#action,
#action-bar,
#graphics,
#input {
user-select: none;
}
div, h1, h2, h3, h4, h5 {
font-family: system-ui;
}
h1, h2, h3 {
text-align: center;
}
html {
height: 100%;
}
body {
background:
linear-gradient(
to right,
rgba(140, 140, 140, 0.5),
rgba(130, 130, 130, 0.5)
),
url(/img/background.svg);
background-repeat: repeat;
/* height: 100vh; */
/*
background: linear-gradient(-45deg, rgba(0,0,0,0) 25%, rgba(255,255,255,0.2) 25%, rgba(255,255,255,0.2) 50%, rgba(0,0,0,0) 50%, rgba(0,0,0,0) 75%, rgba(255,255,255,0.2) 75%), linear-gradient(45deg, rgba(0,0,0,0) 25%, rgba(255,255,255,0.2) 25%, rgba(255,255,255,0.2) 50%, rgba(0,0,0,0) 50%, rgba(0,0,0,0) 75%, rgba(255,255,255,0.2) 75%), rgb(2, 115, 127)
*/
/* background: url(/img/background.svg); */
/* background-repeat: repeat; */
/* NOTE Value "contain" can be useful for tiled background */
/* background-size: contain; */
/* background-size: 100vw; */
/* background-size: cover; */
margin: 0;
min-height: 100%;
min-width: 450px;
}
/*
div:has(#bar) {
height: 100vh;
}
*/
#subject {
margin: auto;
max-height: 30vh;
overflow: auto;
padding: 1em;
width: 90vw;
}
#bar,
#content > #entries > .entry,
#profile-top,
#table-of-contents > ol,
#profile {
background: #f5f5f5;
}
#bar {
display: flex;
filter: drop-shadow(0 0 4px grey);
height: 3em;
justify-content: space-between;
padding-bottom: 1em;
padding-left: 0.5em;
padding-right: 0.5em;
padding-top: 1em;
/* position: fixed;
width: 100%; */
z-index: 1;
}
#logo {
content: url(/img/logo-wordmark-horizontal.svg);
height: 3em;
/* width: 20%; */
}
#xmpp-uri {
cursor: default;
user-select: all;
}
input,
input[type="submit" i],
input:not(
[type="email" i],
[type="number" i],
[type="password" i],
[type="search" i],
[type="tel" i],
[type="text" i],
[type="url" i]
),
input:not(
[type="file" i],
[type="image" i],
[type="checkbox" i],
[type="radio" i]
) {
all: unset;
}
label,
#action > a,
#actions-bar > a,
#exception,
#xmpp-uri,
#preview {
line-height: 3em; /* 2em */
}
#jid {
font-size: 1.5em;
margin-bottom: 1em;
/* padding-bottom: 1em; */
}
#action > a,
#action-bar > a,
#number-of-pages > a,
#number-of-pages .inactive {
display: inline-block;
font-size: 1.2em;
min-width: 90px;
padding: 0.5em;
width: 15%;
}
#actions-compact > a {
margin: 0.1em;
padding: 0.8em;
text-decoration: none;
}
#download,
#input {
border-radius: 2em;
font-size: 1.34em;
padding: 0.5em;
}
#profile-top {
align-items: center;
display: flex;
justify-content: space-between;
text-align: center;
}
#action-bar,
#number-of-pages {
display: flex;
justify-content: center;
text-align: center;
}
#action,
#action-bar,
#actions-compact {
margin-bottom: 1em;
}
#action,
#action-bar,
#actions-compact,
#input,
#number-of-pages {
background: #13b5ea; /* #002b5c */
}
#action > a:hover,
#action-bar > a:hover,
#actions-compact > a:hover,
#input:hover,
#number-of-pages > a:hover {
background: #1b3967;
}
#action > a,
#action-bar > a,
#download,
#input,
#number-of-pages > a,
#number-of-pages .inactive {
color: #f5f5f5;
font-weight: bold;
padding-left: 2em;
padding-right: 2em;
text-decoration: none;
text-transform: uppercase;
}
#action > a,
#action-bar > a {
padding-left: 1em;
padding-right: 1em;
}
#number-of-pages .inactive {
background: #7a7a7a;
}
#download {
background: #d9541e; /* #e96d1f */
}
#download:hover {
background: #439639; /* #a0ce67 */
}
#logo-bottom,
#notice {
display: none;
text-align: center;
}
#logo-bottom {
content: url(/img/logo-wordmark-vertical.svg);
margin: auto;
margin-top: 4em;
/* padding-bottom: 2.5em; */
width: 30%;
}
h1 {
overflow-x: hidden;
/* padding: 10px; */
text-overflow: ellipsis;
}
/*
#count {
margin: 1em;
}
*/
#graphics,
#photo {
border-radius: 50px;
}
#graphics {
background: #f2f2f2;
border: 1px solid #c0c0c0;
margin: auto;
max-width: 560px; /* 80% */
padding: 15px;
width: 40em;
}
#profile #photo,
#profile #qrcode {
/* border: 1px solid #c0c0c0; */
/* width: 40%; */
/* margin-bottom: 2.5em; */
/* NOTE Reason for dimensions 276x276: To be in accord with generated QR Code. */
height: 276px;
width: 276px;
/*
max-height: 276px;
max-width: 276px;
min-height: 276px;
outline: solid;
outline-color: #7a7a7a;
*/
}
#profile #photo {
/* object-fit: scale-down; */
}
#profile-top img {
height: 180px;
width: 180px;
}
#profile-top #photo {
border-radius: 20px;
}
h3, h4, h5 {
padding-left: 2em;
padding-right: 2em;
}
#titles {
padding-left: 0.5em;
padding-right: 0.5em;
}
#container-of-profile {
/* margin: auto; */
padding-bottom: 0.5em;
}
#profile-top,
#content > #entries > .entry {
padding: 2em;
}
#profile-top,
#content > #entries > .entry {
border-radius: 30px;
margin-bottom: 2em;
margin-left: 1em; /* 0.5 */
margin-right: 1em; /* 0.5 */
margin-top: 2em;
}
/*
#content > #entries > .entry {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
margin-right: 0;
}
*/
/*
#content > #entries > .entry:first-child {
margin-top: 0;
}
*/
#content,
#profile-compact {
filter: drop-shadow(2px 4px 6px grey);
}
#container-of-content {
/* margin-left: 8em; */
/* overflow: auto; */
}
#profile {
border-radius: 30px;
filter: drop-shadow(2px 4px 6px grey);
margin-top: 2.5em;
margin-bottom: 2.5em;
margin-left: auto;
margin-right: auto;
max-width: 55em;
/* FIXME
Elements of element #profile overflow upon decreasing height, once property
min-width has been added.
*/
min-width: 35em;
/* NOTE
The problem is not with elements within element #profile.
Issue has been fixed, once property max-height was commented.
If you would, add @media (max-height: 300px) for lower height.
*/
/* max-height: 75vh; */
padding-top: 1em;
padding-bottom: 2em;
text-align: center;
width: 80%;
}
#entries {
/* padding: 2em; */
text-align: left;
}
/*
.entry > * {
margin-bottom: 1em;
}
*/
.summary {
white-space: pre-wrap;
word-break: break-word;
}
#services {
text-align: left;
}
.link {
margin: 0.1em;
padding: 0.8em;
text-decoration: none;
}
.permalink {
padding-right: 0.8em;
text-decoration: none;
}
#count > a,
#preview {
color: #5c5656;
text-decoration: none;
}
#count > a:hover,
#preview:hover {
color: #000;
text-decoration: underline;
}
#note {
display: none;
font-weight: bold;
padding-bottom: 1em;
text-align: center;
text-shadow: 1px 1px #000;
}
2024-10-15 14:38:27 +02:00
#xmpp-message {
background: #000;
font-weight: bold;
opacity: 10%;
padding: 1em;
position: fixed;
text-align: center;
bottom: 0;
left: 0;
right: 0;
}
2024-10-15 14:38:27 +02:00
#xmpp-message {
color: #fff;
}
2024-10-15 14:38:27 +02:00
#xmpp-message:hover {
opacity: unset;
}
@media (prefers-color-scheme: dark) {
h1, h2 ,h3, h4, h5,
label[for="jid"],
#count > a,
#count > a:hover,
#preview:hover,
#jid,
#xmpp-uri {
color: #fbfbfe;
}
#count > a {
color: #a7a7a7; /* a7a7bb */
}
body {
background:
linear-gradient(
to right,
rgba(0, 0, 0, 0.5),
rgba(0, 0, 0, 0.5)
),
url(/img/background.svg);
}
#bar,
#note,
#profile {
background: #2b2a33;
}
#logo {
content: url(/img/logo-wordmark-horizontal-dark.svg);
}
#graphics {
background: #232323;
border: 1px solid #434a53; /* #6f7b8c */
}
#profile #qrcode {
filter: invert(0.9);
}
#profile {
filter: drop-shadow(2px 4px 6px grey); /* TODO Reverse color */
}
#note {
color: #2b2a33;
}
#note {
color: #f5f5f5;
text-shadow: 1px 1px #fbfbfe;
}
#logo-bottom {
content: url(/img/logo-wordmark-vertical-dark.svg);
}
}
/* NOTE This rule useful, for larger images (800x800), to switch from
background-size: 100vw;
*/
/*
@media (max-width: 950px) {
body {
background-size: 100vh;
}
}
*/
@media (max-width: 950px) {
#action-bar > #vcard,
#profile-top img,
#number-of-pages #first,
#number-of-pages #last {
display: none;
}
#profile-top {
justify-content: center;
}
}
@media (max-width: 885px) {
h1 {
margin-bottom: 1em;
}
#graphics {
background: unset;
border: unset;
border-radius: unset;
margin: unset;
max-width: unset;
padding: unset;
width: unset;
}
2024-10-15 14:38:27 +02:00
#xmpp-message {
display: none;
}
#notice,
#profile #photo,
#profile #qrcode {
display: block;
/* border-radius: 50px; */
margin: auto;
margin-bottom: 2.5em;
}
2024-10-15 14:38:27 +02:00
#notice {
padding-bottom: 1.5em;
}
#profile #qrcode {
margin-bottom: 1em;
outline: solid;
outline-color: #333;
}
}
@media (max-width: 725px) and (prefers-color-scheme: dark) {
body {
background: #2b2a33;
}
}
@media (max-width: 725px) {
body {
background: #f5f5f5;
}
h1 {
margin-top: 0;
padding-top: 21.44px;
}
#bar {
border-bottom: 1px solid #c0c0c0;
filter: unset;
}
#logo-bottom {
display: unset;
}
#container-of-profile {
padding-bottom: unset;
}
#profile {
border-radius: unset;
filter: unset;
margin-top: unset;
margin-bottom: unset;
max-height: unset;
max-width: unset;
min-width: 25em;
padding-top: unset;
width: unset;
}
#action {
background: unset;
}
#action > a {
background: #13b5ea; /* #002b5c */
}
#action > a:first-child {
border-bottom-left-radius: 2em;
border-top-left-radius: 2em;
}
#action > a:last-child {
border-bottom-right-radius: 2em;
border-top-right-radius: 2em;
}
#note {
display: block;
font-weight: unset;
padding-bottom: 1em;
text-shadow: unset;
}
#profile #photo,
#profile #qrcode {
/* height: unset; */
height: 360px;
max-width: 70%;
min-width: 360px;
/* width: 360px; */
}
#profile #photo {
background: unset;
}
}
@media (max-width: 572px) {
#bar,
#logo {
height: 2.6em;
}
#download {
font-size: 1em; /* 0.87em */
padding: 0.7em; /* 0.7em */
padding-left: 1.4em;
padding-right: 1.4em;
}
#action > a:nth-child(2) {
border-bottom-right-radius: 2em;
border-top-right-radius: 2em;
}
#action > a:nth-child(3) {
display: none;
}
}