@mixin fade-in { opacity: 0; /* make things invisible upon start */ @include animation-name(fadein); @include animation-fill-mode(forwards); @include animation-duration(0.75s); @include animation-timing-function(ease); } body.reset { margin: 0; } #conversejs { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); bottom: 0; height: auto; width: 100vw; color: $text-color; direction: ltr; display: block; font-family: "Helvetica", "Arial", sans-serif; font-size: $font-size; position: fixed; z-index: 1031; // One more than bootstrap navbar ::-webkit-input-placeholder { /* Chrome/Opera/Safari */ color: $subdued-color; } ::-moz-placeholder { /* Firefox 19+ */ color: $subdued-color; } :-ms-input-placeholder { /* IE 10+ */ color: $subdued-color; } :-moz-placeholder { /* Firefox 18- */ color: $subdued-color; } ::placeholder { color: $subdued-color; } .form-control { &::-webkit-input-placeholder { /* Chrome/Opera/Safari */ color: $subdued-color; } &::-moz-placeholder { /* Firefox 19+ */ color: $subdued-color; } &:-ms-input-placeholder { /* IE 10+ */ color: $subdued-color; } &:-moz-placeholder { /* Firefox 18- */ color: $subdued-color; } &::placeholder { color: $subdued-color; } } ::selection { background-color: $highlight-color; } ::-moz-selection { background-color: $highlight-color; } @media screen and (max-width: $mobile-portrait-length) { margin: 0; right: 10px; left: 10px; bottom: 5px; } @media screen and (max-height: $mobile-landscape-height) { margin: 0; right: 10px; left: 10px; bottom: 5px; } ul li { height: auto; } div, span, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, em, img, strong, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font: inherit; vertical-align: baseline; } textarea, input[type=submit], input[type=button], input[type=text], input[type=password], button { font-size: $font-size; padding: 0.25em; min-height: 0; } strong { font-weight: 700; } ol, ul { list-style: none; } li { height: 10px; } ul, ol, dl { font: inherit; margin: 0; } a, a:visited, a:hover, a:not([href]):not([tabindex]) { text-decoration: none; color: $link-color; text-shadow: none; &.fa { color: $subdued-color; &:hover { color: $gray-color; } } } canvas { background: $text-color; border-radius: $chatbox-border-radius; } .fa { color: $subdued-color; } .fa:hover { color: $gray-color; } .selected { color: $link-color !important; } .circle { border-radius: 50%; } .sidebar { display: none; width: 50px; height: 100vh; padding: 1rem 0; background-color: $controlbox-head-color; color: white; text-align: center; .chatbox-btn { float: none; margin: 0; font-size: 1.35em; &.fa-vcard { margin-top: 1em; } } .bottom { position: absolute; bottom: 1em; } } .badge { padding: 0.4em; line-height: 1; font-weight: normal; font-size: 90%; } .fa { font: normal normal normal 14px/1 FontAwesome; display: inline-block; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .list-container { text-align: left; margin: 0.3em 0; } .btn.btn-primary { color: #fff; } .no-text-select { -webkit-touch-callout: none; @include user-select(none); } @keyframes colorchange-chatmessage { 0% {background-color: rgba(141, 216, 174, 1);} 25% {background-color: rgba(141, 216, 174, 0.75);} 50% {background-color: rgba(141, 216, 174, 0.5);} 75% {background-color: rgba(141, 216, 174, 0.25);} 100% {background-color: transparent;} } @-webkit-keyframes colorchange-chatmessage { 0% {background-color: rgba(141, 216, 174, 1);} 25% {background-color: rgba(141, 216, 174, 0.75);} 50% {background-color: rgba(141, 216, 174, 0.5);} 75% {background-color: rgba(141, 216, 174, 0.25);} 100% {background-color: transparent;} } @keyframes colorchange-chatmessage-muc { 0% {background-color: rgba(255, 181, 162, 1);} 25% {background-color: rgba(255, 181, 162, 0.75);} 50% {background-color: rgba(255, 181, 162, 0.5);} 75% {background-color: rgba(255, 181, 162, 0.25);} 100% {background-color: transparent;} } @-webkit-keyframes colorchange-chatmessage-muc { 0% {background-color: rgba(255, 181, 162, 1);} 25% {background-color: rgba(255, 181, 162, 0.75);} 50% {background-color: rgba(255, 181, 162, 0.5);} 75% {background-color: rgba(255, 181, 162, 0.25);} 100% {background-color: transparent;} } @keyframes fadein { 0% { opacity: 0 } 100% { opacity: 1 } } @-webkit-keyframes fadein { 0% { opacity: 0 } 100% { opacity: 1 } } .fade-in { @include fade-in; } .visible { opacity:0; /* make things invisible upon start */ @include animation-name(fadein); @include animation-fill-mode(forwards); @include animation-duration(500ms); @include animation-timing-function(ease); } .hidden { opacity: 0 !important; display: none !important; } .collapsed { height: 0 !important; overflow: hidden !important; padding: 0 !important; } .locked { padding-right: 22px; } @include keyframes(spin) { from { @include transform(rotate(0deg)); } to { @include transform(rotate(359deg)); } } .emojione { height: $emoji_height; } .spinner { @include animation(spin 2s infinite, linear); display: block; text-align: center; margin: 1em; &:before { font-size: 24px; font-family: 'Converse-js' !important; content: "\231b"; } } .left { float: left; } .right { float: right; } .centered { text-align: center; display: block; margin: 0; padding: 10% 0; } .hor_centered { text-align: center; display: block; margin: 0 auto; clear: both; } .error { color: $error-color; } .info { color: $info-color; } .reg-feedback { font-size: 85%; margin-bottom: 1em; } .reg-feedback, #converse-login .conn-feedback { display: block; text-align: center; width: 100%; } .avatar { border-radius: 25%; } .activated { display: block !important; } .pure-form-message { padding: 0.5em 0; } .button-primary { color: white; background-color: $primary-color; } .button-secondary { color: white; background-color: $secondary-color; } .button-cancel { color: white; background-color: $text-color; } form { .clear-input { position: absolute; right: 0.2em; cursor: pointer; font-size: 0.75rem; } &.pure-form.converse-form { background: white; padding: 1em; legend { color: $text-color; font-size: 125%; margin-bottom: 1.5em; } input[type=checkbox] { display: block; } select, input[type=password], input[type=number], input[type=text] { min-width: 50%; } label { font-size: $font-size-large; } input[type=text], input[type=password], input[type=number], input[type=button], input[type=submit] { padding: 0.5em; } input[type=button], input[type=submit] { padding-left: 1em; padding-right: 1em; margin: 0.5em 0; border: none; } input.error { border: 1px solid $error-color; color: $text-color; } .form-help { color: gray; font-size: 85%; padding-top: 0.5em; &:hover { color: $text-color; } &.error { color: $error-color; } } } &.pure-form.converse-centered-form { text-align: center; width: 100%; } } .chat-textarea-chatbox-selected { border: 1px solid #578308; margin: 0; } .chat-textarea-chatroom-selected { border: 2px solid $link-color; margin: 0; } .dropdown dt, .dropdown ul { margin: 0; padding: 0; } } @media screen and (max-width: 575px) { body { .brand-heading { font-size: 3.75em; } } #conversejs { .chatbox { .chat-body { border-radius: $chatbox-border-radius; } } .flyout { border-radius: $chatbox-border-radius; } } } @media screen and (min-width: 576px) { #conversejs .offset-sm-2 { margin-left: 16.666667%; } } @media screen and (min-width: 768px) { #conversejs .offset-md-2 { margin-left: 16.666667%; } #conversejs .offset-md-3 { margin-left: 25%; } } @media screen and (min-width: 992px) { #conversejs .offset-lg-2 { margin-left: 16.666667%; } #conversejs .offset-lg-3 { margin-left: 25%; } } @media screen and (min-width: 1200px) { #conversejs .offset-xl-2 { margin-left: 16.666667%; } } @media screen and (max-height: 450px) { #conversejs { left: 0; } }