@charset "UTF-8"; @font-face { font-family: 'Roboto-Light'; src: url("/fonts/Roboto-Light.ttf") format("truetype"); } @font-face { font-family: 'Roboto'; src: url("/fonts/Roboto-Regular.ttf") format("truetype"); } * { box-sizing: border-box; } body { height: 100%; width: 100%; margin: 36px 0 0; font-family: Roboto, "Helvetica Neue", Arial, Helvetica, sans-serif; font-size: 14px; } #header { position: fixed; top: 0; width: 100%; z-index: 1; height: 36px; line-height: 24px; background: #f2f2f2; box-shadow: 0 -4px 3px 4px rgba(165, 165, 165, 0.8); color: #2a92e7; } .menu { position: relative; float: right; height: 36px; padding-left: 8px; } .menu .hamburger { width: 36px; background: url("/images/menu.png") no-repeat center; } .menu .menu-list { display: none; position: absolute; top: 100%; right: 0; margin: 0; padding: 0; border: solid 1px #2a92e7; background-color: white; box-shadow: 0 4px 3px 0px rgba(12, 65, 108, 0.8); } .menu .menu-list li { display: block; cursor: pointer; white-space: nowrap; padding: 5px 15px 5px 10px; } .gutter { margin-top: 36px; } #contacts { overflow-y: scroll; } .contact .checkbox { display: none; } input.new-message { box-sizing: border-box; width: 100%; } .back { display: none; text-align: center; } .back button { float: left; width: 36px; height: 36px; background: #f2f2f2 url("/images/back.png") no-repeat center center; } .back span { display: inline-block; height: 36px; line-height: 36px; font-family: Roboto-Light, "Helvetica Neue", Arial, Helvetica, sans-serif; color: #2a92e7; text-indent: -36px; } .new-conversation .new-group-update-form { display: none; } .fab { z-index: 1; position: fixed; right: 25px; bottom: 22px; height: 50px; width: 50px; border: 0; border-radius: 30px; outline: 0; font: 300 36px Roboto, "Helvetica Neue", Arial, Helvetica, sans-serif; color: white; background: #2a92e7 url("/images/pencil.png") no-repeat center center; box-shadow: 0 8px 8px -8px rgba(2, 10, 16, 0.8); transition: box-shadow 0.33s, transform 0.33s, background 0.33s; } .fab:hover { background-color: #1c8be5; box-shadow: 0 8px 18px -8px rgba(2, 10, 16, 0.9); transform: translate3d(0, -1px, 0); } .last-timestamp { font-size: smaller; } .new-contact .last-message, .new-contact .last-timestamp, .typeahead .last-message, .typeahead .last-timestamp { display: none; } .new-contact .contact .checkbox, .typeahead .contact .checkbox { display: inline-block; } .new-contact .contact-details::before { content: 'Create new contact'; display: block; font-style: italic; opacity: 0.7; padding-right: 8px; } .index { color: #454545; background: #eee; } .index .contact { position: relative; padding: 12px; background: white; cursor: pointer; transition: background 0.2s; white-space: nowrap; overflow: hidden; } .index .contact::after { content: ''; position: absolute; right: 16px; bottom: 0; height: 1px; width: calc(100% - 12px - 54px - 2 * 8px - 16px); background: #eee; } .index .contact:hover { background: #f8f8f8; } .index .contact:last-child { box-shadow: 0 1px 3px rgba(170, 170, 170, 0.8); } .index .contact:last-child::after { display: none; } .index .contact-details { vertical-align: top; display: inline-block; margin: 4px 0 0 8px; } .index .contact-name { margin: 0; font-size: 1em; font-weight: 400; } .index .last-message { margin: 6px 0; font-size: small; font-weight: 300; } .index .timestamp { position: absolute; top: 14px; right: 12px; color: #888; } .index img { height: 44px; width: 44px; background: #f3f3f3; border-radius: 22px; } .settings { height: 100%; width: 100%; background: red; display: none; } .settings-open .settings { display: block; } .group-update { font-size: smaller; } .sender { font-size: smaller; opacity: 0.8; } .title-bar button { height: 36px; line-height: 36px; margin-right: 8px; padding: 0; border: 0; outline: 0; color: white; } button { cursor: pointer; } .timestamp { font-size: smaller; } .entry.delivered .timestamp::after { margin-left: 4px; content: "✓"; } .message-list { max-height: 100%; margin: 0; padding: 1em 0; list-style: none; overflow-y: scroll; } .message-list li { margin: 0 8px 16px; } .message-list li::after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; } .message-list p { margin: 0; } .message-list .bubble { position: relative; left: -2px; display: inline-block; vertical-align: top; max-width: calc(100% - 54px - 2 * 12px); padding: 9px 12px; border-radius: 4px; box-shadow: 0 3px 3px -4px black; } .message-list .bubble::before, .message-list .bubble::after { content: ''; position: absolute; height: 0; width: 0; } .message-list .bubble::before { top: 19px; border-top: 8px solid transparent; border-bottom: 8px solid transparent; } .message-list .bubble::after { top: 21px; border-top: 6px solid transparent; border-bottom: 6px solid transparent; } .message-list .incoming .bubble { color: #454545; background: #f3f3f3; } .message-list .incoming .bubble::before { left: -10px; border-right: 10px solid white; } .message-list .incoming .bubble::after { left: -8px; border-right: 8px solid #f3f3f3; } .message-list .outgoing img, .message-list .outgoing .bubble { float: right; } .message-list .outgoing .bubble { clear: left; color: white; background: #2a92e7; } .message-list .outgoing .bubble .timestamp { color: #a2d2f4; } .message-list .outgoing .bubble::before { right: -10px; border-left: 10px solid white; } .message-list .outgoing .bubble::after { right: -8px; border-left: 8px solid #2a92e7; } .message-list .attachments img { max-width: 100%; } .message-list .outgoing img.avatar { display: none; } .message-list img.avatar { height: 44px; width: 44px; background: #f3f3f3; border-radius: 22px; } .message-list .timestamp { margin-top: 3px; float: right; } .bottom-bar { position: fixed; bottom: 0; height: 36px; width: 100%; border-top: 1px solid #f3f3f3; background: white; } .bottom-bar button, .bottom-bar input { color: #454545; } .bottom-bar button { position: absolute; top: 0; height: 100%; width: 36px; padding: 0; border: 0; outline: 0; font-size: 24px; background: transparent; } .bottom-bar .attachments { position: relative; float: left; height: 100%; width: 36px; margin-right: 10px; } .bottom-bar .attachments .paperclip { width: 100%; height: 100%; background: url("/images/paperclip.png") no-repeat; background-size: 90%; background-position: center 6px; } .bottom-bar .attachments input[type=file] { display: none; position: absolute; width: 100%; height: 100%; opacity: 0; top: 0; left: 0; cursor: pointer; z-index: 1; } .bottom-bar .attachments img.preview { max-width: 100%; } .bottom-bar .attachments .close { font-family: sans-serif; color: white; position: absolute; top: -10px; left: 20px; text-align: center; cursor: default; border-radius: 50%; width: 20px; height: 20px; padding: 0px; background: #666; color: #fff; text-align: center; } .bottom-bar .send-btn { float: right; height: 100%; width: 36px; border: none; outline: none; background: url("/images/send.png") no-repeat; background-size: 90%; background-position: center 1px; cursor: pointer; } .bottom-bar .send-btn::before { content: '+'; } .bottom-bar form, .bottom-bar input { height: 100%; } .bottom-bar input[type=textarea] { display: block; height: 100%; border: 0; outline: 0; z-index: 5; }