zulip/static/styles/settings.css

2067 lines
40 KiB
CSS

label {
margin: 0;
.fa-question-circle-o {
left: 2px;
}
}
label,
h4,
h3,
/* We need settings-section-title here because some legacy settings
widgets use a <div> with this class for their heading. */
.settings-section-title {
a {
color: inherit;
}
.fa-question-circle-o {
top: 1px;
/* This should match .settings-info-icon. */
opacity: 0.6;
position: relative;
&:hover {
opacity: 1;
}
}
}
/* TODO: This should ideally be added to help_link_widget.hbs,
allowing us to deduplicate at least the opacity CSS with the
fa-question-circle-o logic above. */
.settings-info-icon {
padding-left: 3px;
opacity: 0.6;
&:hover {
opacity: 1;
}
}
.email-change-form,
.user-name-section {
.settings-info-icon {
position: relative;
top: 2px;
left: 1px;
}
}
h3,
.settings-section-title {
.fa-question-circle-o {
left: 5px;
}
}
.new-style {
.block {
display: block;
}
.center-block {
margin: 0 auto;
}
.center {
text-align: center;
}
.w-70 {
width: 70%;
}
.w-200 {
width: 200px;
}
.m-t-20 {
margin-top: 20px;
}
.m-t-10 {
margin-top: 10px;
}
.grid {
label {
min-width: 200px;
}
.warning {
display: inline-block;
vertical-align: top;
width: 150px;
padding: 5px 10px;
text-align: left;
}
}
#account-settings,
#profile-field-settings {
.grid {
label {
min-width: 120px;
}
.warning {
display: block;
width: calc(100% - 20px - 5px);
text-align: right;
}
}
}
.warning {
#pw_strength {
width: 140px;
height: 8px;
margin: 6px 0 0;
}
}
.button {
ul {
text-align: left;
}
}
/* this is because the input[type=text] is also 200px wide but has
12px of padding and 2px worth of borders. These don't apply to
buttons however. */
.input-size {
width: 214px;
}
}
.profile-settings-form {
display: flex;
justify-content: space-between;
flex-wrap: wrap-reverse;
}
.profile-main-panel {
margin-right: 20px;
}
.profile-side-panel {
margin-right: 10px;
}
.user-details-title {
display: inline-block;
min-width: 80px;
font-weight: 600;
padding-right: 5px;
}
.user-avatar-section {
.avatar-controls {
margin-top: 20px;
box-shadow: none;
}
.inline-block {
box-shadow: 0 0 10px hsla(0, 0%, 0%, 0.1);
}
}
#change_password_modal,
#change_email_modal {
max-width: 480px;
}
#change_email_modal {
#change_email_container {
margin: 0;
}
}
.admin-realm-description {
height: 16em;
width: 100%;
max-width: 500px;
box-sizing: border-box;
}
.padded-container {
padding: 20px;
}
.side-padded-container {
padding: 0 20px;
}
.setting_notification_sound,
.play_notification_sound {
display: inline;
margin-right: 4px;
i {
font-size: 22px;
cursor: pointer;
}
}
.setting_notification_sound {
text-transform: capitalize;
}
.attributions_title {
margin-top: 24px;
}
.table {
tbody {
border-bottom: 1px solid hsl(0, 0%, 87%);
}
}
.wrapped-table {
word-break: break-word;
word-wrap: break-word;
white-space: pre-wrap;
white-space: normal;
}
.table-condensed td {
vertical-align: middle;
}
#settings_content {
table + .progressive-table-wrapper table tr.user_row td:first-of-type {
width: 20%;
}
.admin-table-wrapper table.admin_profile_fields_table tr td {
width: 28%;
}
}
#uploaded_files_table > tr > td:nth-of-type(1),
.upload-file-name {
width: 30%;
word-break: break-all;
}
#linkifier-settings {
#linkifier_pattern,
#linkifier_format_string {
width: calc(100% - 10em - 6em);
}
}
#playground-settings {
#playground_pygments_language,
#playground_name,
#playground_url_prefix {
width: calc(100% - 10em - 6em);
}
}
td .button {
margin: 2px 0;
box-shadow: none;
}
.settings-section {
display: none;
width: calc(100% - 40px);
margin: 20px;
&.show {
display: block;
}
form {
margin: 0;
}
.no-padding {
padding: 0;
}
.settings-section-title {
font-size: 1.4em;
font-weight: 500;
margin: 10px 0;
&.transparent {
background-color: transparent;
color: inherit;
}
.table-title {
display: inline-block;
padding: 6px 0;
margin-left: 5px;
i {
margin-right: 5px;
}
}
}
.table-sticky-headers th {
position: sticky;
top: 0;
z-index: 1;
}
#id_realm_authentication_methods {
width: 20%;
td {
border: none;
}
}
.table-striped {
table-layout: auto;
border-collapse: separate;
thead th {
color: inherit;
background-color: hsl(0, 0%, 100%);
border-top: 1px solid hsla(0, 0%, 0%, 0.2) !important;
border-bottom: 1px solid hsla(0, 0%, 0%, 0.2) !important;
&.active::after,
&[data-sort]:hover::after {
content: " \f0d8";
white-space: pre;
display: inline-block;
position: absolute;
padding-top: 3px;
font: normal normal normal 12px/1 FontAwesome;
font-size: inherit;
}
&.active {
opacity: 1;
transition: opacity 100ms ease-out;
&.descend::after {
content: " \f0d7";
}
}
&[data-sort]:hover {
cursor: pointer;
background-color: hsla(0, 0%, 95%);
transition: background-color 100ms ease-in-out;
&:not(.active)::after {
opacity: 0.3;
}
}
}
/* Force the actions column to use the minimum space necessary */
.actions {
width: 1%;
white-space: nowrap;
}
}
#admin_page_users_loading_indicator,
#attachments_loading_indicator,
#admin_page_deactivated_users_loading_indicator,
#admin_page_bots_loading_indicator {
margin: 0 auto;
}
.loading_indicator_text {
font-size: 12px;
font-weight: 400;
vertical-align: middle;
line-height: 20px;
display: inline-block;
float: none;
margin-top: 9px;
}
.loading_indicator_spinner {
width: 30%;
height: 30px;
margin-top: 7px;
vertical-align: middle;
display: inline-block;
}
#user-display-settings .setting_default_language {
text-decoration: none;
}
#user_default_language_modal {
table {
width: 90%;
margin-top: 20px;
}
td {
padding-left: 80px;
}
}
.inline {
display: inline !important;
}
/* Messy implementation of buttons with text and a pencil icon in them
having spacing before the pencil icon. */
button.btn-link i.fa-pencil,
button[data-dismiss="modal"] i.fa-pencil,
.dropdown-toggle i.fa-pencil {
margin-left: 3px;
}
.hidden-email {
font-style: italic;
}
/* Originally the icon inherits the color of label, but when the setting
is disabled, the color of the label is changed and thus the icon becomes
too light. So, we set the color explicitly to original color of label to
keep the color of the icon same even when the setting is disabled. */
#id_realm_enable_spectator_access_label a {
color: hsl(0, 0%, 20%);
}
}
#admin-user-list,
#admin-bot-list {
.table tr:first-of-type td {
border-top: none;
}
}
.dynamic-input {
display: inline-block;
padding: 5px;
background-color: hsl(0, 0%, 100%);
border: 1px solid hsl(0, 0%, 80%);
border-radius: 3px;
transition: box-shadow 0.3s ease;
min-width: 208px;
&:hover {
outline: none;
box-shadow: 0 0 4px hsla(199, 79%, 56%, 1);
}
div,
label {
display: inline-block;
margin: 0;
}
div {
margin-right: -2px;
&:empty::after {
content: "username";
color: hsl(0, 0%, 67%);
}
}
&.bot_user_name div:empty::after {
content: "bot_user_name";
color: hsl(0, 0%, 67%);
}
[contenteditable="true"] {
outline: none;
}
}
.button,
.input-group {
margin: 0 0 20px;
}
.input-group {
/* Class to use when the following input-group is related and should
appear just after this element. */
&.thinner {
margin: 0;
}
label.checkbox + label {
cursor: pointer;
}
}
.dependent-block {
margin: -5px 0 15px 35px;
}
.dependent-inline-block {
display: inline-block;
margin: 0 0 0 10px !important;
}
.no-margin {
margin: 0;
}
input[type="checkbox"] {
+ .inline-block {
margin-left: 10px;
}
.inline-block {
margin: -2px 0 0;
}
}
.allow-subdomains,
.new-realm-domain-allow-subdomains {
margin: 0 !important;
}
.realm_domains_info {
margin-bottom: 0;
}
.admin-realm-form {
h3 {
margin-bottom: 10px;
}
.subsection-header h3 {
display: inline;
}
}
.display-settings-form,
.notification-settings-form {
.subsection-header h3 {
display: inline-block;
}
}
#stream-specific-notify-table .unmute_stream {
position: relative;
left: 3px;
&:hover {
color: hsl(0, 0%, 20%);
cursor: pointer;
}
}
.organization-settings-parent > div:first-of-type {
margin-top: 10px;
}
.org-settings-form .organization-submission {
margin-top: 0;
}
#id_org_profile_preview {
margin-bottom: 20px;
}
.inline-block.organization-permissions-parent div:first-of-type {
margin-top: 10px;
}
#user-display-settings .setting_default_language {
margin-left: 20px;
}
.remove-attachment {
margin-right: 5px !important;
font-size: 1.1em !important;
padding-left: 0 !important;
}
#download_attachment {
padding-left: 0;
border-left: 0;
}
.green-bg {
background-color: hsl(120, 29%, 84%);
}
.remove-alert-word {
margin-top: 1px;
}
.alert_word_status_text {
word-break: break-word;
}
.alert-notification {
display: inline-block;
vertical-align: top;
height: auto !important;
width: auto !important;
background-color: transparent;
border-radius: 4px;
margin-top: 14px;
margin-left: 10px;
color: hsl(156, 30%, 50%);
padding: 3px 10px;
&:not(:empty) {
border: 1px solid hsl(156, 30%, 50%);
}
&.alert-error {
color: hsl(2, 46%, 68%);
border-color: hsl(2, 46%, 68%);
}
.loading_indicator_spinner {
width: 13px;
height: 20px;
margin: 0;
}
/* make the spinner green like the text and box. */
.loading_indicator_spinner svg path {
fill: hsl(178, 100%, 40%);
}
.loading_indicator_text {
margin-top: 0;
font-size: inherit;
vertical-align: top;
}
img {
margin-right: 6px;
vertical-align: middle;
margin-top: -2px;
}
}
#profile-field-settings #admin-add-profile-field-status {
margin-top: 4px;
}
#user-notification-settings {
.notification-reminder {
text-align: left;
}
.notification-table {
th,
td {
text-align: center;
vertical-align: middle;
cursor: default;
.stream-privacy span.hashtag,
.filter-icon i {
padding-right: 0;
}
label {
cursor: default;
}
}
td:first-child {
text-align: left;
font-weight: bold;
word-break: break-all;
}
}
}
#profile-settings {
.custom-profile-fields-form .custom_user_field label,
.full-name-change-form label,
.timezone-setting-form label {
min-width: fit-content;
}
.alert-notification.custom-field-status,
.alert-notification.full-name-status,
.alert-notification.timezone-setting-status,
.alert-notification.presence-setting-status {
padding-top: 0;
padding-bottom: 0;
margin-top: 0;
padding-left: 0;
margin-left: 5px;
border: none;
}
}
.control-label-disabled {
color: hsl(0, 0%, 82%);
&.enabled {
color: hsl(0, 0%, 20%);
}
}
.admin-realm-message-content-delete-limit-minutes {
width: 5ch;
text-align: right;
}
.admin-realm-message-retention-days {
width: 5ch;
text-align: right;
}
.add-new-emoji-box,
.add-new-user-group-box,
.add-new-alert-word-box,
.add-new-export-box {
margin-bottom: 20px;
}
.add-new-emoji-box .new-emoji-form,
.add-new-user-group-box .new-user-group-form,
.add-new-alert-word-box .new-alert-word-form,
.add-new-export-box {
margin: 10px 0;
}
.add-new-emoji-box,
.add-new-user-group-box,
.add-new-default-stream-box {
input[type="text"] {
padding: 6px;
}
margin-bottom: 15px;
}
.add-new-emoji-box #emoji-file-name {
width: 0;
top: -19px;
left: 3px;
position: relative;
display: inline-block;
vertical-align: top;
white-space: nowrap;
font-style: italic;
color: hsl(0, 0%, 67%);
}
#emoji_file_input_error {
vertical-align: middle;
}
.add-new-profile-field-box,
.add-new-linkifier-box,
.add-new-playground-box {
button {
margin-left: calc(10em + 20px) !important;
}
margin-bottom: 15px;
}
.grey-box .wrapper {
margin: 10px 0;
}
.admin_profile_fields_table,
.profile_field_choices_table {
.movable-profile-field-row {
cursor: move;
.fa-ellipsis-v {
color: hsl(0, 0%, 75%);
position: relative;
top: 1px;
+ i {
margin-right: 5px;
}
}
}
}
#admin-linkifier-pattern-status,
#admin-linkifier-format-status {
margin: 20px 0 0;
}
.progressive-table-wrapper {
position: relative;
max-height: calc(95vh - 220px);
overflow: auto;
width: 100%;
}
#admin-default-streams-list .progressive-table-wrapper {
max-height: calc(95vh - 280px);
}
.bots_list {
display: none;
list-style-type: none;
margin-left: 0;
.image {
vertical-align: top;
}
.name {
font-weight: 600;
font-size: 1.1rem;
margin: 7px 5px;
overflow: hidden;
line-height: 1.3em;
text-overflow: ellipsis;
white-space: pre;
}
.regenerate_bot_api_key {
position: relative;
margin-left: 5px;
color: hsl(0, 0%, 67%);
transition: all 0.3s ease;
&:hover {
color: hsl(0, 0%, 27%);
}
}
.edit-bot-buttons {
padding-top: 5px;
button {
background-color: transparent;
}
.btn {
padding: 4px;
}
.sea-green {
color: hsl(177, 70%, 46%);
}
.blue {
color: hsl(203, 77%, 56%);
}
.danger-red {
color: hsl(0, 56%, 73%);
}
.copy-gold {
color: hsl(51, 90%, 50%);
}
}
.bot-information-box {
position: relative;
display: inline-block;
width: calc(50% - 10px);
max-height: 220px;
margin: 5px;
border-radius: 4px;
box-sizing: border-box;
overflow: auto;
.details {
display: inline-block;
width: calc(100% - 75px);
}
}
img.avatar {
margin: 10px 5px 0 10px;
height: 50px;
width: 50px;
border-radius: 4px;
vertical-align: top;
box-shadow: 0 0 4px hsla(0, 0%, 0%, 0.1);
}
.email,
.type {
margin-bottom: 5px;
}
.email .value,
.api_key .api-key-value-and-button {
display: block;
margin-left: 0;
word-wrap: break-word;
word-break: break-all;
white-space: normal;
}
.api_key .api-key-value-and-button {
font-family: "Source Code Pro", monospace;
font-size: 0.85em;
display: flex;
}
.bot_info {
padding: 10px;
}
.field {
text-transform: uppercase;
font-weight: 600;
color: hsl(0, 0%, 67%);
}
}
.bot_error {
margin-top: 10px;
margin-bottom: 0 !important;
}
.edit_bot h3 {
margin: 0;
font-weight: 400;
}
.bot_edit_errors {
margin: 0;
}
#bots_lists_navbar .active a {
background-color: hsl(0, 0%, 98%);
}
#inactive_bots_list .bot_info .reactivate_bot {
margin-top: 5px;
}
#edit_bot_modal {
/* Ensure that the dropdown can overflow the modal. */
.modal__content {
overflow: visible;
}
}
.edit_bot_form {
font-size: 100%;
margin: 0;
padding: 0;
label {
text-transform: uppercase;
font-weight: 600;
color: hsl(0, 0%, 67%);
margin-top: 5px;
}
.buttons {
margin: 10px 0 5px;
}
}
.edit_bot_email {
font-weight: 400;
font-size: 18px;
text-align: left;
margin-top: 0;
margin-bottom: 10px;
overflow: hidden;
max-height: 1.1em;
text-overflow: ellipsis;
white-space: pre;
}
#create_bot_form,
#create_alert_word_form,
.admin-emoji-form,
.admin-linkifier-form,
.admin-playground-form,
.admin-profile-field-form,
.edit_bot_form {
.control-label {
width: 10em;
text-align: right;
margin-right: 20px;
}
}
.admin-profile-field-form #custom_external_account_url_pattern input {
width: 70%;
}
.bot_name_header {
width: 8em;
}
#attachments_list {
list-style-type: none;
margin: auto;
background-color: hsl(0, 0%, 100%);
&:empty {
padding: 10px;
}
}
#alert-words-table {
margin: 0;
li {
list-style-type: none;
&.alert-word-item:first-child {
background: none;
margin-top: 8px;
}
}
.alert_word_listing .value {
word-wrap: break-word;
word-break: break-all;
white-space: normal;
}
}
#alert-words-table,
#attachments_list {
.edit-attachment-buttons {
position: absolute;
right: 20px;
top: 0;
}
}
#change_password_modal {
.change_password_info,
#change_password_container {
margin: 0;
}
}
#api_key_status {
margin: 0 0 10px;
}
#download_zuliprc {
color: hsl(0, 0%, 100%);
text-decoration: none;
}
#api_key_form,
#change_password_modal {
.password-div {
position: relative;
input[type="text"] {
margin-bottom: 10px;
}
.password_visibility_toggle {
position: absolute;
left: 194px;
top: 32px;
width: 14px;
opacity: 0.6;
&:hover {
opacity: 1;
}
}
}
}
.emojiset_choices {
width: 250px;
padding: 0 10px;
.emoji {
height: 22px;
width: 22px;
}
label {
border-bottom: 1px solid hsla(0, 0%, 0%, 0.2);
padding: 8px 0 10px;
&:last-of-type {
border-bottom: none;
}
input[type="radio"] {
position: relative;
top: -2px;
margin: 0 5px 0 0;
&:checked + span {
font-weight: 600;
}
}
}
.right {
float: right;
}
}
.open-user-form {
min-width: initial !important;
}
#api_key_buttons {
display: inline-flex;
.regenerate_api_key {
margin-right: 5px;
}
}
.right.show .emoji_alt_code {
font-size: 1.2em;
}
.invite-user-link i {
text-decoration: none;
margin-right: 5px;
}
#user-groups {
.user-group {
margin-bottom: 20px;
padding: 10px;
border-radius: 5px;
h4 {
font-weight: normal;
margin: 0;
display: flex;
align-items: center;
justify-content: left;
}
span[contenteditable] {
display: inline-block;
word-break: break-all;
&:empty::before {
opacity: 0.5;
display: inline-block;
content: attr(data-placeholder);
}
}
span[contenteditable]:focus,
span[contenteditable="true"]:hover {
border-bottom: 1px solid hsl(0, 0%, 80%);
margin-bottom: -1px;
outline: none;
}
.pill-container .input[contenteditable]:empty::after {
content: attr(data-placeholder);
opacity: 0.5;
}
}
.user-group-status {
margin-bottom: 10px;
}
p {
line-height: 2;
margin: 0;
}
.spacer {
margin: 0 2px;
}
.subscribers,
.user-group h4 > .name {
font-weight: bold;
}
.ntm {
cursor: not-allowed;
h4 > .button {
cursor: not-allowed;
display: none;
&:hover {
border-color: hsl(4, 56%, 82%);
}
}
}
.save-status {
background-color: transparent;
padding: 2px 5px;
border-radius: 4px;
margin-left: 10px;
border-style: solid;
border-width: 1px;
display: none;
opacity: 0;
}
.checkmark {
height: 12px;
}
.delete {
margin-left: auto;
}
.save-instructions {
display: none;
opacity: 0;
color: hsl(0, 0%, 20%);
font-size: 0.9em;
}
}
/* -- new settings overlay -- */
#settings_page {
height: 95vh;
width: 97vw;
max-width: 1024px;
margin: 2.5vh auto;
overflow: hidden;
border-radius: 4px;
.save-discard-widget-button {
border-radius: 5px;
border: 1px solid hsl(0, 0%, 80%);
padding: 3px 14px 4px 11px;
text-decoration: none;
color: hsl(0, 0%, 47%);
min-width: 80px;
line-height: 1.2;
&:hover,
&:focus {
background-color: hsl(0, 0%, 100%);
border: 1px solid hsl(0, 0%, 61%);
color: hsl(0, 0%, 18%);
.save-discard-widget-button-icon {
color: hsl(0, 0%, 47%);
}
}
&.primary {
background-color: hsl(156, 30%, 50%);
color: hsl(0, 0%, 100%);
border: 1px solid hsl(155, 30%, 50%);
&:hover,
&:focus {
background-color: hsl(166, 35%, 57%);
border: 1px solid hsl(166, 35%, 57%);
}
.save-discard-widget-button-icon {
font-weight: lighter;
color: hsl(0, 0%, 100%);
}
&.saving {
background-color: hsl(156, 14%, 40%);
border-color: hsl(156, 14%, 40%);
}
}
.save-discard-widget-button-icon {
vertical-align: middle;
margin-right: 3px;
font-size: 15px;
font-weight: 500;
}
}
.save-button-controls {
display: inline;
margin-left: 15px;
&.hide {
display: none;
}
}
.save-button {
margin-right: 5px;
.save-discard-widget-button-loading {
display: none;
}
&.saving {
.save-discard-widget-button-icon {
display: none;
}
.save-discard-widget-button-loading {
display: inline-block;
margin-right: 2px;
}
}
}
.admin-realm-time-limit-input {
width: 5ch;
text-align: right;
}
.realm-time-limit-label {
vertical-align: middle;
}
h3 {
font-size: 1.5em;
font-weight: normal;
line-height: 1.5;
}
h5 {
font-size: 1.2em;
font-weight: normal;
line-height: 1.2;
}
.form-sidebar {
position: absolute;
top: 45px;
right: 0;
transform: translateX(303px);
width: 300px;
height: calc(100% - 45px);
background-color: hsl(0, 0%, 100%);
border-left: 1px solid hsl(0, 0%, 87%);
pointer-events: none;
transition: all 0.3s ease;
visibility: hidden;
&.show {
pointer-events: auto;
transform: translateX(0);
visibility: visible;
}
input[type="text"] {
width: calc(100% - 10px - 4px);
}
input[type="submit"],
button {
border-radius: 4px;
outline: none;
}
select {
width: 100%;
}
.title,
.content {
padding: 20px;
}
.title {
padding: 10px 20px;
background-color: hsl(0, 0%, 98%);
border-bottom: 1px solid hsl(0, 0%, 87%);
h1 {
display: inline-block;
font-size: 1.3rem;
margin: 0;
}
.exit {
float: right;
font-size: 2rem;
font-weight: 300;
margin-top: 11px;
cursor: pointer;
}
}
}
.sidebar {
float: left;
position: relative;
width: 250px;
height: 100%;
overflow-y: auto;
border-top-left-radius: 4px;
border-right: 1px solid hsl(0, 0%, 93%);
.header {
height: auto;
position: relative;
width: calc(100% - 20px);
padding: 10px;
text-align: center;
text-transform: uppercase;
background-color: hsl(180, 6%, 93%);
border-bottom: 1px solid hsl(0, 0%, 87%);
}
ul {
list-style: none;
margin: 0;
padding: 0;
}
li {
padding: 5px 0;
outline: none;
cursor: pointer;
transition: all 0.2s ease;
border-bottom: 1px solid hsl(0, 0%, 93%);
&:last-of-type .text {
border-bottom: none;
}
&.border-top {
border-top: 1px solid hsl(0, 0%, 93%);
border-bottom: none;
}
&.active {
background-color: hsl(0, 0%, 93%);
border-bottom: 1px solid transparent;
}
.text,
.icon,
.locked {
display: inline-block;
vertical-align: top;
}
.text {
width: calc(100% - 90px);
padding: 10px 12px 10px 0;
}
.icon {
width: 18px;
height: 18px;
margin: 10px;
text-align: center;
font-size: 1.4em;
color: hsl(0, 0%, 53%);
background-size: cover;
background-repeat: no-repeat;
}
.locked {
width: 18px;
height: 18px;
margin: 14px 8px 6px;
font-size: 1em;
color: hsl(0, 0%, 62%);
background-size: cover;
background-repeat: no-repeat;
}
}
.org-settings-list {
display: none;
}
.tab-container {
padding: 6px;
border-bottom: 1px solid hsl(0, 0%, 87%);
}
.normal-settings-list,
.org-settings-list {
position: relative;
}
.settings-sticky-bar {
position: sticky;
z-index: 1;
background-color: hsl(0, 0%, 100%);
top: 0;
}
}
.settings-header {
padding-top: 1px;
&.mobile {
display: none;
border-bottom: 1px solid hsl(0, 0%, 87%);
.fa-chevron-left {
float: left;
position: relative;
top: 14px;
left: 10px;
}
}
h1 {
text-align: center;
font-size: 1.1em;
line-height: 1;
margin: 15px;
text-transform: uppercase;
}
.exit {
font-weight: 600;
position: absolute;
top: 10px;
right: 10px;
color: hsl(0, 0%, 67%);
cursor: pointer;
}
.exit-sign {
float: right;
position: relative;
top: 1px;
margin-left: 3px;
font-size: 1.5rem;
line-height: 1;
font-weight: 600;
cursor: pointer;
}
}
.content-wrapper {
position: absolute;
left: 251px;
/* the width of the settings sidebar this is right of is 250px + 1px border. */
width: calc(100% - 250px - 1px);
height: 100%;
overflow: hidden;
.settings-header {
width: 100%;
height: 43px;
border-bottom: 1px solid hsl(0, 0%, 87%);
h1 .section {
font-weight: 400;
color: inherit;
opacity: 0.6;
}
}
#settings_content {
position: relative;
width: 100%;
height: calc(100% - 45px);
float: left;
overflow-y: auto;
overflow-x: hidden;
background-color: hsla(0, 0%, 0%, 0.02);
}
}
.display-settings-form select {
width: 245px;
}
}
#profile-settings,
#edit-user-form {
.user-role button {
cursor: default;
}
.custom_user_field {
padding-bottom: 20px;
.field_hint {
color: hsl(0, 0%, 67%);
}
textarea {
width: max(206px, 25vw);
max-width: 320px;
height: 80px;
}
&:hover .remove_date {
display: inline-flex;
}
.remove_date {
opacity: 0.5;
display: none;
cursor: pointer;
position: relative;
top: 2px;
left: -20px;
&:hover {
opacity: 1;
}
}
.datepicker {
cursor: default;
}
.person_picker {
min-width: 206px;
}
}
#show_my_user_profile_modal {
width: 150px;
margin-top: 20px;
}
#show_my_user_profile_modal i {
padding-left: 2px;
vertical-align: middle;
}
}
/* These have enough space for all the options in German. */
.setting_desktop_icon_count_display,
#id_realm_waiting_period_setting,
#id_realm_create_public_stream_policy,
#id_realm_create_private_stream_policy,
#id_realm_invite_to_stream_policy,
#id_realm_private_message_policy,
#id_realm_add_custom_emoji_policy,
#id_realm_user_group_edit_policy,
#id_realm_email_address_visibility,
#id_realm_wildcard_mention_policy,
#id_realm_move_messages_between_streams_policy,
#id_realm_invite_to_realm_policy,
#id_realm_edit_topic_policy,
#id_realm_msg_edit_limit_setting,
#id_realm_delete_own_message_policy,
#id_realm_msg_delete_limit_setting {
width: 325px;
}
#id_realm_bot_creation_policy,
#id_realm_giphy_rating,
#id_realm_org_join_restrictions {
width: 100%;
}
.m-t-10 {
margin-top: 10px;
}
.dropdown-list-widget {
button.dropdown-toggle {
text-align: left;
.fa-chevron-down {
float: right;
position: relative;
top: 2px;
padding-left: 5px;
color: hsl(0, 0%, 58%);
font-weight: lighter;
}
&.dropdown-toggle {
/* Match settings for select elements. */
padding: 4px 6px;
span {
line-height: 20px;
height: 1.4em;
}
}
&:disabled i {
display: none;
}
}
button.multiselect_btn {
/* Matches the dropdown input margin so as to keep it aligned */
margin-left: 9px;
margin-top: 4px;
}
a.dropdown_list_reset_button {
/* Prevent dark theme from overriding background. */
background: unset !important;
border: none;
margin-left: 10px;
&:disabled {
display: none;
}
}
.dropdown-search > input[type="text"] {
margin: 9px;
}
.dropdown-menu {
top: -7px; /* -(margin+padding), both are set by bootstrap. */
bottom: auto;
}
.dropdown-list-wrapper {
position: relative;
height: auto;
max-height: 200px;
overflow-y: auto;
margin-top: 0;
display: block;
}
.dropdown-list-body {
position: relative;
margin-top: 0;
display: block;
/* In bootstrap v2.3.2, we strictly need
.dropdown-menu > li > a as the order of the elements
for the bootstrap style to be applied.
Since we use a combination of dropdown + simplebar here,
the structure cannot be possible since simplebar inserts
elements of its own, so we copy over that style
from bootstrap to here. */
li a {
display: block;
padding: 3px 20px;
clear: both;
font-weight: normal;
line-height: 20px;
color: hsl(0, 0%, 20%);
white-space: nowrap;
&:hover {
color: hsl(0, 0%, 100%);
text-decoration: none;
background-color: hsl(200, 100%, 38%);
background-image: linear-gradient(
to bottom,
hsl(200, 100%, 40%),
hsl(200, 100%, 35%)
);
}
}
}
}
.subsection-failed-status p {
background-color: hsl(0, 43%, 91%);
padding: 2px 6px;
border-radius: 4px;
margin: 0 0 0 5px;
}
#muted_topics_table {
width: 90%;
margin: 0 auto;
tbody {
border-bottom: none;
}
}
#admin-user-list .last_active {
width: 100px;
}
.required-text {
&:empty::after {
content: attr(data-empty);
display: block;
font-style: italic;
color: hsl(0, 0%, 67%);
}
&.thick:empty::after {
width: 100%;
}
}
#payload_url_inputbox,
#service_name_list {
input[type="text"] {
width: 340px;
}
}
.dropdown-title {
margin-bottom: 3px;
}
.invited-as-admin {
opacity: 0.5;
margin-left: 2px;
}
@supports (-moz-appearance: none) {
#settings_page select {
appearance: none;
background: hsl(0, 0%, 100%) url("../images/dropdown.png") right / 20px
no-repeat;
padding-right: 20px;
}
}
.profile-field-choices {
display: inline-block;
hr {
margin-top: 0;
margin-bottom: 5px;
}
.choice-row {
margin-top: 5px;
input {
width: 190px;
}
button {
margin-left: 0 !important;
}
}
> .choice-row:first-of-type {
margin-top: 0;
}
}
.custom_user_field .pill-container {
padding: 2px 6px;
min-height: 24px;
max-width: 206px;
background-color: hsl(0, 0%, 100%);
&:focus-within {
border-color: hsla(206, 80%, 62%, 0.8);
outline: 0;
outline: 1px dotted \9;
box-shadow: inset 0 1px 1px hsla(0, 0%, 0%, 0.075),
0 0 8px hsla(206, 80%, 62%, 0.6);
}
}
#get_api_key_button {
display: block;
}
#attachment-stats-holder {
position: relative;
margin-top: 13px;
display: inline-block;
}
.hide-org-settings {
display: none;
}
.collapse-settings-btn {
margin: 10px 0 0 10px;
color: hsl(200, 100%, 40%);
&:hover {
cursor: pointer;
color: hsl(208, 56%, 38%);
}
}
#toggle_collapse {
margin-left: 2px;
display: inline-block;
}
.admin_exports_table {
margin-bottom: 20px;
}
@media (width < $lg_min) {
.user-avatar-section,
.realm-icon-section {
display: block;
}
.user-avatar-section .avatar-controls {
display: inline-block;
margin-top: 10px;
}
#settings_content .warning {
display: none;
}
.subsection-failed-status p {
margin: 5px 0 0;
}
}
/* This value needs to match with the same in subscriptions.css, as
we have some shared styles declared there */
@media (width < $md_min) {
.profile-settings-form {
.user-avatar-section {
flex: 100%;
}
}
#settings_overlay_container {
/* this variable allows JavaScript to detect this media query */
--single-column: yes;
}
#settings_page {
.settings-header.mobile {
display: block;
&:not(.slide-left) .section {
/* When viewing the settings list we hide the active section. */
display: none;
}
}
.content-wrapper {
.settings-header {
display: none;
}
#settings_content {
height: 100%;
}
&.right {
top: 47px;
}
}
.sidebar {
float: left;
position: relative;
width: 250px;
height: 100%;
li.active {
/* Don't highlight the active section in the settings list. */
background: inherit;
border-bottom: 1px solid hsl(0, 0%, 93%);
}
}
}
}
@media (width < $sm_min) {
#pw_strength {
margin: auto;
}
#linkifier-settings .new-linkifier-form,
#playground-settings .new-playground-form,
#profile-field-settings .new-profile-field-form {
width: 100%;
}
#linkifier-settings .new-linkifier-form .control-label,
#playground-settings .new-playground-form .control-label,
#profile-field-settings .new-profile-field-form .control-label {
display: block;
width: 120px;
padding: 0;
padding-top: 0;
text-align: center;
margin: auto;
float: none;
}
#linkifier-settings .new-linkifier-form .controls,
#playground-settings .new-playground-form .controls,
#profile-field-settings .new-profile-field-form .controls {
margin: auto;
text-align: center;
}
#settings_page .save-button-controls {
display: block;
margin: 10px 0 0;
}
}
@media (width < $ml_min) {
#api_key_buttons,
#download_zuliprc {
flex-direction: column;
margin-top: 5px;
}
#settings_page,
#edit-user-form {
.custom_user_field textarea {
width: calc(100% - 25px);
}
}
}
@media only screen and (width < $lg_min) {
/* Show bot-information-box at full width on small
screen sizes. Not having this media query breaks the
information box */
.bots_list .bot-information-box {
width: calc(100% - 10px);
max-height: unset;
}
}
#edit-linkifier-form {
#edit-linkifier-pattern,
#edit-linkifier-url-format-string {
width: 400px;
}
label {
margin-bottom: 4px;
}
#edit-linkifier-pattern-status,
#edit-linkifier-format-status {
margin-top: 10px;
}
}
.settings_panel_list_header {
position: relative;
h3 {
display: inline-block;
}
input.search {
float: right;
font-size: 1em;
max-width: 160px;
margin-top: 12px;
}
}