279 lines
8.6 KiB
CSS
279 lines
8.6 KiB
CSS
/* Base design */
|
|
|
|
/* ---------------- Variables ---------------- */
|
|
|
|
html {
|
|
--chat-gap: 1em;
|
|
--updates-gap: 1em;
|
|
--blinkies-gap: 1em;
|
|
--blinkies-height: 40px;
|
|
--scrolls-height: 50px;
|
|
--secondary-width: 200px;
|
|
--webrings-heigth: 200px;
|
|
--webrings-mobile-height: 100px;
|
|
--title-height: 3em;
|
|
}
|
|
|
|
|
|
/* --------- Display changes ---------------- */
|
|
|
|
.verticalscroll, .scroll_below-clip-box, #try_tapping--blinkie, #try_hovering--blinkie { display: none; }
|
|
|
|
/* --------- Hierarchical layout --------- */
|
|
|
|
.blinkies {
|
|
padding-top: 0;
|
|
padding-bottom: 0;
|
|
gap: var(--blinkies-gap);
|
|
width: 100%;
|
|
height: var(--blinkies-height);
|
|
flex-grow: 0;
|
|
align-content: center;}
|
|
|
|
.auto-scroll {
|
|
display: flex;
|
|
flex-direction: row;}
|
|
|
|
.scroll_one, .scroll_two {
|
|
display: flex;
|
|
gap: var(--blinkies-gap);}
|
|
|
|
.blinkies img { height: 30px; }
|
|
|
|
.content {
|
|
overflow-y: auto;
|
|
overflow-x: hidden;}
|
|
|
|
.articles, .chat-webrings { width: var(--secondary-width); }
|
|
|
|
.articles { flex-grow: 0; }
|
|
|
|
.articles .content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: calc(var(--gap) / 2);
|
|
}
|
|
|
|
.main {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex: 1;
|
|
gap: var(--gap);}
|
|
|
|
.updates {
|
|
flex-grow: 1;
|
|
overflow-y: auto;
|
|
flex-basis: 30%;
|
|
flex-shrink: 0;}
|
|
|
|
.updates .update {
|
|
display: grid;
|
|
grid-template-columns: fit-content 1fr;
|
|
grid-template-rows: fit-content 1fr;
|
|
gap: var(--updates-gap);}
|
|
|
|
.update .title {
|
|
/* Grid placement */
|
|
grid-column-start: 2;
|
|
grid-column-end: 3;
|
|
grid-row-start: 1;
|
|
grid-row-end: 2;
|
|
|
|
text-align: center;
|
|
margin-bottom: 0;}
|
|
|
|
.update .date {
|
|
/* Grid placement */
|
|
grid-column-start: 1;
|
|
grid-column-end: 2;
|
|
grid-row-start: 1;
|
|
grid-row-end: 3;
|
|
|
|
writing-mode: sideways-lr;}
|
|
|
|
.update .content {
|
|
/* Grid placement */
|
|
grid-column-start: 2;
|
|
grid-column-end: 3;
|
|
grid-row-start: 2;
|
|
grid-row-end: 3;
|
|
|
|
text-align: justify;}
|
|
|
|
.provided {
|
|
position: relative;
|
|
flex-grow: 1;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;}
|
|
|
|
.provided .content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: calc(var(--gap) / 4);
|
|
overflow-y: auto;}
|
|
|
|
.services-hint {
|
|
/* Internal layout and positioning */
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: calc(var(--gap) / 3);
|
|
background-color: var(--hint-background);}
|
|
|
|
.services-hint p {
|
|
flex-grow: 0;
|
|
vertical-align: center;
|
|
padding-left: calc(var(--gap) / 3);
|
|
border-left: 2px solid red;
|
|
}
|
|
|
|
.services-hint img {
|
|
height: 32px;
|
|
flex-grow: 0;
|
|
flex-shrink: 0;
|
|
margin-right: calc(var(--gap) / 3);}
|
|
|
|
.services {
|
|
display: flex;
|
|
gap: var(--gap);
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.services > div {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-grow: 1;
|
|
gap: calc(var(--gap) / 2);
|
|
}
|
|
|
|
|
|
.chat-webrings {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-grow: 0;
|
|
flex-shrink: 0;
|
|
gap: inherit;}
|
|
|
|
.chat {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-grow: 1;
|
|
overflow: hidden;}
|
|
|
|
.chat > .content {
|
|
flex-grow: 1;
|
|
display: flex;
|
|
gap: var(--chat-gap);
|
|
flex-direction: column;
|
|
overflow: hidden;}
|
|
|
|
.chat-account {
|
|
width: 100%;
|
|
height: fit-content;
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-grow: 0;
|
|
gap: calc(var(--gap) / 4);}
|
|
|
|
.chat-account-inputs, .chat-account-buttons {
|
|
height: auto;
|
|
gap: calc(var(--gap) / 2);
|
|
display: flex;
|
|
flex-grow: 0;
|
|
width: 100%;}
|
|
|
|
.chat-account input, .chat-account button {
|
|
height: fit-content;
|
|
width: 50%;}
|
|
|
|
.chat-history {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding-top: calc(var(--gap) / 2);
|
|
padding-bottom: calc(var(--gap) / 2);
|
|
gap: calc(var(--gap) / 2);
|
|
width: 100%;
|
|
flex-grow: 1;
|
|
overflow-y: auto;}
|
|
|
|
.message > .date_sent { margin: 0;}
|
|
|
|
.chat-input {
|
|
width: 100%;
|
|
flex-grow: 0;}
|
|
|
|
.chat-input input { width: 100%; }
|
|
|
|
.webrings {
|
|
display: flex;
|
|
gap: var(--blinkies-gap);
|
|
height: var(--webrings-heigth);
|
|
flex-grow: 0;
|
|
justify-content: center;}
|
|
|
|
.webrings .auto-scroll {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;}
|
|
|
|
.webrings .scroll_one, .webrings .scroll_two {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--blinkies-gap);}
|
|
|
|
.webrings .auto-scroll > * img {
|
|
width: 100%;
|
|
}
|
|
|
|
|
|
/* ----------- Animation ------------- */
|
|
|
|
/* Personalized marquee, did my thing
|
|
because I didn't quite get what the owner
|
|
of https://minx98.neocities.org/ was doing,
|
|
got the idea to use two separate divs and
|
|
transform them, not sure how the original
|
|
owner clipped them though */
|
|
|
|
/* Global */
|
|
.auto-scroll { width: fit-content; }
|
|
.auto-scroll:hover { animation-play-state: paused !important; }
|
|
.clip-box { overflow: hidden; }
|
|
|
|
.auto-scroll {
|
|
animation-duration: 10s;
|
|
animation-timing-function: linear;
|
|
animation-delay: 0s;
|
|
animation-iteration-count: infinite;
|
|
animation-direction: normal;
|
|
animation-fill-mode: none;
|
|
animation-play-state: running;
|
|
}
|
|
|
|
/* Blinkies */
|
|
|
|
.blinkies .clip-box { clip-path: content-box; }
|
|
|
|
.blinkies .auto-scroll {
|
|
animation-name: scroll_blinkies;
|
|
animation-duration: 20s;}
|
|
|
|
@keyframes scroll_blinkies {
|
|
from {transform: translateX(calc(-50%));}
|
|
to {transform: translateX(0%);}}
|
|
|
|
/* Second blinkie */
|
|
|
|
.blinkies.two .auto-scroll { animation-direction: reverse; }
|
|
|
|
/* Webrings */
|
|
|
|
.webrings .clip-box {
|
|
clip-path: content-box;
|
|
width: 100%; }
|
|
|
|
.webrings .auto-scroll { animation-name: scroll-webring; }
|
|
|
|
@keyframes scroll-webring {
|
|
from {transform: translateY(calc(-50%));}
|
|
to {transform: translateY(0%);}} |