: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:not(.quoted-tweet .vertical-reply-line), .reply-chain > :not(:last-child) .vertical-reply-line:not(.quoted-tweet .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; }