// XXX: check this? /* Nunito lacks combining diacritics, so these will fall through to the next font. Helevetica's diacritics however do not combine nicely with Open Sans (on OSX, at least) and result in a huge horizontal mess. Arial empirically gets it right, hence prioritising Arial here. */ $font-family: 'Nunito', Arial, Helvetica, Sans-Serif; // typical text (dark-on-white in light skin) $primary-fg-color: #454545; $primary-bg-color: #ffffff; // used for dialog box text $light-fg-color: #747474; // used for focusing form controls $focus-bg-color: #dddddd; // button UI (white-on-green in light skin) $accent-fg-color: #ffffff; $accent-color: #7ac9a1; $accent-color-50pct: #92caad; $accent-color-alt: #238CF5; $selection-fg-color: $primary-bg-color; $focus-brightness: 105%; // red warning colour $warning-color: #f56679; // background colour for warnings $warning-bg-color: #DF2A8B; $info-bg-color: #2A9EDF; $mention-user-pill-bg-color: $warning-color; $other-user-pill-bg-color: rgba(0, 0, 0, 0.1); // pinned events indicator $pinned-unread-color: #ff0064; // $warning-color $pinned-color: #888; // informational plinth $info-plinth-bg-color: #f7f7f7; $info-plinth-fg-color: #888; $preview-bar-bg-color: #f7f7f7; // left-panel style muted accent color $secondary-accent-color: #f2f5f8; $tertiary-accent-color: #d3efe1; $tagpanel-bg-color: #2e3649; // used by RoomDirectory permissions $plinth-bg-color: $secondary-accent-color; // used by RoomDropTarget $droptarget-bg-color: rgba(255,255,255,0.5); // used by AddressSelector $selected-color: $secondary-accent-color; // selected for hoverover & selected event tiles $event-selected-color: #f7f7f7; // used for the hairline dividers in RoomView $primary-hairline-color: #e5e5e5; // used for the border of input text fields $input-border-color: #e7e7e7; $input-darker-bg-color: rgba(193, 201, 214, 0.29); $input-darker-fg-color: #9fa9ba; $input-lighter-bg-color: #f2f5f8; $input-lighter-fg-color: $input-darker-fg-color; $input-focused-border-color: #238cf5; $input-valid-border-color: #7ac9a1; $field-focused-label-bg-color: #ffffff; $button-bg-color: #7ac9a1; $button-fg-color: white; // apart from login forms, which have stronger border $strong-input-border-color: #c7c7c7; // used for UserSettings EditableText $input-underline-color: rgba(151, 151, 151, 0.5); $input-fg-color: rgba(74, 74, 74, 0.9); // scrollbars $scrollbar-thumb-color: rgba(0, 0, 0, 0.2); $scrollbar-track-color: transparent; // context menus $menu-border-color: #ebedf8; $menu-bg-color: #fff; $menu-selected-color: #f5f8fa; $avatar-initial-color: #ffffff; $avatar-bg-color: #ffffff; $h3-color: #3d3b39; $dialog-title-fg-color: #454545; $dialog-backdrop-color: rgba(46, 48, 51, 0.38); $dialog-shadow-color: rgba(0, 0, 0, 0.48); $dialog-close-fg-color: #9fa9ba; $dialog-background-bg-color: #e9e9e9; $lightbox-background-bg-color: #000; $imagebody-giflabel: rgba(0, 0, 0, 0.7); $imagebody-giflabel-border: rgba(0, 0, 0, 0.2); $imagebody-giflabel-color: rgba(255, 255, 255, 1); $greyed-fg-color: #888; $neutral-badge-color: #dbdbdb; $preview-widget-bar-color: #ddd; $preview-widget-fg-color: $greyed-fg-color; $blockquote-bar-color: #ddd; $blockquote-fg-color: #777; $settings-grey-fg-color: #a2a2a2; $settings-profile-placeholder-bg-color: #e7e7e7; $settings-profile-overlay-bg-color: #000; $settings-profile-overlay-placeholder-bg-color: transparent; $settings-profile-overlay-fg-color: #fff; $settings-profile-overlay-placeholder-fg-color: #454545; $settings-subsection-fg-color: #61708b; $voip-decline-color: #f48080; $voip-accept-color: #80f480; $rte-bg-color: #e9e9e9; $rte-code-bg-color: rgba(0, 0, 0, 0.04); $rte-room-pill-color: #aaa; $rte-group-pill-color: #aaa; $topleftmenu-color: #212121; $roomheader-color: #45474a; $roomheader-addroom-color: #91A1C0; $roomtopic-color: #9fa9ba; $eventtile-meta-color: $roomtopic-color; $composer-e2e-icon-color: #c9ced6; // ******************** $roomtile-name-color: #61708b; $roomtile-selected-color: #212121; $roomtile-notified-color: #212121; $roomtile-selected-bg-color: #fff; $roomtile-focused-bg-color: #fff; $username-variant1-color: #1e7ddc; $username-variant2-color: #a756a8; $username-variant3-color: #7ac9a1; $username-variant4-color: #f2809d; $username-variant5-color: #ffc666; $username-variant6-color: #76ddd7; $username-variant7-color: #45529b; $username-variant8-color: #bfd251; $roomtile-transparent-focused-color: rgba(0, 0, 0, 0.1); $roomsublist-background: $secondary-accent-color; $roomsublist-label-fg-color: $roomtile-name-color; $roomsublist-label-bg-color: $tertiary-accent-color; $roomsublist-chevron-color: $accent-color; $panel-divider-color: #dee1f3; // ******************** $widget-menu-bar-bg-color: $secondary-accent-color; // ******************** // event tile lifecycle $event-encrypting-color: #abddbc; $event-sending-color: #ddd; $event-notsent-color: #f44; // event redaction $event-redacted-fg-color: #e2e2e2; $event-redacted-border-color: #cccccc; // event timestamp $event-timestamp-color: #acacac; $edit-button-url: "$(res)/img/icon_context_message.svg"; $copy-button-url: "$(res)/img/icon_copy_message.svg"; // e2e $e2e-verified-color: #76cfa5; // N.B. *NOT* the same as $accent-color $e2e-unverified-color: #e8bf37; $e2e-warning-color: #ba6363; /*** ImageView ***/ $lightbox-bg-color: #454545; $lightbox-fg-color: #ffffff; $lightbox-border-color: #ffffff; // Tabbed views $tab-label-fg-color: #45474a; $tab-label-active-fg-color: #ffffff; $tab-label-bg-color: transparent; $tab-label-active-bg-color: #7ac9a1; $tab-label-icon-bg-color: #454545; $tab-label-active-icon-bg-color: #ffffff; // Buttons $button-primary-fg-color: #ffffff; $button-primary-bg-color: #7ac9a1; $button-primary-disabled-fg-color: #ffffff; $button-primary-disabled-bg-color: #bce4d0; $button-danger-fg-color: #ffffff; $button-danger-bg-color: #f56679; $button-danger-disabled-fg-color: #ffffff; $button-danger-disabled-bg-color: #f5b6bb; // TODO: Verify color // Toggle switch $togglesw-off-color: #c1c9d6; $togglesw-on-color: #7ac9a1; $togglesw-ball-color: #fff; // unused? $progressbar-color: #000; $room-warning-bg-color: #fff8e3; $memberstatus-placeholder-color: $roomtile-name-color; $authpage-bg-color: #2e3649; $authpage-modal-bg-color: rgba(255, 255, 255, 0.59); $authpage-body-bg-color: #ffffff; $authpage-lang-color: #4e5054; $authpage-body-color: #61708b; /*** form elements ***/ // .mx_textinput is a container for a text input // + some other controls like buttons, ... // it has the appearance of a text box so the controls // appear to be part of the input .mx_Dialog, .mx_MatrixChat { :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type=text], :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type=search], .mx_textinput { display: block; box-sizing: border-box; background-color: transparent; color: $input-darker-fg-color; border-radius: 4px; border: 1px solid #c1c1c1; // these things should probably not be defined // globally margin: 9px; flex: 0 0 auto; } .mx_textinput { display: flex; align-items: center; > input[type=text], > input[type=search] { border: none; flex: 1; color: $primary-fg-color; }, input::placeholder { color: $roomsublist-label-fg-color; } } } input[type=text], input[type=search], input[type=password] { padding: 9px; font-family: $font-family; font-size: 14px; font-weight: 600; min-width: 0; } /*** panels ***/ .dark-panel { background-color: $secondary-accent-color; } .dark-panel { :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type=text], :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type=search], .mx_textinput { color: $input-darker-fg-color; background-color: $input-darker-bg-color; border: none; } } .light-panel { :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type=text], :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type=search], .mx_textinput { color: $input-lighter-fg-color; background-color: $input-lighter-bg-color; border: none; } } input[type=text].mx_textinput_icon, input[type=search].mx_textinput_icon { padding-left: 36px; background-repeat: no-repeat; background-position: 10px center; } // FIXME THEME - Tint by CSS rather than referencing a duplicate asset input[type=text].mx_textinput_icon.mx_textinput_search, input[type=search].mx_textinput_icon.mx_textinput_search { background-image: url('$(res)/img/feather-icons/search-input.svg'); } // dont search UI as not all browsers support it, // we implement it ourselves where needed instead input[type=search]::-webkit-search-decoration, input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-results-button, input[type=search]::-webkit-search-results-decoration { display: none; } .input[type=text]::-webkit-input-placeholder, .input[type=text]::-moz-placeholder, .input[type=search]::-webkit-input-placeholder, .input[type=search]::-moz-placeholder { color: #a5aab2; } // Override Firefox's UA style so we get a consistent look across browsers input::placeholder, textarea::placeholder { opacity: initial; } // ***** Mixins! ***** @define-mixin mx_DialogButton { /* align images in buttons (eg spinners) */ vertical-align: middle; border: 0px; border-radius: 4px; font-family: $font-family; font-size: 14px; color: $button-fg-color; background-color: $button-bg-color; width: auto; padding: 7px; padding-left: 1.5em; padding-right: 1.5em; cursor: pointer; display: inline-block; outline: none; } @define-mixin mx_DialogButton_hover { } @define-mixin mx_DialogButton_danger { background-color: $accent-color; } @define-mixin mx_DialogButton_small { @mixin mx_DialogButton; font-size: 15px; padding: 0px 1.5em 0px 1.5em; } @define-mixin mx_DialogButton_secondary { // flip colours for the secondary ones font-weight: 600; border: 1px solid $accent-color ! important; color: $accent-color; background-color: $accent-fg-color; }