JabberCard/css/stylesheet.css
2024-10-08 10:13:40 +03:00

384 lines
6.2 KiB
CSS

* {
user-select: none;
}
div, h1, h2, h3, h4, h5 {
font-family: system-ui;
}
html {
height: 100%;
}
body {
background: 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%;
}
/*
div:has(#bar) {
height: 100vh;
}
*/
#bar {
background: #f5f5f5;
filter: drop-shadow(0 0 4px grey);
min-height: 3em;
padding-top: 1em;
padding-bottom: 1em;
margin-bottom: 2.5em;
/* position: fixed;
width: 100%; */
z-index: 1;
}
#bar > * {
margin-left: 0.5em;
margin-right: 0.5em;
}
#logo {
height: 3em;
}
#xmpp-uri {
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,
#exception,
#xmpp-uri,
#preview {
line-height: 3em; /* 2em */
}
#download {
float: right;
}
#jid {
font-size: 1.5em;
margin-bottom: 1em;
/* padding-bottom: 1em; */
}
#action,
#download,
#input {
border-radius: 26px;
font-size: 1.4em;
padding: 0.5em;
}
#action,
#input {
background: #13b5ea; /* #002b5c */
}
#action:hover,
#input:hover {
background: #1b3967;
}
#action,
#download,
#download-narrow,
#input {
color: #f5f5f5;
font-weight: bold;
padding-left: 2em;
padding-right: 2em;
text-decoration: none;
text-transform: uppercase;
}
#download,
#download-narrow {
background: #d9541e; /* #e96d1f */
}
#download:hover,
#download-narrow:hover {
background: #439639; /* #a0ce67 */
}
#download-narrow {
border-bottom-left-radius: 16px;
border-bottom-right-radius: 16px;
font-size: 2em;
margin-bottom: 3em;
padding: 0.5em;
/* width: 60%; */
width: 360px;
}
#logo-narrow {
height: 1em;
padding-right: 1em;
}
#download-narrow,
#logo-bottom {
display: none;
}
#logo-bottom {
margin: auto;
margin-top: 4em;
/* padding-bottom: 2.5em; */
width: 30%;
}
h1 {
overflow-x: hidden;
/* padding: 10px; */
text-overflow: ellipsis;
}
/*
#count {
margin: 1em;
}
*/
#photo,
#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;
*/
}
#photo {
background: #fff;
border-right: none;
/* border-radius: 100px; 500px */
border-bottom-left-radius: 50px;
border-top-left-radius: 50px;
margin-right: -3px;
object-fit: scale-down;
}
/*
NOTE
Use border to equalize element #phoro with #qrcode.
Perhaps also contain it within a span, in order to fill the background.
border: 1em solid #fff;
height: 240px;
width: 240px;
*/
#qrcode {
border-left: none;
border-bottom-right-radius: 50px;
border-top-right-radius: 50px;
margin-left: -3px;
}
h3, h4, h5 {
padding-left: 2em;
padding-right: 2em;
}
#profile {
background: #f5f5f5;
border-radius: 30px;
filter: drop-shadow(2px 4px 6px grey);
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: 3em;
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;
}
#count > a,
#preview {
color: #5c5656;
text-decoration: none;
}
#count > a:hover,
#preview:hover {
color: #000;
text-decoration: underline;
}
#note {
color: #fff;
font-weight: bold;
padding-bottom: 1em;
text-align: center;
text-shadow: 1px 1px #000;
}
#message {
background: #000;
color: white;
font-weight: bold;
opacity: 10%;
padding: 1em;
position: fixed;
text-align: center;
bottom: 0;
left: 0;
right: 0;
}
#message:hover {
opacity: unset;
}
/* 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: 725px) {
body {
background: #f5f5f5;
}
#bar,
#message {
display: none;
}
#download-narrow {
background: #a3a3a3;
display: inline-block;
margin-bottom: unset;
}
#download-narrow:hover {
background: #a7a7a7;
}
#logo-bottom {
display: unset;
}
#profile {
border-radius: unset;
filter: unset;
margin-bottom: unset;
max-height: unset;
max-width: unset;
min-width: 25em;
padding-top: unset;
width: unset;
}
#note {
background: #f5f5f5;
color: #000;
/* display: none; */
font-weight: unset;
padding-bottom: 1em;
text-shadow: unset;
}
#photo,
#qrcode {
border: unset;
border-radius: 50px;
/* height: unset; */
height: 360px;
margin-bottom: 2.5em;
max-width: 70%;
min-width: 360px;
/* width: 360px; */
}
#photo {
background: unset;
/*
border-bottom-left-radius: unset;
border-top-left-radius: unset;
*/
margin-right: unset;
/* object-fit: unset; */
}
#qrcode {
/*
border-bottom-right-radius: unset;
border-top-right-radius: unset;
*/
margin-left: unset;
}
}