The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/client/stylesheets/base.less

3443 lines
57 KiB

@import url(//fonts.googleapis.com/css?family=Roboto:300,400,500,600,700&subset=latin,cyrillic-ext,greek-ext,greek,vietnamese,latin-ext,cyrillic);
@import "global/_variables.less";
@import "utils/_lesshat.import.less";
@import "utils/_reset.import.less";
@import "utils/_keyframes.import.less";
@import "utils/_preloader.import.less";
@import "utils/_emojione.import.less";
.clearfix {
clear: both;
&::after {
content: "";
display: table;
clear: both;
}
}
*,
*:before,
*:after {
.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;
}
}
code {
background: #f8f8f8;
border-radius: 4px;
border: 1px solid #ccc;
color: #333;
display: block;
font-size: 13px;
font-weight: bold;
margin: 5px 0;
overflow-x: auto;
padding: 0.5em;
vertical-align: middle;
word-wrap: break-word;
text-align: left;
&.inline {
display: inline-block;
padding: 0 5px;
margin: 0;
line-height: 16px;
}
}
pre {
display: inline-block;
width: 100%;
}
blockquote {
padding-left: 10px;
position: relative;
&:before {
content: ' ';
background-color: #ccc;
height: 100%;
width: 3px;
position: absolute;
left: 0px;
}
}
.upload-preview {
background-color: #f5f5f5;
.upload-preview-file {
height: 200px;
background-size: contain;
background-repeat: no-repeat;
background-position: center center;
}
}
.upload-preview-title {
background-color: #eee;
padding: 3px;
border-radius: 0 0 5px 5px;
}
.flex-center {
display: -webkit-flex;
display: flex;
-webkit-align-items: center;
align-items: center;
}
.copyonly {
float: left;
display: inline-block;
vertical-align: baseline;
width: 0;
height: 0;
font-size: 0;
-moz-box-orient: vertical;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.text-center {
text-align: center;
}
.connection-status > .alert {
padding: 2px;
position: absolute;
width: 100%;
z-index: 1000;
border-radius: 0px;
}
.alert {
padding: 15px;
margin-bottom: 20px;
border: 1px solid rgba(0, 0, 0, 0);
border-radius: 4px;
}
.alert-warning {
color: #8A6D3B;
background-color: #FCF8E3;
border-color: #FAEBCC;
}
.alert-danger {
color: #A94442;
background-color: #F2DEDE;
border-color: #EBCCD1;
}
.full-page .hidden {
visibility: hidden !important;
display: none !important;
}
.hidden {
display: 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;
}
.rocket-form {
max-width: 620px;
width: 90%;
padding: 25px 0;
legend {
margin-bottom: 23px;
position: relative;
width: 100%;
display: block;
h3 {
margin-bottom: 5px !important;
}
&:after {
content: " ";
height: 1px;
background-color: #DFDFDF;
display: block;
position: absolute;
width: 100%;
bottom: -10px;
left: 0;
}
}
fieldset {
display: block;
margin-bottom: 40px;
}
.submit {
margin-top: 20px;
text-align: right;
}
}
.input-line {
.clearfix;
display: block;
margin-bottom: 12px;
&:nth-last-child(1) {
margin-bottom: 0;
}
&.search {
.icon-search {
position: absolute;
color: @secondary-font-color;
left: 5px;
top: 10px;
font-weight: 400;
}
.icon-spin4 {
position: absolute;
color: @secondary-font-color;
right: 5px;
top: 10px;
font-weight: 400;
-webkit-animation-name: spin;
-webkit-animation-duration: 2000ms;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
-moz-animation-name: spin;
-moz-animation-duration: 2000ms;
-moz-animation-iteration-count: infinite;
-moz-animation-timing-function: linear;
-ms-animation-name: spin;
-ms-animation-duration: 2000ms;
-ms-animation-iteration-count: infinite;
-ms-animation-timing-function: linear;
animation-name: spin;
animation-duration: 2000ms;
animation-iteration-count: infinite;
animation-timing-function: linear;
}
input {
padding-left: 25px;
}
}
> label {
display: block;
margin-bottom: 4px;
color: @primary-font-color;
}
input[type='text'] {
display: block;
}
&.double-col {
> label {
width: 30%;
float: left;
margin-bottom: 0;
padding-right: 20px;
text-align: right;
line-height: 15px;
padding: 10px 20px 10px 0;
}
> div {
float: left;
width: 70%;
label {
display: inline-block;
margin-right: 4px;
line-height: 35px;
&:nth-last-child(1) {
margin-right: 0;
}
input {
margin-right: 4px;
}
}
}
}
}
@-ms-keyframes spin {
from { -ms-transform: rotate(0deg); }
to { -ms-transform: rotate(360deg); }
}
@-moz-keyframes spin {
from { -moz-transform: rotate(0deg); }
to { -moz-transform: rotate(360deg); }
}
@-webkit-keyframes spin {
from { -webkit-transform: rotate(0deg); }
to { -webkit-transform: rotate(360deg); }
}
@keyframes spin {
from {
transform:rotate(0deg);
}
to {
transform:rotate(360deg);
}
}
.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: @primary-font-color;
height: 100%;
width: 100%;
-webkit-font-smoothing: antialiased;
line-height: 1rem;
padding: 0;
overflow: visible;
position: relative;
background-color: @primary-background-color;
}
// 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'] {
-webkit-appearance: none;
height: 35px;
line-height: normal;
border: 1px solid #E7E7E7;
background-color: #fff;
border-radius: 5px;
padding: 2px 8px;
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;
}
}
.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;
}
> i {
visibility: hidden;
&:after {
content: " ";
visibility: visible;
background-image: url('/images/logo/loading.gif');
background-position: center;
background-repeat: no-repeat;
display: block;
height: 40px;
margin-bottom: 12px;
}
}
}
.-autocomplete-item {
padding: 8px 5px;
font-size: 12px;
cursor: pointer;
color: @secondary-font-color;
i {
color: @secondary-font-color;
}
&.selected {
background-color: @tertiary-background-color;
color: @primary-font-color;
}
}
label.required:after {
content: ' *';
color: red;
}
.status-offline,
.icon-at.status-offline {
color: @status-offline;
}
.status-online,
.icon-at.status-online {
color: @status-online;
}
.status-busy,
.icon-at.status-busy {
color: @status-busy;
}
.status-away,
.icon-at.status-away {
color: @status-away;
}
// 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 {
&:extend(.unselectable);
display: inline-block;
padding: 9px 12px;
background-color: #FFF;
color: rgba(255, 255, 255, 0.85);
font-weight: 500;
font-size: 13px;
margin: 4px;
text-transform: uppercase;
word-spacing: 0;
box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.125);
border: none;
line-height: 16px;
position: relative;
background-color: lighten(desaturate(@primary-background-color, 15%), 12.5%);
cursor: pointer;
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.1);
opacity: 0;
z-index: 1;
.transition(opacity .1s ease-out);
}
&:hover {
text-decoration: none;
color: #FFF;
&:before {
opacity: 1;
}
}
&.secondary {
background-color: @tertiary-background-color;
color: @primary-font-color;
&:before {
background-color: rgba(0, 0, 0, 0.045);
}
}
&.delete,
&.remove,
&.red {
min-width: 120px;
background-color: #bc2031;
}
&.short {
min-width: 100px;
}
&.lightblue {
min-width: 100px;
background-color: #02acec;
}
&.clean {
background-color: rgba(0, 0, 0, 0.025);
font-size: 14px;
box-shadow: 0 0 3px rgba(0, 0, 0, 0.08);
&.primary {
font-weight: 600;
}
}
&.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: 5px;
left: 0px;
.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);
}
}
.unread-burger-alert {
background-color: #F95555;
border-radius: 20px;
position: absolute;
min-width: 18px;
height: 18px;
line-height: 18px;
text-align: center;
color: white;
font-weight: bold;
font-size: 12px;
top: 8px;
right: 4px;
z-index: 3;
padding: 0px 4px;
}
}
.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));
}
}
&.top {
&:before {
.transform(rotate(45deg) translateX(-2px) translateY(2px));
}
&:after {
.transform(rotate(-45deg) translateX(2px) translateY(2px));
}
}
&.bottom {
&:before {
.transform(rotate(-45deg) translateX(-2px) translateY(-2px));
}
&:after {
.transform(rotate(45deg) translateX(2px) translateY(-2px));
}
}
&.close {
&:before {
.transform(rotate(-45deg));
}
&:after {
.transform(rotate(45deg));
}
}
}
.a-plus {
display: block;
width: 25px;
height: 25px;
z-index: 100;
position: relative;
&:before,
&:after {
content: " ";
display: block;
background-color: #aaa;
width: 2px;
height: 10px;
position: absolute;
.calc(top,
~"50% - 5px");
.calc(left,
~"50% - 1px");
.transform-origin(50%,
50%);
}
&:after {
.transform(rotate(90deg));
.transition(transform .315s ease-out .1s,
background .15s ease-out);
}
&:before {
.transition(transform .315s ease-out .3s,
background .15s ease-out);
}
&:hover {
&:before {
.transform(rotate(180deg));
}
&:after {
.transform(rotate(-90deg));
}
}
}
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;
}
@media all and (max-width: 600px) {
display: none;
}
}
.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;
position: relative;
border-radius: 4px;
.avatar-image {
height: 100%;
width: 100%;
min-height: 20px;
min-width: 20px;
display: block;
position: relative;
background-color: transparent;
background-size: cover;
background-repeat: no-repeat;
background-position: center;
border-radius: 4px;
}
&[initials]:before {
content: attr(initials);
position: absolute;
position: absolute;
font-size: 22px;
text-align: center;
width: 100%;
height: 100%;
color: #FFF;
.flex-center;
justify-content: center;
font-family: Helvetica;
text-transform: uppercase;
font-weight: bold;
}
}
#rocket-chat {
display: block;
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
width: auto;
height: auto;
opacity: 1;
visibility: visible;
background-color: #fff;
.transition(opacity .2s ease-out);
&.-hidden {
visibility: hidden;
opacity: 0;
}
> .alert {
margin-bottom: 0;
padding: 5px;
position: absolute;
}
}
.account-box {
position: relative;
height: 100%;
cursor: pointer;
width: 100%;
.info {
position: relative;
height: 100%;
padding: 10px 0px 10px 18px;
.thumb {
float: left;
height: 100%;
position: relative;
width: 42px;
padding: 0;
height: 42px;
&:after {
content: " ";
display: block;
width: 8px;
height: 8px;
z-index: 10;
position: absolute;
border-radius: 4px;
top: 18px;
left: -14px;
}
.avatar-initials {
line-height: 44px;
}
}
.data {
float: left;
position: relative;
padding: 0 25px 0 10px;
height: 100%;
.flex-center;
flex-flow: row nowrap;
.calc(width,
~"100% - 60px");
}
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;
text-align: left;
.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;
overflow-x: hidden;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
.custom-scroll(transparent, rgba(255, 255, 255, 0.05));
direction: rtl;
.calc(height, ~'100% - ' @header-min-height + @footer-min-height);
.transition(transform .3s cubic-bezier(.5, 0, .1, 1));
&._hidden {
.transform(translateY(-100%) translateY(-50px));
}
> .wrapper {
direction: ltr;
}
.status {
padding-left: 38px;
position: relative;
&:after {
content: " ";
display: block;
width: 13px;
height: 13px;
border: 1px solid #6f6f6f;
border-radius: 50%;
z-index: 5;
position: absolute;
left: 18px;
.calc(top,
~"50% - 8px");
}
&.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: 26px;
display: inline-block;
text-align: center;
margin-left: 0 -1px 0 1px;
}
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, 2%);
&:nth-child(even) {
// background-color: #EFEFEF;
}
&:hover {
background-color: darken(@primary-background-color, 2%);
color: rgba(255, 255, 255, 0.75);
text-decoration: none;
}
}
.icon-logout {
&:before {
margin-right: 0px;
}
}
.icon-camera {
&:before {
margin-left: 1px;
}
}
}
&.active .info,
.info:hover {
h4 {
color: rgba(255, 255, 255, 0.85);
}
}
.hover & {
.info h4 {
color: rgba(255, 255, 255, 0.85);
}
}
}
// rooms-box
.flex-nav {
//background-color: @primary-background-color;
background-color: transparent;
position: fixed;
top: 0;
left: 0;
height: 100%;
z-index: 1000;
overflow-y: auto;
overflow-x: hidden;
width: @rooms-box-width;
color: @tertiary-font-color;
.transition(transform .3s cubic-bezier(.5,
0,
.1,
1));
.custom-scroll(transparent,
rgba(255,
255,
255,
0.05));
&.hidden {
.transform(translateX(-100%));
header,
footer,
.content {
.transform(translateX(-100%));
}
}
header,
footer,
.content {
.transition(transform .425s cubic-bezier(0,
.8,
.05,
1));
}
> section {
&:extend(.fill-all);
}
header {
display: table;
position: absolute;
top: 0;
left: 0;
width: 100%;
z-index: 110;
cursor: pointer;
min-height: @header-min-height;
height: @header-min-height;
padding-left: 15px;
.transition-delay(.05s);
background-color: @primary-background-color;
> div {
display: table-cell;
vertical-align: middle;
text-align: left;
}
h4 {
line-height: 24px;
font-size: 20px;
margin-top: 2px;
font-weight: 300;
overflow: hidden;
text-overflow: ellipsis;
position: relative;
}
p {
line-height: 18px;
margin-top: 4px;
font-weight: 400;
font-size: 13px;
}
}
footer {
display: table;
position: absolute;
bottom: 0;
left: 0;
width: 100%;
padding: 0 10px;
z-index: 120;
text-align: left;
background: #fff;
min-height: @footer-min-height;
background-color: @primary-background-color;
.transition-delay(.22s);
> div {
display: table-cell;
vertical-align: middle;
text-align: left;
}
}
.content {
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;
padding: 35px 10px;
.custom-scroll(transparent,
rgba(255,
255,
255,
0.05));
.transition-delay(.135s);
background-color: @primary-background-color;
&.no-shadow {
box-shadow: 0 0 0;
}
> .wrapper {
direction: ltr;
}
h4 {
margin-bottom: 30px;
font-weight: 400;
text-transform: uppercase;
font-size: 13px;
}
}
.input-line {
margin-bottom: 25px;
&:nth-last-child(1) {
margin-bottom: 0;
}
label {
text-transform: uppercase;
font-weight: 400;
margin-bottom: 0;
color: inherit;
}
input[type='text'],
input[type='password'],
select {
border-width: 0 0 1px 0;
border-color: @tertiary-font-color;
background-color: #04436a;
color: @quaternary-font-color;
padding: 0 8px;
box-shadow: 0 0 0;
border-radius: 0;
-webkit-appearance: none;
-webkit-border-radius: 0px;
}
}
.input-submit {
margin: 35px 0 0 -4px;
}
.selected-users {
padding: 20px 0 0;
li {
display: inline-block;
padding: 5px;
background-color: rgba(0, 0, 0, 0.1);
margin-right: 2px;
margin-bottom: 2px;
}
i {
cursor: pointer;
}
}
}
.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: auto;
display: block;
-webkit-overflow-scrolling: touch;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.4) inset;
background-color: lighten(@primary-background-color, 2%);
.custom-scroll(transparent,
rgba(255,
255,
255,
0.05));
> .wrapper {
direction: ltr;
padding-left: 8px;
padding-bottom: 1em;
}
}
.more {
display: block;
color: @tertiary-font-color;
font-size: 11px;
padding: 4px 0 4px 10px;
margin-top: 2px;
&:hover {
background-color: rgba(0, 0, 0, 0.1);
}
}
.input-error {
text-align: center;
color: #f09286;
font-size: 12px;
padding: 0;
text-align: left;
margin-bottom: -20px;
margin-top: -12px;
strong {
display: block;
margin-bottom: 2px;
}
}
.empty {
padding-left: 10px;
font-size: 11px;
padding: 2px 0 2px 10px;
color: @tertiary-font-color;
}
.header {
position: absolute;
top: 0;
left: 0;
width: 100%;
color: #fff;
z-index: 110;
cursor: pointer;
min-height: @header-min-height;
height: @header-min-height;
background-color: @primary-background-color;
}
> .arrow {
position: absolute;
top: 18px;
right: 8px;
z-index: 1000;
cursor: pointer;
&.hover,
&:hover {
&:before,
&:after {
background-color: rgba(255, 255, 255, 0.85);
}
}
}
.footer {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
padding: 10px 15px 0px 15px;
z-index: 120;
text-align: right;
background: #fff;
min-height: @footer-min-height;
height: @footer-min-height;
background-color: @primary-background-color;
.logo {
display: block;
width: 100%;
height: 100%;
margin-top: -1px;
&:hover {
text-decoration: none;
}
}
small {
font-size: 11px;
width: 100%;
display: block;
text-transform: lowercase;
color: @tertiary-font-color;
margin-bottom: 0;
font-weight: 400;
padding-right: 4px;
margin-top: 2px;
}
img {
display: inline-block;
max-width: 222px;
max-height: 43px;
margin-bottom: -10px;
}
}
.search-form {
.search {
padding-left: 25px;
}
> div {
position: relative;
}
margin-right: 20px;
}
h3 {
&:extend(.small-title);
cursor: pointer;
position: relative;
text-transform: uppercase;
font-weight: 500;
margin: 25px 0 0 0;
color: @tertiary-font-color;
line-height: 28px;
padding-left: 10px;
a {
color: inherit;
display: block;
}
&:hover {
background-color: rgba(0, 0, 0, 0.1);
}
&.add-room {
&:hover {
i {
&:before {
.transform(rotate(180deg));
}
&:after {
.transform(rotate(-90deg));
}
}
}
i {
position: absolute;
right: 6px;
top: 1px;
}
}
}
.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;
}
}
&.has-alert {
.name {
color: #ffffff;
font-weight: bold;
}
}
&.away {
a {
color: #666;
}
}
}
a {
display: block;
border-radius: 2px 0 0 2px;
padding: 6px 25px 7px 6px;
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: @tertiary-font-color;
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: 10px;
text-align: right;
opacity: 0;
background-color: transparent;
display: block;
top: 7px;
.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);
}
}
.icon-cancel-circled:before {
margin-left: 2px;
}
.icon-logout {
margin-left: 1px;
}
}
i {
color: rgba(255, 255, 255, 0.35);
font-size: 14px;
width: 16px;
display: inline-block;
}
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;
.flex-center;
flex-flow: row nowrap;
padding: 0 10px 0 20px;
background: #fff;
border-bottom: 1px solid @tertiary-background-color;
z-index: 100;
top: 0;
left: 0;
width: 100%;
height: @header-min-height;
&.visible {
h2 {
overflow: visible;
}
}
h2 {
max-width: 90%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 22px;
font-weight: 500;
line-height: 29px;
.icon-at,
.icon-hash,
.icon-lock {
margin-right: -7px;
}
.icon-star,
.icon-star-empty {
margin-right: -4px;
}
}
.hidden {
visibility: hidden;
display: none;
}
input[type='text'] {
.calc(width,
~'100% - 100px');
vertical-align: top;
margin-top: -4px;
margin-left: -3px;
font-size: 20px;
}
.icon-pencil {
vertical-align: text-top;
margin-top: -7px;
display: inline-block;
font-size: 16px;
}
}
// MAIN CONTENT + MAIN PAGES //
.main-content {
position: fixed;
top: 0;
bottom: 0;
left: @rooms-box-width;
right: 0;
width: auto;
height: auto;
.transition(width .25s cubic-bezier(.5, 0, .1, 1));
&.flex-opened {
right: @flex-tab-width;
.flex-tab {
.transform(translateX(0));
}
}
&.layout1 {
right: @flex-tab-webrtc-width;
.flex-tab {
max-width: @flex-tab-webrtc-width;
.transform(translateX(0));
}
}
&.layout2 {
right: @flex-tab-webrtc-2-width;
.flex-tab {
max-width: @flex-tab-webrtc-2-width;
.transform(translateX(0));
}
}
.container-fluid {
padding-top: 0;
}
.history-date {
margin-bottom: 20px;
}
}
.page-static {
.content {
> div {
margin-bottom: 25px;
&:nth-last-child(1) {
margin-bottom: 0;
}
}
p {
margin-bottom: 12px;
&:nth-last-child(1) {
margin-bottom: 0;
}
}
h1,
h2,
h3,
h4 {
font-weight: 300;
text-transform: uppercase;
margin-bottom: 12px;
}
}
}
.page-home {
.fixed-title {
h2 {
overflow: visible;
}
}
.logo {
display: block;
margin: 10px 0;
max-width: 325px;
}
.info {
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 {
.clearfix;
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: auto;
overflow-x: hidden;
word-wrap: break-word;
-webkit-overflow-scrolling: touch;
.custom-scroll(transparent,
#EAEAEA);
}
.footer {
position: absolute;
padding: 10px 20px 0px 20px;
background: #FCFCFC;
border-top: 1px solid @tertiary-background-color;
z-index: 100;
bottom: 0;
left: 0;
width: 100%;
min-height: @footer-min-height;
}
.message-popup-position {
position: relative;
}
.message-popup {
position: absolute;
background: #FAFAFA;
z-index: 101;
bottom: 0px;
left: 0px;
right: 0px;
overflow: hidden;
}
.message-popup-title {
background-color: @secondary-background-color;
border-bottom: 1px solid #EEE;
padding: 10px 20px;
font-size: 18px;
font-weight: 300;
}
.popup-item {
padding: 8px 20px;
color: @secondary-font-color;
&.selected {
background-color: @tertiary-background-color;
color: @primary-font-color;
}
}
.message-form {
> div {
position: relative;
display: flex;
display: -webkit-flex;
> .file {
display: none;
width: 44px;
font-size: 22px;
padding: 6px 0;
text-align: center;
border: 1px solid #E7E7E7;
border-radius: 5px 0 0 5px;
border-right: none;
cursor: pointer;
color: #888;
input {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow: hidden;
width: 44px;
opacity: 0;
}
}
> .mic, .cancel-mic {
width: 44px;
font-size: 22px;
padding: 6px 0;
text-align: center;
cursor: pointer;
color: #888;
}
}
textarea {
display: block;
padding-top: 9px;
padding-bottom: 9px;
padding-right: 38px;
overflow-y: hidden;
resize: none;
&.editing {
background-color: #fff7d8;
}
}
.icon-paper-plane {
position: absolute;
top: 2px;
right: 44px;
cursor: pointer;
padding: 8px;
font-size: 16px;
color: @secondary-font-color;
&:hover {
color: @primary-font-color;
}
}
> .users-typing {
float: left;
height: 19px;
font-size: 12px;
color: #888888;
position: absolute;
padding-left: 5px;
background-color: #FCFCFC;
z-index: 10;
bottom: 0;
padding-right: 10px;
}
> .formatting-tips {
float: right;
height: 20px;
font-size: 11px;
color: #888888;
padding: 5px 0px 0px 5px;
display: inline-block;
white-space: nowrap;
overflow: hidden;
&:hover {
color: #444444;
}
q {
padding: 0 0 0 3px;
border-left: 3px solid #ccc;
&:before {
content: none !important;
}
}
code {
color: inherit;
line-height: 13px;
overflow: hidden;
vertical-align: top;
font-size: 10px;
}
.hidden-br {
display: inline-block;
}
.icon-level-down:before {
transform: rotate(90deg);
}
}
}
.add-user-search {
height: 100%;
overflow: hidden;
display: inline-block;
vertical-align: top;
width: 100%;
}
}
.messages-box {
position: relative;
margin: 60px 20px 0px 0px;
overflow: hidden;
width: 100%;
.calc(height,
~'100% - 120px');
ul {
padding: 21px 0 10px;
}
.load-more {
text-align: center;
span {
border: 1px solid #CCC;
border-radius: 20px;
padding: 5px 14px;
background-color: #EEE;
}
}
.start {
text-align: center;
margin-top: 12px;
color: @secondary-font-color;
}
.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%));
}
}
.editing {
.body {
background-color: #fff7d8;
border-radius: 4px;
}
}
.message {
font-size: 14px;
padding-left: 50px;
position: relative;
line-height: 20px;
margin: 12px 20px 5px;
margin-top: 12px;
min-height: 40px;
&:nth-child(1) {
margin-top: 0;
}
&.new-day {
margin-top: 60px;
}
&.new-day {
&:before {
content: attr(data-date);
display: block;
position: absolute;
top: -30px;
left: 0;
font-size: 12px;
font-weight: 600;
text-align: center;
.calc(left,
~"50% - 70px");
color: @secondary-font-color;
z-index: 10;
padding: 0 10px;
background-color: #FFF;
min-width: 140px;
}
&:after {
content: " ";
display: block;
position: absolute;
top: -20px;
left: 0;
width: 100%;
border-top: 1px solid #ddd;
}
}
.edit-message {
display: none;
cursor: pointer;
}
&.own:hover .edit-message {
display: inline-block;
}
.delete-message {
display: none;
cursor: pointer;
}
&.own:hover .delete-message {
display: inline-block;
}
.user {
display: inline-block;
font-weight: 600;
color: #444444;
margin-right: 5px;
&:hover {
color: #333;
}
}
.thumb {
position: absolute;
left: 0;
top: 0;
display: block;
width: 40px;
height: 40px;
}
.info {
font-size: 12px;
color: @info-font-color;
}
&.sequential {
margin-top: 5px;
min-height: 20px;
.user {
display: none;
}
.thumb {
display: none;
}
.info {
position: absolute;
text-align: right;
left: -20px;
width: 65px;
.time {
display: none;
}
.edited {
display: inline-block;
}
.edit-message {
float: left;
margin-left: 1px;
}
.delete-message {
float: left;
}
}
&:hover {
.time {
display: inline-block;
}
.edited {
display: none;
}
}
}
&.system {
.body {
color: @info-font-color;
font-style: italic;
text-transform: lowercase;
em {
font-weight: 600;
}
}
}
.avatar-initials {
line-height: 40px;
}
a {
color: @link-font-color;
font-weight: 400;
&:hover {
color: darken(@link-font-color, 10%);
text-decoration: underline;
}
}
&.temp .body{
color: #ccc;
}
}
}
// 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: @flex-tab-width;
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: 100;
padding: 12px 30px 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');
}
.button {
min-height: 36px;
margin: 0 1px;
}
.more {
position: absolute;
left: 0;
top: 0px;
background-color: @tertiary-background-color;
border: none;
height: 60px;
width: 30px;
border-bottom: 1px solid @tertiary-background-color;
color: @secondary-font-color;
cursor: pointer;
.transform(translateX(-27px));
.transition(transform .25s ease-out .475s,
background .075s ease-out .5s);
&:hover {
.arrow {
.arrow {
&:before,
&:after {
background-color: #4a4a4a;
}
}
}
}
.arrow {
&:before,
&:after {
background-color: #7a7a7a;
}
}
i {
.transform-origin(50%,
50%,
0);
.transition(transform .3s ease-out);
height: 12.5px;
vertical-align: top;
margin-top: 1px;
}
.flex-opened & {
background-color: @secondary-background-color;
.transition-delay(0s);
.transform(translateX(0));
&:hover {
.arrow {
&:before,
&:after {
background-color: #7a7a7a;
}
}
}
}
}
.search-form {
padding: 0 4px 0 0;
width: 100%;
> div {
position: relative;
}
.icon-plus {
position: absolute;
top: 11px;
left: 8px;
font-size: 13px;
color: @secondary-font-color;
}
}
}
.content {
&:extend(.fill-all);
.custom-scroll(transparent,
#DADADA);
margin-top: 60px;
overflow-x: hidden;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
.calc(height,
~"100% - " @footer-min-height + @header-min-height);
> div {
.transition(transform .45s cubic-bezier(.5,
0,
0,
1),
opacity .125s ease-out .1s);
}
> .-hidden {
.transform(translateX(100%));
opacity: 0;
}
> .animated {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
}
footer {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
padding: 9px 15px 0px 15px;
z-index: 100;
text-align: right;
height: @footer-min-height;
}
.social {
text-align: center;
h4 {
font-weight: 300;
position: absolute;
width: 100%;
top: -12px;
left: 0;
font-size: 13px;
}
.share {
border-radius: 50%;
min-height: 40px;
line-height: 20px;
&:before {
border-radius: 50%;
}
span {
display: none;
}
}
}
}
.list-view {
padding: 5px 30px 20px;
.list {
display: flex;
flex-flow: column nowrap;
position: relative;
width: 100%;
height: 100%;
}
> .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;
}
nav {
margin-left: -4px;
.back {
float: right;
}
}
.info {
margin-left: 120px;
white-space: normal;
.calc(width,
~'100% - 120px');
h3 {
font-size: 24px;
margin-bottom: 8px;
line-height: 22px;
}
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;
}
}
.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;
}
}
.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;
}
}
.user-image-status(@color) {
.avatar {
&:after {
background-color: darken(@color, 5%);
}
}
}
@user-image-square: 20px;
.user-image {
margin: 4px;
height: @user-image-square;
width: @user-image-square;
cursor: pointer;
background-color: @tertiary-background-color;
font-size: 12px;
position: relative;
display: inline-table;
.avatar {
&:before {
font-size: 10px;
}
}
&:hover,
&.selected {
.avatar {
&:after {
.transform(scaleX(1))
}
.status-offline {
&:after {
background-color: @status-offline;
}
}
.status-online {
&:after {
background-color: @status-online;
}
}
.status-away {
&:after {
background-color: @status-away;
}
}
.status-busy {
&:after {
background-color: @status-busy;
}
}
p {
color: @primary-font-color;
}
}
}
.avatar {
overflow: visible;
&:after {
content: " ";
height: 6px;
width: 6px;
position: absolute;
z-index: 1;
left: -12px;
top: 8px;
border-radius: 3px;
}
.avatar-initials {
line-height: @user-image-square;
}
}
p {
display: none;
}
.lines & {
width: 100%;
margin: 0;
background-color: transparent;
&:after {
display: none;
}
a {
.clearfix;
padding: 5px 0;
height: 30px;
background-color: transparent;
display: block;
> div {
float: left;
width: @user-image-square;
height: @user-image-square;
}
}
p {
float: left;
display: block;
line-height: @user-image-square;
font-size: 15px;
font-weight: 400;
overflow: hidden;
text-overflow: ellipsis;
position: relative;
padding-left: 10px;
color: @secondary-font-color;
.calc(width,
~"100% - 45px");
}
}
a {
display: block;
width: 100%;
height: 100%;
}
&.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: 600;
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);
}
}
}
.avatarPrompt {
header {
p {
font-size: 14px;
line-height: 22px;
font-weight: 300;
}
}
img {
width: 200px;
}
}
#login-card {
width: 100%;
max-width: 520px;
padding: 20px;
margin: 20px auto;
background-color: #FAFAFA;
box-shadow: 0 0 6px 10px rgba(0, 0, 0, 0.1);
border-radius: 2px;
position: relative;
z-index: 1;
header {
padding: 18px 0 23px;
p {
//font-family: "Muli";
margin: 8px 0 0;
font-size: 14px;
line-height: 22px;
font-weight: 300;
}
}
h2 {
&:extend(.rocket-h2);
color: @primary-font-color;
line-height: 24px;
margin: 0;
&.error {
color: #b40202;
}
}
h3 {
&:extend(.rocket-h3);
&.error {
color: #b40202;
}
}
img {
width: 200px;
}
a {
color: @primary-background-color;
margin: 4px 0;
display: inline-block;
&:active {
color: @primary-background-color;
}
&:hover {
color: darken(@primary-background-color, 10%);
}
}
.options {
display: none;
width: 100%;
font-size: 10px;
}
.submit {
margin: 12px 0;
}
.remember {
float: left;
}
.remember input {
margin-right: 4px;
}
.forgot {
float: right;
line-height: 20px;
}
.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;
}
}
input {
box-shadow: 0 0 0;
background-color: transparent;
border-width: 0;
position: relative;
padding: 4px 8px;
font-size: 18px;
border-bottom: 1px solid #DFDFDF;
font-family: "Roboto", "HelveticaNeue-Light", "sans-serif";
font-weight: 400;
&.error {
border-bottom: 1px solid #b40202;
&::-webkit-input-placeholder {
color: #b40202;
}
&:-moz-placeholder {
color: #b40202;
}
/* Firefox 18- */
&::-moz-placeholder {
color: #b40202;
}
/* Firefox 19+ */
&:-ms-input-placeholder {
color: #b40202;
}
}
}
input:-webkit-autofill {
color: #fff !important;
}
input:-webkit-autofill {
-webkit-box-shadow: 0 0 0px 1000px #f4f4f4 inset;
background-color: transparent !important;
}
}
}
.social-login {
text-align: center;
position: relative;
z-index: 1;
display: -webkit-flex;
display: flex;
margin-bottom: 20px;
h3 {
&:extend(.rocket-h3);
margin-top: 0;
margin-bottom: 12px;
}
.button {
border-radius: 2px;
min-height: 40px;
line-height: 20px;
font-size: 18px;
margin: 2px;
padding: 0;
-webkit-flex-grow: 1;
flex-grow: 1;
span {
display: none;
}
}
}
.full-page {
.flex-center;
flex-flow: row nowrap;
text-align: center;
margin: auto;
width: 100%;
min-height: 100%;
z-index: 101;
background-color: darken(@primary-background-color, 10%);
.background-image(linear-gradient(darken(@primary-background-color,10%),@primary-background-color));
.wrapper {
text-align: center;
z-index: 10;
position: relative;
width: 100%;
padding: 20px;
}
.logo {
display: block;
> img {
display: inline-block;
position: relative;
top: 0;
right: 0;
z-index: 20;
width: 500px;
max-width: 100%;
}
}
a {
font-family: "Roboto", "HelveticaNeue-Light", "sans-serif";
font-weight: 300;
}
.cell {
display: table-cell;
vertical-align: middle;
text-align: center;
}
header {
display: block;
position: relative;
z-index: 1;
}
.text {
color: #FFF;
font-weight: 300;
margin-bottom: 25px;
margin: 0 auto 25px;
max-width: 580px;
position: relative;
z-index: 1;
.button {
background-color: #bc2031;
color: #FFF;
font-weight: 400;
padding: 16px 20px;
margin-top: 20px;
}
h1 {
font-weight: 600;
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", "Roboto", "HelveticaNeue-Light", "sans-serif";
margin: 18px 0;
font-size: 16px;
line-height: 24px;
font-weight: 400;
}
}
footer {
color: #fff;
padding: 20px 0 0;
position: relative;
z-index: 1;
h4 {
text-transform: uppercase;
margin-bottom: 8px;
font-size: 12px;
font-weight: 300;
}
div.switch-language {
margin-top: 20px;
a {
color: @secondary-font-color;
}
}
}
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;
}
.share {
border-radius: 50%;
min-height: 40px;
line-height: 20px;
&:before {
border-radius: 50%;
}
span {
display: none;
}
}
}
#particles-js {
&:extend(.fill-all);
position: fixed;
}
.avatar-suggestions {
display: flex;
flex-flow: column nowrap;
}
.avatar-suggestion-item {
margin: 5px 0px;
text-align: left;
.flex-center;
flex-flow: row nowrap;
width: 100%;
padding: 12px;
background-color: @secondary-background-color;
border: 1px solid darken(@secondary-background-color, 10%);
.transition(background-color .15s ease-out,
border-color .15s ease-out);
&:first-child {
margin-top: 10px;
}
.avatar {
height: 55px;
max-height: 55px;
min-height: 55px;
width: 55px;
max-width: 55px;
min-width: 55px;
background-size: cover;
font-size: 40px;
text-align: center;
background-color: @tertiary-background-color;
position: relative;
}
.question-mark {
&::before {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
margin: 0;
line-height: 55px;
color: darken(@tertiary-background-color, 10%);
}
}
.action {
text-align: right;
padding-left: 20px;
}
.button {
min-width: 120px;
cursor: pointer;
text-align: center;
}
input[type=file] {
position: absolute !important;
width: 100%;
top: 0;
left: 0;
height: 100%;
opacity: 0;
z-index: 10000;
cursor: pointer;
* {
cursor: pointer;
}
}
}
.rocket-team {
display: block;
li {
display: inline-block;
}
a {
display: inline-block;
width: 50px;
height: 50px;
border-radius: 50%;
background-size: 100%;
background-position: 50% 50%;
margin-right: 5px;
}
}
#fullscreendiv:-webkit-full-screen {
position: fixed;
width: 100%;
height: 100%;
top: 0;
background: none;
}
@media all and(max-width: 1100px) {
#rocket-chat {
.flex-opened {
right: 0;
}
}
}
@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 {
left: 0;
.transition(transform .3s ease-out);
z-index: 1000;
background-color: white;
&.notransition {
.transition(transform .0s);
}
}
.fixed-title h2 {
margin-left: 45px;
}
.flex-tab {
top: 0;
}
.messages-box {
padding: 0 10px;
}
&.menu-opened {
.side-nav {
.transform(translateX(0));
}
.burger {
i {
&:nth-child(1) {
opacity: 1;
width: 10px;
.transform-origin(50%, 50%, 0);
.transform(translateY(3px) rotate(-45deg));
}
&:nth-child(2) {
//.transform(rotate(180deg));
}
&:nth-child(3) {
opacity: 1;
width: 10px;
.transform-origin(50%, 50%, 0);
.transform(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;
}
}
}
.messages-container {
.message-form {
> .formatting-tips {
display: none;
}
}
}
}
.dropzone {
.dropzone-overlay {
display: none;
}
&.over .dropzone-overlay {
background-color: rgba(0, 0, 0, 0.5);
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
z-index: 1000000;
display: block;
color: white;
font-size: 50px;
display: flex;
align-items: center;
justify-content: center;
> div {
background-color: rgba(0, 0, 0, 0.6);
padding: 40px;
border-radius: 10px;
pointer-events: none;
}
}
}
.is-cordova {
.flex-tab {
.control {
padding-left: 50px;
}
button.more {
background-color: #fff;
width: 60px;
.transform(translateX(-57px));
}
}
.connection-status > .alert {
border-width: 0 0 1px 0;
}
}
.touch {
.footer {
padding-left: 10px;
padding-right: 10px;
}
.message-form {
.file {
display: block !important;
}
textarea {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
}
}