xmpp.chapril.org-conversejs/sass/_core.scss
JC Brand f8efd94249 Don't smooth-scroll upon first appearance of the chat
it's annoying in overlayed view-mode where the user might be navigating
around the site.

Fixes #2091
2020-06-30 14:11:53 +02:00

698 lines
16 KiB
SCSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@mixin fade-in {
opacity: 0; /* make things invisible upon start */
animation-name: fadein;
animation-fill-mode: forwards;
animation-duration: 0.75s;
animation-timing-function: ease;
}
body.converse-fullscreen {
margin: 0;
background-color: var(--global-background-color);
}
#conversejs-bg {
.converse-brand {
display: flex;
justify-content: space-between;
margin-top: 15vh;
animation-name: fadein;
animation-fill-mode: forwards;
animation-duration: 5s;
animation-timing-function: ease;
}
.converse-brand__padding {
@include make-col-ready();
@include media-breakpoint-up(md) {
@include make-col(4);
}
@include media-breakpoint-up(lg) {
@include make-col(3);
}
@include media-breakpoint-up(xl) {
@include make-col(2);
}
padding: 0;
}
.converse-brand__heading {
@include make-col-ready();
@include media-breakpoint-up(md) {
font-size: 4em;
@include make-col(8);
}
@include media-breakpoint-up(lg) {
font-size: 5em;
@include make-col(9);
}
@include media-breakpoint-up(xl) {
font-size: 6em;
@include make-col(10);
}
padding: 0;
display: flex;
justify-content: center;
margin: auto;
svg {
margin-top: 0.3em;
}
}
.converse-brand__text {
color: #ffffff;
font-family: var(--branding-font);
font-weight: normal;
text-align: center;
font-size: 140%;
margin-left: 0.2em;
.byline {
margin: 0;
font-family: var(--heading-font);
font-size: 0.3em;
opacity: 0.55;
margin-bottom: 2em;
margin-left: -2.7em;
word-spacing: 5px;
}
}
}
#conversejs-bg, #conversejs {
.subdued {
opacity: 0.35;
}
}
#conversejs {
bottom: 0;
height: 100%;
position: fixed;
padding-left: env(safe-area-inset-left);
padding-right: env(safe-area-inset-right);
color: var(--text-color);
font-family: var(--normal-font);
font-size: var(--font-size);
direction: ltr;
z-index: 1031; // One more than bootstrap navbar
textarea:disabled {
background-color: #EEE !important;
}
.nopadding {
padding: 0 !important;
}
&.converse-overlayed {
> .row {
flex-direction: row-reverse;
}
}
&.converse-fullscreen,
&.converse-mobile {
.converse-chatboxes {
width: 100vw;
left: -15px; // Hack due to padding added by bootstrap
}
}
&.converse-overlayed {
height: 3em;
}
&.converse-embedded {
box-sizing: border-box;
*, *:before, *:after {
box-sizing: border-box;
}
bottom: auto;
height: 100%; // When embedded, it fills the containing element
position: relative;
right: auto;
width: 100%;
}
.brand-heading-container {
text-align: center;
}
.brand-heading {
display: inline-flex;
flex-direction: row;
align-items: flex-start;
font-family: var(--branding-font);
color: var(--link-color);
margin-bottom: 1em;
.brand-name {
color: var(--link-color);
display: flex;
flex-direction: column;
align-items: center;
margin-top: -0.5em;
}
.brand-name__text {
font-size: 120%;
vertical-align: text-bottom;
}
.converse-svg-logo {
color: var(--link-color);
height: 1.5em;
margin-right: 0.25em;
margin-bottom: -0.25em;
.cls-1 {
isolation: isolate;
}
.cls-2 {
opacity: 0.5;
mix-blend-mode: multiply;
}
.cls-3 {
fill: var(--link-color);
}
.cls-4 {
fill: var(--link-color);
}
}
}
.brand-heading--inverse {
.converse-svg-logo {
margin-bottom: 0em;
margin-top: -0.2em;
}
.byline {
margin: 0;
font-family: var(--heading-font);
font-size: 0.25em;
opacity: 0.55;
margin-left: -7em;
word-spacing: 5px;
}
}
.dropdown-item {
padding: 0.5rem 1rem;
.fa {
width: 1.25em;
margin-right: 0.75rem;
}
&:active, &.selected {
color: white !important;
background-color: var(--list-item-open-color);
.fa {
color: white !important;
}
}
}
.popover {
position: fixed;
}
.converse-chatboxes {
z-index: 1031; // One more than bootstrap navbar
position: fixed;
bottom: 0;
right: 0;
}
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
color: var(--subdued-color);
}
::-moz-placeholder { /* Firefox 19+ */
color: var(--subdued-color);
}
:-ms-input-placeholder { /* IE 10+ */
color: var(--subdued-color);
}
:-moz-placeholder { /* Firefox 18- */
color: var(--subdued-color);
}
::placeholder {
color: var(--subdued-color);
}
::selection {
background-color: var(--highlight-color);
}
::-moz-selection {
background-color: var(--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, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside, 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: var(--font-size);
min-height: 0;
}
strong {
font-weight: 700;
}
em {
font-style: italic;
}
ol, ul {
list-style: none;
}
li {
height: 10px;
}
ul, ol, dl {
font: inherit;
margin: 0;
}
a {
cursor: pointer;
}
a, a:visited, a:not([href]):not([tabindex]) {
text-decoration: none;
color: var(--link-color);
text-shadow: none;
cursor: pointer;
&:hover {
color: var(--link-hover-color);
text-decoration: none;
text-shadow: none;
}
&.fa, &.far, &.fas {
color: var(--subdued-color);
&:hover {
color: var(--gray-color);
}
}
}
svg {
border-radius: var(--chatbox-border-radius);
}
.fa, .far, .fas {
color: var(--subdued-color);
}
.fa:hover, .far:hover, .fas:hover {
color: var(--gray-color);
}
q {
quotes: "" "" "" "";
&.reason {
display: inline;
}
}
q:before {
content: open-quote;
}
q:after {
content: close-quote;
}
.helptext {
font-size: var(--font-size-tiny);
color: var(--text-color-lighten-15-percent);
}
.selected {
color: var(--link-color) !important;
}
.circle {
border-radius: 50%;
}
.badge {
line-height: 1;
font-weight: normal;
font-size: 90%;
}
.btn {
font-weight: normal;
color: #fff;
.fa, .far, .fas {
color: #fff;
margin-right: 0.5em;
&.only-icon {
margin-right: 0;
}
}
}
.no-text-select {
-webkit-touch-callout: none;
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 }
}
@-webkit-keyframes fadeOut {
0% { opacity: 1; visibility: visible; }
100% { opacity: 0; visibility: hidden; }
}
@keyframes fadeOut {
0% { opacity: 1; visibility: visible; }
100% { opacity: 0; visibility: hidden; }
}
.fade-in {
@include fade-in;
}
.visible {
opacity:0; /* make things invisible upon start */
animation-name: fadein;
animation-fill-mode: forwards;
animation-duration: 500ms;
animation-timing-function: ease;
}
.hidden {
opacity: 0 !important;
display: none !important;
}
.fade-out {
animation-duration: 0.5s;
animation-fill-mode: forwards;
animation-name: fadeOut;
animation-timing-function: ease-in-out;
}
.collapsed {
height: 0 !important;
overflow: hidden !important;
padding: 0 !important;
}
.locked {
padding-right: 22px;
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(359deg);
}
}
.spinner {
animation: spin 2s infinite, linear;
width: 1em;
display: block;
text-align: center;
padding: 0.5em 0;
font-size: 24px;
}
.left {
float: left;
}
.right {
float: right;
}
.centered {
text-align: center;
display: block;
margin: auto;
}
.hor_centered {
text-align: center;
display: block;
margin: 0 auto;
clear: both;
}
.error {
color: var(--error-color) !important;
}
.info {
color: var(--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: var(--avatar-border-radius);
border: var(--avatar-border);
background-color: var(--avatar-background-color);
}
.avatar-autocomplete {
margin-right: 0.5em;
vertical-align: middle;
}
.activated {
display: block !important;
}
.form-help {
color: var(--subdued-color);
font-size: 90%;
}
.form-control--labeled {
margin-top: 0.5em;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
background-color: var(--primary-color);
}
.list-group-item.active {
background-color: var(--primary-color);
border-color: var(--primary-color-dark);
}
.badge {
text-shadow: none;
color: white;
}
.badge-light {
color: var(--text-color);
}
.btn-primary, .button-primary, .badge-primary {
background-color: var(--primary-color);
border-color: transparent;
&:focus, &:hover, &:active {
background-color: var(--primary-color-dark) !important;
border-color: transparent !important;
}
}
.btn--transparent {
background: transparent;
border: none;
}
.btn-circle {
width: 30px;
height: 30px;
text-align: center;
padding: 0.5em 0;
font-size: var(--font-size-small);
line-height: 1.428571429;
border-radius: 50%;
}
.btn {
&.fa {
color: white !important;
}
}
.badge-groupchat {
background-color: var(--chatroom-badge-color);
border-color: transparent;
&:hover {
background-color: var(--chatroom-badge-hover-color);
border-color: transparent;
}
&.active {
background-color: var(--chatroom-badge-hover-color) !important;
border-color: transparent !important;
}
}
.btn-info, .badge-info {
background-color: var(--primary-color);
border-color: var(--primary-color);
&:hover {
background-color: var(--primary-color-dark);
border-color: var(--primary-color-dark);
}
}
.button-cancel,
.btn-secondary, .badge-secondary {
color: white;
background-color: var(--secondary-color);
border-color: var(--secondary-color);
&:hover {
background-color: var(--secondary-color-dark);
border-color: var(--secondary-color-dark);
}
}
.btn-warning {
color: white;
background-color: var(--warning-color);
border-color: var(--warning-color);
&:hover {
color: white;
background-color: var(--warning-color-dark);
border-color: var(--warning-color-dark)
}
}
.btn-danger {
color: white;
background-color: var(--danger-color);
border-color: var(--danger-color) !important;
&:hover {
background-color: var(--danger-color-dark);
border-color: var(--danger-color-dark);
}
}
}
@media screen and (max-width: 575px) {
body {
.converse-brand {
font-size: 3.75em;
}
}
#conversejs:not(.converse-embedded) {
.chatbox {
.chat-body {
border-radius: var(--chatbox-border-radius);
}
}
.flyout {
border-radius: var(--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;
}
}