:root { --themeColor: #409aed; --positiveColor: #91b14f; --negativeColor: #db4437; --warningColor: #ffcf24; --primaryBorderColor: #1c1c1c; --secondaryBorderColor: #252525; --tertiaryBorderColor: #3c3c3c; --primaryForeground: #fff; --secondaryForeground: #7a7a7a; --tertiaryForeground: #a6a6a6; --primaryBackground: #1e1e1e; --secondaryBackground: #232323; --tertiaryBackground: #282828; --quaternaryBackground: #2f2f2f; --quinaryBackground: #3c3c3c; --senaryBackground: #262626; --septenaryBackground: #555; --octonaryBackground: #1a1a1a; --bubbleBackground: #2d2d2d; --bubbleSelfBackground: #409aed; --bubbleMentionBackground: #91b14f; --notificationColor: #db4437; --scrollbarTrack: transparent; --scrollbarThumb: #888888ee; --scrollbarThumbHover: #555555; --menuIcon: url(/assets/img/icons/menu); --usersIcon: url(/assets/img/icons/users); --composeIcon: url(/assets/img/icons/compose); --lockIcon: url(/assets/img/icons/lock); --closeIcon: url(/assets/img/icons/close); --deleteIcon: url(/assets/img/icons/trash); --messageIcon: url(/assets/img/icons/message); --viewIcon: url(/assets/img/icons/view); --plusIcon: url(/assets/img/icons/plus); --payIcon: url(/assets/img/icons/pay); --signatureIcon: url(/assets/img/icons/signature); --checkIcon: url(/assets/img/icons/check); --failIcon: url(/assets/img/icons/fail); --warningIcon: url(/assets/img/icons/warning); --replyIcon: url(/assets/img/icons/arrow); --emojiIcon: url(/assets/img/icons/emoji); --gifIcon: url(/assets/img/icons/gif); --searchIcon: url(/assets/img/icons/search); --clipboardIcon: url(/assets/img/icons/clipboard); --editIcon: url(/assets/img/icons/edit); --saveIcon: url(/assets/img/icons/save); --mentionIcon: url(/assets/img/icons/mention); --fishIcon: url(/assets/img/icons/fish); --replayIcon: url(/assets/img/icons/replay); --pinIcon: url(/assets/img/icons/pin); --videoIcon: url(/assets/img/icons/video); --voiceIcon: url(/assets/img/icons/voice); --screenIcon: url(/assets/img/icons/screen); --leaveIcon: url(/assets/img/icons/leave); --audioIcon: url(/assets/img/icons/audio); --handshakeIcon: url(/assets/img/handshake); --unstoppableIcon: url(/assets/img/unstoppable); --icannIcon: url(/assets/img/icann); } ::-webkit-scrollbar { height: 5px; width: 5px; } ::-webkit-scrollbar-track { background-color: var(--scrollbarTrack); } ::-webkit-scrollbar-thumb { background-color: var(--scrollbarThumb); } ::-webkit-scrollbar-thumb:hover { background-color: var(--scrollbarThumbHover); } .scroller { scrollbar-color: var(--scrollbarThumb) var(--scrollbarTrack); scrollbar-width: auto; } .scroller.f { scrollbar-width: thin; } .scroller::-webkit-scrollbar-track { margin-top: 0px; margin-bottom: 0px; } .positive { color: var(--positiveColor); } a { text-decoration: none; } *,*:after,*:before { box-sizing: border-box; background-size: contain; background-position: center; background-repeat: no-repeat; -webkit-mask-size: contain; -webkit-mask-position: center; -webkit-mask-repeat: no-repeat; -moz-mask-size: contain; -moz-mask-position: center; -moz-mask-repeat: no-repeat; mask-size: contain; mask-position: center; mask-repeat: no-repeat; font-family: "Arial"; font-size: 15px; letter-spacing: 0.25px; touch-action: pan-x pan-y; } body:not(.desktop) { -webkit-touch-callout: none; -webkit-user-callout: none; -webkit-user-select: none; -webkit-user-drag: none; -webkit-user-modify: none; -webkit-highlight: none; } code { font-size: inherit; } .logo span { font-family: "Rubik"; } html,body { background-color: var(--primaryBackground); color: var(--primaryForeground); height: 100%; width: 100%; min-width: 500px; margin: 0; } body { display: flex; justify-content: center; align-items: center; } body[data-page=chat] { overflow: hidden; position: fixed; } div { color: var(--primaryForeground); } iframe { outline: none; border: 0; } .loading { display: none; position: absolute; width: 100%; height: 100%; justify-content: center; align-items: center; } .hidden { display: none !important; } .shown:not(.flex) { display: block !important; } .shown.flex { display: flex !important; } .visible { opacity: 1 !important; } .center { text-align: center; margin-left: auto; margin-right: auto; } .group { display: flex; align-items: center; } .group:not(.searching) div:not(.clipboard) { margin-right: 16px; } #users .title .group.normal { margin-left: 5px; } #stats .stat div:last-child { color: var(--secondaryForeground); } #stats .stat .list { display: flex; flex-direction: column; } a, .link { color: var(--themeColor); } body.desktop a:not(.previewLink):hover, body.desktop .link:hover { cursor: pointer; opacity: 0.5; } .address { text-align: center; word-break: break-all; } .messageHeader .title { display: flex; align-items: center; } .messageHeader .title .decoded { margin-left: 5px; color: var(--secondaryForeground); } tr,.title,.subtitle,.button,#qrcode,.header,.user,.time,.informational,.reply,.message.payment,.reactions .reaction,.fallback,.preview .media, .messageEffect, .messageEffect > *, .pinnedMessage > *, #videoInfo .actions > * { -webkit-user-select: none; -moz-user-select: none; user-select: none; } .error, .destructive { color: var(--negativeColor) !important; } .response { text-align: center; } .popover .response:not(:empty) { margin-top: 10px; } .popover[data-name=pay] .response:empty { margin-top: -10px; } .decrypt { display: none; } .inline { display: inline; } .inline.nick, .inline.channel { font-weight: bolder; } .user { line-height: 1; } body.desktop .inline:hover { cursor: pointer; opacity: 0.5; } .icon { height: 20px; width: 20px; background-color: var(--primaryForeground); flex-shrink: 0; } body.desktop .icon:hover { cursor: pointer; opacity: 0.5; } .icon.menu { -webkit-mask-image: var(--menuIcon); -moz-mask-image: var(--menuIcon); mask-image: var(--menuIcon); -webkit-mask-size: 20px; -moz-mask-size: 20px; mask-size: 20px; } .icon.users { -webkit-mask-image: var(--usersIcon); -moz-mask-image: var(--usersIcon); mask-image: var(--usersIcon); -webkit-mask-size: 20px; -moz-mask-size: 20px; mask-size: 20px; } .icon.compose { -webkit-mask-image: var(--composeIcon); -moz-mask-image: var(--composeIcon); mask-image: var(--composeIcon); } .icon.search { -webkit-mask-image: var(--searchIcon); -moz-mask-image: var(--searchIcon); mask-image: var(--searchIcon); } .icon.lock { -webkit-mask-image: var(--lockIcon); -moz-mask-image: var(--lockIcon); mask-image: var(--lockIcon); background-color: var(--negativeColor); } .icon.warning { -webkit-mask-image: var(--warningIcon); -moz-mask-image: var(--warningIcon); mask-image: var(--warningIcon); background-color: var(--warningColor); } .icon.close { -webkit-mask-image: var(--closeIcon); -moz-mask-image: var(--closeIcon); mask-image: var(--closeIcon); } .icon.remove { -webkit-mask-image: var(--plusIcon); -moz-mask-image: var(--plusIcon); mask-image: var(--plusIcon); transform: rotate(45deg); } .icon.delete { -webkit-mask-image: var(--deleteIcon); -moz-mask-image: var(--deleteIcon); mask-image: var(--deleteIcon); background-color: var(--negativeColor); } .icon.message { -webkit-mask-image: var(--messageIcon); -moz-mask-image: var(--messageIcon); mask-image: var(--messageIcon); } .icon.edit { -webkit-mask-image: var(--editIcon); -moz-mask-image: var(--editIcon); mask-image: var(--editIcon); } .icon.save { -webkit-mask-image: var(--saveIcon); -moz-mask-image: var(--saveIcon); mask-image: var(--saveIcon); } .icon.view { -webkit-mask-image: var(--viewIcon); -moz-mask-image: var(--viewIcon); mask-image: var(--viewIcon); } .icon.plus { -webkit-mask-image: var(--plusIcon); -moz-mask-image: var(--plusIcon); mask-image: var(--plusIcon); -webkit-mask-size: 24px; -moz-mask-size: 24px; mask-size: 24px; height: 24px; width: 24px; } .icon.pay { -webkit-mask-image: var(--payIcon); -moz-mask-image: var(--payIcon); mask-image: var(--payIcon); -webkit-mask-size: 24px; -moz-mask-size: 24px; mask-size: 24px; height: 24px; width: 24px; } .icon.signature { -webkit-mask-image: var(--signatureIcon); -moz-mask-image: var(--signatureIcon); mask-image: var(--signatureIcon); width: 32px; padding-left: 10px; background-color: var(--secondaryForeground); } .icon.signature.on { background-color: var(--themeColor); } .icon.mention { -webkit-mask-image: var(--mentionIcon); -moz-mask-image: var(--mentionIcon); mask-image: var(--mentionIcon); } .icon.fish { -webkit-mask-image: var(--fishIcon); -moz-mask-image: var(--fishIcon); mask-image: var(--fishIcon); } .icon.pin { -webkit-mask-image: var(--pinIcon); -moz-mask-image: var(--pinIcon); mask-image: var(--pinIcon); height: 16px; } .icon.video { -webkit-mask-image: var(--videoIcon); -moz-mask-image: var(--videoIcon); mask-image: var(--videoIcon); } .icon.voice { -webkit-mask-image: var(--voiceIcon); -moz-mask-image: var(--voiceIcon); mask-image: var(--voiceIcon); } .icon.screen { -webkit-mask-image: var(--screenIcon); -moz-mask-image: var(--screenIcon); mask-image: var(--screenIcon); } .icon.leave { -webkit-mask-image: var(--leaveIcon); -moz-mask-image: var(--leaveIcon); mask-image: var(--leaveIcon); } .icon.audio { background-color: transparent; background-image: var(--audioIcon); } .icon.replay { -webkit-mask-image: var(--replayIcon); -moz-mask-image: var(--replayIcon); mask-image: var(--replayIcon); } .icon.reply { -webkit-mask-image: var(--replyIcon); -moz-mask-image: var(--replyIcon); mask-image: var(--replyIcon); } .icon.emoji { -webkit-mask-image: var(--emojiIcon); -moz-mask-image: var(--emojiIcon); mask-image: var(--emojiIcon); } .icon.emoji.big { -webkit-mask-size: 24px; -moz-mask-size: 24px; mask-size: 24px; height: 24px; width: 32px; } .icon.gif { -webkit-mask-image: var(--gifIcon); -moz-mask-image: var(--gifIcon); mask-image: var(--gifIcon); } .icon.gif.big { -webkit-mask-size: 30px; -moz-mask-size: 30px; mask-size: 30px; height: 24px; width: 35px; } .icon.clipboard { -webkit-mask-image: var(--clipboardIcon); -moz-mask-image: var(--clipboardIcon); mask-image: var(--clipboardIcon); position: absolute; right: 10px; } .icon.clipboard.copied { background-color: var(--positiveColor); } .contextMenu[data-name=userContext] .type { margin: 5px auto 0 auto; } .contextMenu[data-name=userContext][data-type=handshake] .type { -webkit-mask-image: var(--handshakeIcon); -moz-mask-image: var(--handshakeIcon); mask-image: var(--handshakeIcon); } .contextMenu[data-name=userContext][data-type=unstoppable] .type { background-image: var(--unstoppableIcon); background-color: unset; } .contextMenu[data-name=userContext][data-type=icann] .type { -webkit-mask-image: var(--icannIcon); -moz-mask-image: var(--icannIcon); mask-image: var(--icannIcon); } body.unverified #conversations .actionHolder .icon.compose { background-color: var(--secondaryForeground); } body.unverified #conversations .actionHolder:hover, body.unverified .messageRow .hover .actions:hover { cursor: not-allowed; } body.unverified #conversations .actionHolder *, body.unverified .messageRow .hover .actions * { pointer-events: none; } #blackout { height: 100%; width: 100%; position: fixed; background-color: rgba(0,0,0,0.3); z-index: 99999999; display: none; top: 0; left: 0; } .connecting { height: 100%; width: 100%; position: absolute; background-color: var(--primaryBackground); z-index: 999999999999; top: 0; left: 0; display: flex; justify-content: center; align-items: center; } .popover { display: none; width: calc(100% - 20px); max-width: 500px; background-color: var(--quaternaryBackground); position: absolute; padding: 20px; border-radius: 25px; z-index: 99999999; } .popover .head { width: 100%; display: flex; justify-content: space-between; align-items: center; padding-bottom: 10px; } .popover .title { width: 100%; font-weight: bold; font-size: 20px; } .title.small { font-size: inherit; font-weight: inherit; } .subtitle { color: var(--secondaryForeground); } .contextMenu:not([data-name=userContext]) { width: auto; } .contextMenu { min-width: 250px; max-width: 410px; } .contextMenu ul { list-style: none; padding: 0; margin: 0; } .contextMenu ul li { text-align: center; padding: 8px; border-radius: 10px; } .contextMenu[data-name=userContext] ul:not(:first-child) li, .contextMenu[data-name=channelContext] ul:not(:first-child) li { background-color: var(--tertiaryBackground); } .contextMenu[data-name=messageContext] ul li:hover, .contextMenu[data-name=userContext] ul:not(:first-child) li:hover, .contextMenu[data-name=channelContext] ul:not(:first-child) li:hover { background-color: var(--secondaryBackground); cursor: pointer; } .contextMenu li.action { display: flex; align-items: center; justify-content: center; } .contextMenu li.action * { pointer-events: none; user-select: none; } .contextMenu li.action .icon { margin-right: 5px; } .contextMenu textarea { border-radius: 10px; resize: none; } .contextMenu[data-name=userContext] .actions { display: none; } .contextMenu[data-name=userContext].me .actions { width: 100%; height: 20px; display: flex; justify-content: space-between; position: absolute; left: 0; padding: 0 20px; z-index: 1; } .contextMenu[data-name=userContext] .actions .action { display: none; } .contextMenu[data-name=userContext].me:not(.editing) .action.edit { display: block; } .contextMenu[data-name=userContext].editing .action.save, .contextMenu[data-name=userContext].editing .action.close { display: block; } .contextMenu[data-name=userContext] .pic { display: flex; justify-content: center; margin: 0 -10px 10px 0; } .contextMenu[data-name=userContext] .pic .avatar { height: 80px; width: 80px; } .contextMenu[data-name=userContext] .pic .fallback { font-size: 40px; } .contextMenu[data-name=userContext] li.bio { display: flex; flex-direction: column; align-items: center; padding: 10px 0; } .contextMenu[data-name=userContext] .bioHolder { width: 100%; position: relative; } .contextMenu[data-name=userContext] .bioHolder .limit { display: none; } .contextMenu[data-name=userContext].editing .bioHolder { background-color: var(--tertiaryBackground); padding: 10px 10px 20px 10px; border-radius: 10px; height: 120px; } .contextMenu[data-name=userContext] .bioHolder .bio { white-space: pre-wrap; max-height: 110px; overflow-y: scroll; } .contextMenu[data-name=userContext] .bioHolder .bio *:not(.link) { color: inherit; } .contextMenu[data-name=userContext].editing .bioHolder .bio { height: 100%; overflow-y: scroll; color: var(--primaryForeground); } .contextMenu[data-name=userContext].editing .bioHolder .limit { height: 20px; padding: 5px; color: var(--secondaryForeground); display: flex; justify-content: flex-end; align-items: center; position: absolute; bottom: 0; right: 0; } .contextMenu[data-name=userContext] textarea[name=bio] { height: 100%; width: 100%; background-color: transparent; } .contextMenu[data-name=userContext].me div.bio:empty:after { content: "Tell everyone about yourself."; color: var(--secondaryForeground); } .contextMenu[data-name=userContext].me ul:not(:first-child) { display: none; } .contextMenu .message { word-break: break-word; word-break: normal; overflow-wrap: anywhere; } .contextActions { display: flex; flex-direction: column; gap: 5px; } #qrcode { background-color: var(--tertiaryBackground); padding: 10px; width: fit-content; margin-left: auto; margin-right: auto; border-radius: 10px; position: relative; } #qrlogo { position: absolute; top: 50%; left: 50%; background: var(--tertiaryBackground); height: 50px; width: 50px; margin-top: -25px; margin-left: -25px; border-radius: 5px; } #qrlogo img { height: 100%; width: 100%; padding: 10px; filter: invert(100%) sepia(0%) saturate(1%) hue-rotate(305deg) brightness(106%) contrast(101%); } .form { width: 100%; max-width: 400px; text-align: center; padding: 10% 10px; align-self: flex-start; display: flex; flex-direction: column; align-items: center; } .form .logo { width: auto; } .form .logo img { height: 60px; width: 60px; } .form .logo span { font-size: 60px; } .form .section { width: inherit; } .form#id { padding: 20px 10px; align-self: initial; gap: 10px; } body[data-page=id] { align-items: initial; } .section.loading { display: block; position: relative; top: 20px; } .logo { width: 105px; height: 100%; display: flex; align-items: center; justify-content: space-between; } .logo img { height: 30px; width: 30px; filter: invert(100%) sepia(0%) saturate(1%) hue-rotate(305deg) brightness(106%) contrast(101%); } .logo span { font-size: 30px; padding-left: 10px; } .header .logo { width: 60px; height: 60px; background-color: var(--primaryBackground); display: flex; align-items: center; justify-content: center; border-right: 1px solid var(--primaryBorderColor); } body[data-page=id] .form .section { display: none; } .form .section > *:not(:last-child), .popover .body > :not(:last-child), .popover .body .content > :not(:last-child), #manageDomains .domains > *:not(:last-child) { margin-bottom: 10px; } #manageDomains .domains:empty { display: none; } #manageDomains .domains { display: flex; flex-direction: column; text-align: left; } #manageDomains .domains .domain { display: flex; width: 100%; justify-content: space-between; align-items: center; } #manageDomains .domains .domain div { text-overflow: ellipsis; overflow: hidden; white-space: nowrap; line-height: 20px; } .actions { max-width: 100%; display: flex; justify-content: flex-end; } .actions .action:not(:last-child) { margin-right: 10px; } .input .action { margin-right: 8px; background-color: var(--secondaryForeground); } .input .action.gif { margin-left: 8px; } select { outline: none; border: none; background-color: var(--tertiaryBackground); color: var(--primaryForeground); border-radius: 10px; display: inline-block; font: inherit; line-height: 1.5em; padding: 0.5em 2.5em 0.5em 1em; background-image: linear-gradient(45deg, transparent 50%, var(--secondaryForeground) 50%), linear-gradient(135deg, var(--secondaryForeground) 50%, transparent 50%); background-position: calc(100% - 15px) calc(1em + 2px), calc(100% - 10px) calc(1em + 2px), calc(100% - 2.5em) 0.5em; background-size: 5px 5px, 5px 5px, 1px 1.5em; margin: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-appearance: none; -moz-appearance: none; height: 40px; } select:-moz-focusring { color: transparent; text-shadow: 0 0 0 #000; } input { border-radius: 10px; } input[type=file] { display: none; } input[name=dot] { background: transparent; width: 25px; text-align: center; } input[readonly] { color: var(--secondaryForeground); } input.copyable { padding-right: 35px; } input, textarea { width: 100%; height: 40px; padding: 10px; border: none; outline: none; background-color: var(--tertiaryBackground); color: var(--primaryForeground); } [contenteditable=true] { border: none; outline: none; } .form .input { text-align: center; } .button { width: 100%; height: 40px; background-color: var(--themeColor); line-height: 40px; color: var(--primaryForeground); border-radius: 10px; text-align: center; overflow: hidden; } .disabled { opacity: 0.5; } .disabled:hover { cursor: not-allowed !important; } body.desktop .button:hover { cursor: pointer; opacity: 0.5; } #holder { width: 100%; height: 100%; display: flex; flex-direction: column; } #holder[data-type=channels] #users { display: flex; } #holder[data-type=channels] .header .icon.users { display: block; } #holder[data-type=pms] .header .icon.users { background-color: var(--secondaryForeground); } #holder[data-type=pms] .header .icon.users:hover { cursor: not-allowed; opacity: 1; } #holder[data-type=pms] #users { display: none !important; } #holder .input .action[data-action=pay] { display: none; } body.bob #holder[data-type=pms] .input .action[data-action=pay] { display: block; } .popover[data-name=pay] .loading { justify-content: center; position: relative; } .popover[data-name=pay] .content { display: none; } .popover[data-name=settings] .setting { display: flex; align-items: center; height: 40px; } #react.react { bottom: auto !important; position: fixed; } #react, #completions { width: calc(100% - 20px); bottom: 10px; } #completions { left: 10px; } #react { right: 10px; } #react .grid { display: none; height: 300px; background-color: var(--tertiaryBackground); border-radius: 10px; overflow-y: scroll; padding: 5px; } #react .grid[data-type=emojis] .subtitle { padding-left: 5px; padding-top: 5px; } #react .grid[data-type=emojis] .emojis { display: flex; flex-wrap: wrap; } #react .grid[data-type=emojis] .emojis .emoji { font-size: 27px; line-height: 40px; text-align: center; height: 40px; width: 40px; border-radius: 5px; } #react .grid[data-type=emojis] .emojis .emoji:hover { cursor: pointer; background-color: var(--quinaryBackground); } #react .section[data-type=categories] { display: grid; grid-template-columns: calc(50% - 5px) calc(50% - 5px); padding: 5px; gap: 10px; } #react .section[data-type=categories].shown { display: grid !important; } #react .section[data-type=categories] .category { height: 100px; width: 100%; border-radius: 5px; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; } #react .section[data-type=categories] .category:hover { opacity: 0.7; cursor: pointer; } #react .section[data-type=categories] .category > * { pointer-events: none; } #react .section[data-type=categories] .category .title { position: relative; z-index: 1; text-align: center; text-shadow: 1px 1px #000; } #react .section[data-type=categories] .category .background { height: 100%; width: 100%; background-size: cover; position: absolute; filter: brightness(0.7); } #react .section[data-type=gifs] { display: none; height: 100%; } #react .section[data-type=gifs] .column { display: flex; flex-direction: column; height: 100%; width: 50%; padding: 5px; } #react .section[data-type=gifs] .gif { width: 100%; margin-bottom: 10px; border-radius: 5px; } #react .section[data-type=gifs] .gif:hover { opacity: 0.7; cursor: pointer; } .setting .subtitle { width: 50%; padding-right: 10px; } .setting input, .setting select { width: 50%; text-align: right; } .header { width: 100%; flex-shrink: 0; background-color: var(--secondaryBackground); border-bottom: 1px solid var(--primaryBorderColor); display: flex; align-items: center; z-index: 9999999; } .header .left,.header .right { width: 40px; height: 40px; display: none; flex-shrink: 0; position: relative; } .header .left > *,.header .right > * { width: 100%; height: 100%; } .header .center { height: 100%; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-right: 10px; } .header .end { display: flex; align-items: center; background-color: var(--quaternaryBackground); border-radius: 10px; } .header .avatar { display: block; margin: 0 5px 0 0; } .header #me .avatar { margin: 0 5px; } .header .avatar:hover { cursor: pointer; } .header .domain { width: 100px; height: 100%; } .header .domains { height: 100%; background-color: var(--tertiaryBackground); border-radius: 10px; } .header .domains select:hover { cursor: pointer; } #chats { width: 100%; height: 100%; flex-grow: 1; display: flex; overflow: hidden; } .sidebar { background-color: var(--tertiaryBackground); flex-shrink: 0; overflow: hidden; display: flex; flex-direction: column; z-index: 9999999; } #conversations { width: 250px; border-right: 1px solid var(--primaryBorderColor); } #conversations .tabs { background-color: var(--secondaryBackground); display: flex; align-items: center; justify-content: space-evenly; flex-shrink: 0; flex-grow: 1; } #conversations .tabs .tab { color: var(--secondaryForeground); margin-right: 10px; position: relative; } body.desktop #conversations .tabs .tab:not(.active):hover { cursor: pointer; opacity: 0.5; } .header .left.notification:after, #conversations .tabs .tab.notification:after { content: ""; position: absolute; background-color: var(--notificationColor); height: 5px; width: 5px; border-radius: 50%; } .header .left.notification:after { top: 5px; right: 0; } #conversations .tabs .tab.notification:after { top: 0; right: -10px; } #conversations .tabs .tab.active { color: var(--primaryForeground); } #conversations .title .actionHolder { margin-left: 10px; } #conversations .section { max-height: 100%; display: none; } #users { width: 200px; border-left: 1px solid var(--primaryBorderColor); display: none; } #users.showing { display: flex; } #users #count { color: var(--secondaryForeground); } #users .user * { pointer-events: none; } #users .title .group { width: 100%; } #users .title .searching { display: none; align-items: center; } #users .title .searching div { margin-left: 10px; } .inputContainer { z-index: 9999999; } input[name=search] { margin: 0; padding: 10px; height: 25px; border-radius: 8px; } .sidebar > .title { height: 40px; background-color: var(--secondaryBackground); display: flex; align-items: center; justify-content: space-between; padding: 10px; flex-shrink: 0; border-bottom: 1px solid var(--primaryBorderColor); } .sidebar .sections { flex-grow: 1; overflow: hidden; display: flex; flex-direction: column; } .sidebar .sections .section:not(:first-of-type) > .title { border-top: 1px solid var(--primaryBorderColor); } .sidebar .sections .section > .title { border-bottom: 1px solid var(--primaryBorderColor); } .sidebar .section > .title { height: 25px; line-height: 25px; padding-left: 10px; color: var(--secondaryForeground); background-color: var(--secondaryBackground); } #users .users { display: block; overflow: hidden; height: 100%; } .sidebar .section table { height: 100%; overflow-y: scroll; overflow-y: overlay; display: block; } #conversations > .footer { height: 40px; background-color: var(--tertiaryBackground); display: flex; align-items: center; justify-content: space-evenly; padding: 10px; border-top: 1px solid var(--primaryBorderColor); flex-shrink: 0; } .footer .action { user-select: none; } table { width: 100%; border-collapse: collapse; } #conversations tr { height: 50px; } #users tr, #completions tr { height: 40px; } .sidebar tr, #completions tr { display: flex; align-items: center; padding: 10px; } .sidebar tr .title { flex-grow: 1; text-overflow: ellipsis; overflow: hidden; width: 88px; white-space: nowrap; } .sidebar tr .title .subtitle { font-size: 12px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } .sidebar tr .title .subtitle span { font-size: inherit; } #conversations tr.active, #completions tr.active { background-color: var(--quinaryBackground); } .sidebar .section.channels tr.unread .avatar { border: 2px solid var(--themeColor); } .sidebar .section.pms tr.unread .avatar .favicon { border: 2px solid var(--notificationColor); } .sidebar tr.mentions .avatar { border: 2px solid var(--notificationColor) !important; } body.desktop #conversations tr:not(.active):hover, body.desktop #users tr:hover, body.desktop .sidebar tr.selected { background-color: var(--quaternaryBackground); } body.desktop #users tr:hover { opacity: 1; } .sidebar tr:hover, #completions tr:hover { cursor: pointer; } .avatar .status.active { width: 10px; height: 10px; border-radius: 50%; background-color: var(--positiveColor); position: absolute; top: 0; right: 0; z-index: 3; border: 2px solid var(--tertiaryBackground); } .contextMenu[data-name=userContext] .avatar .status.active { width: 25px; height: 25px; border: 5px solid var(--quaternaryBackground); } .user:hover .avatar .status.active, .user.selected .avatar .status.active { border: 2px solid var(--quaternaryBackground); } #users .user.inactive { opacity: 0.5; } .avatar { width: 30px; height: 30px; margin-right: 10px; position: relative; overflow: hidden; flex-shrink: 0; } #conversations .channels tr .avatar { border-radius: 50%; } tr.locked .avatar .locked, tr.locked .avatar .unclaimed { z-index: 3; width: 100%; height: 100%; background-color: var(--primaryBackground); display: flex; justify-content: center; align-items: center; top: 0; left: 0; position: absolute; border-radius: 50%; } .favicon { width: 100%; height: 100%; padding: 5px; position: absolute; top: 0; left: 0; z-index: 2; border-radius: 50%; background-size: cover; } .favicon[style*=background-image] + .fallback { display: none; } .fallback { width: 100%; height: 100%; background-color: var(--primaryBackground); position: absolute; top: 0; left: 0; z-index: 1; border-radius: 50%; display: flex; align-items: center; justify-content: center; } .messageRow .avatar .fallback { width: 100%; height: 100%; background-color: var(--secondaryBackground); position: absolute; top: 0; left: 0; z-index: 1; text-align: center; line-height: 30px; border-radius: 50%; } .content { width: 100%; display: flex; flex-direction: column; justify-content: flex-end; position: relative; } .inputHolder { min-height: 40px; width: 100%; flex-grow: 0; flex-shrink: 0; display: flex; justify-content: center; align-items: center; padding: 8px; background-color: var(--tertiaryBackground); border-top: 1px solid var(--primaryBorderColor); position: relative; } .inputHolder.locked .input { display: none; } .inputHolder.locked .locked { display: initial; } .input { width: 100%; height: 100%; display: flex; align-items: center; } .input #signature { padding: 0; height: 20px; border-radius: 0; display: none; } .input .inputs { width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; } .inputs #message { width: 100%; line-height: 20px; min-height: 20px; height: 20px; resize: none; box-sizing: content-box; padding: 0; background-color: transparent; } .inputHolder .verify { display: none; text-align: center; } .inputHolder .locked { display: none; text-align: center; } .inputHolder .noConversations { display: none; text-align: center; } #attachments { height: 200px; width: 100%; background: var(--tertiaryBackground); display: none; } #attachments.shown { display: flex; align-items: center; padding: 10px; } #attachments .attachment { height: 100%; width: 200px; margin: 10px; display: flex; justify-content: center; align-items: center; position: relative; } #attachments .attachment .removeHolder { background-color: var(--tertiaryBackground); padding: 5px; border-radius: 50%; position: absolute; top: -10px; right: 0; } #attachments .attachment .icon.remove { background-color: var(--negativeColor); } .messageHeader { height: 40px; flex: 1; flex-shrink: 0; background-color: var(--secondaryBackground); display: flex; align-items: center; gap: 10px; } .messageHeader table { width: auto; } .messageHeader tr .title .subtitle { display: none; } .messageHeader tr { display: flex; align-items: center; justify-content: center; } .messageHeader tr[data-type=channels] { pointer-events: none; } .content .pinnedMessage { display: none !important; } .pinnedMessage { width: 100%; flex: 1; background-color: var(--secondaryBackground); display: none; gap: 8px; align-items: center; padding-left: 10px; border-left: 1px solid var(--tertiaryBorderColor); } .pinnedMessage:hover { cursor: pointer; } .pinnedMessage .pin { pointer-events: none; height: 13px; width: 13px; } .pinnedMessage .message { flex: 1; overflow: hidden; height: 18px; text-overflow: ellipsis; width: 0px; white-space: nowrap; color: var(--secondaryForeground); text-align: left; line-height: 20px; } #videoInfo { height: 40px; border-bottom: 1px solid var(--primaryBorderColor); flex-shrink: 0; width: 100%; background-color: var(--secondaryBackground); overflow: hidden; display: none; justify-content: space-between; align-items: center; padding: 10px; gap: 10px; } #videoInfo .title { display: none; align-items: center; gap: 5px; color: var(--negativeColor); font-weight: bold; } #videoInfo .info { display: flex; align-items: center; gap: 10px; } #videoInfo .users { display: flex; padding-right: -10px; } #videoInfo .watching { display: none; align-items: center; margin-left: -5px; gap: 5px; } #videoInfo .watchers { display: flex; } #videoInfo .avatar { margin-right: 0; } #videoInfo .avatar:hover { z-index: 10; cursor: pointer; } #videoInfo .avatar:not(:first-child) { margin-left: -15px; } #videoInfo .actions { display: flex; gap: 10px; } #videoInfo .actions > * { display: none; } #videoContainer { height: 40%; border-bottom: 1px solid var(--primaryBorderColor); flex-shrink: 0; width: 100%; background-color: var(--octonaryBackground); overflow: hidden; display: none; padding: 15px; flex-direction: column-reverse; } #videoContainer.publishing { padding-top: 55px !important; } .videoHolder { width: 100%; height: 100%; display: flex; } .videoHolder .screen { flex: 2; background-color: var(--primaryBackground); margin: 15px; border-radius: 10px; display: none; position: relative; overflow: hidden; } .videoHolder .screen video { width: 100%; height: 100%; } .cams { overflow: hidden; display: flex; align-content: center; flex-wrap: wrap; align-items: center; justify-content: center; vertical-align: middle; flex: 1; border-radius: 10px; gap: 10px; } .cam { position: relative; vertical-align: middle; align-self: center; border-radius: 10px; overflow: hidden; display: inline-block; max-height: 100%; max-width: 100%; border: 2px solid var(--octonaryBackground); } .cam.talking { box-shadow: 0 0 0 2px var(--positiveColor); } .cam .info, .screen .info { position: absolute; z-index: 1; width: 100%; height: fit-content; display: flex; justify-content: space-between; align-items: center; padding: 5px; } .cam .info .icon.voice { margin-left: 5px; background-color: var(--negativeColor); display: none; height: 17px; pointer-events: none; } .cam.audioMuted .info .icon.voice { display: block; } .cam .background { height: 100%; width: 100%; position: absolute; z-index: 1; display: none; } .cam.videoMuted .background { display: unset; } .cam .background .user { height: 100%; width: 100%; } .cam .background .user > .title, .cam .background .user:after, .cam .background .user .avatar .status { display: none; } .cam .background .user .avatar { width: 100%; height: 100%; margin: 0; } .cam .background .user .avatar .fallback { font-size: 60px; border-radius: 0; } .cam .background .user .avatar .favicon { border-radius: 0; } .cam video { position: absolute; right: 0; object-fit: cover; bottom: 0; width: 100%; height: 100%; background: #000; border-radius: 10px; overflow: hidden; left: 0; top: 0; background-size: cover; overflow: hidden; -webkit-transition: margin-top 1s ease-in-out; -moz-transition: margin-top 1s ease-in-out; -o-transition: margin-top 1s ease-in-out; transition: margin-top 1s ease-in-out; } .cam table, .screen table { position: relative; display: block; padding: 5px 10px; background-color: var(--senaryBackground); width: fit-content; border-radius: 10px; z-index: 1; } .cam tr, .screen tr { display: flex; align-items: center; } .cam table .user .avatar, .screen table .user .avatar { margin-right: 5px; } .cam table .user:hover, .screen table .user:hover { cursor: pointer; } #videoContainer.publishing .controls { display: flex; } .controls { height: 40px; width: 100%; display: none; align-items: center; justify-content: center; gap: 10px; } .controls .button { width: fit-content; padding: 10px; } .controls .button > * { pointer-events: none; } .controls .button.muted { border-color: var(--negativeColor); } .button.outline { background-color: transparent; border: 2px solid var(--themeColor); box-sizing: border-box; display: flex; align-items: center; justify-content: center; } #messageHolder { height: 100%; width: 100%; display: flex; flex-direction: column-reverse; overflow-x: hidden; overflow-y: scroll; position: relative; align-items: center; } #messages.empty { height: 100%; width: 100%; align-items: center; justify-content: center; } #messages.empty:after { color: var(--secondaryForeground); content: "There are no messages. You can be the first!"; padding: 10px; } #chats .content .needSLD { text-align: center; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; flex-direction: column; padding: 20px; position: absolute; } #chats .content .needSLD > * { max-width: 350px; } #chats .content .needSLD > *:not(:last-child) { margin-bottom: 10px; } #messageHolder.noScroll { position: static; } #messages { display: flex; flex-direction: column; padding: 0px 5px; width: 100%; } .messageRow { width: 100%; position: relative; padding: 0px 5px; transition: background-color 250ms; z-index: 9999999; } .messageRow.highlighted { background-color: var(--octonaryBackground); } .messageRow.notice { background-color: var(--quaternaryBackground); } .popover[data-name=messageContext].shown ~ #holder #messages .messageRow, #holder.replying .messageRow, #holder.reacting .messageRow { opacity: 0.3; } .popover[data-name=messageContext].shown ~ #holder #messages .messageRow:is(.selecting,.selected), #holder.replying .messageRow.selected, #holder.reacting .messageRow.selected { opacity: 1; } .messageRow:not(.first) > .contents .main .user, .messageRow:not(.first) > .contents .main .avatar { display: none; } .messageRow.first { padding-top: 5px; } .messageRow.last { padding-bottom: 5px; } .messageRow .holder { display: flex; align-items: center; } #holder .messageRow:hover > .contents .hover > *, .messageRow:is(.selecting,.selected) > .contents .hover > * { display: flex; justify-content: space-evenly; } body:not(.desktop) .messageRow:hover > .contents .hover .actions .action.delete { display: none; } .messageRow.self .holder { justify-content: flex-end; } .messageRow:not(.self) .holder { justify-content: flex-start; } .messageRow .actions { width: 55px; justify-content: space-evenly !important; } .messageRow .actions .action { margin: 0; } .messageRow .hover { width: 32%; flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-start; } .messageRow .hover > * { display: none; } .messageRow:not(.self) .hover > div { margin-left: 5px; } .messageRow.self .hover > div { margin-right: 5px; } .messageRow .time { line-height: 12px; font-size: 12px; color: var(--secondaryForeground); width: 55px; text-align: center; } .messageRow.self .hover { align-items: flex-end; } #messages .messageRow .message { padding: 10px; overflow: hidden; max-width: 500px; } #messages .messageRow .preview { background: var(--secondaryBackground); position: relative; width: 100%; } #messages .messageRow .preview > * { line-height: 15px; } #messages .messageRow .preview .media { width: 100%; position: relative; object-fit: contain; } #messages .messageRow .preview .media > * { display: block; } #messages .messageRow .previewImage .media { margin-bottom: -12px; } #messages .messageRow .preview .media img { height: 100%; width: 100%; } #messages .messageRow .preview .media iframe, #messages .messageRow .preview .media video { height: 280px; width: 100%; } #messages .messageRow:not(.first):not(.last), #messages .messageRow.first:not(.last) { margin: 0 0 2px 0; } #messages > div, .messageFooter > div { margin: 0 0 10px 0; } #messages > div:first-child { margin: 10px 0; } #messages .informational { text-align: center; color: var(--secondaryForeground); padding: 5px; } .messageRow.informational .inline.nick, .messageRow.informational .inline.channel { color: var(--secondaryForeground); } .messageRow:not(.informational) { position: relative; } .messageRow:not(.emojis):not(.action):not(.notice):not([data-style=fancy]):not(.mention) .message { background-color: var(--bubbleBackground); } .messageRow.self:not(.emojis):not(.action):not(.notice):not([data-style=fancy]):not(.mention) .message { background-color: var(--bubbleSelfBackground); } .messageRow.action .body, .messageRow.action .body *, .messageRow.replying .reply .body.action { font-style: italic; } .messageRow.action .body, .messageRow.action .body * { color: var(--secondaryForeground); } .messageRow.emojis .body, .messageRow[data-style=fancy] .body { font-size: 50px; line-height: 50px; } .messageRow.dice .body { background: linear-gradient(7deg, grey 25%, lightgrey 50%, grey, lightgrey); -webkit-text-fill-color: transparent; -webkit-background-clip: text; text-shadow: 0px 1px 1px rgb(0 0 0 / 13%), 1px 2px 2px rgb(0 0 0 / 13%), 2px 4px 4px rgb(0 0 0 / 13%), 4px 8px 8px rgb(0 0 0 / 13%), 8px 16px 16px rgb(0 0 0 / 13%); } .messageRow[data-style=fancy] .body { background: linear-gradient(7deg, grey 25%, lightgrey 50%, grey, lightgrey); -webkit-text-fill-color: transparent; -webkit-background-clip: text; text-shadow: 0px 1px 1px rgb(0 0 0 / 13%), 1px 2px 2px rgb(0 0 0 / 13%), 2px 4px 4px rgb(0 0 0 / 13%), 4px 8px 8px rgb(0 0 0 / 13%), 8px 16px 16px rgb(0 0 0 / 13%); } .messageRow.action:not(.self):not(.mention) .message { padding-left: 0 !important; padding-right: 0 !important; } .messageRow.action.self .message { padding-left: 0 !important; padding-right: 0 !important; } .messageRow.emojis.replying .reply .contents, .messageRow[data-style=fancy].replying .reply .contents { top: -19px; position: relative; } .messageRow .message { word-break: break-word; } .messageRow.self { align-self: flex-end; text-align: right; } .messageRow.self .message { border-top-left-radius: 10px; border-bottom-left-radius: 10px; } .messageRow.self .message .body a { color: var(--primaryForeground); text-decoration: underline; } .messageRow.mention .message .body a { color: var(--primaryForeground); text-decoration: underline; } .messageRow .message:not(.image) .body { white-space: pre-line; min-height: 17px; min-width: 8px; } .messageRow:not(.self) .message { border-top-right-radius: 10px; border-bottom-right-radius: 10px; } .messageRow.self.first .message { border-top-right-radius: 10px; } .messageRow:not(.self).first .message { border-top-left-radius: 10px; } .messageRow.self.last .message { border-bottom-right-radius: 10px; } .messageRow:not(.self).last .message { border-bottom-left-radius: 10px; } .messageRow.mention:not(.self) .message { background-color: var(--bubbleMentionBackground); } .messageRow.mention:not(.self) .message .body, .messageRow.mention:not(.self) .message .body * { color: var(--primaryForeground) !important; } .message.signed:hover { cursor: pointer; } .messageRow.first .contents { padding-top: 15px; } .messageRow .user { color: var(--secondaryForeground); white-space: nowrap; } .messageRow:not(.informational) > .contents .user { position: absolute; top: 0; font-size: 12px; line-height: 12px; } .messageRow:not(.informational):not(.self) > .contents .user { margin-left: 50px; } .messageRow:not(.informational).self > .contents .user { margin-right: 50px; } .messageRow > .contents { position: relative; align-self: normal; display: flex; flex-direction: column; } .messageRow.replying { padding-top: 20px !important; } .messageRow.self.replying { display: flex; flex-direction: column; align-items: flex-end; } .messageRow.self > .reply .contents { justify-content: flex-end; } .messageRow > .reply .contents { display: flex; width: 100%; align-items: center; line-height: 1.2em; } .messageRow > .reply .user { padding-right: 5px; font-size: 12px; } .messageRow > .reply { display: flex; width: 60%; max-width: 550px; position: absolute; top: -12px; } .messageRow.self > .reply { padding-right: 50px; } .messageRow:not(.self) > .reply { padding-left: 50px; } .messageRow > .reply .body { color: var(--secondaryForeground); white-space: nowrap; text-overflow: ellipsis; overflow: hidden; font-size: 12px; } .messageRow > .reply .body > * { pointer-events: none; } .messageRow > .reply .body:hover { opacity: 0.5; cursor: pointer; } .messageRow.self > .reply { justify-content: flex-end; } .messageRow > .reply .line { position: absolute; width: 30px; height: 20px; top: 23px; border: 3px solid var(--quinaryBackground); border-bottom-style: none; } .messageRow:not(.self) > .reply .line { left: 16px; border-right-style: none; border-top-left-radius: 10px; } .messageRow.self > .reply .line { right: 16px; border-left-style: none; border-top-right-radius: 10px; } .messageRow .reply .body .inline { font-weight: inherit; font-size: inherit; color: inherit; display: inline; } .messageRow.informational .user { display: inline-block; color: var(--secondaryForeground); } .messageRow .linkHolder:not(:empty) { max-width: 400px; margin: 2px 0 0 50px; border-radius: 10px; overflow: hidden; background-color: var(--bubbleBackground); } .messageRow.self .linkHolder:not(:empty) { align-self: flex-end; margin: 2px 50px 0 0; } .messageRow .linkHolder .info { padding: 10px; } .messageRow .linkHolder .title, .messageRow .linkHolder .subtitle { overflow: hidden; text-overflow: ellipsis; -webkit-box-orient: vertical; display: -webkit-box; } .messageRow .linkHolder .title { -webkit-line-clamp: 2; max-height: 34px; line-height: 17px; } .messageRow .linkHolder .subtitle { -webkit-line-clamp: 3; max-height: 60px; } body.desktop .messageRow .user:hover { cursor: pointer; opacity: 0.5; } .messageRow.self .user { right: 0; } .messageRow .avatar { position: absolute; height: 38px; width: 38px; } .messageRow.self .avatar { right: 0; margin: 0; } .messageRow:not(.self) .holder, .messageRow:not(.self) .messageEffect { margin-left: 50px; } .messageRow.self .holder, .messageRow.self .messageEffect { margin-right: 50px; align-self: flex-end; } .messageEffect { width: fit-content; color: var(--themeColor); display: flex; align-items: center; gap: 3px; padding: 2px 0; } .messageEffect .icon { background-color: var(--themeColor); pointer-events: none; height: 15px; width: 15px; } .messageRow .favicon:hover { cursor: pointer; } .messageRow .reactions { display: flex; padding: 0px 0px 3px 0px; flex-wrap: wrap; } .messageRow .reactions:empty { display: none; } .messageRow.self .reactions { justify-content: flex-end; } .messageRow .reactions .reaction { margin-top: 5px; padding: 5px; width: 44px; height: 30px; font-size: 20px; background-color: var(--senaryBackground); border-radius: 10px; display: flex; justify-content: space-around; box-sizing: border-box; align-items: center; } .messageRow .reactions .reaction:hover { cursor: pointer; background-color: var(--quinaryBackground) !important; } .messageRow:not(.self) .reactions .reaction { margin-right: 5px; } .messageRow.self .reactions .reaction { margin-left: 5px; } .messageRow:not(.self) .reactions .reaction:first-child { margin-left: 0; } .messageRow.self .reactions .reaction:last-child { margin-right: 0; } .messageRow .reactions .reaction.self { border: 1px solid var(--bubbleSelfBackground); } .message.self.signed:before { content: ""; position: absolute; top: 50%; margin-top: -10px; left: -25px; height: 20px; width: 20px; -webkit-mask-image: var(--checkIcon); -moz-mask-image: var(--checkIcon); mask-image: var(--checkIcon); background-color: var(--positiveColor); } .message:not(.self).signed:after { content: ""; position: absolute; top: 50%; margin-top: -10px; right: -25px; height: 20px; width: 20px; -webkit-mask-image: var(--checkIcon); -moz-mask-image: var(--checkIcon); mask-image: var(--checkIcon); background-color: var(--positiveColor); } .message.self.signed.fail:before,.message:not(.self).signed.fail:after { -webkit-mask-image: var(--failIcon); -moz-mask-image: var(--failIcon); mask-image: var(--failIcon); background-color: var(--negativeColor); } .message .signature { padding-top: 10px; opacity: 0.7; display: none; cursor: text; } .message.typing { width: 42px; } .message.image { padding: 0 !important; overflow: hidden; display: table; } .message.image:not(.payment) { background-color: transparent !important; } .message.payment .body { display: flex; align-items: center; justify-content: center; } .message.payment .txMessage { padding: 10px; background-color: var(--bubbleBackground); } .messageRow.self .message.payment .txMessage { background-color: var(--bubbleSelfBackground); } .message.payment .imageHolder { display: flex; flex-direction: column; background-color: var(--secondaryBackground); } .message.payment .imageHolder img { margin-bottom: -20px; } .message.payment { padding-bottom: 50px; background: var(--secondaryBackground); } .message.payment .amount { font-size: 50px; color: var(--positiveColor); text-align: center; padding-bottom: 20px; } .message.payment a { text-decoration: none !important; opacity: 1 !important; } .message.image img { object-fit: contain; display: block; max-width: 100%; max-height: 300px; } .typingCell { height: 20px; width: 50px; display: flex; justify-content: flex-end; flex-grow: 0; flex-shrink: 0; display: none; } .messageFooter { display: none; padding: 0px 5px; } #replying { background-color: var(--tertiaryBackground); } #typing { background-color: var(--secondaryBackground); } #replying, #typing { border-top: 1px solid var(--primaryBorderColor); padding: 5px; display: none; justify-content: space-between; align-items: center; } #replying .message, #typing .message { color: var(--secondaryForeground); font-size: 12px; } #replying .message span, #typing .message span { font-size: inherit; } #replying .action.remove { background-color: var(--secondaryForeground); } #completions .body .list { background-color: var(--tertiaryBackground); border-radius: 10px; padding: 5px; overflow: hidden; } #completions .body .list .title { font-weight: initial; font-size: initial; } .lds-ellipsis { display: inline-block; position: relative; transform: scale(0.3); display: flex; align-items: center; height: 18px; left: -7px; } .lds-ellipsis div { position: absolute; width: 13px; height: 13px; border-radius: 50%; background: #fff; animation-timing-function: cubic-bezier(0, 1, 1, 0); } .lds-ellipsis div:nth-child(1) { left: 8px; animation: lds-ellipsis1 0.6s infinite; } .lds-ellipsis div:nth-child(2) { left: 8px; animation: lds-ellipsis2 0.6s infinite; } .lds-ellipsis div:nth-child(3) { left: 32px; animation: lds-ellipsis2 0.6s infinite; } .lds-ellipsis div:nth-child(4) { left: 56px; animation: lds-ellipsis3 0.6s infinite; } @keyframes lds-ellipsis1 { 0% { transform: scale(0); } 100% { transform: scale(1); } } @keyframes lds-ellipsis3 { 0% { transform: scale(1); } 100% { transform: scale(0); } } @keyframes lds-ellipsis2 { 0% { transform: translate(0, 0); } 100% { transform: translate(24px, 0); } } .lds-facebook { display: inline-block; position: relative; width: 80px; height: 80px; } .lds-facebook div { display: inline-block; position: absolute; left: 8px; width: 16px; background: #fff; animation: lds-facebook 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite; } .lds-facebook div:nth-child(1) { left: 8px; animation-delay: -0.24s; } .lds-facebook div:nth-child(2) { left: 32px; animation-delay: -0.12s; } .lds-facebook div:nth-child(3) { left: 56px; animation-delay: 0; } @keyframes lds-facebook { 0% { top: 8px; height: 64px; } 50%, 100% { top: 24px; height: 32px; } } .lds-spinner { color: official; display: inline-block; position: relative; width: 80px; height: 80px; } .lds-spinner div { transform-origin: 40px 40px; animation: lds-spinner 1.2s linear infinite; } .lds-spinner div:after { content: " "; display: block; position: absolute; top: 3px; left: 37px; width: 6px; height: 18px; border-radius: 20%; background: #fff; } .lds-spinner div:nth-child(1) { transform: rotate(0deg); animation-delay: -1.1s; } .lds-spinner div:nth-child(2) { transform: rotate(30deg); animation-delay: -1s; } .lds-spinner div:nth-child(3) { transform: rotate(60deg); animation-delay: -0.9s; } .lds-spinner div:nth-child(4) { transform: rotate(90deg); animation-delay: -0.8s; } .lds-spinner div:nth-child(5) { transform: rotate(120deg); animation-delay: -0.7s; } .lds-spinner div:nth-child(6) { transform: rotate(150deg); animation-delay: -0.6s; } .lds-spinner div:nth-child(7) { transform: rotate(180deg); animation-delay: -0.5s; } .lds-spinner div:nth-child(8) { transform: rotate(210deg); animation-delay: -0.4s; } .lds-spinner div:nth-child(9) { transform: rotate(240deg); animation-delay: -0.3s; } .lds-spinner div:nth-child(10) { transform: rotate(270deg); animation-delay: -0.2s; } .lds-spinner div:nth-child(11) { transform: rotate(300deg); animation-delay: -0.1s; } .lds-spinner div:nth-child(12) { transform: rotate(330deg); animation-delay: 0s; } @keyframes lds-spinner { 0% { opacity: 1; } 100% { opacity: 0; } } #avatars { width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1; opacity: 0; } body.compact .messageRow { margin: 0 0 5px 0 !important; margin-bottom: 5px !important; padding: 2px !important; display: inline-grid; } body.compact .messageRow .holder { margin: 0 !important; } body.compact .messageRow .holder { justify-content: flex-start !important; } body.compact .messageRow > .contents .user { margin: 0 !important; right: unset !important; height: fit-content !important; } body.compact .messageRow.first .contents { padding: 0 !important; } body.compact .messageRow .main { line-height: 15px; padding: 2px; } body.compact .messageRow > .contents { display: flex !important; flex-direction: column; } body.compact .messageRow .message { max-width: unset !important; padding: 0 !important; background-color: transparent !important; height: 100%; } body.compact .messageRow .hover { width: auto; } body.compact .messageRow .hover > .time { display: block !important; position: absolute; left: 0; width: 55px; margin: 0; top: 4px; line-height: unset; text-align: right; } body.compact .messageRow .hover > .actions { display: none !important; } body.compact .messageRow .message { border-radius: unset !important; } body.compact .messageRow .user { display: block !important; } body.compact .messageRow > .contents .user { position: relative; font-size: inherit; line-height: unset; margin: 0 5px !important; font-weight: bold; } body.compact .messageRow .avatar { height: 17px; width: 17px; display: block !important; right: unset; margin: 0 0 0 65px; position: relative; } body.compact .messageRow .avatar .fallback { font-size: 10px; line-height: 20px; } body.compact .messageRow .linkHolder { padding: 0; } body.compact .messageRow .linkHolder:not(:empty) { align-self: flex-start; margin: 2px 0 0 75px; } body.compact .messageRow .preview { margin: 0 !important; width: 100% !important; } body.compact .messageRow .preview .media { overflow: hidden; } body.compact .messageRow .message.image img { border-radius: 10px; } body.compact .messageRow > .contents .user { color: var(--primaryForeground); } body.compact .messageRow .message .body { color: var(--tertiaryForeground); height: 100%; } body.compact .messageRow.emojis .body, body.compact .messageRow[data-style=fancy] .body { font-size: inherit; line-height: inherit; } body.compact .messageRow.replying { align-items: flex-start; } body.compact .messageRow > .reply { top: 0; left: 0; padding: 0; justify-content: flex-start !important; position: relative; width: 100%; max-width: unset; overflow: hidden; } body.compact .messageRow > .reply .line { height: 12px; width: 40px; margin: 5px 0 -3px 30px; border-left-style: solid; border-right-style: none; border-top-left-radius: 5px; border-top-right-radius: 0; position: unset; flex-shrink: 0; } body.compact .messageRow > .reply .contents { justify-content: flex-start; margin-left: 5px; overflow: hidden; display: grid; grid-auto-flow: column; line-height: 1.2em; margin-top: -2px; } body.compact .messageRow.mention { background-color: var(--quaternaryBackground); } body.compact .messageRow .main { display: flex; } body.compact .messageRow .react { margin-left: 75px !important; align-self: flex-start; } body.compact .messageRow .reactions .reaction { margin-left: 0 !important; margin-right: 5px; } body.compact .messageRow .messageEffect { margin-left: 75px !important; align-self: flex-start; } #react .tabs { display: flex; font-size: inherit; } #react .tabs .tab { margin: 0 10px 0 0; color: var(--secondaryForeground); font-size: inherit; } #react .tabs .tab:not(.active):hover { opacity: 0.5; cursor: pointer; } #react .tabs .tab.active { color: var(--primaryForeground); } #react .search input { display: none; } .messageRow .message.payment .txMessage:after { content: "You received a payment. Click for transaction details."; } .messageRow.self .message.payment .txMessage:after { content: "You sent a payment. Click for transaction details."; } #users .users .user .title:after, #conversations .section.pms tr .title:after, .messageRow .user:after, #replying .name:after, #chats .messageHeader tr[data-type=pms] .title:after, #completions .list tr.user .title:after, #typing .message span:after, .popover[data-name=userContext] .user:after, .cam .user .title:after { content: "/"; font-size: inherit; } .popover[data-name=userContext] .user { word-break: break-all; } #messageContainer { height: 100%; width: 100%; position: relative; } #jumpToPresent { position: absolute; width: 100%; height: 100%; display: flex; align-items: flex-end; justify-content: flex-end; z-index: 9999999; } #jumpToPresent > div { padding: 5px; background-color: var(--septenaryBackground); opacity: 0.9; position: fixed; border-radius: 5px 5px 0 0; z-index: 3; float: right; } #jumpToPresent > div:hover { cursor: pointer; opacity: 1; } #confetti-canvas { position: absolute; height: 100%; top: 0; left: 0; } .popover .body { position: relative; } .popover[data-name=qr] .body { min-height: 60px; position: relative; } #camera { height: 350px; width: 100%; object-fit: cover; pointer-events: none; } #frame { display: none; } @media all and (max-width: 1000px) { html,body { min-width: 320px; } #blackout { z-index: 9999999999; } .popover { min-width: 300px; z-index: 99999999999; } .header { padding: 10px; } .header .logo { display: none; } .header .center { padding: 0 10px; } .header .center .domains { width: 17px; } .header .end { padding: 0 2px; } .header .domains select { background-color: var(--quaternaryBackground); background-position: calc(100% - 10px) calc(1em + 2px), calc(100% - 5px) calc(1em + 2px), calc(100% - 2.5em) 0.5em; width: 0px !important; padding: 0px 7px 0 10px; } .header .left,.header .right { display: flex; justify-content: center; align-items: center; } .header .pinnedMessage { display: none !important; } .pinnedMessage { height: 40px; flex: unset; flex-shrink: 0; padding: 0 10px; border-left: none; border-bottom: 1px solid var(--primaryBorderColor); } .content .pinnedMessage.shown { display: flex !important; } .messageHeader { flex: unset; flex-shrink: 0; } #conversations { position: absolute; width: 200px; height: calc(100% - 60px); left: -200px; transition: left .25s; z-index: 999999999; } #conversations.showing { left: 0; } #users { position: absolute; width: 200px; height: calc(100% - 60px); right: -200px; transition: right .25s; z-index: 999999999; } #users.showing { right: 0; } .message.payment .amount { font-size: 30px; } #messages .messageRow .preview .media iframe { height: auto; } .messageRow .hover { display: none; } .contextMenu[data-name=userContext], .contextMenu[data-name=messageContext] { top: auto !important; bottom: 50px; left: auto !important; } body.menu .contextMenu[data-name=userContext], body.menu .contextMenu[data-name=messageContext] { bottom: 10px; } body #closeMenu { position: absolute; height: 100%; width: 100%; background-color: rgba(0,0,0,0.3); z-index: 99999999; display: none; } body.menu #closeMenu { display: block; } /* .cam .info { flex-direction: column; height: 100%; } */ .cam .info table { transform: scale(0.75); transform-origin: 0 0; } }