@font-face { font-family: 'SpaceMono'; src: url('../fonts/SpaceMono-Regular.ttf') format('truetype'); } @font-face { font-family: 'SpaceMono'; src: url('../fonts/SpaceMono-Bold.ttf') format('truetype'); font-weight: bold; } @font-face { font-family: 'SpaceMono'; src: url('../fonts/SpaceMono-Italic.ttf') format('truetype'); font-style: italic; } @font-face { font-family: 'SpaceMono'; src: url('../fonts/SpaceMono-BoldItalic.ttf') format('truetype'); font-weight: bold; font-style: italic; } @font-face { font-family: 'Wasa'; src: url('../fonts/Wasa-Bold.otf') format('opentype'); font-weight: bold; } @font-face { font-family: 'SFPro'; src: url('../fonts/SFProText-Regular.ttf') format('truetype'); } // Session Colors $session-font-family: 'Wasa'; $session-color-green: #00f782; $session-color-green-alt-1: #00f480; $session-color-green-alt-2: #00fd73; $session-color-green-alt-3: #00f782; $session-shade-1: #0c0c0c; $session-shade-2: #161616; $session-shade-3: #191818; $session-shade-4: #1b1b1b; $session-shade-5: #222325; $session-shade-6: #232323; $session-shade-7: #2e2e2e; $session-shade-8: #2f2f2f; $session-shade-9: #313131; $session-shade-10: #3e3e3e; $session-shade-11: #3f3f3f; $session-shade-12: #3f4146; $session-shade-13: #474646; $session-shade-14: #535865; $session-shade-15: #5b6c72; $session-shade-16: #979797; $session-shade-17: #a0a0a0; $session-shade-18: #141414; $session-opaque-dark-1: rgba(0, 0, 0, 0.25); $session-opaque-dark-2: rgba(0, 0, 0, 0.37); $session-opaque-dark-3: rgba(0, 0, 0, 0.5); $session-color-white: #fff; $session-color-dark-grey: #353535; $session-color-black: #000; $session-color-danger: #ff453a; $session-color-primary: $session-shade-13; $session-color-secondary: $session-shade-16; $session-background-overlay: #191919; $session-background: #121212; $session-color-info: $session-shade-11; $session-color-success: #35d388; $session-color-error: #edd422; $session-color-warning: $session-shade-17; $session-color-light-grey: #a0a0a0; $session-shadow-opacity: 0.15; $session-overlay-opacity: 0.3; $session-margin-xs: 5px; $session-margin-sm: 10px; $session-margin-md: 15px; $session-margin-lg: 20px; $session-search-input-height: 34px; $main-view-header-height: 85px; div.spacer-sm { height: $session-margin-sm; } div.spacer-md { height: $session-margin-md; } div.spacer-lg { height: $session-margin-lg; } @mixin session-filter-color-green { filter: brightness(0) saturate(100%) invert(67%) sepia(69%) saturate(2367%) hue-rotate(101deg) brightness(107%) contrast(101%); } @mixin session-color-subtle($color) { color: rgba($color, 0.6); } .text-subtle { opacity: 0.6; } .text-soft { opacity: 0.4; } .text-center { text-align: center; } .fullwidth { width: 100%; } @mixin text-highlight($color) { background-color: $color; padding: $session-margin-xs $session-margin-sm; border-radius: 3px; display: inline-block; } @mixin session-dark-background { background-color: $session-background !important; } @mixin session-dark-background-lighter { background-color: $session-background-overlay !important; } @mixin session-dark-background-hover { background-color: $session-shade-7 !important; } $session-transition-duration: 0.25s; $session-icon-size-sm: 15px; $session-icon-size-md: 20px; $session-icon-size-lg: 30px; $session-modal-size-sm: 220px; $session-modal-size-md: 400px; $session-modal-size-lg: 650px; $session-conversation-header-height: 60px; @mixin fontWasaBold { font-weight: 700; font-family: $session-font-family; } a, div, span, label { user-select: none; &::selection { background: $session-shade-17; } } $session-gradient-green: linear-gradient( 270deg, rgba($session-color-green-alt-1, 1), rgba($session-color-green-alt-1, 0.6) ); $session-gradient-black: linear-gradient( 90deg, rgba($session-shade-3, 1), rgba($session-shade-4, 0.6) ); $session-dark-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.37); $session_message-container-border-radius: 5px; .shadowed { opacity: $session-shadow-opacity; } .overlayed { opacity: $session-overlay-opacity; pointer-events: none; } .overlay { display: block !important; z-index: 1; } #main-view { height: 100vh; display: flex; flex-grow: 1; .conversation-stack { display: block; width: 100%; } } .button-group > div { margin-left: 5px; margin-right: 5px; } .session-button { @mixin transparent-background($textAndBorderColor) { background-color: Transparent; background-repeat: no-repeat; overflow: hidden; outline: none; color: $textAndBorderColor; border: 2px solid $textAndBorderColor; } width: auto; display: flex; justify-content: center; font-weight: 700; user-select: none; cursor: pointer; transition: $session-transition-duration; &.disabled { cursor: default; } &.default, &.square, &.brand { color: $session-color-white; &.green { border: 2px solid $session-color-green; background-color: $session-color-green; &.disabled { background-color: rgba($session-color-green, 0.6); } &:hover { @include transparent-background($session-color-green); } } &.white { background-color: $session-color-white; &.disabled { background-color: rgba($session-color-white, 0.6); } } &.primary { background-color: $session-color-primary; &.disabled { background-color: rgba($session-color-primary, 0.6); } } &.secondary { background-color: $session-color-secondary; &.disabled { background-color: rgba($session-color-secondary, 0.6); } } &.success { background-color: $session-color-success; &.disabled { background-color: rgba($session-color-success, 0.6); } } &.danger { background-color: $session-color-danger; &.disabled { background-color: rgba($session-color-danger, 0.6); } } &.warning { background-color: $session-color-warning; &.disabled { background-color: rgba($session-color-warning, 0.6); } } } &.brand-outline, &.default-outline, &.square-outline { &.green { @include transparent-background($session-color-green); &:hover { @include transparent-background($session-color-white); } } &.white { @include transparent-background($session-color-white); &:hover { @include transparent-background($session-color-green); } } &.primary { @include transparent-background($session-color-primary); } &.secondary { @include transparent-background($session-color-secondary); } &.danger { @include transparent-background($session-color-danger); } &.warning { @include transparent-background($session-color-warning); } } &.brand { min-width: 165px; height: 45px; line-height: 45px; padding: 0; font-size: 15px; font-family: $session-font-family; border-radius: 500px; } &.default, &.square, &.default-outline, &.square-outline { border-radius: 2px; height: 33px; padding: 0px 18px; line-height: 33px; font-size: 13px; } &.square, &.square-outline { border-radius: 0px; } } .session-label { color: $session-color-white; padding: $session-margin-sm; width: 100%; border-radius: 2px; text-align: center; &.primary { background-color: $session-color-primary; } &.secondary { background-color: $session-color-secondary; } &.success { background-color: $session-color-success; } &.danger { background-color: $session-color-danger; } &.warning { background-color: $session-color-warning; } } @mixin set-icon-margin($size) { margin: $size / 3; } .session-icon { &.padded-left { @include set-icon-margin($session-icon-size-md); } } .session-icon-button { cursor: pointer; display: inline-block; position: relative; svg { transition: opacity $session-transition-duration; opacity: 0.4; &:hover { opacity: 1; } } &.no-opacity { svg { opacity: 1; } } &.small.padded { @include set-icon-margin($session-icon-size-sm); } &.medium.padded { @include set-icon-margin($session-icon-size-md); } &.large.padded { @include set-icon-margin($session-icon-size-lg); } .notification-count { position: absolute; font-size: 12px; font-family: $session-font-family; top: -10px; right: -10px; width: 20px; height: 20px; padding: 3px; border-radius: 50%; font-weight: 700; background: red; color: $session-color-white; text-align: center; opacity: 1; } } .session-icon { fill: $session-color-white; } /* CONVERSATION AND MESSAGES */ @mixin standard-icon-button() { color: $session-color-white; opacity: 0.9; &:hover { opacity: 1; } } .module-conversation-header__title-flex, .module-conversation-header__title { width: 100%; .module-contact-name { width: 100%; } .module-contact-name__profile-number { text-align: center; } } .module-conversation__user__profile-name, .module-message__author__profile-name { font-style: normal; } .module-message__author-avatar { flex-direction: column; display: inline-flex; margin-right: 20px; padding-top: 5px; } .module-message__container { border-radius: $session_message-container-border-radius; } label { user-select: none; } .module-message__attachment-container, .module-image--curved-bottom-right, .module-image--curved-bottom-left { border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-left-radius: $session_message-container-border-radius; border-bottom-right-radius: $session_message-container-border-radius; } .conversation-header .session-icon-button { @include standard-icon-button(); } .module-conversation-header, .message-selection-overlay { height: $session-conversation-header-height; } .message-selection-overlay { position: absolute; left: 15px; right: 15px; display: none; .close-button { float: left; margin-top: 17px; margin-left: 7px; } } .message-selection-overlay div[role='button'] { display: inline-block; } .message-selection-overlay .button-group { float: right; margin-top: 13.5px; } .hidden { visibility: hidden; } .session-button div[role='button'] { cursor: pointer; } .input-with-label-container { height: 46.5px; width: 280px; color: $session-color-white; padding: 2px 0 2px 0; transition: opacity $session-transition-duration; opacity: 1; position: relative; label { line-height: 14px; opacity: 0; color: #737373; font-size: 10px; line-height: 11px; position: absolute; top: 0px; } &.filled { opacity: 1; } input { border: none; outline: 0; height: 14px; width: 280px; background: transparent; color: $session-color-white; font-size: 12px; line-height: 14px; position: absolute; top: 50%; transform: translateY(-50%); } hr { border: 1px solid $session-color-white; width: 100%; position: absolute; bottom: 0px; } button { position: absolute; top: 50%; transform: translateY(-50%); right: 0px; } } .user-details-dialog { .message { word-break: break-all; } } #session-toast-container { position: fixed; right: $session-margin-lg; bottom: $session-margin-lg; z-index: 10000; } .session-toast { position: relative; padding: $session-margin-md $session-margin-md; background-color: rgba($session-shade-6, 0.8); margin-bottom: $session-margin-md; display: flex; flex-direction: row; justify-content: flex-start; .toast-icon, .toast-info { display: flex; flex-direction: column; justify-content: center; } .toast-icon { padding-right: $session-icon-size-md; } .toast-info { margin-right: $session-icon-size-sm + $session-icon-size-sm; width: 350px; &-container { display: block; } } .title, .description { text-overflow: ellipsis; } .title { font-size: 15px; line-height: 13px; margin-bottom: $session-margin-sm; padding-top: 0px; color: $session-color-white; } .description { font-size: 12px; @include session-color-subtle($session-color-white); } .toast-close { @include session-color-subtle($session-color-white); position: absolute; top: $session-margin-md; right: $session-margin-md; &:hover { color: $session-color-white; } } @mixin set-toast-theme($color) { border-left: 4px solid $color; } &.info { @include set-toast-theme($session-color-info); } &.success { @include set-toast-theme($session-color-success); } &.warning { @include set-toast-theme($session-color-warning); } &.error { @include set-toast-theme($session-color-error); } } .session-modal { z-index: 150; position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); min-width: 300px; box-sizing: border-box; max-height: 70vh; max-width: 70vw; background-color: $session-shade-4; border: 1px solid $session-shade-8; &__header { display: flex; flex-direction: row; justify-content: space-between; padding: $session-margin-lg; font-family: 'Wasa'; text-align: center; line-height: 18px; font-size: 15px; font-weight: 700; &__icons, &__close { width: 60px; } &__icons { float: right; } &__close > div { float: left; } &__icons > div { float: right; padding-left: 10px; } } &__body { padding: 0px $session-margin-lg $session-margin-lg $session-margin-lg; font-family: 'Wasa'; line-height: 16px; font-size: 13px; .message { text-align: center; } } &__centered { display: flex; flex-direction: column; align-items: center; } &__button-group { display: flex; justify-content: flex-end; .session-button { margin-left: $session-margin-sm; } &__center { display: flex; justify-content: center; } .session-button { margin: 0 $session-margin-xs; } } &__text-highlight { @include text-highlight($session-color-green); color: black; font-family: monospace; font-style: normal; font-size: 11px; } } .session-confirm { &-wrapper { .session-modal__body .session-modal__centered { margin: $session-margin-lg; } } &-main-message { font-size: 15px; } &-sub-message { margin-top: 5px; } } .session-toggle { width: 51px; height: 31px; border: 1.5px solid #e5e5ea; border-radius: 16px; position: relative; cursor: pointer; background-color: rgba(0, 0, 0, 0); .knob { position: absolute; top: 0.5px; left: 0.5px; height: 27px; width: 27px; border-radius: 28px; background-color: $session-color-white; box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.05), 0 3px 1px 0 rgba(0, 0, 0, 0.05), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 3px 3px 0 rgba(0, 0, 0, 0.05); transition: transform 0.25s ease, background-color 0.25s ease; } &.active { background-color: $session-color-green; border-color: $session-color-green; .knob { transform: translateX(20px); } } } .react-contextmenu { padding: 0px; margin: 0px; border: none !important; border-radius: 0px; } .react-contextmenu-item { display: flex; align-items: center; height: 25px; padding: 0px 10px; background-color: $session-shade-4; color: $session-color-white; font-family: 'Wasa'; font-size: 12px; line-height: $session-icon-size-sm; font-weight: 700; &--active, &--selected { background-color: $session-shade-7 !important; } &:active, &:visited, &:focus { outline: none; } } .session-dropdown { position: absolute; top: 50px; left: 50px; display: inline-block; ul { display: block; list-style: none; padding: 0px; margin: 0px; li { cursor: pointer; height: 25px; padding-right: 7px; background-color: $session-shade-4; color: $session-color-white; font-family: 'Wasa'; font-size: 10px; line-height: $session-icon-size-sm; font-weight: 700; display: flex; align-items: center; .session-icon { margin-left: 6px; } .item-content { margin-left: 6px; } &.active, &:hover { background-color: $session-shade-7; } &.danger { color: $session-color-danger; } } } } .edit-profile-dialog .image-upload-section { position: absolute; margin-top: 50px; margin-left: 75px; } .conversation-loader { height: 100%; margin-top: 45vh; display: flex; align-items: center; justify-content: center; & > div { display: block; } } .session-loader { display: inline-block; position: relative; width: 80px; height: 80px; div { position: absolute; top: 33px; width: 13px; height: 13px; border-radius: 50%; background: $session-color-green; animation-timing-function: cubic-bezier(0, 1, 1, 0); } div:nth-child(1) { left: 8px; animation: session-loader1 0.6s infinite; } div:nth-child(2) { left: 8px; animation: session-loader2 0.6s infinite; } div:nth-child(3) { left: 32px; animation: session-loader2 0.6s infinite; } div:nth-child(4) { left: 56px; animation: session-loader3 0.6s infinite; } @keyframes session-loader1 { 0% { transform: scale(0); } 100% { transform: scale(1); } } @keyframes session-loader3 { 0% { transform: scale(1); } 100% { transform: scale(0); } } @keyframes session-loader2 { 0% { transform: translate(0, 0); } 100% { transform: translate(24px, 0); } } } .session-settings { width: 100%; height: 100vh; &-list { overflow-y: scroll; } &-header { display: flex; justify-content: center; background-color: $session-shade-6; height: $main-view-header-height; line-height: $main-view-header-height; font-weight: bold; font-size: 18px; .session-icon-button { display: flex; justify-content: center; position: absolute; right: $session-margin-lg; align-items: center; height: $main-view-header-height; } } &-item { font-size: 15px; color: $session-color-white; background-color: $session-shade-1; padding: $session-margin-lg; border-bottom: 2px solid $session-shade-5; &.inline { display: flex; align-items: center; justify-content: space-between; } &__info { padding-right: $session-margin-lg; } &__title { line-height: 1.7; font-size: 16px; font-weight: bold; } &__description { font-size: 13px; font-weight: 100; @include session-color-subtle($session-color-white); } &__content { label { @include session-color-subtle($session-color-white); } } } } #qr svg { width: $session-modal-size-sm; height: $session-modal-size-sm; border-radius: 3px; } .qr-dialog { &__description { max-width: $session-modal-size-sm; text-align: center; margin: 0 auto; } } .seed-dialog { &__description { max-width: $session-modal-size-lg; } } .messages li { transition: $session-transition-duration !important; } .network-status-container { } .discussion-container { .module-message { font-family: SFPro; border-radius: 5px; } } .bottom-bar textarea.send-message { height: 60px; background-color: $session-shade-4; border: none; margin: 0px; padding: 0px $session-margin-lg; font-size: 15px; line-height: 60px; @include session-color-subtle($session-color-white); } .bottom-bar form { &.send { background-color: $session-shade-4; } &.active textarea { border: none; } } .session-radio-group fieldset { border: none; margin-left: $session-margin-sm; margin-top: $session-margin-sm; .session-radio { padding: $session-margin-xs 0px; } } .session-radio { input[type='radio'] { border: 0; opacity: 0; padding: 0; position: absolute; cursor: pointer; } label { margin-right: 1em; } label:before { content: ''; display: inline-block; width: 0.5em; height: 0.5em; margin-right: 0.8em; border-radius: 100%; vertical-align: -3px; border: 2px solid rgba($session-color-white, 0.6); padding: 0.2em; background-color: transparent; background-clip: content-box; } input:hover + label:before { border-color: $session-color-white; } input:checked + label:before { background-color: $session-color-white; border-color: $session-color-white; } label:before { transition: all $session-transition-duration ease; } }