533 lines
10 KiB
CSS
533 lines
10 KiB
CSS
:root {
|
|
--color-twitter-text-gray: #536171;
|
|
--color-twitter-blue: #1b95e0; /* hsv(203, 87.9, 87,8) */
|
|
--color-twitter-blue-light: #7cc5f6; /* hsv(204, 49.6, 96.5) */
|
|
--color-twitter-off-white: #f7f9f9; /* hsv(180, 0.8, 97.6) */
|
|
--color-twitter-off-white-dark: #dae5e5; /* hsv(180, 4.8, 89.8) */
|
|
--color-outline-gray: #dcdcdc;
|
|
|
|
--color-space-purple: #a49bfd;
|
|
--color-space-purple-outline: #6452fc;
|
|
|
|
/*
|
|
const QColor COLOR_OUTLINE_GRAY = QColor(220, 220, 220);
|
|
const QColor COLOR_TWITTER_BLUE = QColor(27, 149, 224);
|
|
const QColor COLOR_TWITTER_BLUE_LIGHT = QColor(124,197,246);
|
|
const QColor COLOR_TWITTER_OFF_WHITE = QColor(247,249,249);
|
|
const QColor COLOR_TWITTER_OFF_WHITE_DARK = QColor(218,229,229);
|
|
const QColor COLOR_TWITTER_TEXT_GRAY = QColor(83, 100, 113);
|
|
|
|
const QColor COLOR_BACKGROUND_GREEN = QColor(40, 205, 50);
|
|
|
|
const QColor COLOR_RED = QColor(255, 0, 0);
|
|
|
|
const QColor COLOR_SPACE_PURPLE = QColor(164, 155, 253);
|
|
const QColor COLOR_SPACE_PURPLE_OUTLINE = QColor(100, 82, 252);
|
|
*/
|
|
}
|
|
|
|
html {
|
|
/* Force scrollbar, even when it fits on 1 page. Prevents viewport from resizing -> flickering / stuff moving btw page loads */
|
|
overflow-y: scroll;
|
|
}
|
|
body {
|
|
margin: 0 30%;
|
|
border-color: var(--color-twitter-off-white-dark);
|
|
border-right-style: solid;
|
|
border-left-style: solid;
|
|
border-width: 1px;
|
|
min-height: 100vh;
|
|
|
|
font-family: "Titillium Web";
|
|
}
|
|
main {
|
|
padding-top: 4em;
|
|
}
|
|
input, select {
|
|
font-family: inherit;
|
|
font-size: 1em;
|
|
padding: 0.2em 0.6em;
|
|
box-sizing: border-box;
|
|
border-radius: 0.5em;
|
|
}
|
|
|
|
ul.inline-dotted-list {
|
|
list-style: none;
|
|
margin: 0;
|
|
}
|
|
ul.inline-dotted-list li {
|
|
display: inline;
|
|
}
|
|
ul.inline-dotted-list li:after {
|
|
content: " ⋅";
|
|
}
|
|
ul.inline-dotted-list li:last-child:after {
|
|
content: "";
|
|
}
|
|
|
|
.tweet {
|
|
padding: 0 1.5em;
|
|
}
|
|
:not(.focused-tweet) > .tweet {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.quoted-tweet {
|
|
margin: 1em 0;
|
|
}
|
|
|
|
.rounded-gray-outline {
|
|
outline-color: lightgray;
|
|
outline-style: solid;
|
|
outline-width: 1px;
|
|
border-radius: 20px;
|
|
}
|
|
|
|
.profile-banner-image {
|
|
width: 100%;
|
|
}
|
|
|
|
.unstyled-link {
|
|
text-decoration: none;
|
|
color: inherit;
|
|
}
|
|
|
|
.author-info {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.author-info a {
|
|
line-height: 0;
|
|
}
|
|
|
|
.author-info, .tweet-text {
|
|
cursor: default;
|
|
}
|
|
|
|
.circle-outline {
|
|
display: flex;
|
|
border-radius: 50%;
|
|
outline: 1px solid #777;
|
|
margin: 0 0.4em;
|
|
font-size: 0.8em;
|
|
padding: 0.2em;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.name-and-handle {
|
|
padding: 0 0.6em !important; /* !important to make the ".quick-link .span" rule in the login button not overrule it */
|
|
}
|
|
|
|
.display-name {
|
|
font-weight: bold;
|
|
}
|
|
.handle {
|
|
color: var(--color-twitter-text-gray);
|
|
}
|
|
|
|
.tweet-header-container {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.reply-mentions-container {
|
|
display: flex;
|
|
align-items: center;
|
|
margin: 0 5em;
|
|
cursor: default;
|
|
}
|
|
.reply-mentions {
|
|
padding: 0 0.5em;
|
|
}
|
|
|
|
.replying-to-label {
|
|
color: var(--color-twitter-text-gray);
|
|
}
|
|
a.entity {
|
|
text-decoration: none;
|
|
color: var(--color-twitter-blue);
|
|
}
|
|
|
|
.tweet-text {
|
|
display: block;
|
|
margin-bottom: 0.4em;
|
|
margin-top: 0;
|
|
}
|
|
.focused-tweet .tweet-text {
|
|
font-size: 1.4em;
|
|
}
|
|
.focused-tweet .quoted-tweet .tweet-text {
|
|
font-size: unset;
|
|
}
|
|
.tweet-content video {
|
|
max-width: 100%;
|
|
max-height: 40em;
|
|
}
|
|
.embedded-link {
|
|
padding: 1.3em;
|
|
margin-top: 1em;
|
|
display: flex;
|
|
flex-direction: column;
|
|
background-color: var(--color-twitter-off-white);
|
|
}
|
|
img.embedded-link-preview {
|
|
border-radius: 1em;
|
|
}
|
|
.embedded-link-description {
|
|
color: var(--color-twitter-text-gray);
|
|
font-size: 0.8em;
|
|
margin: 0;
|
|
}
|
|
h3 {
|
|
margin: 0.5em 0;
|
|
}
|
|
.embedded-link-domain-container {
|
|
margin-top: 0.2em
|
|
}
|
|
.embedded-link-domain {
|
|
margin-left: 0.3em;
|
|
}
|
|
.thread-parent-tweet:first-child, .focused-tweet:first-child {
|
|
padding-top: 1em;
|
|
}
|
|
.thread-parent-tweet .vertical-reply-line-container,
|
|
.reply-chain .vertical-reply-line-container {
|
|
width: 3em;
|
|
margin-right: 0.5em;
|
|
}
|
|
.thread-parent-tweet .vertical-reply-line,
|
|
.reply-chain > :not(:last-child) .vertical-reply-line {
|
|
width: 2px;
|
|
background-color: var(--color-twitter-off-white-dark);
|
|
flex-grow: 1;
|
|
margin: auto;
|
|
}
|
|
|
|
.profile-image {
|
|
border-radius: 50%;
|
|
width: 3em;
|
|
display: inline;
|
|
border: 1px solid var(--color-outline-gray);
|
|
}
|
|
|
|
.user-feed-header {
|
|
border-bottom: 1px solid var(--color-outline-gray);
|
|
}
|
|
.user-feed-header .author-info {
|
|
font-size: 1.3em;
|
|
padding: 1em;
|
|
}
|
|
.user-feed-header .profile-image {
|
|
width: 8em;
|
|
}
|
|
|
|
.row {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
}
|
|
.vertical-reply-line-container {
|
|
flex-grow: 0;
|
|
flex-shrink: 0;
|
|
padding: 0;
|
|
margin: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-self: stretch;
|
|
width: 1em; /* will be overridden by, e.g., parent-thread properties */
|
|
}
|
|
.vertical-container-1 {
|
|
flex-grow: 1;
|
|
flex-shrink: 1;
|
|
}
|
|
|
|
.posted-at-container {
|
|
flex-grow: 1;
|
|
}
|
|
p.posted-at {
|
|
float: right;
|
|
color: var(--color-twitter-text-gray);
|
|
font-size: 0.875em;
|
|
}
|
|
|
|
.interactions-bar {
|
|
display: flex;
|
|
flex-direction: row;
|
|
margin: 0.5em 0;
|
|
}
|
|
.interaction-stat {
|
|
flex-grow: 1;
|
|
display: flex;
|
|
}
|
|
.interaction-stat span {
|
|
line-height: 1.5em;
|
|
padding: 0 0.5em;
|
|
}
|
|
.interactions-bar .dummy {
|
|
flex-grow: 5;
|
|
}
|
|
|
|
.focused-tweet {
|
|
border-bottom: 1px solid var(--color-twitter-off-white-dark);
|
|
padding-bottom: 0.5em;
|
|
}
|
|
|
|
|
|
.reply-chain {
|
|
margin-top: 1em;
|
|
}
|
|
.reply-chain > :last-child {
|
|
padding-bottom: 1em;
|
|
border-bottom: 1px solid var(--color-twitter-off-white-dark);
|
|
}
|
|
.nav-sidebar {
|
|
display: flex;
|
|
flex-direction: column;
|
|
position: fixed;
|
|
transform: translate(-100%, 0);
|
|
font-size: 1.4em;
|
|
}
|
|
ul.quick-links {
|
|
display: flex;
|
|
flex-direction: column;
|
|
list-style: none;
|
|
align-items: flex-start;
|
|
padding: 0 2em;
|
|
}
|
|
.quick-link {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
padding: 0.5em;
|
|
margin: 0.2em;
|
|
border-radius: 100em; /* any large amount, just don't use % because then it makes an ellipse */
|
|
cursor: pointer;
|
|
}
|
|
.quick-link:hover {
|
|
background-color: var(--color-twitter-blue-light);
|
|
}
|
|
.quick-link:active {
|
|
transform: translate(0.1em, 0.1em);
|
|
background-color: var(--color-twitter-blue);
|
|
}
|
|
|
|
.quick-link span {
|
|
padding: 0 0.3em;
|
|
}
|
|
|
|
.followers-count, .following-count {
|
|
font-weight: bold;
|
|
}
|
|
.followers-label, .following-label {
|
|
color: var(--color-twitter-text-gray);
|
|
}
|
|
.bio-info-with-icon {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
gap: 0.3em;
|
|
}
|
|
.user-feed-header-info-container {
|
|
padding: 2em;
|
|
margin-bottom: 0.1em;
|
|
border-bottom: 1px solid var(--color-outline-gray);
|
|
}
|
|
.timeline .tweet, .quoted-tweet .tweet {
|
|
padding-top: 0.8em;
|
|
padding-bottom: 0.8em;
|
|
}
|
|
.timeline > .tweet {
|
|
/* not for nested (i.e., quoted) tweets */
|
|
border-bottom: 1px solid var(--color-twitter-off-white-dark);
|
|
}
|
|
|
|
.top-bar {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
height: 4em;
|
|
padding: 0.5em 1em;
|
|
gap: 1em;
|
|
border: 1px solid var(--color-outline-gray);
|
|
position: fixed;
|
|
background-color: white;
|
|
width: 40%;
|
|
left: 30%;
|
|
box-sizing: border-box;
|
|
z-index: 1;
|
|
}
|
|
|
|
.back-button {
|
|
flex-grow: 0;
|
|
border-radius: 50%;
|
|
border: 2px solid black;
|
|
width: 2em;
|
|
position: relative;
|
|
height: 2em;
|
|
box-sizing: border-box;
|
|
cursor: pointer;
|
|
}
|
|
|
|
img.svg-icon {
|
|
width: 1.5em;
|
|
}
|
|
|
|
svg {
|
|
width: 1.5em;
|
|
}
|
|
.back-button img {
|
|
color: rgb(239, 243, 244);
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
}
|
|
.search-bar {
|
|
flex-grow: 1;
|
|
}
|
|
|
|
.login {
|
|
width: 60%;
|
|
margin: 20% auto;
|
|
}
|
|
.login-form input {
|
|
width: 100%;
|
|
border-radius: 0.5em;
|
|
|
|
padding: 0.5em 0.6em;
|
|
}
|
|
.login-form .error {
|
|
color: #C0392B;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.login-form .error + input {
|
|
border-color: #C0392B;
|
|
border-width: 2px;
|
|
}
|
|
|
|
.field-container {
|
|
padding: 0.5em 0;
|
|
}
|
|
.submit-container {
|
|
text-align: right;
|
|
}
|
|
input[type="submit"] {
|
|
background-color: var(--color-twitter-blue-light);
|
|
width: 10em;
|
|
padding: 1em;
|
|
margin-top: 1em;
|
|
border-radius: 1em;
|
|
font-size: 1em;
|
|
cursor: pointer;
|
|
}
|
|
.change-session-form select {
|
|
display: block;
|
|
width: 100%;
|
|
}
|
|
#logged-in-user-info {
|
|
font-size: 0.8em;
|
|
margin-top: 1em;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
}
|
|
|
|
.quick-link .author-info {
|
|
pointer-events: none;
|
|
}
|
|
.retweet-info-container {
|
|
margin-left: 3.5em;
|
|
display: flex;
|
|
align-items: center;
|
|
opacity: 0.8;
|
|
}
|
|
.retweet-info-container .svg-icon {
|
|
width: 1.2em; /* override default from .svg-icon of 1.5em */
|
|
opacity: 0.6;
|
|
margin-right: 0.3em;
|
|
}
|
|
.retweeted-by-label {
|
|
margin: 0 0.2em;
|
|
}
|
|
|
|
.user-bio {
|
|
margin: 1.5em 0;
|
|
}
|
|
|
|
.followers-followees-container {
|
|
margin-top: 1em;
|
|
gap: 4em;
|
|
}
|
|
|
|
.poll {
|
|
padding: 1em;
|
|
}
|
|
.poll-choice {
|
|
position: relative;
|
|
margin: 0.3em 0;
|
|
}
|
|
.poll-fill-bar {
|
|
position: absolute;
|
|
height: 100%;
|
|
z-index: -1;
|
|
background-color: var(--color-twitter-off-white-dark);
|
|
}
|
|
.poll-fill-bar.poll-winner {
|
|
background-color: var(--color-twitter-blue-light);
|
|
}
|
|
.poll-info-container {
|
|
width: 100%;
|
|
line-height: 2em;
|
|
margin: 0 0.5em;
|
|
}
|
|
.poll-choice-label {
|
|
width: 50%;
|
|
}
|
|
.poll-choice-votes {
|
|
width: 50%;
|
|
}
|
|
.poll-metadata {
|
|
color: var(--color-twitter-text-gray);
|
|
margin: 0;
|
|
font-size: 0.9em;
|
|
}
|
|
|
|
.space {
|
|
outline: 1px solid var(--color-space-purple-outline);
|
|
background-color: var(--color-space-purple);
|
|
border-radius: 1.5em;
|
|
padding: 1.5em;
|
|
}
|
|
.space-title {
|
|
padding-top: 0.5em;
|
|
}
|
|
.space .host-label {
|
|
color: var(--color-space-purple-outline);
|
|
}
|
|
.space-date {
|
|
color: var(--color-space-purple-outline);
|
|
font-size: 0.8em;
|
|
}
|
|
.space-info-list {
|
|
padding: 0;
|
|
}
|
|
.space .layout-spacer {
|
|
flex-grow: 1;
|
|
}
|
|
ul.space-participants-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
}
|
|
ul.space-participants-list li {
|
|
padding: 0.5em 0;
|
|
display: inline-block;
|
|
width: 24%;
|
|
}
|
|
.space-participants-list .author-info {
|
|
font-size: 0.9em;
|
|
line-height: 1.2em;
|
|
}
|
|
.space-participants-list .author-info .profile-image {
|
|
font-size: 0.8em;
|
|
}
|