@import url(http://fonts.googleapis.com/css?family=Roboto:400,300,700); body, input { font-family: $roboto; } body { margin: 0; } .title-bar { position: relative; z-index: 1; height: 36px; line-height: 24px; background: $blue; box-shadow: 0 -4px 3px 4px rgba(darken($blue, 30%), 0.8); button { height: 36px; line-height: 36px; float: right; margin-right: 8px; padding: 0; border: 0; outline: 0; font-size: 36px; color: white; background: transparent; } } .fab { z-index: 1; position: fixed; right: 16px; bottom: 22px; height: 60px; width: 60px; border: 0; border-radius: (60px / 2); outline: 0; font: 300 36px $roboto; color: white; background: $blue; box-shadow: 0 8px 8px -8px rgba(darken($blue, 50%), 0.8); transition: box-shadow 0.33s, transform 0.33s, background 0.33s; &:hover { background: darken($blue, 3%); box-shadow: 0 8px 18px -8px rgba(darken($blue, 50%), 0.9); transform: translate3d(0, -1px, 0); } } button { cursor: pointer; } .timestamp { font-size: 12px; } .message-list { margin-bottom: 36px + 16px; padding: 0; list-style: none; font-size: 16px; font-weight: 300; li { margin: 0 8px 16px; &::after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; } } p { margin: 0; } .bubble { position: relative; left: -2px; display: inline-block; vertical-align: top; max-width: calc(100% - 2 * 54px - 2 * 12px - 8px); padding: 9px 12px; border-radius: 4px; box-shadow: 0 3px 3px -4px black; &::before, &::after { content: ''; position: absolute; height: 0; width: 0; } &::before { top: (54px / 2) - 8px; border-top: 8px solid transparent; border-bottom: 8px solid transparent; } &::after { top: (54px / 2) - 6px; border-top: 6px solid transparent; border-bottom: 6px solid transparent; } } .incoming { .bubble { color: $grey_d; background: $grey_l; &::before { left: -10px; border-right: 10px solid white; } &::after { left: -8px; border-right: 8px solid $grey_l; } } } .outgoing { img, .bubble { float: right; } .bubble { clear: left; color: white; background: $blue; .timestamp { color: $blue_l; } &::before { right: -10px; border-left: 10px solid white; } &::after { right: -8px; border-left: 8px solid $blue; } } } img { height: 54px; width: 54px; // delete next 2 lines box-sizing: border-box; border: (54px / 2) $blue solid; border-radius: (54px / 2); } .timestamp { margin-top: 3px; float: right; } } .bottom-bar { position: fixed; bottom: 0; height: 36px; width: 100%; border-top: 1px solid $grey_l; background: white; button, input { color: $grey_d; } button { position: absolute; top: 0; height: 100%; width: 36px; padding: 0; border: 0; outline: 0; font-size: 24px; background: transparent; } .attachments-btn { left: 0; } .send-btn { right: 0; } form, input { height: 100%; width: 100%; } input { height: 100%; width: 100%; box-sizing: border-box; padding: 0 36px; border: 0; outline: 0; font-size: 16px; background: white; } } // conversation list part .index { color: $grey_d; background: #eee; .contact { position: relative; padding: 12px; background: white; cursor: pointer; transition: background 0.2s; &::after { content: ''; position: absolute; right: 16px; bottom: 0; height: 1px; width: calc(100% - 12px - 54px - 2 * 8px - 16px); background: #eee; } &:hover { background: #f8f8f8; } &:last-child { box-shadow: 0 1px 3px rgba(#aaa, 0.8); &::after { display: none; } } } .contact-details { vertical-align: top; display: inline-block; width: calc(100% - 54px - 2 * 12px - 8px); margin: 4px 0 0 8px; } .contact-name { margin: 0; font-size: 16px; font-weight: 400; } .last-message { margin: 6px 0; font-size: 14px; font-weight: 300; } .timestamp { position: absolute; top: 14px; right: 12px; color: #888; } img { height: 54px; width: 54px; // delete next 2 lines box-sizing: border-box; border: (54px / 2) $grey_l solid; border-radius: (54px / 2); } // TODO: RJS // SHAAAAAAME!!!! .message-list { display: none; } } .settings { height: 100%; width: 100%; background: red; display: none; .settings-open & { display: block; } }