@import "utils/_emojione.import.less"; @import "utils/_lesshat.import.less"; @import "utils/_reset.import.less"; @import "utils/_keyframes.import.less"; @import "utils/_preloader.import.less"; @import url(http://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900); @import url(http://fonts.googleapis.com/css?family=Muli:400,300,500); @footer-min-height: 70px; @header-min-height: 60px; @rooms-box-width: 220px; @primary-background-color: #0b1628; @secondary-background-color: #F4F4F4; @tertiary-background-color: #E9E9E9; @primary-font-color: #444444; @secondary-font-color: #777777; @status-online: #35AC19; @status-offline: #666666; @status-busy: #D30230; @status-away: #fcb316; .cf_ { display: inline-block; &:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; } } * { .box-sizing(border-box); } :focus { outline: 0 !important; outline-color: transparent; outline-style: none; } a { text-decoration: none; &:hover, &:active { color: @primary-font-color; text-decoration: none; } } .small-title { font-size: 13px; text-transform: uppercase; margin-bottom: 5px; font-weight: 600; } .fill-all { position: absolute; width: 100%; height: 100%; top: 0; left: 0; } .custom-scroll(@background, @thumb, @width: 6px) { &::-webkit-scrollbar { width: @width; background: @background; } &::-webkit-scrollbar-thumb { background-color: @thumb; -webkit-border-radius: 50px; } &::-webkit-scrollbar-corner { background-color: @background; } } .scrollable { &:extend(.fill-all); .custom-scroll(transparent, #BFBFBF); overflow-y: scroll; -webkit-overflow-scrolling: touch; } .input-line { &.search { .icon-search { position: absolute; color: @secondary-font-color; left: 5px; top: 10px; font-weight: 400; } input { padding-left: 25px; } } } .rocket-h2 { font-weight: 300; text-transform: uppercase; font-size: 20px; letter-spacing: -0.5px; margin: 18px 0; color: #EFEFEF; } .unselectable { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .rocket-h3 { font-weight: 300; text-transform: uppercase; font-size: 16px; letter-spacing: -0.5px; margin: 18px 0; color: #EAEAEA; } html { overflow-y: scroll; .custom-scroll(transparent, rgba(255, 255, 255, 0.05), 3px); height: 100%; &.noscroll { overflow: hidden; } } body { font-family: "Roboto", "HelveticaNeue-Light", "sans-serif"; font-size: 14px; color: #222; height: 100%; width: 100%; // min-width: 768px; -webkit-font-smoothing: antialiased; line-height: 1rem; padding: 0; overflow: visible; position: relative; background-color: lighten(@primary-background-color, 10%); } // input & form styles input, button, select, textarea { font-family: inherit; font-size: inherit; line-height: inherit; } input:focus { outline: none; box-shadow: 0 0 0; } textarea, select, input[type='text'], input[type='email'], input[type='password'] { height: 35px; line-height: normal; border: 1px solid #dfdfdf; background-color: #fff; border-radius: 2px; padding: 2px 8px; box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.25); position: relative; width: 100%; outline: none; } input.input-forward { width: 0px; visibility: hidden; .transition(width .5s ease-in); } input.input-forward.show { visibility: visible; .calc(width, ~'100% - 48px'); } input.search { &:before { content: " "; width: 30px; height: 30px; display: block; position: absolute; top: 0; left: 0; background-color: #000; } } form.search-form { position: relative; } .form-group { .-btn { margin-left: 2px; &:nth-child(1) { margin-left: 3px; } } .input-group { padding: 2px 0; } } .form-horizontal .control-label { padding-top: 12px; font-weight: bold; color: @primary-font-color; } .-autocomplete-container { box-shadow: 1px 1px 0px rgba(0, 0, 0, 0.2); border: none; border-radius: 0; width: 100%; top: auto !important; p { font-size: 14px; padding: 8px 8px; color: @secondary-font-color; } } .-autocomplete-item { padding: 8px 5px; font-size: 12px; cursor: pointer; } .-autocomplete-item.selected { background-color: #dfdfdf; color: inherit; } .-autocomplete-container > i { visibility: hidden; } .-autocomplete-container > i:after { content: " "; visibility: visible; background-image: url('/images/loading.gif'); background-position: center; background-repeat: no-repeat; display: block; height: 40px; margin-bottom: 12px; } label.required:after { content: ' *'; color: red; } // soon to be deprecated buttons .-btn { display: inline-table; padding: 0 12px; margin-bottom: 0; font-size: 11px; font-weight: normal; line-height: 1; text-align: center; white-space: nowrap; vertical-align: middle; cursor: pointer; border-radius: 2px; height: 32px; background-color: #eaeaea; border-width: 0; text-transform: uppercase; position: relative; color: @secondary-font-color; font-weight: 300; box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.25); .user-select(none); .transition(background-color .1s ease-out, color .1s ease-out, border .1s ease-out); &:hover { border-bottom-color: #bababa; background-color: #e3e3e3; color: @primary-font-color; &.with-title { &:before { .animation(fadeIn .1s ease-out forwards); } span:after { .animation(fadeIn .1s ease-out forwards); } } } &.-progress { position: relative; &:before { content: " "; position: absolute; width: 0; height: 100%; top: 0; left: 0; z-index: 1; background-color: rgba(0, 0, 0, 0.2); .transition(width 10s ease-out); } } &.going { &:before { width: 95%; } } &.done { &:before { width: 100%; } } &.small { height: 24px; padding: 0 8px; > span { font-size: 13px; } } &.primary { //.background-image(linear-gradient(top, #4387fd, #4683ea)); //border-color: #2273d0; .background-image(linear-gradient(top, #1f8dd6, #1f8dd6)); border-color: #0484ba; color: #FFF; } &.delete, &.danger { .background-image(linear-gradient(top, #dd4b39, #d14836)); border-color: #c41a1a; color: #FFF; } &.with-title { &:before { content: attr(data-title); height: 24px; line-height: 24px; background-color: rgba(43, 43, 43, 1); position: absolute; bottom: -34px; left: 0; color: #fff; font-size: 11px; padding: 0 10px; visibility: hidden; border-radius: 2px; .animation(fadeOut .2s ease-out forwards); } } > span { display: table-cell; vertical-align: middle; text-align: center; font-size: 12px; line-height: 1; position: relative; z-index: 2; &:after { bottom: -10px; left: 50%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; border-color: rgba(43, 43, 43, 0); border-bottom-color: rgba(43, 43, 43, 1); border-width: 6px; margin-left: -6px; visibility: hidden; .animation(fadeOut .2s ease-out forwards); } } .icon-plus { &:before { margin-right: 1px; margin-left: 1px; margin-top: 3px; } } .icon-search { &:before { margin-left: 0px; margin-right: 2px; } } .icon-edit { &:before { margin-right: 0px; margin-left: 2px; margin-top: 2px; } } .icon-target { &:before { margin-right: 1px; margin-left: 1px; margin-top: 3px; } } .icon-forward { &:before { margin-left: 1px; margin-right: 1px; margin-top: 1px } } } .status-offline, .icon-user.status-offline { color: @status-offline; } .status-online, .icon-user.status-online { color: @status-online !important; } .status-busy, .icon-user.status-busy { color: @status-busy; } .status-away, .icon-user.status-away { color: @status-away !important; } // TODO -- Refactor favorite styles and logic; .favorite-room { color: #FECF09; } .toggle-favorite { color: #AAA; } .loading { background-image: url('/images/loading.gif'); background-repeat: no-repeat; background-position: 50%; width: 100%; height: 100%; position: fixed; top: 0; left: 0; &.inline { position: relative; min-height: 40px; background-size: 24px 24px; } } .btn-loading { background-image: url('/images/loading.gif'); background-repeat: no-repeat; background-position: 50%; color: transparent !important; pointer-events: none; cursor: not-allowed; background-color: transparent; border: none; &:hover { background-color: transparent; } } // new layout buttons .button { display: inline-block; padding: 10px 12px 8px; background-color: #FFF; color: #FAFAFA; font-weight: 400; font-size: 13px; margin: 4px; text-transform: uppercase; word-spacing: 0; box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1); border: none; line-height: 16px; position: relative; span { position: relative; z-index: 2; } &:before { content: " "; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.15); opacity: 0; z-index: 1; .transition(opacity .1s ease-out); } .fa { text-align: center; width: 20px; font-size: 18px; vertical-align: middle; position: relative; z-index: 2; } &:hover { text-decoration: none; color: #FFF; &:before { opacity: 1; } } &.primary { min-width: 120px; background-color: #4f85de; } &.secondary { min-width: 120px; background-color: #bc2031; } &.delete {} &.facebook { background-color: #325c99; } &.twitter { background-color: #02acec; } &.google { background-color: #dd4b39; } &.github { background-color: #4c4c4c; } &.trello { background-color: #026aa7; } &.meteor-developer { background-color: #de4f4f; } } .sec-header { margin: 16px 0; text-align: center; > * { display: inline-table; width: auto; vertical-align: middle; line-height: 35px; } label { margin-left: 20px; } } .burger { padding: 12px; visibility: hidden; display: none; cursor: pointer; margin-left: 7px; position: absolute; top: 4px; left: 5px; .transition(transform .2s ease-out .1s); i { display: block; height: 2px; width: 20px; margin: 5px 0; background-color: #333; opacity: .8; .transition(transform .2s ease-out, width .2s ease-out); &:nth-child(1) { // .transition-delay(.06s); } &:nth-child(3) { .transition-delay(.1s); } } } .arrow { display: block; width: 25px; height: 25px; z-index: 100; .calc(top, ~"50% - 13px"); &:before, &:after { content: " "; display: block; background-color: #aaa; width: 2px; height: 10px; position: absolute; .calc(top, ~"50% - 5px"); .calc(left, ~"50% - 5px"); } &:before { .transform(rotate(135deg) translateX(-4px)); .transition(transform .185s ease-out .085s, background .15s ease-out); } &:after { .transform(rotate(-135deg) translateX(-4px)); .transition(transform .185s ease-out, background .15s ease-out); } &.left { &:before { .transform(rotate(45deg) translateY(-4px)); } &:after { .transform(rotate(-45deg) translateY(4px)); } } } a.github-fork { position: fixed; display: block; width: 260px; z-index: 901; right: -62px; top: 50px; background-size: 100% auto; cursor: pointer; background-color: #5c5c5c; color: #f0f0f0; padding: 1em 0 0.95em; line-height: 1.04em; text-decoration: none; font-size: 1.04em; box-shadow: -2px 3px 1px rgba(0, 0, 0, 0.23); opacity: 1; text-transform: uppercase; font-weight: 400 !important; .transform(rotate(45deg) translateY(0)); .transition(background-color .2s ease-out, transform .45s cubic-bezier(.15, 0, 0, 1) 2.15s, opacity .2s ease-out 2.15); &:hover { background-color: #4b4b4b; color: #FFF; } &:before { content: " "; border-top: 1px dashed #f0f0f0; position: absolute; top: 3px; width: 100%; left: 0; height: 1px; z-index: 1; } &:after { content: " "; border-top: 1px dashed #f0f0f0; position: absolute; bottom: 2px; z-index: 1; left: 0; width: 100%; height: 1px; } } .mac-bar { display: block; position: relative; height: 24px; background-color: #ddd; width: 100%; z-index: 10; i { height: 12px; width: 12px; display: inline-block; background-color: #ff5f57; border-radius: 50%; position: absolute; top: 6px; left: 10px; &:nth-child(2) { left: 26px; background-color: #ffbd2e; } &:nth-child(3) { left: 42px; background-color: #28ca41; } } } .avatar { height: 100%; width: 100%; overflow: hidden; img { height: auto !important; } } #rocket-chat { display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; opacity: 1; visibility: visible; background-color: #fff; .transition(opacity .2s ease-out); &.-hidden { visibility: hidden; opacity: 0; } > .alert { margin-bottom: 0; padding: 5px; } } // .popover { // z-index: 120; // } .account-box { position: relative; height: 100%; cursor: pointer; width: 100%; .info { position: relative; height: 100%; .thumb { float: left; height: 100%; position: relative; width: 60px; padding: 8px; &:after { content: " "; display: block; width: 11px; height: 11px; border: 2px solid #6f6f6f; border-radius: 50%; z-index: 10; position: absolute; right: 5px; bottom: 10px; } .avatar-initials { line-height: 44px; } } .data { float: left; position: relative; padding: 0 25px 0 5px; height: 100%; display: table; .calc(width, ~"100% - 60px"); } .wrp { display: table-cell; vertical-align: middle; text-align: left; } h4 { display: block; line-height: 18px; color: rgba(255, 255, 255, 0.65); font-size: 16px; margin-top: 3px; font-weight: 400; overflow: hidden; text-overflow: ellipsis; position: relative; width: 130px; .transition(color .15s ease-out); } &.status-offline { .thumb:after { border-color: darken(@status-offline, 5%); background-color: @status-offline; } } &.status-online { .thumb:after { border-color: darken(@status-online, 5%); background-color: @status-online; } } &.status-away { .thumb:after { border-color: darken(@status-away, 5%); background-color: @status-away; } } &.status-busy { .thumb:after { border-color: darken(@status-busy, 5%); background-color: @status-busy; } } } .options { background-color: @primary-background-color; position: fixed; top: @header-min-height; left: 0; padding-top: 15px; width: @rooms-box-width; .calc(height, ~'100% - ' @header-min-height + @footer-min-height); .transition(transform .3s cubic-bezier(.5, 0, .1, 1)); &._hidden { .transform(translateX(-100%)); } .status { padding-left: 30px; position: relative; &:after { content: " "; display: block; width: 13px; height: 13px; border: 1px solid #6f6f6f; border-radius: 50%; z-index: 5; position: absolute; left: 12px; .calc(top, ~"50% - 6px"); } &.offline { &:after { border-color: #666666; background-color: #7b7b7b; } } &.online { &:after { border-color: #2c9210; background-color: #35AC19; } } &.away { &:after { border-color: #e69200; background-color: #fcb316; } } &.busy { &:after { border-color: #9f0030; background-color: #D30230; } } } span.soon { // content: "em breve"; width: 100px; position: absolute; right: -30px; color: #aaa; font-size: 10px; top: 17px; } i { width: 18px; } a { position: relative; display: table; color: rgba(255, 255, 255, 0.5); width: 100%; height: 20px; padding: 15px 12px; line-height: 1; text-decoration: none; border-bottom: 1px solid darken(@primary-background-color, 3%); &:nth-child(even) { // background-color: #EFEFEF; } &:hover { background-color: darken(@primary-background-color, 3%); color: rgba(255, 255, 255, 0.75); text-decoration: none; } } } &.active .info, .info:hover { h4 { color: rgba(255, 255, 255, 0.85); } .arrow { &:before, &:after { background-color: rgba(255, 255, 255, 0.85); } } } .arrow { position: absolute; right: 5px; } } // rooms-box .side-nav { position: fixed; display: block; top: 0; bottom: 0; left: 0; width: @rooms-box-width; height: auto; overflow: visible; background-color: #F4F4F4; z-index: 100; color: #000; padding: 12px 0 0 0; .transition(transform .3s ease-out); &:before { content: " "; height: 1px; width: 189px; left: 8px; position: absolute; top: 59px; background-color: #dfdfdf; } .rooms-list { direction: rtl; position: absolute; top: @header-min-height; .calc(height, ~"100% - " @header-min-height + @footer-min-height); width: 100%; overflow-x: hidden; overflow-y: scroll; display: block; -webkit-overflow-scrolling: touch; box-shadow: 0 0 5px rgba(0, 0, 0, 0.4) inset; background-color: lighten(@primary-background-color, 5%); .custom-scroll(transparent, rgba(255, 255, 255, 0.05)); > .wrapper { direction: ltr; padding-left: 8px; } } .header { position: absolute; top: 0; left: 0; width: 100%; color: #fff; z-index: 110; min-height: @header-min-height; height: @header-min-height; background-color: @primary-background-color; } .footer { position: absolute; bottom: 0; left: 0; width: 100%; padding: 15px 15px 0px 15px; z-index: 100; text-align: right; background: #fff; min-height: @footer-min-height; background-color: @primary-background-color; .logo { display: block; width: 100%; height: 100%; &:hover { text-decoration: none; } } small { font-size: 11px; width: 100%; display: block; text-transform: lowercase; color: @secondary-font-color; margin-bottom: 1px; font-weight: 300; padding-right: 3px; } img { display: inline-block; width: 90%; } } .content {} .search-form { .search { padding-left: 25px; } > div { position: relative; } margin-right: 20px; .fa { display: block; position: absolute; top: 10px; left: 8px; color: @secondary-font-color; } } h3 { &:extend(.small-title); cursor: pointer; position: relative; text-transform: uppercase; font-weight: 500; margin: 25px 0 5px 0; color: rgba(255, 255, 255, 0.75); } .unread { background-color: #1dce73; min-width: 15px; padding: 0 2px; border-radius: 2px; color: #FFF; text-align: center; position: absolute; right: 6px; font-size: 11px; top: 6px; line-height: 16px; font-weight: 800; } ul { position: relative; left: 1px; li { white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; .remove, .erase { position: absolute; display: block; right: -18px; top: 2px; color: #666; opacity: 0; .transform(translateX(-10px)); .transition(opacity .15s ease .35s, transform .12s ease-out .35s); } &:hover { .opt { background-color: transparent; opacity: 1; .transform(translateX(0)); } } &.active { a { background-color: rgba(255, 255, 255, 0.075); color: rgba(255, 255, 255, 0.75); } .opt { background-color: transparent; } } &.has-unread { .opt { opacity: 0; } } &.away { a { color: #666; } } } a { display: block; border-radius: 2px 0 0 2px; padding: 4px 25px 4px 5px; font-size: 15px; position: relative; line-height: 16px; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; text-decoration: none; color: rgba(255, 255, 255, 0.5); text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25); &:hover { background-color: rgba(255, 255, 255, 0.05); text-decoration: none; } } .opt { position: absolute; right: 0; width: 50px; padding-right: 5px; text-align: right; opacity: 0; background-color: transparent; display: block; top: 6px; .transform(translateX(-10px)); .transition(opacity .12s ease .25s, transform .15s ease-out .25s); i { margin: 0 1px; color: rgba(255, 255, 255, 0.5); &:hover { color: rgba(255, 255, 255, 0.75); } } } i { color: rgba(255, 255, 255, 0.35); } input[type="text"] { color: #000; width: 100%; font-size: 12px; } } } .new-room-highlight a { -webkit-animation: highlight 2s infinite; -moz-animation: highlight 2s infinite; -o-animation: highlight 2s infinite; animation: highlight 2s infinite; } .page-container { &:extend(.fill-all); overflow-y: hidden; .content { &:extend(.fill-all); padding: 0px 40px; overflow-y: scroll; margin-top: 60px; padding-top: 15px; -webkit-overflow-scrolling: touch; .calc(height, ~'100% - 60px'); .custom-scroll(transparent, #EAEAEA); } } .fixed-title { position: absolute; display: block; padding: 15px 10px 15px 20px; background: #fff; border-bottom: 1px solid @tertiary-background-color; z-index: 100; top: 0; left: 0; width: 99%; h2 { max-width: 90%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 22px; font-weight: 500; line-height: 29px; } // input[type='text']{ // .calc(width, ~'100% - 100px'); // vertical-align: top; // margin-top: 0; // } } // MAIN CONTENT + MAIN PAGES // .main-content { display: table; position: relative; margin-left: @rooms-box-width; margin-top: 0; height: 100%; .calc(width, ~'100% - ' @rooms-box-width); .transition(width .25s cubic-bezier(.5, 0, .1, 1)); &.flex-opened { .calc(width, ~'100% - 620px'); margin-right: 420px; .flex-tab { .transform(translateX(0)); } } .container-fluid { padding-top: 0; } .history-date { margin-bottom: 20px; } } .page-static { p { margin-bottom: 12px; } h1, h2, h3, h4 { font-weight: 300; text-transform: uppercase; } } .page-home { .logo { display: inline-block; width: 38px; margin-right: 6px; } .info { margin-bottom: 20px; max-width: 680px; line-height: 20px; p {} } .social { h4 { margin-bottom: 8px; } nav { margin-left: -4px; } } } .page-list { .search { margin-bottom: 12px; } .results { padding: 10px 0; border-bottom: 1px solid #DFDFDF; margin-bottom: 10px; font-weight: 300; color: @secondary-font-color; p { font-size: 12px; text-transform: uppercase; } } .list { a { .cf_; padding: 10px 16px; width: 100%; color: @primary-font-color; border-bottom: 1px solid @secondary-background-color; .transition(background .15s ease-out); &:hover { background-color: @secondary-background-color; } } ul { margin: 6px 0; } li { display: inline-block; margin-right: 14px; font-size: 11px; color: @secondary-font-color; position: relative; &:after { content: " "; width: 4px; height: 4px; border-radius: 50%; background-color: @secondary-font-color; position: absolute; right: -12px; .calc(top, ~"50% - 2px"); } &:nth-last-child(1) { &:after { display: none; } } } .info { display: block; float: left; .calc(width, ~"100% - 150px"); i { margin-right: 5px; width: 20px; text-align: left; } h3 { font-size: 18px; font-weight: 500; } a { text-decoration: none; color: @primary-font-color; } } .status { display: block; float: right; width: 150px; min-height: 30px; color: @secondary-font-color; text-align: right; strong { font-size: 12px; font-weight: 500; } } } } // change to page-messages .messages-container { position: absolute; width: 100%; height: 100%; top: 0; left: 0; -webkit-user-select: text; -moz-user-select: text; -ms-user-select: text; user-select: text; .edit-room-title { color: @secondary-font-color; margin-left: 4px; font-size: 16px; &:hover { color: @primary-font-color; } } .wrapper { position: absolute; width: 100%; height: 100%; top: 0; left: 0; overflow-y: scroll; overflow-x: hidden; word-wrap: break-word; -webkit-overflow-scrolling: touch; .custom-scroll(transparent, #EAEAEA); } .footer { position: absolute; padding: 10px 20px 0px 20px; background: #fff; border-top: 1px solid @tertiary-background-color; z-index: 100; bottom: 0; left: 0; width: 100%; } .message-form { > div { position: relative; } textarea { display: block; width: 100%; border: 1px solid #dfdfdf; border-radius: 4px; box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3); padding-top: 9px; padding-bottom: 9px; padding-right: 38px; overflow-y: hidden; resize: none; } .fa-send { position: absolute; top: 4px; right: 10px; cursor: pointer; padding: 8px; color: @secondary-font-color; &:hover { color: @primary-font-color; } } > .users-typing { height: 20px; font-size: 12px; color: #888; padding: 5px 0px 0px 5px; } } .add-user-search { height: 100%; overflow: hidden; display: inline-block; vertical-align: top; width: 100%; } } .messages-box { position: relative; margin: 60px 20px 0px; overflow: hidden; .calc(width, ~'100% - 20px'); .calc(height, ~'100% - 120px'); ul { padding: 21px 0 10px; } .new-message { margin: 0 -65px; position: absolute; background: #428bca; border-radius: 20px; width: 130px; height: 30px; text-align: center; color: #FFF; line-height: 30px; font-size: 0.8em; cursor: pointer; bottom: 8px; left: 50%; .transition(transform 0.3s ease-out); .transform(translateY(0)); &.not { .transform(translateY(150%)); } } .message { font-size: 14px; padding-left: 50px; position: relative; line-height: 20px; &.with-thumb { margin-top: 12px; min-height: 40px; .time { position: relative; left: 4px; opacity: 1; } } &:nth-child(1) { margin-top: 0; } .edit-message { display: none; cursor: pointer; } &.own:hover .edit-message { display: inherit; } .avatar-initials { line-height: 40px; } } .pageView { display: table; width: 100%; text-align: left; } .system { display: inline-block; background-color: #EFEFEF; border-radius: 4px; padding: 8px 12px; font-size: 12px; color: @secondary-font-color; i { margin-right: 5px; } } .date { text-align: center; position: relative; margin-top: 12px; &:before { content: " "; height: 1px; width: 80%; position: absolute; left: 10%; top: 11px; background-color: #DFDFDF; } span { display: inline-block; padding: 5px 10px; background-color: #FFF; position: relative; z-index: 1; font-size: 12px; font-weight: 600; color: @secondary-font-color; } } .user { display: inline-block; font-weight: 600; color: #444; &:hover { color: #333; } } .own { .user { color: #4c617b; &:hover { color: #3c4958; } } } .time { font-size: 12px; position: absolute; display: inline-block; color: #888; left: 6px; opacity: 0; } .thumb { position: absolute; left: 0; top: 0; display: block; width: 40px; height: 40px; background-color: #FFF; border-radius: 2px; background-image: url(/images/no_picture.png); background-size: 100% auto; background-position: 50% 50%; } } .load-more { text-align: center; span { border: 1px solid #CCC; border-radius: 20px; padding: 5px 14px; background-color: #EEE; } } .chat-begin { text-align: center; position: relative; margin-top: 12px; &:before { content: " "; height: 1px; width: 80%; position: absolute; left: 10%; top: 11px; background-color: #DFDFDF; } span { display: inline-block; padding: 5px 10px; background-color: #FFF; position: relative; z-index: 1; font-size: 12px; font-weight: 600; color: @secondary-font-color; } } // FLEX-TAB and FLEX-TAB views .flex-tab { background-color: @secondary-background-color; border-left: 1px solid @tertiary-background-color; overflow-x: visible; position: fixed; z-index: 100; max-width: 400px; width: 90%; bottom: 0; right: 0; top: 0; .transform(translateX(100%)); .transition(transform .25s cubic-bezier(.5, 0, .1, 1)); .control { height: 60px; position: relative; text-align: left; z-index: 10; padding: 12px 15px 12px; background-color: @secondary-background-color; > a, > form { float: left; } &:before { content: " "; height: 1px; left: 15px; position: absolute; background-color: @tertiary-background-color; bottom: 0px; .calc(width, ~'100% - 30px'); } .-btn { min-height: 36px; margin: 0 1px; } .more { position: absolute; left: -28px; top: 0px; background-color: @secondary-background-color; border: none; height: 60px; width: 28px; border-bottom: 1px solid @tertiary-background-color; color: @secondary-font-color; &:hover { color: @primary-font-color; } i { .transform-origin(50%, 50%, 0); .transition(transform .3s ease-out); height: 12.5px; vertical-align: top; margin-top: 1px; } &.opened { i { .transform(rotate(180deg)); } } } .search-form { padding: 0 4px 0 0; width: 100%; > div { position: relative; } .fa-plus { position: absolute; top: 11px; left: 8px; color: @secondary-font-color; } } } .content { &:extend(.fill-all); .custom-scroll(transparent, #DADADA); margin-top: 60px; overflow-y: scroll; overflow-x: hidden; -webkit-overflow-scrolling: touch; .calc(height, ~"100% - 60px"); > div { .transition(transform .35s cubic-bezier(.5, 0, .1, 1)); } > .-hidden { .transform(translateX(100%)); } > .animated { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } } } .list-view { padding: 5px 20px 20px; .list { display: block; position: relative; } > .status { margin: 5px 0 15px; h2 { font-size: 20px; line-height: 25px; font-weight: 300; } p { font-size: 12px; color: @secondary-font-color; margin-top: 4px; } b { font-weight: 600; } .see-all { float: right; color: @secondary-font-color; border: none; background-color: transparent; } } } .user-view { padding: 20px; .about { width: 100%; margin-bottom: 20px; } .thumb { float: left; width: 100px; height: 100px; .avatar { border-radius: 4px; box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3); .avatar-initials { line-height: 100px; } } } .nav {} .info { margin-left: 120px; white-space: normal; .calc(width, ~'100% - 120px'); h3 { font-size: 24px; margin-bottom: 8px; } p { line-height: 18px; font-size: 12px; font-weight: 300; color: @secondary-font-color; } } .stats { li { margin-bottom: 3px; display: inline-block; padding: 4px 6px; background-color: #e9e9e9; border-right: 2px; border-radius: 2px; } .fa { margin-right: 3px; } } .box { position: relative; margin-bottom: 25px; font-size: 13px; h4 { &:extend(.small-title); margin-bottom: 6px; } &:after { content: " "; height: 1px; width: 100%; bottom: -10px; left: 0; background-color: #CDCDCD; position: absolute; } } .tags { li { display: inline-block; padding: 4px; background-color: #CDCDCD; border-right: 2px; } .fa { margin-right: 3px; } } .links { i { margin-right: 5px; font-size: 13px; } a { white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; display: block; border-radius: 2px; padding: 0 5px; color: #6f6f6f; line-height: 22px; position: relative; .transition(background .18s ease, colo .18s ease); &:before { content: attr(data-stats); position: absolute; right: 5px; top: 0; font-size: 11px; opacity: 0; } &:hover { padding-right: 34px; background-color: #e9e9e9; text-decoration: none; color: #333; &:before { opacity: 1; } } span { font-weight: 300; } } } .contact-code { margin: -5px 0 10px 0; font-size: 12px; } .views {} .recent {} } .user-image-status(@color) { &:after, &:before { background-color: darken(@color, 5%); } a { &:after, &:before { background-color: darken(@color, 5%); } } .status { background-color: @color; } } .user-image { float: left; margin: 4px; height: 45px; width: 45px; cursor: pointer; background-color: @tertiary-background-color; border-radius: 2px; font-size: 12px; position: relative; &:after, &:before { content: " "; width: 0; height: 1px; position: absolute; z-index: 1; } &:after { right: -3px; bottom: -3px; .transition(width .15s ease-in); } &:before { left: -3px; top: -3px; .transition(width .15s ease-in .06s); } &:hover, &.selected { &:before, &:after { .calc(width, ~'100% + 6px'); } a { &:before, &:after { .calc(height, ~'100% + 6px'); } } &.status-offline { .status { background-color: @status-offline; } } &.status-online { .status { background-color: @status-online; } } &.status-away { .status { background-color: @status-away; } } &.status-busy { .status { background-color: @status-busy; } } } .avatar { border-radius: 2px; .avatar-initials { line-height: 45px; } } a { display: block; width: 100%; height: 100%; &:before, &:after { content: " "; width: 1px; height: 0; position: absolute; z-index: 1; } &:after { top: -3px; left: -3px; .transition(height .15s ease-in .12s); } &:before { right: -3px; bottom: -3px; .transition(height .15s ease-in .18s); } } .status { position: absolute; bottom: 1px; display: block; width: 14px; height: 14px; border: 3px solid #F8F8F8; border-radius: 50%; left: -5px; z-index: 10; } &.status-offline { .user-image-status(@status-offline); } &.status-online { .user-image-status(@status-online); } &.status-away { .user-image-status(@status-away); } &.status-busy { .user-image-status(@status-busy); } } .user-profile { white-space: normal; overflow: hidden; .thumb { float: left; width: 75px; img { width: 60px; height: 60px; } } .info { display: block; margin-left: 75px; h3 { font-size: 14px; margin-bottom: 8px; font-weight: 600; } p { font-size: 12px; margin-bottom: 6px; } a { color: @primary-font-color; &:hover { text-decoration: none; color: @secondary-font-color; } } } } .profile-buttons { margin-top: 1em; } .rocket-modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: 1000; visibility: hidden; &.fluid { .modal { height: 100%; main { position: absolute; overflow-y: scroll; .custom-scroll(transparent, #CFCFCF); .calc(height, ~'100% - 112px'); } } } &.opened { .animation(fadeIn .1s ease-out forwards); .modal { .animation(modalEnter .35s cubic-bezier(.5, 0, .1, 1) forwards .1s); } } &.closed { .animation(fadeOut .2s ease-out forwards); .modal { .animation(modalExit .25s cubic-bezier(.5, 0, .1, 1) forwards); } } &.overflow { .modal { overflow: visible; main { overflow: visible; position: relative; } } } .wrapper { display: table; height: 100%; width: 100%; position: relative; } .window { display: table-cell; vertical-align: middle; text-align: center; width: 100%; height: 100%; position: relative; } fieldset { margin-bottom: 8px; } legend { position: relative; z-index: 2; display: block; margin-bottom: 18px; position: relative; text-transform: uppercase; font-size: 13px; color: @secondary-font-color; i { margin-right: 4px; } &:before { content: " "; width: 100%; height: 1px; background-color: #dfdfdf; position: absolute; top: 19px; left: 0; z-index: 1; } } .modal { display: block; max-width: 800px; margin: 0 auto; width: 90%; position: relative; overflow: hidden; text-align: left; border-radius: 4px; box-shadow: 4px 4px 0 rgba(0, 0, 0, .15); padding: 56px 0; opacity: 0; background-color: #FFF; header { height: 55px; background-color: #DADADA; position: absolute; top: 0; width: 100%; z-index: 1; font-size: 14px; text-align-last: right; padding: 0 25px; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2); h3 { display: inline-block; margin: 0; text-align: left; font-size: 18px; font-weight: 700; line-height: 55px; text-overflow: ellipsis; overflow: hidden; } .close { position: absolute; width: 20px; height: 26px; right: 20px; top: 16px; opacity: 1; i { font-size: 24px; color: @secondary-font-color; } &:hover { i { color: @primary-font-color; } } } } main { display: block; width: 100%; height: 100%; overflow-y: auto; overflow-x: hidden; background-color: #FFF; padding: 20px 25px; } footer { height: 55px; background-color: #eaeaea; position: absolute; bottom: 0; width: 100%; z-index: 1; padding: 11px 25px 0; text-align: right; box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.15); } } } #login-card { width: 100%; max-width: 520px; padding: 22px 30px 30px; margin: 25px auto; background-color: #FAFAFA; box-shadow: 0 0 6px 10px rgba(0, 0, 0, 0.1); border-radius: 2px; h2 { &:extend(.rocket-h2); color: @primary-font-color; margin-bottom: 30px; &.error { color: #b40202; } } h3 { &:extend(.rocket-h3); &.error { color: #b40202; } } img { width: 200px; } .options { display: none; width: 100%; font-size: 10px; } .submit { margin-bottom: 12px; padding-top: 4px; } .remember { float: left; } .remember input { margin-right: 4px; } .forgot { float: right; line-height: 20px; } .submit button {} .fields { .transform-style(preserve-3d); .perspective(600px); margin-bottom: 26px; label { font-family: "Roboto"; font-size: 13px; margin-top: 10px; color: #AAA; margin-left: 12px; } } .input-text { margin: 0 0 14px 0; position: relative; &:before { content: " "; width: 100%; height: 40px; position: absolute; top: 7px; left: 0; cursor: text; } &.active { &:before { visibility: hidden; } .field { .transform(rotateX(0)); } } &:hover { i { background-color: #BFBFBF; } label { color: #999; } } } .field { display: block; .transform-origin(50% 100% 0); .transform(rotateX(100deg)); .transform-style(preserve-3d); .backface-visibility(hidden); .transition(transform .38s cubic-bezier(.5, 0, .1, 1)); i { display: block; width: 100%; height: 3px; background-color: #EAEAEA; position: absolute; bottom: 0; left: 0; .transform-origin(50% 100% 0); .transform(rotateX(-90deg) translateY(4px)); .transition(background .2s ease-out); } span { display: block; .transform-style(flat); } input { box-shadow: 0 0 0; background-color: transparent; border-width: 0; position: relative; padding: 4px 8px; font-size: 22px; border-bottom: 1px solid #DFDFDF; font-family: "Roboto"; font-weight: 300; } input:-webkit-autofill { color: #fff !important; } input:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px #f4f4f4 inset; background-color: transparent !important; } } } .social-login { margin: 35px 0 30px; text-align: center; h3 { &:extend(.rocket-h3); margin-top: 0; margin-bottom: 12px; } } .landing-page { text-align: center; z-index: 9999; background-color: @primary-background-color; .background-image(linear-gradient(@primary-background-color, lighten(@primary-background-color, 10%))); .logo { display: block; margin-bottom: 30px; > img { display: inline-block; position: relative; top: 0; right: 0; z-index: 20; width: 500px; max-width: 100%; } } a { font-family: "Roboto"; font-weight: 300; } .screen { display: block; margin: 0 auto 25px; max-width: 520px; position: relative; box-shadow: 0 0 8px 6px rgba(0, 0, 0, 0.35); z-index: 5; text-decoration: none; figure { display: block; width: 100%; height: 0; background-color: #fff; padding-bottom: 53%; background: url(/images/screen.jpg) no-repeat 50% 50%; background-size: 100% auto; } > span { .mac-bar; } .button { display: block; position: absolute; .calc(top, ~"50% - 17px"); .calc(left, ~"50% - 94px"); .transform(scale(0.5)); opacity: 0; .transition(transform .2s cubic-bezier(0, .4, .4, 1.5), opacity .1s ease-out); } &:hover { .button { .transform(scale(1)); opacity: 1; } } } .cell { display: table-cell; vertical-align: middle; text-align: center; } .wrapper { display: inline-block; padding: 45px 0 35px; z-index: 10; position: relative; max-width: 520px; width: 90%; } header { display: block; } .text { color: #FFF; font-weight: 300; margin-bottom: 25px; margin: 0 auto 25px; max-width: 580px; .button { background-color: #bc2031; color: #FFF; font-weight: 400; padding: 16px 20px; margin-top: 20px; .fa { width: 20px; margin-right: 4px; vertical-align: text-top; margin-top: -3px; } } h1 { font-weight: 700; text-transform: uppercase; font-size: 24px; letter-spacing: -0.5px; margin-bottom: 20px; display: none; } h2 { &:extend(.rocket-h2); } h3 { &:extend(.rocket-h3); } p { font-family: "Muli"; margin: 18px 0; font-size: 16px; line-height: 24px; font-weight: 400; } } footer { color: #fff; padding: 20px 0 0; h4 { text-transform: uppercase; margin-bottom: 8px; font-size: 12px; } } a.meteor { position: fixed; right: 30px; bottom: 20px; width: 100px; height: 50px; background: url(/images/meteor.png) no-repeat center center; background-size: 100% auto; text-indent: -9999em; } .connect { &:extend(.fill-all); position: fixed; } .share { border-radius: 50%; min-height: 40px; line-height: 20px; &:before { border-radius: 50%; } span { display: none; } } } @media all and(max-width: 1100px) { #rocket-chat { .flex-opened { .calc(width, ~'100% - ' @rooms-box-width); } } } @media all and(max-width: 780px) { #rocket-chat { .burger { visibility: visible; display: inline-block; } .side-nav { top: 0; .transform(translateX(-100%)); .transition(transform .3s ease-out); } .main-content { margin-left: 0; width: 100%; .transition(transform .3s ease-out); } .fixed-title h2 { margin-left: 45px; } .flex-tab { top: 0; } .messages-box { padding: 0 10px; } &.menu-opened { .side-nav { .transform(translateX(0)); } .burger { .transform(rotate(180deg)); i { &:nth-child(1) { opacity: 1; width: 10px; .transform-origin(50%, 50%, 0); .transform(translateY(3px) translateX(10px) rotate(45deg)); } &:nth-child(2) { //.transform(rotate(180deg)); } &:nth-child(3) { opacity: 1; width: 10px; .transform-origin(50%, 50%, 0); .transform(translateX(10px) translateY(-3px) rotate(-45deg)); } } } .main-content { .transform(translateX(@rooms-box-width)); } } } } @media all and(max-width: 500px) { .user-view { .thumb { width: 60px; height: 60px; } .info { margin-left: 75px; .calc(width, ~'100% - 120px'); h3 { font-size: 20px; } } } }