@import url('https://fonts.googleapis.com/css?family=Open+Sans|Source+Code+Pro'); @import 'mixins'; @import 'variables'; @import 'components'; html, body { height: 100vh; } body { font-family: 'Open Sans', sans-serif; margin: 0; background-color: $background-color; font-size: .7em; color: white; } input, textarea { @include input-common(); overflow-x: hidden; background-color: $inactive-input-color; color: white; border: none; padding: .5em; &:focus { background-color: $active-input-color; } } button { @include input-common(); border: none; background-color: $primary-color; color: white; text-transform: uppercase; &:hover, &:focus { background-color: $primary-color-highlight; } } a { text-decoration: none; color: $primary-color; &:hover { color: $primary-color-highlight; } } h1, h2, h3, h4, h5, h6 { margin: 0; margin-bottom: .5em; } /* * Errors */ div.errors-wrapper { position: fixed; pointer-events: none; top: 0; bottom: 0; left: 0; right: 0; overflow: hidden; } div.error-wrapper { pointer-events: auto; width: 40%; padding: .5em; background-color: $error-color; border: .1em solid $error-color-dark; color: white; margin: auto; margin-top: .85em; margin-bottom: .85em; font-size: 1em; align-items: center; overflow-x: hidden; white-space: nowrap; text-overflow: ellipsis; .feather-icon { margin-right: .85em; } } /* * Login Screen */ div.login-wrapper { display: flex; flex-direction: column; max-width: 30%; margin: auto; margin-top: 1.5em; input, button { margin: .3em; } } /* * Base View */ div.base-wrapper { display: flex; height: 100%; } /* * The list of rooms */ div.rooms-container { border-right: .1em solid $background-color-dark; } div.rooms-wrapper { flex-shrink: 0; width: 15%; min-width: 20em; padding: .85em; box-sizing: border-box; border-right: .1em solid $background-color-dark; .room-search { padding: .5em; width: 100%; box-sizing: border-box; } } div.room-link-wrapper { whitespace: nowrap; border-left: solid .2em $background-color; padding-left: .5em; margin: .3em; display: flex; align-items: center; .feather-icon { height: 1.2em; } span.notification-count { color: $alert-color; margin-right: .5em; display: flex; align-items: center; &.bright { color: $alert-color-bright; } } a { color: lightgrey; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } &:hover a { color: $primary-color; transition: color $transition-duration; } &.active { border-left: solid .2em $primary-color; } &.hidden { display: none; } } div.reconnect-wrapper { position: fixed; bottom: 1.5em; left: 1.5em; padding: .85em; display: flex; align-items: center; background-color: $inactive-input-color; border-radius: $border-radius; .feather-icon { margin-right: .85em; } } /* * The current room, if any. */ div.room-wrapper { display: flex; flex-direction: column; padding: .85em; } div.typing-wrapper { padding: .5em; height: 1em; flex-shrink: 0; } div.message-wrapper { display: flex; flex-shrink: 0; input, textarea { flex-grow: 12; margin: .3em; } button { margin: .3em; height: 3em; width: 3em; transition: color $transition-duration; background-color: $background-color; color: $primary-color; &:hover { color: $primary-color-light; } } } div.messages-wrapper { overflow-y: scroll; flex-grow: 1; a.history-link { display: block; width: 100%; text-align: center; box-sizing: border-box; padding: .5em; } } table.messages-table { border-collapse: collapse; width: 100%; table-layout: fixed; td { padding: .5em; vertical-align: top; } img { max-width: 90%; max-height: 30em; margin-top: .85em; margin-bottom: .85em; box-shadow: 0 0 .5em rgba(0, 0, 0, .5); } .sending { color: grey; } video { max-width: 90%; max-height: 30em; } td:nth-child(1) { width: 10%; white-space: nowrap; } } div.message { p { margin: 0; } blockquote { margin: 0 0 0 0; padding-left: .5em; border-left: .4em solid $primary-color; } code { font-family: Iosevka, "Source Code Pro", monospace, } pre code { width: 100%; overflow: auto; display: block; box-sizing: border-box; padding: .85em; background-color: $background-color-dark; border-radius: $border-radius; box-shadow: $inset-shadow; } } span.sender-wrapper { border-radius: $border-radius; padding-left: .5em; padding-right: .5em; display: inline-block; box-sizing: border-box; text-align: right; font-weight: 800; width: 100%; text-overflow: ellipsis; overflow: hidden; vertical-align: bottom; /* Fix for overflow changing element height */ color: black; } a.file-wrapper { padding: .5em 0 .5em 0; display: flex; align-items: center; .feather-icon { height: 2em; width: 2em; margin-right: .85em; } } .message-notice { text-transform: uppercase; } /** * Icons */ .feather-icon { vertical-align: middle; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; fill: none; height: 1.5em; width: 1.5em; }