$supergood-color: hsl(145,51%,45%);
$good-color: hsl(62,45%,46%);
$ok-color: hsl(41,100%,49%);
$bad-color: hsl(30,93%,50%);
$superbad-color: hsl(19,90%,51%);
$task-state-closed-color: $supergood-color;
$task-state-pending-color: hsl(206,7%,28%);
$task-state-open-color: $ok-color;
$task-state-escalating-color: $superbad-color;
$minWidth: 1024px;
$sidebarWidth: 280px;
$navigationWidth: 260px;
$highlight-color: hsl(205,90%,60%);
@mixin desktop {
@media screen and (min-width: 1260px) {
@content;
}
}
@mixin small-desktop {
@media screen and (max-width: 1260px) {
@content;
}
}
@mixin tablet {
@media screen and (min-width: 768px) {
@content;
}
}
@mixin phone {
@media screen and (max-width: 767px) {
@content;
}
}
/* sets LTR and RTL within the same style call */
@mixin bidi-style($prop, $value, $inverse-prop, $default-value) {
#{$prop}: $value;
html[dir=rtl] & {
#{$inverse-prop}: $value;
#{$prop}: $default-value;
}
}
/* adds a property only in RTL */
@mixin rtl($prop, $value) {
html[dir=rtl] & {
#{$prop}: $value;
}
}
/* adds a property only in LTR */
@mixin ltr($prop, $value) {
html[dir=ltr] & {
#{$prop}: $value;
}
}
%clickable {
cursor: pointer;
user-select: none;
touch-action: manipulation;
}
html {
height: 100%;
}
body {
font-family: "Fira Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
line-height: 1.45;
font-weight: normal;
background: hsl(210,14%,97%);
height: 100%;
color: hsl(60,1%,34%);
word-wrap: break-word;
overflow-wrap: break-word;
display: flex;
flex-direction: column;
}
/* prevent clickable */
use {
pointer-events: none;
}
p {
margin: 12px 0;
&.subtle {
color: hsl(60,1%,74%);
}
&.description {
color: hsl(190,2%,74%);
}
}
h3 + .description {
margin-top: 0;
}
strong {
font-weight: 500;
}
.text-muted {
color: hsl(60,1%,74%);
}
.text-small {
font-size: 12px;
}
.u-highlight {
color: #0F94D6;
}
.u-dontfold {
flex-shrink: 0;
}
.u-invisible {
opacity: 0;
pointer-events: none;
position: absolute !important;
}
[data-dir="ltr"] {
direction: ltr;
}
[data-dir="rtl"] {
direction: rtl;
}
a {
outline: none !important;
@extend .u-highlight;
&.is-disabled,
&[disabled] {
pointer-events: none;
cursor: not-allowed;
opacity: .33;
}
}
a.create {
color: hsl(145,51%,45%);
text-decoration: underline;
}
small {
color: hsl(198,4%,56%);
font-size: 12px;
}
blockquote {
font-size: inherit;
}
ol, ul {
padding-inline-start: 20px;
}
#app {
display: flex;
flex: 1;
min-width: $minWidth;
overflow: auto;
}
.u-unclickable {
pointer-events: none;
}
.u-clickable {
@extend %clickable;
}
.u-unselectable {
pointer-events: none;
user-select: none;
}
.u-no-userselect {
user-select: none;
}
.u-textTruncate {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.u-positionOrigin {
position: relative;
}
.u-inlineBlock {
display: inline-block;
}
.u-notAllowed {
cursor: not-allowed;
}
.zIndex-1,
.zIndex-2,
.zIndex-3,
.zIndex-4,
.zIndex-5,
.zIndex-6,
.zIndex-7,
.zIndex-8,
.zIndex-9,
.zIndex-10 {
position: relative;
}
.zIndex-1 {
z-index: 100;
}
.zIndex-2 {
z-index: 200;
}
.zIndex-3 {
z-index: 300;
}
.zIndex-4 {
z-index: 400;
}
.zIndex-5 {
z-index: 500;
}
.zIndex-6 {
z-index: 600;
}
.zIndex-7 {
z-index: 700;
}
.zIndex-8 {
z-index: 800;
}
.zIndex-9 {
z-index: 900;
}
.zIndex-10 {
z-index: 1000;
}
.clickCatcher {
top: 0;
left: 0;
width: 100%;
height: 100%;
position: absolute;
cursor: default;
}
.debug .clickCatcher {
background: hsla(0,100%,50%,.13);
}
.debug .clickCatcher + .clickCatcher {
background: hsla(50,100%,50%,.13);
}
.clearfix:after {
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}
.clearfix { display: inline-block; }
/* start commented backslash hack \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* close commented backslash hack */
[contenteditable] {
display: block;
outline-style: none;
border-radius: 3px;
/* needed to make empty tags editable, otherwise no focus can be set */
min-height: 10px;
min-width: 20px;
}
[contenteditable]:hover,
[contenteditable]:focus {
background: hsl(210,17%,98%);
}
[contenteditable]:focus {
text-overflow: clip !important;
}
[contenteditable].invalid {
background: #F92;
}
[contenteditable] > .placeholder {
color: #999;
}
[contenteditable] p {
margin: 0;
}
/* fix for placeholder */
.Medium-placeholder {
position: relative;
}
.close,
.close:hover {
float: none;
opacity: 1;
}
#app > nav {
position: relative;
z-index: 1;
}
pre {
display: block;
padding: 9.5px;
margin: 0 0 20px;
font-size: 13px;
line-height: 1.42857143;
color: #333;
word-break: break-all;
word-wrap: break-word;
background: white;
border: 1px solid hsl(0,0%,90%);
border-radius: 3px;
}
pre code {
padding: 0;
font-size: inherit;
color: inherit;
white-space: pre-wrap;
background-color: transparent;
border-radius: 0;
}
.hljs,
code {
background: none;
padding: 2px 4px;
font-size: 0.88em;
}
code:not(.hljs) {
border: 1px solid rgba(0,0,0,.2);
border-radius: 3px;
white-space: nowrap;
}
pre code.hljs {
font-size: 1em;
}
.textarea::placeholder,
.form-control::placeholder,
.token-input::placeholder,
.u-placeholder {
color: hsl(0,0%,80%);
}
.btn {
display: inline-block;
font-size: 14px;
padding: 10px 24px 9px;
color: hsl(0,0%,33%);
background: white;
border: 1px solid rgba(0,0,0,.1);
outline: none !important;
border-radius: 4px;
text-align: center;
white-space: nowrap;
vertical-align: middle;
@extend %clickable;
.icon {
vertical-align: middle;
margin-top: -3px;
fill: currentColor;
}
&--icon--last .icon {
@include bidi-style(margin-left, 5px, margin-right, 0); // so far only used in ticket_zoom secondaryAction dropup
}
&:focus {
box-shadow: 0 0 0 3px hsl(201,62%,90%);
}
&--small {
padding-top: 5px;
padding-bottom: 4px;
}
&--slim {
padding-left: 12px;
padding-right: 12px;
}
&--fullWidth {
width: 100%;
text-align: center;
justify-content: center;
}
&--table {
padding: 4px 9px;
border: none;
margin: 5px 6px 0;
vertical-align: baseline; /* calendar_subscriptions.jst.eco */
.icon {
vertical-align: middle;
@include bidi-style(margin-right, 5px, margin-left, 0);
&:only-child {
@include bidi-style(margin-right, 5px, margin-left, 0);
}
}
.btn-label {
margin-left: 0;
}
&.btn--text {
padding: 4px 9px;
margin: 5px 6px 0;
}
}
&.is-disabled,
&[disabled],
&:disabled {
pointer-events: none;
cursor: not-allowed;
opacity: .33;
}
&:active {
box-shadow: none;
background: hsl(0,0%,98%);
}
&--action {
text-transform: uppercase;
color: hsl(0,0%,60%);
font-size: 12px;
letter-spacing: 0.05em;
height: 31px;
padding: 0 11px !important;
display: inline-flex;
align-items: center;
.icon {
margin: -2px 5px 0 -2px;
}
.icon:only-child {
margin: 0;
}
&.btn--slim {
padding-left: 7px !important;
padding-right: 7px !important;
.btn-label {
@include bidi-style(margin-left, 0, margin-right, 0);
}
&.btn--small {
padding-left: 5px !important;
padding-right: 5px !important;
}
}
&.btn--small {
height: 27px;
font-size: 11px;
padding-left: 8px;
padding-right: 8px;
}
}
// used in .recipientList-controls and in breadcrumbs
&--onDark {
background: hsla(200,100%,97%,0.15);
border-color: hsl(250,7%,16%);
color: white;
.icon {
opacity: 1;
}
}
&--primary {
color: white;
background: hsl(203,65%,55%);
&:active {
background: hsl(203,65%,45%);
}
.icon {
fill: white;
opacity: 1;
}
}
&--secondary {
color: hsl(202,68%,54%);
}
&--positive,
&--create,
&--success {
color: white;
background: hsl(145,51%,45%);
&:active {
background: hsl(145,51%,35%);
}
&.btn--secondary {
background: white;
color: hsl(145,51%,45%);
&:active {
background: hsl(0,0%,98%);
}
}
&.btn--text {
color: $supergood-color;
}
}
&--danger {
color: white;
background: hsl(0,65%,55%);
&:active {
background: hsl(0,65%,45%);
}
&.btn--secondary {
background: white;
color: hsl(0,65%,55%);
&:active {
background: hsl(0,0%,98%);
}
}
}
&--text {
font-size: inherit;
margin: -10px;
padding: 10px;
color: hsl(203,65%,55%);
border: none;
background: none;
vertical-align: baseline;
text-align: start;
.icon {
opacity: 1;
}
&:active {
color: hsl(203,65%,40%);
background: none;
}
&.btn--secondary {
color: hsl(0,0%,68%);
text-decoration: underline;
&:active {
color: hsl(0,0%,53%);
}
}
&.btn--positive {
color: hsl(145,51%,45%);
&:active {
color: hsl(145,51%,30%);
background: none;
}
}
&.btn--danger {
color: hsl(0,65%,55%);
&:active {
color: hsl(0,65%,40%);
background: none;
}
}
&.btn--subtle {
text-decoration: underline;
color: hsl(0,0%,85%);
&:active {
color: hsl(0,0%,75%);
}
}
&.space-left {
@include bidi-style(margin-left, 0, margin-right, -10px);
}
&.space-right {
@include bidi-style(margin-right, 0, margin-left, -10px);
}
}
&--large {
&.btn--text {
margin: 0;
}
}
&--quad {
padding: 10px 12px 9px;
.icon {
margin-top: -1px;
}
}
&--split--first {
@include bidi-style(border-radius, 3px 0 0 3px, border-radius, 0 3px 3px 0);
}
&--split,
&--split--last {
border-radius: 0;
@include bidi-style(border-left-width, 0, border-right-width, 1px);
@include ltr(margin-left, 0 !important);
@include rtl(margin-right, 0 !important);
}
&--split--last {
@include bidi-style(border-radius, 0 3px 3px 0, border-radius, 3px 0 0 3px);
}
&--dropdown {
position: relative;
select {
opacity: 0;
width: 100%;
height: 100%;
left: 0;
top: 0;
position: absolute;
@extend %clickable;
}
}
}
.btn + .btn,
.btn + .buttonDropdown,
.buttonDropdown + .buttonDropdown {
@include bidi-style(margin-left, 10px, margin-right, 0);
}
.btn + .btn.align-right {
@include bidi-style(margin-left, auto, margin-right, 0);
}
.btn.align-right ~ .btn {
@include bidi-style(margin-left, 15px, margin-right, 0);
}
.vertical > .btn:not(.hidden) + .btn {
@include bidi-style(margin-left, 0, margin-right, 0);
margin-top: 10px;
}
.btn--download .icon-download {
margin-right: 6px;
@include rtl(margin-right, -10px);
margin-top: 4px;
margin-left: -10px;
@include rtl(margin-left, 6px);
vertical-align: top;
fill: white;
}
.btn-label {
@include bidi-style(margin-left, 7px, margin-right, 0);
}
.visibility-change {
/*
Interactive Visibility Change Classes:
Important: HTML Order active > hover > normal
*/
[data-visible=active],
[data-visible=hover] {
display: none;
}
&.is-active [data-visible=active] {
display: block;
& ~ [data-visible=normal] {
display: none
}
}
&:hover [data-visible=hover] {
display: block;
& ~ [data-visible=normal] {
display: none
}
}
}
.btn-group {
display: inline-flex;
flex-wrap: wrap;
&--full {
display: flex;
}
& + .btn-group {
margin-top: 10px;
padding-top: 10px;
border-top: 1px solid hsl(240,2%,92%);
}
.btn {
&:not(:first-child) {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
&:not(:last-child) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-right-width: 0;
}
+ .btn {
@include bidi-style(margin-left, 0, margin-right, 10px);
}
}
.btn--text {
padding: 6px 10px 5px; /* reporting main.eco */
display: inline-block;
border-radius: 3px;
&.is-selected {
background: hsl(203,65%,55%);
color: white;
}
}
}
.buttonDropdown {
display: flex;
align-items: center;
position: relative;
user-select: none;
.dropdown-menu {
margin-bottom: 0;
}
&.is-open .dropdown-menu {
display: block;
}
.btn--text {
padding-left: 13px;
padding-right: 13px;
}
}
.status-fields {
display: flex;
}
.status-field {
color: hsl(0,0%,60%);
border: 1px solid hsl(0,0%,90%);
display: flex;
height: 34px;
align-items: center;
line-height: 35px;
&.is-clickable {
background: hsl(203,65%,55%);
color: white;
border-color: hsl(203,65%,45%);
box-shadow: 1px 0 hsl(203,65%,45%);
position: relative;
@extend %clickable;
}
&.is-blinking {
animation: pulsate 667ms ease-in-out infinite alternate;
}
&:not(:last-child):not(:only-child) {
@include bidi-style(border-right-width, 0, border-left-width, 1px);
}
&:first-child {
border-radius: 5px 0 0 5px;
@include rtl(border-radius, 0 5px 5px 0);
}
&:last-child {
border-radius: 0 5px 5px 0;
@include rtl(border-radius, 5px 0 0 5px);
}
&:only-child {
border-radius: 5px;
}
.badge {
@include bidi-style(margin, 0 5px 0 10px, margin, 0 10px 0 5px);
background: hsla(210,50%,10%,.24);
}
.status-badge {
width: 32px;
display: inline-flex;
align-items: center;
justify-content: center;
align-self: stretch;
}
}
.status-badge {
display: inline-block;
}
.info-badge {
fill: currentColor;
padding: 3px 6px 1px;
line-height: 12px;
opacity: 0.5;
position: relative;
/*
border in its own layer to make it more
translucend but still depend on the currentColor
*/
&:after {
content: "";
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
border: 1px solid currentColor;
opacity: 0.5;
border-radius: 100%;
}
}
@keyframes pulsate {
to { filter: brightness(1.2); }
}
.badge {
display: inline-block;
min-width: 18px;
padding: 3px 5px;
font-size: 12px;
font-weight: 500;
line-height: 1;
color: #fff;
text-align: center;
white-space: nowrap;
vertical-align: top;
border-radius: 9px;
background: hsl(198,18%,86%);
@include bidi-style(margin-right, 3px, margin-left, 0);
flex-shrink: 0;
&:empty {
display: none;
}
&.badge--big {
min-width: 22px;
font-size: 14px;
border-radius: 11px;
padding: 5px 7px 3px;
}
&.badge--text {
min-width: 0;
padding: 0;
margin-right: 0;
@include bidi-style(margin-right, 0, margin-left, 0);
font-size: inherit;
font-weight: inherit;
text-align: inherit;
line-height: inherit;
color: #d0d2d3;
background: none;
border-radius: 0;
vertical-align: baseline;
}
}
.key-value {
td:first-child {
@include bidi-style(padding-right, 10px, padding-left, 0);
color: #999;
}
}
table {
table-layout: fixed;
}
.table {
display: table;
small {
color: inherit;
}
}
.table--light {
color: hsl(198,4%,56%);
}
.table-fluid {
table-layout: auto;
}
.table .table-row {
display: table-row;
}
.table--placeholder {
th {
text-align: center;
}
td {
height: 40px;
}
}
.table th:not(.noTruncate) .table-column-title,
.table td:not(.noTruncate) {
@extend .u-textTruncate;
}
.table > thead > tr > th {
padding: 12px 9px 10px;
border-bottom: none;
border-top: 1px solid #ececec;
background: #f0f1f2;
color: #444a4f;
font-weight: normal;
font-size: 12px;
text-transform: uppercase;
letter-spacing: 0.05em;
position: relative;
user-select: none;
}
.table-column-head {
display: flex;
@extend %clickable;
}
.table-column-sortIcon {
@include bidi-style(margin-left, auto, margin-right, 0);
}
th.align-right {
.table-column-title {
@include bidi-style(margin-left, auto, margin-right, 0);
}
.table-column-sortIcon {
@include bidi-style(margin-left, 0, margin-right, 0);
}
}
.table > tbody > tr > td {
padding: 10px 10px 8px;
border-color: hsl(0,0%,95%);
}
.table-hover > tbody > tr:hover > td,
.table-hover > tbody > tr.is-hover > td {
background: white;
}
.table-hover > tbody > tr:hover > th {
background: rgba(0,8,14,.015);
}
.table-col-resize {
position: absolute;
@include bidi-style(right, 0, left, auto);
top: 0;
height: 100%;
cursor: col-resize;
padding: 10px;
@include bidi-style(margin-right, -10px, margin-left, 0);
z-index: 1;
&:after {
content: "";
display: block;
width: 1px;
height: 100%;
background: hsl(210,7%,85%);
}
}
.table > thead:first-child > tr:first-child > th.no-padding,
.table > thead > tr > th.no-padding,
.table > tbody > tr > td.no-padding {
padding: 0;
}
.table tr.is-inactive {
color: #bbb;
text-decoration: line-through;
a {
color: inherit;
}
}
.table tr.is-grayed-out {
color: hsl(120,1%,77%);
.icon {
opacity: 0.33;
}
}
.table .icon {
vertical-align: middle;
}
.table .icon-draggable {
fill: hsl(240,1%,77%);
}
.table-checkbox,
.table-radio {
padding: 0 !important;
}
.table .table-sort-arrow {
opacity: 1;
fill: hsl(206,7%,33%);
width: 8px;
height: 8px;
@include bidi-style(margin-left, 3px, margin-right, 0);
margin-top: -2px;
vertical-align: middle;
}
.checkbox-list {
list-style: none;
margin-bottom: 15px;
padding: 3px 12px;
font-size: 14px;
line-height: 25px;
color: hsl(60,1%,34%);
background: white;
border: 1px solid hsl(0, 0%, 90%);
border-radius: 3px;
}
.checkbox-replacement,
.radio-replacement {
padding: 0;
margin: 0;
@extend .u-clickable;
display: flex;
align-items: center;
justify-content: center;
position: relative;
.icon-checked {
color: black;
}
.icon-unchecked {
color: hsl(60,1%,61%);
}
.icon-indeterminate {
display: none;
color: hsl(60,1%,61%);
}
&.is-disabled {
cursor: default;
}
&.checkbox-replacement--fullscreen,
&.radio-replacement--fullscreen {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
&.checkbox-replacement--inline,
&.radio-replacement--inline {
display: inline-flex;
@include bidi-style(margin-right, 3px, margin-left, 0);
}
input {
pointer-events: none;
position: absolute;
opacity: 0;
&:disabled ~ .icon {
opacity: 0.33;
fill: none;
cursor: default;
}
&:not(:checked) ~ .icon-checked,
&:checked ~ .icon-unchecked {
display: none;
}
&:focus:not(.is-active) ~ .icon-checked,
&:focus:not(.is-active) ~ .icon-unchecked {
box-shadow: 0 0 0 2px hsl(201,62%,90%);
color: hsl(200,71%,59%);
}
}
+ .label-text {
@include bidi-style(margin-left, 0, margin-right, 3px);
}
}
.checkbox-replacement {
&:indeterminate {
~ .icon-checked,
~ .icon-unchecked {
display: none;
}
~ .icon-indeterminate {
display: block;
}
}
}
.radio-replacement {
input:focus ~ .icon-checked,
input:focus ~ .icon-unchecked {
border-radius: 100%;
}
}
.table .checkbox-replacement,
.table .radio-replacement {
height: 40px;
width: 40px;
}
.table-overview tbody .icon-checkbox,
.table-overview tbody .icon-radio,
.table-overview tbody .icon-checkbox-checked,
.table-overview tbody .icon-radio-checked {
fill: transparent;
}
.table .table-cell {
vertical-align: top;
display: table-cell;
border-bottom: 1px solid #eeeeee;
}
.hero-two {
width: 100%;
}
.hero-two .hero-left {
width: 50%;
float: left;
}
.hero-two .hero-right {
width: 50%;
float: right;
}
#task {
position: fixed;
display: table;
width: 100%;
min-width: 1000px;
top: 46px;
display: none;
}
#task > .taskbar {
display: table-row;
z-index: 1040;
}
#task > .taskbar > div {
padding: 0 4px 4px 4px;
display: table-cell;
}
#task .task {
@extend .u-textTruncate;
max-width: 120px;
display: inline-block;
}
#task .task > a,
#task .task > a:hover {
color: #ffffff;
text-decoration: none;
}
#task .btn-default .task > a,
#task .btn-default .task > a:hover {
color: #333333;
}
#task .taskbar .btn-small {
padding: 3px 8px 4px;
margin-top: 2px;
font-size: 11px;
font-weight: 300;
}
#task .taskbar .btn-default {
background-color: #c3c3c3;
border-color: #c3c3c3;
}
#task [data-type="close"] {
@include bidi-style(margin-left, 5px, margin-right, 0);
font-size: 13px;
top: 1px;
}
#task .taskbar-items {
}
#task .taskbar-new {
text-align: end;
padding-right: 12px;
}
.max-size-scroll {
max-height: 240px;
overflow-y: scroll;
}
/*
#content > *:not(.active) {
display: none !important;
}
*/
h1, h2, h3, h4, h5, h6 {
font-weight: normal;
color: hsl(202,8%,28%);
}
h1 {
font-size: 24px;
line-height: 30px;
}
h2,
h2.popover-title {
font-size: 20px;
line-height: 25px;
}
h3 {
font-size: 16px;
margin: 20px 0 8px;
color: hsl(207,7%,29%);
font-weight: normal;
.subtitle {
display: inline;
font-size: 12px;
text-transform: none;
color: hsl(0,0%,60%);
letter-spacing: initial;
}
}
h4 {
font-size: 13px;
text-transform: uppercase;
}
h5 {
font-size: 13px;
font-weight: bold;
}
label,
.checkbox.form-group label,
.label {
text-transform: uppercase;
color: hsl(198,19%,72%);
display: block;
font-size: 13px;
font-weight: normal;
letter-spacing: 0.05em;
margin-bottom: 4px;
text-align: start;
padding: 0;
/* user-select: none; disabled because of chrome51 https://github.com/martini/zammad/issues/183 */
}
/* circumventing the label:not(.inline-label) selector because it's too strong */
.inline-label,
.label-success,
.label-warning,
.label-danger,
.fileUpload label {
font-size: inherit;
font-weight: inherit;
text-align: inherit;
color: inherit;
letter-spacing: 0;
margin: 0;
text-transform: none;
display: inline;
}
table {
.inline-label,
.label-success,
.label-warning,
.label-danger {
white-space: nowrap; /* for labels in tables that might get crushed view: calendar_subscriptions */
}
}
.inline-label {
color: hsl(206,7%,28%);
}
.label-text {
@include bidi-style(margin-left, 3px, margin-right, 0);
@extend %clickable;
}
.label-success,
.label-warning,
.label-danger {
background: none;
}
.label-success {
color: $supergood-color;
}
.label-warning {
color: $ok-color;
}
.label-danger {
color: $superbad-color;
}
.label-subtle {
color: hsl(0,0%,80%);
}
fieldset {
margin: 0 -4px;
@extend .clearfix;
h2 {
margin-left: 4px;
margin-right: 4px;
}
}
/*
Firefox Specific Hack
to fix the overflow of column select with long names
https://stackoverflow.com/questions/17408815/fieldset-resizes-wrong-appears-to-have-unremovable-min-width-min-content/17863685#17863685
*/
@-moz-document url-prefix() {
fieldset { display: table-cell; }
}
fieldset > .form-group {
padding: 0 4px;
}
.form-group {
margin-bottom: 16px;
&.form-group--inactive {
opacity: 0.5;
}
}
.date.form-group .controls {
position: relative;
}
.form-group + .form-group {
margin-top: 0;
}
.merge-group {
display: flex;
align-items: stretch;
&.merge-group--inactive {
}
&.merge-group--header {
h2 {
margin-bottom: 0;
}
label {
display: inline;
}
.merge-source,
.merge-target {
border-bottom: 1px solid #eee;
}
}
.merge-target,
.merge-source {
flex: 1;
width: 33%;
display: flex;
flex-direction: column;
justify-content: flex-end;
}
.merge-source,
.merge-target {
padding-bottom: 3px;
border-left: 1px solid #eee;
border-right: 1px solid #eee;
padding: 7px 13px;
}
&:first-of-type {
margin-top: 6px;
.merge-source,
.merge-target {
border-top: 1px solid #eee;
border-radius: 3px 3px 0 0;
}
}
&:last-of-type {
margin-bottom: 6px;
.merge-source,
.merge-target {
border-bottom: 1px solid #eee;
border-radius: 0 0 3px 3px;
}
}
.merge-value {
margin-bottom: 3px;
}
.form-group {
padding: 0;
}
.form-control {
margin: 0 !important;
}
&.merge-group--multi {
.merge-value + .merge-value {
margin-top: 12px;
}
}
}
.merge-controls {
flex: 1;
align-self: flex-end;
}
.merge-control {
margin-bottom: 5px;
height: 31px;
text-align: center;
display: flex;
flex: 1;
justify-content: space-between;
align-items: center;
align-self: flex-end;
}
.merge-control-input {
flex: 1;
}
.merge-arrow {
margin: 0 12px;
display: flex;
align-items: center;
justify-content: center;
.line-arrow {
fill: #e6e6e6;
}
}
.formGroup-label {
padding: 0 2px;
margin-bottom: 5px;
position: relative;
display: flex;
align-items: center;
label {
margin: 0;
}
.bookmark.icon {
margin-bottom: -1px;
}
.formGroup-metaControl {
@extend .u-clickable;
padding: 6px 4px;
margin: -6px 0 -6px auto;
font-size: 20px;
line-height: 1;
color: hsl(198, 19%, 72%);
}
}
.formGroup-bookmark {
@extend .u-clickable;
display: flex;
align-items: center;
flex-direction: row-reverse;
width: 30px;
height: 30px;
position: absolute;
right: 0;
top: -10px;
}
.form-group .controls .richtext {
position: relative;
height: auto;
}
.form-group .help-message {
cursor: help;
opacity: 0.2;
top: -2px;
position: relative;
@include bidi-style(margin-left, auto, margin-right, 0);
.icon-help {
display: block;
}
}
.form-group:not(.formGroup--halfSize) {
clear: left;
}
.form-group.formGroup--halfSize {
width: 50%;
float: left;
.form-control {
min-width: initial;
}
}
.formGroup--standalone .form-control {
margin-bottom: 0;
}
.controls--select {
position: relative;
}
.controls--datetime {
position: relative;
display: flex;
}
.controls--date {
position: relative;
}
.controls-label {
margin: 11px 10px 0;
flex-shrink: 0;
}
/* do not show safari auto fill icon - see issue #962 */
input::-webkit-contacts-auto-fill-button {
visibility: hidden;
display: none !important;
pointer-events: none;
position: absolute;
right: 0;
}
input[type="radio"],
input[type="checkbox"] {
margin: 0;
}
input[type=text],
input[type=password],
input[type=email],
input[type=date],
input[type=url],
textarea,
.form-control,
.checkbox.form-group .checkbox {
display: block;
padding: 7px 12px;
width: 100%;
height: 41px;
font-size: 14px;
font-weight: normal;
line-height: 25px;
color: #555;
background: white;
border: 1px solid hsl(0, 0%, 90%);
border-radius: 3px;
transition: none;
box-shadow: none;
outline: none;
appearance: none;
&.form-control--small {
padding: 5px 8px 4px;
height: 31px;
line-height: 20px;
&.form-control--multiline {
min-height: 31px;
}
}
&.form-control--inline {
display: inline-block;
width: auto;
}
&.form-control--multiline {
height: auto;
min-height: 41px;
}
&:focus,
&.focus {
border-color: hsl(200,71%,59%);
box-shadow: 0 0 0 3px hsl(201,62%,90%);
}
&.is-disabled, // .is-disabled should not be used - legacy support
&[disabled],
&[readonly] {
background: hsl(210,17%,93%);
border-color: hsl(210,10%,85%);
&:focus,
&.focus {
border-color: hsl(200,71%,59%);
}
}
&.is-disabled, // .is-disabled should not be used
&[disabled] {
cursor: not-allowed;
opacity: 1;
}
}
input[type=url] {
min-width: 400px;
}
.user-select.form-control {
padding-right: 35px;
min-width: 300px;
}
input[type=time] {
width: auto;
padding-left: 6px;
padding-right: 6px;
}
input.timeframe,
input.time {
box-sizing: content-box;
padding: 0 6px;
line-height: 42px;
flex-shrink: 0;
&.form-control--small {
line-height: 31px;
}
}
input.timeframe {
width: 5.5ch;
}
input.time {
width: 4.5ch;
}
input.time.time--12 {
width: 7.5ch;
}
.tokenfield.focus {
border-color: hsl(200,71%,59%);
box-shadow: 0 0 0 3px hsl(201,62%,90%);
}
.richtext.form-control {
padding-bottom: 28px;
}
.richtext.form-control [contenteditable] {
height: auto;
min-height: 82px;
background: none;
}
.richtext.form-control .attachments.attachments--list:not(:empty) {
border-top: 1px solid rgba(0,0,0,.04);
white-space: normal;
margin: 0 -12px -28px;
padding: 25px 20px 21px 72px;
position: relative;
line-height: 1;
}
textarea.form-control {
height: 118px;
}
select.form-control:not([multiple]) {
@include bidi-style(padding-right, 34px, padding-left, 12px);
word-wrap: normal;
}
.form-control.is-hidden {
display: none;
}
.form-control.form-control--borderless {
border: none;
padding: 0;
line-height: inherit;
height: auto;
&:focus {
box-shadow: none;
}
}
.select.form-group,
.user_autocompletion.form-group {
.form-control {
padding-right: 21px;
}
}
.form-control + .icon-arrow-down,
.dropdown-arrow {
position: absolute;
@include bidi-style(right, 12px, left, auto);
top: 50%;
margin-top: -3px;
fill: black;
opacity: 0.39;
width: 13px;
height: 7px;
@extend .u-unclickable;
}
select::-ms-expand {
display: none;
}
.has-error .form-control,
.has-error .form-control:focus,
.has-error .form-control.focus {
box-shadow: none;
border-color: red !important;
}
input.has-error {
box-shadow: none;
border-color: red !important;
}
.help-inline:not(:empty) {
color: red;
padding: 2px;
font-size: 13px;
}
/* use on input[type=radio] */
.primary-email-switch {
display: none;
& + label {
font-size: 11px;
color: #DBDBDB;
margin: 0;
@extend %clickable;
}
&:checked + label {
color: $highlight-color;
}
}
.primary-email-switch-label {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.primary-email-switch + label {
align-self: stretch;
padding: 0 5px;
display: flex;
align-items: center;
}
.controls--button {
display: flex;
input,
.form-control {
flex: 1;
@include bidi-style(border-right-width, 0, border-left-width, 1px);
@include bidi-style(border-top-right-radius, 0, border-top-left-radius, 3px);
@include bidi-style(border-bottom-right-radius, 0, border-bottom-left-radius, 3px);
&:focus + .controls-button {
.controls-button-inner {
border-color: hsl(200,71%,59%);
}
/*
fake the form-control outline
*/
&:before {
content: "";
position: absolute;
left: 0;
@include rtl(left, -3px);
top: -3px;
right: -3px;
@include rtl(right, 0);
bottom: -3px;
background: hsl(201,62%,90%);
@include bidi-style(border-radius, 0 7px 7px 0, border-radius, 7px 0 0 7px);
}
}
}
}
.controls-button {
position: relative;
display: flex;
&.is-active .icon {
fill: $highlight-color;
}
}
.controls-button-inner {
display: flex;
justify-content: center;
align-items: center;
padding: 0 10px;
background: white;
position: relative;
border: 1px solid hsl(0, 0%, 90%);
@include bidi-style(border-radius, 0 3px 3px 0, border-radius, 3px 0 0 3px);
}
.searchfield {
position: relative;
margin-bottom: 20px;
.icon {
@include bidi-style(left, 15px, right, auto);
top: 12px;
width: 17px;
height: 17px;
position: absolute;
fill: hsl(60,1%,61%);
}
input[type=search] {
appearance: textfield;
border-radius: 19px;
padding: 0 17px 0 42px;
@include rtl(padding, 0 42px 0 17px);
will-change: transform;
&.is-empty + .empty-search {
visibility: hidden;
}
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
.empty-search {
height: 41px;
width: 50px;
visibility: visible;
.icon {
position: static;
opacity: 0.5;
}
}
}
.content {
overflow: auto;
position: relative;
background-color: #f8f9fa;
}
.content.fit {
padding: 10px;
background: #2c2d36;
z-index: 501;
}
.fullscreenMessage {
padding: 22px;
display: flex;
align-items: center;
justify-content: center;
flex: 1;
svg,
.icon {
@include bidi-style(margin-right, 14px, margin-left, 0);
}
h2 {
margin: 0;
}
}
.selected-clue {
@extend .zIndex-6;
pointer-events: none;
}
.modal--clue {
display: flex;
align-items: center;
justify-content: center;
@extend .zIndex-5;
.modal-backdrop {
bottom: 0;
width: 200%;
height: 200%;
left: -100%;
top: -100%;
background: radial-gradient(hsla(202,68%,54%,0.1), hsla(202,68%,54%,.9));
}
.modal-spacer {
position: absolute;
opacity: 0;
padding: 18px;
}
.modal-arrow {
background: inherit;
width: 20px;
height: 20px;
position: absolute;
margin: -10px 0 53px -10px;
left: 0;
top: 50%;
transform: rotate(45deg);
}
.modal-spacer[data-position="above"] .modal-arrow {
left: 50%;
top: 100%;
background: hsl(210,5%,97%);
}
.modal-spacer[data-position="below"] .modal-arrow {
left: 50%;
top: 0;
}
.modal-spacer[data-position="left"] .modal-arrow {
left: 100%;
top: 50%;
}
.modal-content {
border: none;
width: 300px;
box-shadow:
0 8px 17px 0 rgba(0, 0, 0, 0.1),
0 6px 20px 0 rgba(0, 0, 0, 0.05);
}
.modal-controls {
background: hsl(210,5%,97%);
margin: 23px 0 0;
padding: 10px;
display: flex;
align-items: center;
justify-content: space-between;
}
.modal-control {
padding-left: 14px;
padding-right: 14px;
.btn.is-disabled {
opacity: 1;
color: hsl(240,5%,83%);
}
}
.modal-header {
padding-bottom: 7px;
font-size: 18px;
}
.modal-body {
max-width: 340px;
}
}
kbd {
background: hsl(200,8%,90%);
border-radius: 3px;
border: 1px solid hsl(240,7%,77%);
box-shadow: 0 1px rgba(0,0,0,.08);
color: hsl(240,7%,37%);
display: inline-block;
font-size: 12px;
margin: 0 1px;
padding: 0 4px;
vertical-align: top;
}
.form-stacked .checkbox label {
color: inherit;
font-size: 13px;
text-transform: inherit;
vertical-align: baseline;
letter-spacing: inherit;
}
.pagination {
margin: 0 0 0 19px;
@includ rtl(margin, 0 19px 0 0);
display: flex;
}
.pagination > li > a,
.pagination > li > span {
padding: 0;
width: 31px;
height: 31px;
border-color: #e5e5e5;
@include bidi-style(margin-left, -1px, margin-right, 0);
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
@include bidi-style(border-top-left-radius, 4px, border-top-right-radius, 0);
@include bidi-style(border-bottom-left-radius, 4px, border-bottom-right-radius, 0);
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
@include bidi-style(border-top-right-radius, 4px, border-top-left-radius, 0);
@include bidi-style(border-bottom-right-radius, 4px, border-bottom-left-radius, 0);
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
background: #0F94D6;
border-color: #0F94D6;
}
.pagination-counter {
margin: 0 0 0 19px;
@include rtl(margin, 0 19px 0 0);
line-height: 33px;
color: #9c9c9b;
}
.pagination-items-range {
color: #706f6f;
}
.page-header {
margin: 0 0 15px;
padding: 0;
display: flex;
align-items: center;
flex-wrap: wrap;
}
.page-header--center {
justify-content: center;
}
.page-header-title {
display: flex;
align-items: center;
.zammad-switch {
@include bidi-style(margin-right, 9px, margin-left, 0);
}
h1,
h2 {
margin-top: 9px;
margin-bottom: 7px;
}
}
.page-header-center {
justify-self: center;
@include bidi-style(padding-left, 9px, padding-right, 0);
margin: 0 auto;
& + .page-header-meta {
@include bidi-style(margin-left, 0, margin-right, auto);
flex: none;
}
}
.page-header-meta {
@include bidi-style(margin-left, auto, margin-right, 0);
@include bidi-style(padding-left, 20px, padding-right, 0);
display: flex;
justify-content: flex-end;
flex: 1;
min-width: 0; /* firefox flexbug */
.btn {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.btn + .btn {
@include bidi-style(margin-left, 9px, margin-right, 0);
}
}
.page-content {
.formGroup-label label,
.label {
color: hsl(197,18%,70%);
}
.help-text,
.help-block {
color: hsl(198,19%,72%);
}
}
.page-description p {
color: initial;
}
.page-body--two-column {
display: flex;
}
.page-aside {
@include bidi-style(padding-right, 20px, padding-left, 0);
@include bidi-style(border-right, 1px solid hsl(0,0%,90%), border-left, none);
@include bidi-style(margin-right, 20px, margin-left, 0);
width: 240px;
flex-shrink: 0;
flex-grow: 0;
}
.page-main {
flex: 1;
}
.page-loading {
min-height: 500px;
display: flex;
align-items: center;
justify-content: center;
}
.page-loading-label {
@include bidi-style(margin-left, 10px, margin-right, 0);
margin-top: 1px;
}
.dropdown-menu .count {
padding-top: 1px;
@include bidi-style(margin-left, 10px, margin-right, 0);
}
.help-block {
margin: 0;
color: #bcbcbc;
font-size: 13px;
&.help-block--center {
text-align: center;
}
}
.help-block:not(:empty) {
margin: 8px 2px 0;
}
/* replace music icon with attachment */
.icon-attachment {
background-position: -24px 0;
}
/*
* hero-unit (used on getstarted, login, signup)
*/
.hero-unit {
width: 500px;
margin: 10px 0;
padding: 23px 25px;
border: 1px solid #e5f0f5;
color: inherit;
background-color: white;
border-radius: 6px;
box-shadow:
0 8px 17px 0 rgba(0, 0, 0, 0.2),
0 6px 20px 0 rgba(0, 0, 0, 0.19);
label {
color: hsl(0,0%,60%);
}
.inline-label {
font-size: inherit;
}
}
.hero-unit h1,
.hero-unit h2 {
margin-top: 0;
}
.getstarted,
.reset_password,
.signup,
.darkBackground,
.login {
padding: 10px;
background: hsl(234,10%,19%);
}
.content.getstarted {
padding: 0;
.main {
padding: 20px 10px;
}
}
.login {
padding: 24px 24px 97px;
color: hsl(212,8%,40%);
a {
color: hsl(229,2%,51%);
}
&.login--fancy {
color: hsla(0,0%,100%,.7);
background:
radial-gradient(circle at 49.06% 50.5%, #a36f71, transparent 74%),
radial-gradient(circle at 6.95% 9.56%, #745479, transparent 100%),
radial-gradient(circle at 2.58% 98.57%, #392e3e, transparent 51%),
radial-gradient(circle at 82.11% 97.15%, #5c404e, transparent 100%),
radial-gradient(circle at 50% 50%, #8b6b76, #8b6b76 100%);
a {
color: white;
}
.hero-unit {
box-shadow:
0 8px 17px 0 rgba(0, 0, 0, 0.1),
0 6px 20px 0 rgba(0, 0, 0, 0.09);
}
}
.btn:not(.btn--text) {
min-width: calc(33.33% - 6px); // auth provider width
}
}
.login .hero-unit {
width: 430px;
margin: 0 0 28px;
}
.login .company-logo {
max-height: 100px;
max-width: 200px;
margin: 20px auto 42px;
display: block;
}
.login p {
margin: 0 auto 22px;
max-width: 400px;
text-align: center;
}
.login hr {
margin: 0 auto 22px;
border-top-color: hsl(240,5%,27%);
width: 100%;
max-width: 400px;
}
.login p a {
text-decoration: underline;
}
.poweredBy {
display: flex;
align-items: center;
justify-content: center;
color: hsl(233,7%,26%);
margin: auto 0 34px -16px;
@include rtl(margin, auto -16px 34px 0);
cursor: default;
position: absolute;
bottom: 0;
left: 0;
right: 0;
.icon-logo {
@include bidi-style(margin-right, 8px, margin-left, 0);
margin-top: -11px;
}
.logotype {
@include bidi-style(margin-left, 7px, margin-left, 0);
margin-top: -3px;
fill: hsl(225,9%,27%);
}
}
.fullscreen {
@extend .fit;
display: table;
width: 100%;
height: 100%;
min-height: 100vh;
}
.fullscreen p {
color: hsl(212,8%,40%);
}
.fullscreen-center {
display: table-cell;
vertical-align: middle;
text-align: center;
}
.fullscreen-body {
text-align: start;
display: inline-block;
}
ol.tabs {
list-style: decimal inside;
}
ol.tabs li {
display: list-item;
}
.tabs {
display: flex;
padding: 0;
margin-bottom: 20px;
color: #b8b8b8;
border: 1px solid rgba(0,8,14,.08);
border-radius: 3px;
background: white;
}
.tabs-condensed .tab {
padding-left: 5px;
padding-right: 5px;
}
.progress-tabs .tab {
cursor: default;
}
.tab {
color: inherit;
height: 35px;
padding: 8px 20px;
text-align: center;
border-right: 1px solid rgba(0,8,14,.08);
flex: 1 1 auto;
@extend .u-clickable;
white-space: nowrap;
&.active {
color: white;
background: #444a4f;
box-shadow: none;
.tab-badge {
color: hsl(204,3%,65%);
}
}
}
.tab-dropdown {
position: relative;
display: flex;
align-items: center;
justify-content: center;
.arrow {
@include bidi-style(margin-left, 10px, margin-right, 0);
opacity: 0.75;
}
.icon {
fill: hsl(0,0%,70%);
}
&.active {
background: white;
.icon {
fill: #444a4f;
opacity: 1;
}
}
}
.tab:first-child {
border-radius: 3px 0 0 3px;
@include rtl(border-radius, 0 3px 3px 0);
@include bidi-style(border-right-width, 1px, border-right-width, 0);
}
.tab:last-child:not(:only-child) {
border-radius: 0 3px 3px 0;
@include bidi-style(border-right-width, 0, border-right-width, 1px);
@include rtl(border-radius, 3px 0 0 3px);
}
.tab:only-child {
border-radius: 3px;
@include bidi-style(border-right-width, 0, border-right-width, 1px);
}
.tab-badge {
@include bidi-style(margin-left, 3px, margin-right, 0);
font-size: 0.95em;
}
.tabs.tabs--inline {
display: inline-flex;
margin-left: 0;
margin-right: 0;
.tab {
flex: none;
}
}
.tabs--big {
margin: 28px auto;
font-size: 14px;
border-radius: 8px;
.tab {
height: auto;
padding: 10px 23px 9px;
&:first-child {
border-radius: 8px 0 0 8px;
@include rtl(border-radius, 0 8px 8px 0);
}
&:last-child {
border-radius: 0 8px 8px 0;
@include rtl(border-radius, 8px 0 0 8px);
}
&:only-child {
border-radius: 8px;
}
}
.tab-dropdown {
padding-left: 18px;
padding-right: 15px;
@include rtl(padding-left, 15px);
@include rtl(padding-right, 18px);
}
}
.dashboard .tabs--big {
width: 50%;
}
.separator {
margin: 20px 0;
position: relative;
text-align: center;
}
.separator:before {
content: "";
position: absolute;
width: 100%;
height: 1px;
top: 50%;
left: 0;
background: #e6e6e6;
}
.separator-text {
padding: 0 10px;
color: #999;
font-size: 12px;
letter-spacing: 0.05em;
text-transform: uppercase;
background: white;
display: inline-block;
position: relative;
}
.auth-providers {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: -10px;
}
.auth-provider {
height: 40px;
padding: 0 10px 0 7px;
margin-bottom: 10px;
color: white !important;
line-height: 23px;
border-radius: 4px;
display: flex;
align-items: center;
text-decoration: none;
width: calc(33.33% - 6px);
&.auth-provider--wide {
padding-right: 25px;
}
&.auth-provider--facebook {
background: #4f699c;
}
&.auth-provider--google {
background: hsl(0,0%,93%);
color: hsl(0,0%,46%) !important;
}
&.auth-provider--twitter {
background: #2daee1;
}
&.auth-provider--email {
background: #ffd22e;
}
&.auth-provider--linkedin {
background: #006087;
}
&.auth-provider--github {
background: hsl(0,0%,27%);
}
&.auth-provider--gitlab {
background: hsl(10,78%,53%);
}
&.auth-provider--oauth2 {
background: hsl(0,0%,15%);
}
&.auth-provider--office365 {
background: hsl(15,100%,47%);
}
&.auth-provider--weibo {
background: hsl(0,0%,27%);
}
.provider-name {
flex: 1;
}
.provider-icon {
width: 29px;
height: 24px;
@include bidi-style(margin-right, 10px, margin-left, 0);
}
}
/*
global icon definitions
=======================
*/
.icon-arrow-down,
.icon-arrow-up,
.icon-arrow-left,
.icon-arrow-right {
fill: black;
opacity: 0.39;
}
.icon-arrow-left,
.icon-arrow-right {
&.arrow--x2 {
width: 14px;
height: 26px;
}
}
.arrow--disabled {
opacity: 0.23;
}
.icon-checkmark {
fill: $supergood-color;
}
.icon-error {
fill: $superbad-color;
}
.loading.icon {
display: inline-block;
width: 30px;
height: 30px;
background: hsl(145,51%,45%);
animation: rotateplane 1.2s infinite ease-in-out;
}
.small.loading.icon {
width: 20px;
height: 20px;
}
.tiny.loading.icon {
width: 12px;
height: 12px;
}
.loading.icon.muted {
background: hsl(195,20%,96%);
}
@keyframes rotateplane {
0% {
transform: perspective(120px) rotateX(0deg) rotateY(0deg);
} 50% {
transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
} 100% {
transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
}
}
.color-swatch {
padding: 2px;
margin: -2px 0 -4px;
@extend %clickable;
/* :after technique for bigger click area */
&:after {
content: "";
display: inline-block;
height: 11px;
width: 11px;
border-radius: 100%;
background: currentColor;
}
}
.icon-status {
fill: $ok-color;
&.inline {
margin-top: -3px;
vertical-align: middle;
}
&.inactive {
fill: hsl(198,18%,86%);
}
&.ok {
fill: $supergood-color;
}
&.error {
fill: $superbad-color;
}
&.neutral {
fill: $ok-color;
}
}
.icon-status-modified-inner-circle {
position: absolute;
left: 50%;
top: 0;
will-change: opacity;
transform: translate3d(-50%,0,0);
animation: fade 1.8s ease-in-out infinite;
}
@keyframes fade {
54% { opacity: 1 }
90% { opacity: 0 }
to { opacity: 1 }
}
.icon-checkbox,
.icon-checkbox-checked,
.icon-checkbox-indeterminate {
fill: white;
}
/*
* removed margin of forms to not break the layout with submit buttons within area e. g. for modal dialogs
*/
form {
margin: 0;
&.form--flexibleWidth .controls {
display: table;
}
&.form--grid {
display: flex;
flex-wrap: wrap;
width: calc(100% + 20px);
margin-left: -10px;
margin-right: -10px;
.form-group {
display: block;
padding: 0 10px;
width: 100%;
$sizes: "1/2", "1/3", "2/3", "1/4", "2/4", "3/4", "1/5", "2/5", "3/5", "4/5";
@each $size in $sizes {
&[data-width="#{$size}"] {
width: calc(#{$size} * 100%);
}
}
}
}
}
.form-controls {
@extend .clearfix;
display: flex;
align-items: center;
margin-top: 10px;
.btn + .btn:not(.align-right) {
@include bidi-style(margin-left, 20px, margin-right, 10px);
}
}
form a.standalone {
line-height: 40px;
margin: 0 5px;
}
form a.standalone.align-right {
@include bidi-style(margin-left, auto, margin-right, 0);
}
footer {
clear: both;
padding-top: 10px;
padding-left: 10px;
padding-right: 22px;
@include rtl(padding-left, 22px);
@include rtl(padding-right, 10px);
}
.can-move {
cursor: move;
}
.can-move-placeholder {
border: 1px dashed #DDD;
background: #EEE;
margin-top: 5px;
margin-bottom: 5px;
}
.customer_info {
}
.customer_info ul.nav > li {
width: 50%;
}
.customer_info ul.nav > li > a {
@extend .u-textTruncate;
}
.customer_info .thumbnail {
position: absolute;
right: 20px;
}
.customer_info textarea {
@include bidi-style(padding-left, 10px, padding-right, 0);
width: 100%;
border-color: #eee;
}
.overviews {
.sidebar {
@include small-desktop {
display: none;
}
}
.table > tbody > tr > td {
user-select: none;
}
}
.overview-header {
position: relative;
margin: 20px 0 32px;
height: 41px;
display: none;
align-items: center;
.tabsHolder {
flex: 1;
@include bidi-style(margin-right, 20px, margin-left, 0);
min-width: 0; /* Firefox bug fix */
}
.tabs {
margin: 0;
position: relative;
}
.tabs-clone {
right: 0;
}
.dropdown {
min-width: 0;
width: 336px;
}
@include small-desktop {
display: flex;
}
}
.tableOverview-edit {
@extend .u-clickable, .u-highlight;
}
.bulkAction {
position: fixed;
bottom: 0;
left: $sidebarWidth + $navigationWidth;
right: 0;
min-width: $minWidth - $sidebarWidth - $navigationWidth;
background: white;
z-index: 1;
box-shadow:
0 -1px rgba(0,0,0,.05),
0 -2px rgba(0,0,0,.03),
0 -3px rgba(0,0,0,.01);
@include small-desktop {
left: $navigationWidth;
min-width: $minWidth - $sidebarWidth;
}
}
.bulkAction-firstStep {
display: flex;
align-items: center;
}
.bulkAction-firstStep .has-error {
border-color: red !important;
border: 1px solid;
}
.bulkAction-secondStep {
display: flex;
flex-direction: column;
}
.bulkAction .btn {
margin: 0 16px;
}
.bulkAction .btn--text {
@include bidi-style(margin-right, 0, margin-left, 16px);
}
.bulkAction-controls {
margin-top: 10px;
@include bidi-style(margin-left, auto, margin-right, 0);
}
.panel {
box-shadow: none;
color: hsl(60,1%,34%);
}
.panel-default > .panel-heading {
padding-bottom: 8px;
font-weight: normal;
text-transform: uppercase;
font-size: 12px;
line-height: 17px;
letter-spacing: 0.05em;
background: hsl(197, 20%, 93%);
background: hsl(197,20%,93%);
border-color: hsl(198,18%,86%);
}
.panel-title {
font-size: inherit;
}
.panel-group .panel-heading {
display: block;
}
.panel-body ul {
list-style: none;
padding: 0;
margin: 0;
}
.well {
background: white;
border: 1px solid hsl(240,3%,92%);
border-radius: 3px;
padding: 10px;
}
.well-muted {
background-color: whiteSmoke;
border: 1px solid #eee;
border: 1px solid rgba(0, 0, 0, 0.05);
border-radius: 4px;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.merged, .merge:hover {
text-decoration: line-through;
}
.translation {
border: 1px dotted #F92;
border-radius: 3px;
cursor: text;
}
.translation:hover {
}
.translation[contenteditable="true"] {
display: inline;
}
.translation[contenteditable="true"]:hover,
.translation[contenteditable="true"]:focus {
background: none;
}
.translation .icon-edit {
display: none;
}
.translation:hover .icon-edit {
display: inline-block;
}
.translationOverview .btn + .btn {
margin: -10px;
}
.sub_attribute .control-label {
width: 60px;
}
.sub_attribute .controls {
@include bidi-style(margin-left, 80px, margin-right, 0);
}
.splash {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: hsl(210,0%,98%);
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
color: hsl(0,0%,45%);
.icon {
@include bidi-style(margin-right, 10px, margin-left, 0);
filter: grayscale(90%);
}
}
.navigation {
width: $navigationWidth;
background: hsl(232,10%,16%);
position: relative;
}
.navigation:empty {
display: none !important;
}
.menu {
padding: 0;
margin: 0;
list-style: none;
flex-shrink: 0;
}
.menu .badge {
background: $ok-color;
color: hsl(233,10%,16%);
@include bidi-style(margin-right, 8px, margin-left, 0);
}
.menu .zammad-switch {
height: 22px;
}
.menu .dropdown-menu {
left: 10px;
right: 15px;
min-width: 0;
}
.menu-item {
padding: 0 15px;
height: 48px;
color: rgba(240, 250, 255, .25);
border-bottom: 1px solid rgba(240, 250, 255, .05);
text-decoration: none;
display: flex;
align-items: center;
@extend %clickable;
&:hover {
background: hsl(230,10%,13%);
border-bottom-color: rgba(240, 250, 255, .08);
}
&.is-active,
&.is-hovered {
background: none;
color: white;
}
&.is-active .menu-item-icon,
&.is-active .dropdown-icon,
&.is-hovered .menu-item-icon {
fill: currentColor;
}
&.is-active,
&.is-hovered {
background: hsl(202,68%,54%);
}
&.is-active .zammad-switch {
input:not(:checked) + label { // switch background
background: hsl(202,68%,43%);
}
label:after {
background: white;
}
}
.dropdown-icon {
fill: currentColor;
}
}
.menu-item-icon {
@include bidi-style(margin-right, 15px, margin-left, 0);
width: 24px;
height: 24px;
fill: hsl(206,7%,37%);
}
.menu-item-name {
flex: 1;
margin-top: 2px;
}
.tasks {
background: #2c2d36;
flex: 1;
overflow: auto;
}
.tasks.tasks--standalone {
background: none;
margin: 8px 0 0;
padding: 0;
overflow: visible;
}
.tasks--standalone .task {
padding: 0;
margin-bottom: 9px;
display: flex;
}
.tasks--standalone .task-text {
flex: 1;
min-width: 0; /* Firefox wrong content-calculation with word-wrap workaround */
}
.tasks--standalone .name {
@extend .u-highlight, .u-textTruncate;
display: block;
}
.tasks--standalone .time {
color: hsl(198,19%,72%);
}
.tasks--standalone .icon-task-state {
@include bidi-style(margin-right, 4px, margin-left, 0);
}
.nav-tab {
@include bidi-style(padding, 10px 15px 9px 0, padding, 10px 0 9px 15px);
position: relative;
color: #808080;
display: flex;
align-items: center;
@extend .u-clickable;
}
.tasks-navigation .nav-tab {
height: 40px;
border-bottom: 1px solid #33363e;
}
.tasks-navigation .nav-tab:not(.is-active):hover {
background: #26272e;
}
.navigation .nav-tab-name {
text-align: start;
}
.tasks-navigation .nav-tab-icon .error {
transform: scale(0.85);
}
.nav-tab:hover {
color: #808080;
text-decoration: none;
}
.nav-tab.is-active,
.nav-tab.nav-tab--search:hover,
.nav-tab.nav-tab--search.is-hover {
background: #389ed9;
color: white;
.nav-tab-icon .icon {
fill: white;
}
}
.nav-tab.ui-sortable-helper {
border-bottom-color: transparent;
}
.nav-tab.nav-tab--search {
height: 30px;
padding-top: 9px;
}
.nav-tab-icon {
margin-top: -3px;
display: flex;
align-items: center;
justify-content: center;
position: relative;
width: 30px;
}
.nav-tab-icon .icon {
max-width: 18px;
max-height: 18px;
fill: #808080;
}
.nav-tab-icon .icon-diagonal-cross {
fill: #F35910;
width: 12px;
height: 12px;
}
.nav-tab-icon .icon.icon-loading {
animation: rotateplane 1.2s infinite ease-in-out;
fill: $supergood-color;
/*
Safari font rendering bugfix while animating
http://stackoverflow.com/questions/9733011/safari-changing-font-weights-when-unrelated-animations-are-running
*/
@extend .zIndex-5; // stay beneath .global-search-menu
position: relative;
}
.nav-tab-close {
position: absolute;
@include bidi-style(right, 0, left, auto);
top: 0;
height: 100%;
@include bidi-style(padding-right, 16px, padding-left, 0);
visibility: hidden;
@extend .u-clickable;
display: flex;
align-items: center;
}
.nav-tab:hover .nav-tab-close {
visibility: visible;
}
.nav-tab-close-inner {
width: 19px;
height: 19px;
background-color: #2c2d36;
border-radius: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.nav-tab-close:hover .nav-tab-close-inner {
background-color: #972e29;
}
.nav-tab-close svg {
width: 9px;
height: 9px;
fill: white;
opacity: 0.3;
}
.nav-tab-close:hover svg {
opacity: 1;
}
.icon-task-state {
margin-top: 1px;
display: block;
}
.nav-tab-icon .icon-task-state {
margin: 0;
}
.nav-tab.task-state-open.is-active {
background-color: $task-state-open-color;
}
.task-state-open-color {
color: $task-state-open-color;
}
.icon-task-state.open {
fill: $task-state-open-color;
}
.nav-tab.task-state-closed.is-active {
background-color: $task-state-closed-color;
}
.task-state-closed-color {
color: $task-state-closed-color;
}
.icon-task-state.closed {
fill: $task-state-closed-color;
}
.nav-tab.task-state-escalating.is-active {
background-color: $task-state-escalating-color;
}
.task-state-escalating-color {
color: $task-state-escalating-color;
}
.icon-task-state.escalating {
fill: $task-state-escalating-color;
}
// pending: stays blue
// .nav-tab.task-state-pending.is-active {
// background-color: $task-state-pending-color;
// }
.task-state-pending-color {
color: $task-state-pending-color;
}
.icon-task-state.pending {
fill: $task-state-pending-color;
}
.search {
padding: 11px 5px 4px 10px;
@include rtl(padding, 11px 10px 4px 0px);
border-bottom: 1px solid rgba(240,250,255,.05);
flex-shrink: 0;
display: flex;
background-color: inherit;
}
.search-holder {
flex: 1;
border-radius: 15px;
position: relative;
transition: 240ms;
}
.empty-search {
position: absolute;
@include bidi-style(right, 0, left, auto);
top: 0;
height: 30px;
width: 40px;
z-index: 1;
visibility: hidden;
display: flex;
align-items: center;
justify-content: center;
@extend %clickable;
}
.search .empty-search .icon-diagonal-cross {
fill: white;
opacity: 0.5;
}
.filled.search .empty-search {
visibility: visible;
}
.search input[type=search] {
width: 100%;
padding: 5px 33px 5px 33px;
height: 30px;
color: #ECECEC;
background: #31373b;
line-height: 20px;
outline: none;
border: none;
border-radius: 15px;
position: relative;
z-index: 1;
appearance: textfield;
}
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
-webkit-appearance: none;
}
.search .icon-magnifier {
position: absolute;
top: 8px;
left: 10px;
@include bidi-style(left, 10px, right, auto);
z-index: 2;
opacity: 0.5;
fill: white;
}
.search.focused .search-holder {
@include bidi-style(margin-right, -46px, margin-left, 0);
}
.search.focused .logo {
opacity: 0;
z-index: -1;
}
.search .logo {
position: relative;
@extend .u-clickable, .zIndex-3;
margin: -4px 10px 0 12px;
transition: 240ms;
}
.search .logo .icon-logo {
position: relative;
}
.search .logo .activity-counter {
min-width: 21px;
position: absolute;
right: -3px;
bottom: 2px;
padding: 0 4px;
font-size: 12px;
font-weight: 300;
line-height: 16px;
text-align: center;
color: white;
text-shadow: 0 1px 1px rgba(0,0,0,.21);
background: hsl(360,71%,60%);
border-radius: 10px;
border: 2px solid hsl(233,10%,16%);
}
.search .logo .activity-counter:empty {
display: none;
}
.global-search-menu {
@extend .zIndex-6;
background: #26272e;
position: absolute;
left: 0;
right: 0;
bottom: 0;
top: 53px;
display: none;
overflow: auto;
.divider {
height: 1px;
background: #2f3238;
margin: 14px 0 17px;
}
}
.search.open .global-search-menu {
display: block;
}
.global-search-detail-link {
padding: 9px 15px 8px 0;
margin-bottom: 7px;
height: auto !important;
.nav-tab-icon {
width: 18px;
margin-left: 10px;
margin-right: 10px;
.icon {
width: 18px;
height: 14px;
}
}
.nav-tab-name {
.icon {
fill: currentColor;
margin: -2px 0 0 3px;
vertical-align: middle;
}
}
}
.global-search-result {
margin: 0;
padding: 0;
list-style: none;
}
.user-menu {
padding: 0;
margin: 0;
list-style: none;
position: relative;
flex-shrink: 0;
display: flex;
}
.user-menu > li {
flex: 1;
background: #26272e;
}
.user-menu .list-button {
height: 60px;
position: relative;
text-decoration: none;
@extend .u-clickable;
display: flex;
align-items: center;
justify-content: center;
}
.user-menu .list-button *:not(.dropdown-nose):not(.icon-crown) {
position: relative;
}
.user-menu > li:hover .list-button:before,
.user-menu > li.is-active .list-button:before,
.user-menu > li.is-hovered .list-button:before {
content: '';
position: absolute;
top: 4px;
right: 4px;
bottom: 4px;
left: 4px;
background: white;
}
.user-menu > li.is-active .list-button:before {
background: $highlight-color;
}
.user-menu li.add:hover .list-button:before,
.user-menu li.add.is-active .list-button:before,
.user-menu li.add.is-hovered .list-button:before {
background: #38ae6a;
}
.user-menu-icon {
width: 20px;
height: 20px;
fill: hsl(0,0%,30%);
}
.user-menu-icon.icon-plus {
fill: hsl(145,51%,45%);
}
.user-menu > li:hover .user-menu-icon {
fill: hsl(232,10%,16%);
}
.user-menu > li.is-active .user-menu-icon {
fill: white;
}
.user-menu > li.add:hover .user-menu-icon.icon-plus,
.user-menu > li.add.is-hovered .user-menu-icon.icon-plus,
.user-menu > li.add.is-active .user-menu-icon.icon-plus {
fill: white;
}
.user-menu > li:not(:last-child) {
border-right: 1px solid #2c2d36;
}
.dropdown-nose {
position: absolute;
border: 7px solid transparent;
border-bottom: none;
border-top: 7px solid white;
left: 50%;
margin-left: -7px;
top: -6px;
display: none;
}
li.add .dropdown-nose {
border-top-color: #38af6e;
}
.open.dropdown .dropdown-nose,
.open.dropup .dropdown-nose {
display: block;
}
.user-menu .dropdown-menu {
padding: 0;
border-radius: 0;
margin-bottom: 5px;
min-width: 0;
left: 10px;
right: 15px;
width: auto;
}
.user-menu li.add .dropdown-menu {
background-color: #38af6e;
}
.user-menu li.add .dropdown-menu li > a {
color: white;
}
.user-menu li.add .dropdown-menu .divider {
background: #4cb77c;
}
.user-menu .dropdown-menu .divider {
margin: 0;
}
.user-menu .dropdown-menu > li > a {
display: flex;
}
.avatar {
width: 40px;
height: 40px;
background-size: cover;
background-position: center;
background-color: rgba(0,0,0,.05);
border-radius: 100%;
display: inline-block;
vertical-align: bottom;
position: relative;
flex-shrink: 0;
&.size-30 {
width: 30px;
height: 30px;
}
.icon-crown {
position: absolute;
width: 28px;
left: 50%;
margin-left: -14px;
top: -15px;
fill: hsl(47,100%,59%);
}
&-status {
position: absolute;
right: -4px;
bottom: -4px;
border-radius: 999px;
background: hsl(234,10%,19%);
fill: white;
width: 21px;
height: 21px;
display: flex;
align-items: center;
justify-content: center;
}
&.size-50 {
width: 50px;
height: 50px;
.icon-crown {
width: 36px;
margin-left: -18px;
top: -15px;
}
}
&.size-80 {
width: 82px;
height: 82px;
.icon-crown {
width: 64px;
margin-left: -32px;
top: -16px;
}
}
&--idle {
filter: grayscale(100%);
opacity: 0.5;
}
&--inactive {
filter: grayscale(100%);
opacity: 0.2;
}
&--vacation {
filter: grayscale(70%);
opacity: 1;
}
&--unique {
background-image: image_url("/assets/images/avatar-bg.png");
background-size: 300px 226px;
color: white;
line-height: 40px;
text-align: center;
font-size: 13px;
letter-spacing: 0.05em;
text-transform: uppercase;
text-shadow: 0 1px rgba(0,0,0,.2);
cursor: default;
&.size-30 {
font-size: 10px;
line-height: 32px;
background-size: 225px 170px;
}
&.size-50 {
font-size: 16px;
line-height: 52px;
background-size: 375px 283px;
}
&.size-80 {
font-size: 26px;
line-height: 84px;
background-size: 600px 452px;
}
}
&--organization {
display: flex;
align-items: center;
justify-content: center;
.icon-organization {
fill: currentColor;
}
&.size-80 {
.icon-organization {
width: 32px;
height: 32px;
}
}
}
&--group {
overflow: hidden;
.icon {
fill: white;
position: absolute;
left: 50%;
transform: translateX(-50%);
width: 44px;
height: 44px;
bottom: -8px;
}
&.size-30 .icon {
width: 33px;
height: 33px;
bottom: -6px;
}
&.size-50 .icon {
width: 55px;
height: 55px;
bottom: -10px;
}
&.size-80 .icon {
width: 88px;
height: 88px;
bottom: -15px;
}
&-color-0 {
background: hsl(192,100%,38%);
}
&-color-1 {
background: hsl(148,100%,38%);
}
&-color-2 {
background: hsl(57,100%,37%);
}
}
.icon-logo {
width: 100%;
height: 100%;
}
}
.sidebar {
position: relative;
width: 280px;
padding: 20px;
color: hsl(60,1%,34%);
background: white;
@include bidi-style(border-right, 1px solid #e6e6e6, border-left, none);
overflow: auto;
@include small-desktop {
&.optional {
display: none;
}
}
h2 {
margin-top: 0;
}
h3 {
margin: 0;
color: rgba(0,8,14,.73);
font-weight: normal;
font-size: 16px;
text-transform: initial;
letter-spacing: 0;
}
}
.sidebar-block {
margin: 20px 0;
&:first-child {
margin-top: 0;
}
}
.sidebar-block [contenteditable=true] {
white-space: normal; // do no u-textTruncate, we want to edit it inline
}
.main + .sidebar {
border-right: none;
border-left: 1px solid #e6e6e6;
}
.NavBarAdmin.sidebar,
.NavBarProfile.sidebar, {
width: $sidebarWidth;
h2 {
margin: 21px 0 12px;
}
h2:first-child {
margin-top: 0;
}
}
.nav-stacked > li + li {
margin-top: 0;
}
.nav-pills > li > a,
.nav-pills > li > a:focus,
.nav-pills > li > a:active {
color: #0f94d6;
border-radius: 0;
background: transparent; /* a:focus, a:active with bg: transparent fixes gray focus bg in IE 10 */
display: flex;
@extend .u-textTruncate;
}
.nav-pills.nav-stacked > li > a,
.nav-pills.nav-stacked > li > a:focus,
.nav-pills.nav-stacked > li > a:active {
padding: 0;
height: 40px;
line-height: 39px;
border-top: 1px solid #f2f2f3;
}
.nav-pills > li:hover > a {
background: #f2f2f3;
}
.nav-pills.nav-stacked > li:hover > a,
.nav-pills.nav-stacked > li:hover + li:not(.active) > a {
border-color: transparent;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
color: white;
background: #2c2d36;
border-color: initial;
}
.nav-pills.nav-stacked > li:hover > a,
.nav-pills.nav-stacked > li.active > a,
.nav-pills.nav-stacked > li.active > a:hover,
.nav-pills.nav-stacked > li.active > a:focus {
padding-left: 10px;
padding-right: 10px;
margin-left: -10px;
margin-right: -10px;
}
.sidebar:not(.NavBarAdmin) .nav-pills > li:first-child > a {
border-top: none;
}
.nav-pills > li > a > .icon {
fill: currentColor;
flex-shrink: 0;
align-self: center;
margin-top: -2px;
&:first-child {
@include bidi-style(margin-right, 5px, margin-right, 0);
}
}
.nav-pills > li > a > .badge {
margin-left: auto;
margin-right: 5px;
@include bidi-style(padding-left, 10px, padding-right, 0);
@include rtl(margin-left, 5px);
@include rtl(margin-right, auto);
}
a.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
color: #96969b;
background: none;
}
.main {
padding: 10px 20px;
overflow: auto;
position: relative;
&--large-padding {
padding: 30px 40px;
}
}
.main--tabs,
.main.no-padding {
padding: 0;
}
.tooltip {
font-family: inherit;
}
.tooltip-inner {
max-width: 400px;
}
.popover {
@extend .zIndex-6;
position: absolute;
font-family: inherit;
width: 372px;
max-width: 9999px;
border-radius: 0;
border: none;
color: hsl(206,7%,28%);
box-shadow: 0 1px 14px rgba(0,8,14,.25);
@include rtl(text-align, right);
}
.popover-body {
overflow: auto;
}
.popover-title {
border: none;
background: none;
padding: 21px 17px 4px;
}
.popover-content {
padding: 0 17px;
margin-bottom: 21px;
}
.popover.right {
margin-left: 4px;
}
.popover.right > .arrow {
border-right: none;
left: -9px;
}
.popover.top {
margin-bottom: 9px;
}
.popover.top > .arrow {
border-top: none;
bottom: -9px;
}
.popover.left {
margin-right: 9px;
margin-left: 0;
}
.popover.left > .arrow {
border-left: none;
right: -9px;
}
.popover.bottom {
margin-top: 9px;
}
.popover.bottom > .arrow {
border-bottom: none;
top: -9px;
}
.popover > .arrow:after {
border-width: 8px;
}
.popover .priority.icon:after {
background: white;
}
.popover .person .organization {
color: #a1a4a7;
}
.popover .user-organization {
@extend .u-textTruncate;
margin-bottom: 8px;
margin-top: -4px;
}
.popover-block {
@extend .sidebar-block;
margin: 10px 0;
}
.popover hr {
margin: 8px 0;
}
.popover .person .organization:before { content: '('; }
.popover .person .organization:after { content: ')'; }
.popover label {
font-size: 13px;
color: #a9bcc4;
font-weight: 300;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.popover .two-columns,
.popover .three-columns {
margin-top: -8px;
}
.popover .column label {
margin: 8px 0 1px;
}
.popover .column {
margin-top: 8px;
}
.popover--notifications {
padding: 0;
left: $navigationWidth;
@include rtl(right, $navigationWidth);
margin: 8px 2px;
max-height: calc(100% - 16px);
width: auto;
max-width: 400px;
min-width: 350px;
flex-direction: column;
&.is-visible {
display: flex;
}
&.is-empty .popover-notificationsHeader {
box-shadow: none;
}
.arrow {
top: 23px !important;
left: -11px;
@include rtl(left, 408px);
@include rtl(transform, rotate(180deg));
}
.popover-content {
padding-left: 0;
padding-right: 0;
margin-bottom: 0;
overflow-y: auto;
}
.popover-notificationsHeader {
box-shadow:
0 1px hsla(240,4%,95%,.5),
0 2px hsla(240,4%,95%,.2);
padding-bottom: 14px;
flex-shrink: 0;
.btn {
padding-top: 3px;
padding-bottom: 5px;
}
}
.activity-placeholder {
margin-bottom: 21px;
}
}
.popover-notificationsHeader {
padding-bottom: 8px;
margin: 21px 17px 0;
.popover-title {
@extend h1;
padding: 0;
line-height: 1;
}
.btn {
margin-top: 3px;
}
}
.popover-notificationsCounter {
color: #e25253;
@include bidi-style(padding-left, 3px, padding-right, 0);
}
.user-popover,
.ticket-popover,
.organization-popover {
@extend .u-clickable;
}
.stat-icon {
position: relative;
}
.mood-icon {
width: 60px;
height: 59px;
}
.stopwatch-icon {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
.stat-stopwatch {
width: 77px;
height: 83px;
position: relative;
}
.stat-channel-icon {
width: 16px;
height: 16px;
fill: hsl(198,18%,72%);
}
.total-tickets {
height: 83px;
width: 48px;
@include bidi-style(margin-right, 4px, margin-left, 0);
margin-bottom: -9px;
}
.one-ticket {
width: 48px;
height: 10px;
margin-top: -7px;
margin-bottom: 2px;
}
.stat-tickets {
height: 100px;
}
.in-process-icon {
width: 64px;
height: 64px;
}
.reopening-icon {
width: 68px;
height: 47px;
}
.supergood-color { fill: $supergood-color;}
.good-color { fill: $good-color; }
.ok-color { fill: $ok-color; }
.bad-color { fill: $bad-color; }
.superbad-color { fill: $superbad-color; }
.stat-widgets {
margin: -7px -7px 20px;
}
.stat-widget {
height: 200px;
padding: 13px;
text-align: center;
line-height: 20px;
}
.dashboard .stat-widget {
margin: 7px;
background: white;
border: 1px solid #e5f0f5;
border-radius: 1px;
box-shadow: 0 1px rgba(0,8,14,.02);
}
.stat-title {
font-size: 13px;
margin: 2px 0 8px;
color: #444a4f;
text-transform: uppercase;
font-weight: normal;
}
.stat-widget .stat-label {
color: #444a4f;
@extend .u-textTruncate;
}
.stat-widget .stat-detail {
color: #b4b7b9;
@extend .u-textTruncate;
}
.channel-distribution.stat-widget {
color: #a1a4a7;
}
.stat-graphic {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
user-select: none;
}
.time.stat-widget .stat-amount {
margin-top: 12px;
text-align: center;
font-size: 30px;
color: white;
text-shadow: 0 2px rgba(0,8,14,.2);
position: relative;
cursor: default;
}
.time.stat-widget .stat-dial {
position: absolute;
top: 21px;
left: 14px;
}
.stats-row {
padding: 8px 0 7px;
margin-bottom: -7px;
border-radius: 3px;
display: flex;
flex-direction: column;
align-items: center;
}
.stats-row:hover {
background: rgba(0,8,14,.03);
}
.stats-row .stat-bars {
height: 73px;
margin: 16px 0 15px;
padding: 2px 12px;
width: 100%;
background: linear-gradient(to top, #f2f2f3, #f2f2f3 1px, transparent 1px);
background-position: center bottom;
background-size: 100% 12px;
display: flex;
align-items: flex-end;
}
.stat-bars .stat-bar {
border-radius: 5px;
width: 10px;
color: #a9bcc4;
background: #a9bcc4;
}
.stat-widget .secondary {
opacity: .38;
color: #a9bcc4;
background: #a9bcc4;
}
.stat-legend {
margin-top: 30px;
@include bidi-style(margin-left, auto, margin-right, 0);
display: flex;
}
.stat-legendEntry {
font-size: 11px;
line-height: 1;
@include bidi-style(margin-left, 20px, margin-right, 0);
background: none !important;
}
.stat-circle {
margin-bottom: -1px;
@include bidi-style(margin-right, 3px, margin-left, 0);
width: 10px;
height: 10px;
border-radius: 100%;
display: inline-block;
}
.frequency.stat-widget {
.stat-bars {
margin-top: 0;
}
.stats-row {
margin-bottom: 0;
}
.stat-label {
color: #a1a4a7;
}
.primary {
color: hsl(145,51%,45%);
background: hsl(145,51%,45%);
}
}
.activity.sidebar {
width: 370px;
padding: 0;
border-left: 1px solid #e8e8e8;
}
.activity h2 {
margin-left: 19px;
margin-bottom: 15px;
margin-right: 26px;
@include rtl(margin-right, 19px);
@include rtl(margin-left, 26px);
}
.activity-entries {
margin: 0 -17px;
}
.activity-placeholder {
@extend .u-textTruncate;
padding: 0 17px;
}
.activity-entry {
display: flex;
padding: 0 17px;
&.is-inactive {
opacity: 0.5;
}
&.is-hover {
background-color: #f8f9fa;
}
&.activity-entry--removeable {
@include bidi-style(padding-right, 0, margin-left, 17px);
}
&:not(:hover) .activity-remove {
opacity: 0;
}
&:not(:last-child) .activity-body:after {
content: "";
position: absolute;
bottom: 0;
right: 0;
left: 0;
border-bottom: 1px solid #f2f2f3;
}
&.activity-entry--removeable:not(:last-child) .activity-body:after {
right: 17px;
@include bidi-style(right, 17px, left, 0);
}
}
.activity-avatar {
padding: 16px 2px 0;
@include bidi-style(margin-right, 10px, margin-left, 0);
flex-shrink: 0;
}
.activity-body {
padding: 16px 0 16px 2px;
@include rtl(padding, 16px 2px 16px 0);
position: relative;
display: flex;
flex: 1;
min-width: 0; /* Firefox wrong content-calculation with word-wrap workaround */
}
.activity-message {
color: #444a4f;
flex: 1;
min-width: 0; /* Firefox wrong content-calculation with word-wrap workaround */
&:hover .activity-text {
text-decoration: underline;
}
}
.activity-time {
margin-top: 2px;
color: #a1a4a7;
display: block;
}
.activity-remove {
display: flex;
align-items: center;
justify-content: center;
@extend %clickable;
padding-left: 10px;
padding-right: 27px;
@include rtl(padding-left, 27px);
@include rtl(padding-right, 10px);
.activity-remove-icon-holder {
width: 19px;
height: 19px;
border-radius: 100%;
display: flex;
align-items: center;
justify-content: center;
background: hsl(0,0%,80%);
}
.icon {
fill: white;
width: 9px;
height: 9px;
}
&:hover {
.activity-remove-icon-holder {
background: #972e29;
}
.icon {
opacity: 1;
}
}
}
.form-inline {
display: flex;
}
.form-inline .input-group-addon,
.form-inline .form-control:not(textarea) {
background: white;
border: none;
line-height: 1;
}
.form-inline .form-group {
overflow: hidden;
position: relative;
height: 60px;
flex: 1 1 auto;
&.datetime {
min-width: 140px;
overflow: visible; // datepicker popup needs to be visible
}
}
.form-group.is-changed {
position: relative;
}
.form-group.is-changed:before {
content: "";
position: absolute;
top: 23px;
left: -12px;
bottom: 0;
width: 3px;
background: repeating-linear-gradient(45deg, hsl(193,18%,90%), hsl(193,18%,90%) 5px, transparent 5px, transparent 9px) repeat center;
background-size: 11px 11px;
}
.form-inline .form-group.is-changed:before {
width: 100%;
height: 3px;
top: 0;
left: 0;
bottom: auto;
}
.form-group.is-changed label {
color: hsl(198,19%,72%);
position: relative;
}
.form-group.is-changed label:before {
position: absolute;
content: '';
left: -10px;
width: 5px;
height: 5px;
top: 50%;
margin-top: -3px;
border-radius: 100%;
background: hsl(198,19%,72%);
}
.form-inline .form-group .btn {
margin: 10px;
}
.form-inline .form-group:not(:last-child),
.form-inline.form-inline--enclosed .form-group {
border-right: 1px solid #f0f0f0;
}
.form-inline .input-group-addon {
width: auto;
padding: 0;
margin: 10px 18px 0;
font-size: 13px;
letter-spacing: 0.05em;
color: #ccc;
display: inline-block;
position: relative;
}
.form-inline .form-control:not(textarea) {
width: 100%;
height: 100%;
left: 0;
top: 0;
position: absolute;
padding: 28px 5px 12px 20px;
float: none;
display: block;
border-radius: 0;
background: none;
}
.form-inline {
.controls--datetime,
.controls--date,
.controls--select {
position: static;
}
.controls--datetime {
position: absolute;
bottom: 12px;
left: 0;
padding: 0 5px 0 20px;
width: 100%;
.controls-label {
display: none;
}
.form-control {
width: 70px;
line-height: inherit;
position: static;
padding: 0;
height: auto;
&.time {
margin-left: 5px;
width: 38px;
}
}
}
}
.bulkAction-secondStep .form-group {
min-width: 140px;
}
.bulkAction-secondStep .form-inline .textarea.form-group {
padding: 5px 10px;
height: auto;
}
.bulkAction-secondStep .form-inline .textarea.form-group .input-group-addon {
margin-left: 8px;
margin-right: 8px;
margin-bottom: 5px;
}
.bulkAction-secondStep .form-inline textarea.form-control {
display: block;
width: 100%;
resize: vertical;
}
.bulkAction-secondStep .form-inline .expanding-wrapper {
margin: 0 6px;
}
.bulkAction-secondStep .form-inline textarea.form-control:not(:focus) {
border-color: #f0f0f0;
}
.ticketZoom {
background: #f8f9fa;
}
.ticketZoom-controls {
display: flex;
justify-content: flex-end;
align-items: center;
padding: 28px 0 0 0;
@include bidi-style(margin-right, -40px, margin-left, 0);
}
.icon-marker {
fill: hsl(0,0%,61%);
width: 17px;
height: 19px;
}
.ticketZoom .ticketZoom-header {
margin-top: 6px;
padding: 0;
}
.ticketZoom .ticket-article {
margin-top: 55px;
}
.ticketZoom > .overview-navigator {
margin-top: 32px;
@include bidi-style(padding-left, 20px, padding-right, 0);
}
.ticket-article,
.article-new {
max-width: 1080px;
margin: 0 auto;
padding: 0 21px;
}
.ticket-title {
max-width: 1080px;
padding: 0 81px;
}
.ticket-title-update {
@extend h1;
white-space: normal;
margin-top: 15px;
margin-bottom: 8px;
padding: 0 7px;
text-align: center;
.ticketZoom-header & {
&:hover,
&:focus {
background: hsl(210,17%,93%);
}
}
}
.task-subline {
text-align: center;
display: block;
}
.ticket-article-item {
padding-bottom: 33px;
position: relative;
z-index: 1; // fixed chrome 49 + flex issue, not shown article
.avatar {
position: absolute;
right: 0;
top: 5px;
}
&.agent .avatar {
right: auto;
left: 0;
}
}
/*
clip the article-meta to not stand out on the other side
of the textBubble if the text bubble is small
*/
.article-meta-clip {
overflow: hidden;
position: relative;
height: 100%;
margin: 0 55px;
}
.article-content {
color: hsl(60,1%,34%);
position: relative;
z-index: 1;
padding: 0 55px;
}
.article-content-meta {
position: absolute;
width: 100%;
}
.article-meta {
background: #2c2d36;
color: white;
padding: 21px 25px 11px;
margin: 0 12px;
}
.article-meta.bottom {
padding-top: 17px;
padding-bottom: 8px;
}
.article-meta-row {
margin-bottom: 5px;
}
.article-meta-key {
width: 20%;
text-transform: uppercase;
}
.article-meta-value {
@include bidi-style(margin-left, 8px, margin-right, 0);
}
.article-meta-icon {
fill: white;
vertical-align: top;
margin: 2px 3px 0 0;
@include rtl(margin, 2px 0 0 3px);
}
.article-meta .text-muted {
color: #96969b;
}
.internal-border {
padding: 5px;
border-radius: 8px;
margin: -5px;
}
.is-internal .internal-border {
background: repeating-linear-gradient(45deg, hsl(18,79%,89%), hsl(18,79%,89%) 5px, hsl(210,17%,98%) 5px, hsl(210,17%,98%) 6px);
background-size: 8px 8px;
}
.is-internal .bubble-arrow {
display: none;
}
.textBubble {
padding: 10px 20px;
background: white;
border-radius: 2px;
border: 1px solid hsl(240,4%,95%);
box-shadow: 0 0 1px rgba(0,0,0,.06) inset;
position: relative;
/* email css reset */
p {
margin: 0;
}
}
.ticket-article-item.state--folde-out .textBubble {
border-color: hsl(0,0%,90%);
}
.textBubble-content {
overflow: hidden;
position: relative;
}
.textBubble-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin: 0 -12px -28px;
padding: 6px 12px;
border-radius: 0 0 4px 4px;
}
.textBubble-control {
display: flex;
}
.textBubble-letterCount:not(.label-danger):not(.label-warning) {
color: hsl(0,0%,80%);
}
.textBubble-overflowContainer {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background: white;
&.is-open {
&:before {
opacity: 0;
}
}
.btn {
padding-top: 17px;
padding-bottom: 17px;
font-size: 10px;
}
&:before {
content: "";
position: absolute;
left: 0;
right: 0;
top: -30px;
height: 30px;
background: linear-gradient(rgba(255,255,255,0), white);
transition: opacity 300ms;
}
}
.customer .textBubble-overflowContainer {
background: #e5f0f5;
&:before {
background: linear-gradient(hsla(199,44%,93%,0), hsl(199,44%,93%));
}
}
.customer.ticket-article-item .textBubble {
background: #e5f0f5;
border-color: hsl(199,38%,92%);
box-shadow: none;
}
.customer .richtext-content blockquote {
border-left: 5px solid #dfdfdf;
}
.customer.ticket-article-item.state--folde-out .textBubble {
border-color: hsl(199,44%,85%);
}
.bubble-arrow {
position: absolute;
width: 7px;
height: 9px;
left: -6px;
top: 15px;
overflow: hidden;
}
.bubble-arrow:after {
content: "";
position: absolute;
top: -1px;
left: 2px;
width: 11px;
height: 11px;
background: white;
border: 1px solid hsl(240,4%,95%);
box-shadow: 0 0 1px rgba(0,0,0,.06) inset;
transform: rotate(-45deg);
}
.customer.ticket-article-item .bubble-arrow {
left: auto;
right: -6px;
}
.customer.ticket-article-item .bubble-arrow:after {
background: #e5f0f5;
left: auto;
right: 2px;
border-color: hsl(199,38%,92%);
box-shadow: none;
}
.attachments.attachments--list:not(:empty) {
border-top: 1px solid rgba(0,0,0,.04);
white-space: normal;
margin: 10px -20px 0;
padding: 26px 20px 7px 72px;
position: relative;
}
.attachments.attachments--list .attachments-title {
font-size: 13px;
color: hsl(60,1%,34%);
font-weight: 500;
padding: 0 7px;
}
.attachments .icon-paperclip {
position: absolute;
left: 33px;
top: 27px;
fill: hsl(240,1%,84%);
}
.attachments-block {
margin-bottom: 12px;
&:last-child {
margin-bottom: 0;
}
&-headline {
font-size: 13px;
color: hsl(60,1%,34%);
font-weight: 500;
text-transform: uppercase;
margin: 0 7px;
}
}
.ticket-article-item .task-subline {
margin-top: 12px;
}
.article-action {
padding-top: 5px;
margin-top: 5px;
color: hsl(198,4%,56%);
font-size: 12px;
text-align: center;
@extend .u-clickable;
}
.article-action:hover {
color: black;
text-decoration: none;
}
.article-action-icon {
@include bidi-style(margin-right, 5px, margin-left, 0);
vertical-align: top;
width: 17px;
height: 17px;
fill: currentColor;
}
.article-action-name {
@media screen and (max-width: 1080px) {
display: none;
}
@media screen and (max-width: 1358px) {
.main:not(.is-closed) & {
display: none;
}
}
}
.article-add {
position: relative;
z-index: 1; // fixed chrome 49 + flex issue, not shown article
}
.article-new {
margin-top: auto;
margin-bottom: 36px;
}
.dropArea {
background: white;
border: 5px solid;
color: hsl(202,66%,55%);
font-size: 20px;
margin: 5px;
display: none;
@extend .fit;
}
.is-dropTarget .dropArea {
display: block;
}
.dropArea-inner {
@extend .fit;
display: flex;
align-items: center;
justify-content: center;
}
.shortcut .dropdown-menu > .is-active > a {
background: none;
}
.shortcut .dropdown-menu {
overflow: auto;
position: absolute;
max-width: 100%;
}
.editControls {
position: absolute;
left: 0;
top: 5px;
}
.article-add[data-type=email] .editControls {
top: 159px;
}
.editControls-item {
position: absolute;
top: 43px;
@extend .u-clickable, .zIndex-4;
&.is-hidden {
display: none;
}
}
.editControls-item:nth-child(3) {
top: 79px;
}
.editControls-item:nth-child(4) {
top: 115px;
}
.editControls-item:not(:last-child) {
border-bottom: 1px solid #e6e6e6;
}
.editControls-iconHolder {
width: 38px;
height: 35px;
display: flex;
align-items: center;
justify-content: center;
}
.editControls-icon .icon {
fill: hsl(210,2%,78%);
}
.pop-selector {
position: absolute;
top: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
border-radius: 4px;
box-shadow: 0 1px 7px rgba(0,8,14,.13);
&.is-hidden {
display: none;
}
}
.pop-selectable {
width: 35px;
height: 35px;
display: flex;
align-items: center;
justify-content: center;
@extend .u-clickable;
background: hsl(240,9%,19%);
}
.pop-selectable:hover {
background: white;
}
.pop-selectable:first-child {
@include bidi-style(border-radius, 4px 0 0 4px, border-radius, 0 4px 4px 0);
}
.pop-selectable:last-child {
@include bidi-style(border-radius, 0 4px 4px 0, border-radius, 4px 0 0 4px);
}
.pop-selectable:only-child {
border-radius: 4px;
}
.pop-selectable-icon {
fill: hsl(231,3%,40%);
}
.pop-selectable:hover .pop-selectable-icon {
fill: hsl(240,9%,19%);
}
.article-add .icon-internal {
fill: hsl(18,87%,65%);
}
.article-add.is-public .icon-internal,
.article-add.is-internal .icon-public {
display: none;
}
.article-new .recipient-picker {
height: 36px;
position: relative;
transition: 300ms;
}
.article-new .recipient-picker.is-open {
opacity: 1;
}
.recipient-picker .icon {
margin-top: -2px;
}
.recipient-count {
@include bidi-style(margin-left, 3px, margin-right, 0);
margin-top: 1px;
line-height: 1;
}
.recipient-list {
position: absolute;
background: hsl(234,10%,19%);
left: 48px;
color: white;
}
.recipient-picker.is-open .recipient-list {
display: block;
}
.list-arrow {
position: absolute;
top: 210px;
left: -6px;
margin-top: -6px;
border-right: 6px solid #2c2d36;
border-top: 6px solid transparent;
border-bottom: 6px solid transparent;
}
.list-head {
height: 38px;
line-height: 38px;
padding: 1px 19px 0;
text-transform: uppercase;
}
.list-head div {
position: relative;
left: -20px;
}
.list-entry {
width: 340px;
height: 60px;
padding: 0 16px;
border-top: 1px solid hsl(240,6%,27%);
}
.list-entry-name {
@include bidi-style(margin-left, 18px, margin-right, 0);
}
.list-entry-type {
font-size: 12px;
}
.list-entry-type div {
padding: 3px 7px;
border: 1px solid hsl(234,10%,10%);
color: hsl(0,0%,40%);
background: hsl(234,10%,14%);
}
.list-entry-type .active {
color: white;
background: inherit;
box-shadow: 0 1px rgba(255,255,255,.03) inset;
}
.list-entry-type div:not(:last-child) {
border-right: none;
}
.list-entry-type div:first-child {
border-radius: 3px 0 0 3px;
@include rtl(border-radius, 0 3px 3px 0);
}
.list-entry-type div:last-child {
border-left: none;
border-radius: 0 3px 3px 0;
@include rtl(border-radius, 3px 0 0 3px);
}
.recipient-list input {
padding-top: 2px;
background: hsl(232,10%,16%);
color: white;
border: none;
outline: none;
}
.recipient-list input[type=submit] {
height: 0;
width: 0;
padding: 0;
position: absolute;
visibility: hidden;
}
.recipient-list input::placeholder {
color: #666;
}
.article-new .textBubble {
border-color: #b3b3b3;
border-radius: 5px;
padding-left: 12px;
padding-right: 12px;
cursor: text;
}
.articleNewEdit-body {
width: 100%;
position: relative;
min-height: 20px;
vertical-align: bottom;
border: none;
outline: none;
resize: none;
height: auto;
}
.article-new .bubble-arrow:after {
border-color: #b3b3b3;
box-shadow: none;
}
.article-attachment {
position: absolute;
bottom: -4px;
left: 10px;
right: 10px;
height: 42px;
padding: 10px 0;
color: #b3b3b3;
overflow: hidden;
@extend .u-unclickable, .u-textTruncate;
}
.attachments:not(:empty) {
padding: 9px 5px;
border-top: 1px solid hsl(0,0%,93%);
margin: 6px -12px 30px;
}
.attachment.attachment--row {
font-size: 13px;
padding: 1px 10px 1px 7px;
@include rtl(padding, 1px 7px 1px 10px);
cursor: default;
position: relative;
display: flex;
}
.attachment.attachment--preview {
display: block;
font-size: 13px;
padding: 9px 4px 9px 43px;
position: relative;
min-height: 42px;
color: inherit;
align-items: center;
border-bottom: 1px solid hsl(0,0%,96%);
&:last-child {
border-bottom: none;
}
}
.attachment-icon {
position: absolute;
left: 0;
top: 9px;
width: 38px;
text-align: center;
svg {
vertical-align: bottom;
}
img {
width: 30px;
height: 30px;
object-fit: cover;
}
}
.attachment--preview .attachment-name {
min-width: 0;
display: block;
@extend .u-highlight;
word-break: break-all;
}
.attachment--preview .attachment-size {
white-space: nowrap;
font-size: 11px;
color: hsl(200,8%,77%);
}
.attachment--preview .attachment-delete {
color: hsl(198,19%,72%);
text-decoration: underline;
display: none;
white-space: nowrap;
@include bidi-style(margin-left, auto, margin-right, 0);
@extend %clickable;
}
.attachment:hover .attachment--preview .attachment-delete {
padding: 0 10px 0 30px;
float: right;
display: block;
position: absolute;
right: 0;
background: linear-gradient(to right, hsla(200,20%,97%,0), hsla(200,20%,97%,1) 20px);
}
.attachment--preview .attachment-delete .icon {
fill: hsl(198,18%,72%);
width: 9px;
height: 9px;
@include bidi-style(margin-right, 5px, margin-left, 0);
}
.attachment--row .attachment-name {
@include bidi-style(margin-right, 5px, margin-left, 0);
min-width: 0;
@extend .u-highlight;
}
.attachment--row .attachment-size {
white-space: nowrap;
float: right;
@include bidi-style(margin-right, 10px, margin-left, 0);
}
.attachment--row .attachment-delete {
color: hsl(198,19%,72%);
text-decoration: underline;
display: none;
white-space: nowrap;
@include bidi-style(margin-left, auto, margin-right, 0);
@extend %clickable;
}
.attachment:hover.attachment--row .attachment-delete {
padding: 0 10px 0 30px;
float: right;
display: block;
position: absolute;
right: 0;
background: linear-gradient(to right, hsla(200,20%,97%,0), hsla(200,20%,97%,1) 20px);
}
.attachment--row .attachment-delete .icon {
fill: hsl(198,18%,72%);
width: 9px;
height: 9px;
@include bidi-style(margin-right, 5px, margin-left, 0);
}
.attachmentPlaceholder-inputHolder {
position: relative;
display: inline-block;
overflow: hidden;
vertical-align: bottom;
pointer-events: auto;
@extend .u-highlight;
}
.attachmentUpload {
color: hsl(198,19%,72%);
}
.attachmentUpload-cancel {
@extend .u-clickable;
@include bidi-style(margin-left, auto, margin-right, 0);
text-decoration: underline;
}
.attachmentUpload .icon {
fill: hsl(198,18%,72%);
width: 9px;
height: 9px;
@include bidi-style(margin-right, 5px, margin-left, 0);
}
.attachmentUpload-progressBar {
position: absolute;
height: 4px;
background: hsl(202,66%,55%);
left: 0;
bottom: 0;
}
.tabsSidebar-tabsSpacer {
@include bidi-style(padding-right, 62px !important, padding-left, 0);
/*
force div to show scrollbars
because we offset the sidebar tabs when the os shows scrollbars
*/
overflow-x: hidden;
overflow-y: scroll;
}
.tabsSidebar-sidebarSpacer {
@include bidi-style(margin-right, $sidebarWidth, margin-left, 0);
transition: margin-right 500ms;
@include rtl(transition, margin-left 500ms);
}
.tabsSidebar-sidebarSpacer.is-closed {
margin-right: 0;
@include rtl(margin-left, 0);
}
.tabsSidebar-holder {
overflow: hidden;
position: relative;
flex: 1;
display: flex;
flex-direction: column;
}
.tabsSidebar .sidebar {
width: $sidebarWidth;
border-left: 1px solid #e6e6e6;
padding: 0;
}
.tabsSidebar .sidebar > hr {
margin: 20px;
}
.tabsSidebar .sidebar-header {
display: flex;
align-content: stretch;
position: relative;
margin: 0 20px;
+ hr {
margin-top: 0;
}
}
.sidebar-header-headline {
padding: 33px 8px 17px 25px;
@include rtl(padding, 33px 25px 17px 8px);
margin: 0 0 0 -20px;
@include rtl(margin, 0 -20px 0 0);
line-height: 1;
@extend .u-clickable, .u-textTruncate;
}
.sidebar-header-actions {
flex: 1;
@include bidi-style(margin-right, 5px, margin-left, 0);
display: flex;
align-items: center;
.dropdown {
flex: 1;
position: static;
}
.dropdown-toggle {
padding-top: 38px;
padding-bottom: 24px;
}
}
.tabsSidebar-close {
padding: 27px 35px 12px 0;
margin: 0 -20px 0 0;
@extend .u-clickable;
display: flex;
align-items: center;
justify-content: center;
.icon {
fill: black;
}
}
.tabsSidebar .sidebar-content {
padding: 0 20px 20px;
}
.sidebar.bottom-form-shadow {
box-shadow:
0 -1px rgba(0,0,0,.005) inset,
0 -2px rgba(0,0,0,.005) inset,
0 -3px rgba(0,0,0,.005) inset,
0 -4px rgba(0,0,0,.005) inset;
}
.tabsSidebar {
position: absolute;
@include bidi-style(right, 0, left, auto);
top: 0;
bottom: 0;
transition: 500ms;
&.tabsSidebar--attributeBarSpacer {
bottom: 60px;
}
}
.tabsSidebar.is-closed {
transform: translateX($sidebarWidth);
@include rtl(transform, translateX(-$sidebarWidth));
}
.tabsSidebar-tabs {
display: flex;
flex-direction: column;
justify-content: center;
position: absolute;
@include bidi-style(left, -55px, right, auto);
top: 0;
bottom: 0;
pointer-events: none;
}
.test {
position: absolute;
width: 100%;
}
.tabsSidebar-tab {
width: 56px;
height: 60px;
background: hsl(197,20%,93%);
position: relative;
border-top: 1px solid hsl(202,12%,87%);
@extend .u-clickable;
pointer-events: auto;
display: flex;
align-items: center;
justify-content: center;
}
.tabsSidebar-tab.is-changed:before {
position: absolute;
content: '';
left: -3px;
width: 6px;
height: 6px;
top: 50%;
margin-top: -3px;
border-radius: 100%;
background: hsl(198,19%,72%);
box-shadow: 0 0 0 2px hsl(210,17%,98%);
}
.tabsSidebar-tab:first-child {
@include bidi-style(border-top-left-radius, 8px, border-top-right-radius, 0);
border-top: none;
}
.tabsSidebar-tab:last-child {
@include bidi-style(border-bottom-left-radius, 8px, border-bottom-right-radius, 0);
}
.tabsSidebar-tab .icon {
width: 24px;
height: 24px;
fill: hsl(197,19%,78%);
}
.tabsSidebar-tab.active {
.tabsSidebar-tab-count {
background: hsl(206,7%,37%);
&:after {
border-right-color: hsl(206,7%,37%);
}
&.tabsSidebar-tab-count--info {
background: hsl(203,65%,55%);
opacity: 1;
&:after {
border-right-color: hsl(203,65%,55%);
}
}
&.tabsSidebar-tab-count--success {
background: hsl(145,51%,45%);
opacity: 1;
&:after {
border-right-color: hsl(145,51%,45%);
}
}
&.tabsSidebar-tab-count--warning {
background: hsl(45,98%,63%);
opacity: 1;
&:after {
border-right-color: hsl(45,98%,63%);
}
}
&.tabsSidebar-tab-count--danger {
background: hsl(11,85%,48%);
opacity: 1;
&:after {
border-right-color: hsl(11,85%,48%);
}
}
}
.icon {
fill: hsl(206,7%,37%);
}
}
.tabsSidebar-tab-count {
position: absolute;
left: 9px;
top: 5px;
background: hsl(197,19%,78%);
width: 16px;
height: 13px;
text-align: center;
border-radius: 2px;
font-size: 9px;
line-height: 14px;
color: hsl(197,20%,93%);
[data-tab="organization"] & {
left: 7px;
+ .icon {
margin-left: 3px;
}
}
+ .icon {
margin-top: 6px;
}
&:after {
content: "";
position: absolute;
top: 100%;
right: 20%;
border-bottom: 3px solid transparent;
border-right: 5px solid hsl(197,19%,78%);
}
&.tabsSidebar-tab-count--info {
background: hsl(203,65%,55%);
opacity: .5;
&:after {
border-right-color: hsl(203,65%,55%);
}
}
&.tabsSidebar-tab-count--success {
background: hsl(145,51%,45%);
opacity: .5;
&:after {
border-right-color: hsl(145,51%,45%);
}
}
&.tabsSidebar-tab-count--warning {
background: hsl(45,98%,63%);
opacity: .5;
&:after {
border-right-color: hsl(45,98%,63%);
}
}
&.tabsSidebar-tab-count--danger {
background: hsl(11,85%,48%);
opacity: .5;
&:after {
border-right-color: hsl(11,85%,48%);
}
}
}
.sidebar .text-muted {
color: hsl(198,22%,82%);
}
.alert {
padding: 10px 15px 8px;
border-radius: 3px;
color: white;
border: none;
&.alert--info {
background: hsl(203,65%,55%);
}
&.alert--success {
background: hsl(145,51%,45%);
}
&.alert--warning {
color: hsl(45,98%,17%);
background: hsl(45,98%,63%);
}
&.alert--danger {
background: hsl(11,85%,48%);
}
}
.tags,
.links {
margin: 20px 0;
}
.tags {
margin-top: 10px;
}
.userNotifications label + .btn {
margin-top: 1px;
}
.list {
padding: 0;
margin-bottom: 5px;
}
.list-title {
margin-top: 7px;
margin-bottom: 4px;
text-transform: uppercase;
color: hsl(198,19%,84%);
display: block;
font-size: 12px;
font-weight: normal;
letter-spacing: 0.05em;
}
.list-item {
display: flex;
align-items: center;
color: hsl(206,7%,28%);
border-bottom: 1px solid hsl(240,4%,95%);
}
.list-item-name {
flex: 1;
padding: 4px 1px;
}
.list-item-delete {
padding: 0 10px;
@include bidi-style(margin-right, -3px, margin-left, 0);
display: flex;
align-items: center;
justify-content: center;
align-self: stretch;
@extend .u-clickable;
.icon {
width: 9px;
height: 9px;
fill: hsl(0,0%,82%);
}
}
.list-item-delete:hover .icon {
fill: hsl(1,77%,47%);
}
.ticket-id {
color: white;
background: hsl(198,19%,72%);
font-size: 11px;
border-radius: 7px;
padding: 0 5px;
@include bidi-style(margin-right, 2px, margin-left, 0);
}
.attributeBar {
height: 60px;
background: white;
transition: margin 250ms;
flex-shrink: 0;
padding: 10px;
display: flex;
justify-content: flex-end;
&.is-closed {
margin-bottom: -60px;
}
&--border {
border-top: 1px solid hsl(0,0%,94%);
}
}
.newTicket {
padding: 14px 34px;
}
.newTicket .sidebar {
width: 290px;
}
.newTicket .form-control {
border-color: hsl(0,0%,90%);
&:focus,
&.focus {
border-color: hsl(200,71%,59%);
}
}
.newTicket .article-form-top {
margin-top: 15px;
}
.newTicket--chatTicket {
flex: 1;
display: flex;
padding: 0;
height: 100%;
& > .icon {
position: absolute;
top: 50%;
transform: translateY(-50%) translateX(-50%);
}
& > .box {
width: calc(50% - 47px);
margin: 34px;
}
.chatHistory {
display: flex;
flex-direction: column;
}
.boxFade {
width: 94px;
top: 34px;
height: 100%;
position: absolute;
@include bidi-style(margin-left, -34px, margin-right, 0);
z-index: 1;
}
}
.box {
background: white;
margin: 20px 0;
border: 1px solid #e6e6e6;
padding: 20px 24px;
}
.box.box--newTicket {
max-width: 1080px;
margin-left: auto;
margin-right: auto;
}
.box .page-header {
text-align: center;
margin-bottom: 12px;
}
.box--paper {
background-image: linear-gradient(transparent 30px, hsl(0,0%,93%) 31px);
background-size: 100% 31px;
line-height: 31px;
padding-top: 31px;
padding-bottom: 31px;
h1, h2, h3 {
margin: 0;
line-height: inherit;
}
h3:not(:first-child) {
margin-top: 31px;
}
}
.box h1 {
margin-top: 10px;
margin-bottom: 12px;
color: hsl(60,1%,34%);
flex: 1;
}
.box h2 {
margin-top: 12px;
}
.box .two-columns {
margin-left: -4px;
margin-right: -4px;
}
.box .two-columns .column {
margin-left: 4px;
margin-right: 4px;
width: calc(50% - 8px);
}
.box-controls {
margin-top: 20px;
display: flex;
align-items: center;
}
.box--yellow {
background: hsl(47,100%,93%);
border-color: hsl(47,100%,75%);
color: hsl(47,20%,67%);
h1, h2 {
color: hsl(47,3%,28%);
}
}
.box-progress {
display: flex;
align-items: center;
justify-content: center;
}
.box-progress-title {
color: hsl(47,3%,28%);
}
.box-progress-body {
flex: 1;
@include bidi-style(margin-left, 24px, margin-right, 0);
display: flex;
align-items: center;
justify-content: center;
progress {
width: 100%;
}
}
.horizontal > .box {
margin-top: 4px;
margin-bottom: 4px;
& + .box {
border-left-width: 0;
}
}
.formset-inset {
margin: 34px -24px 24px;
padding: 19px 24px 24px;
background: hsl(197,20%,93%);
border-top: 1px solid hsl(0,0%,90%);
border-bottom: 1px solid hsl(0,0%,90%);
}
.type-tabs .tab {
height: 40px;
line-height: 42px;
padding: 0 12px 0 12px;
list-style: none;
}
.type-tabs .tab-icon {
width: 16px;
height: 16px;
fill: #ccc;
vertical-align: top;
@include bidi-style(margin-right, 9px, margin-left, 0);
margin-top: 11px;
transform: scale(1.2);
}
.type-tabs .tab.active .tab-icon {
fill: white;
}
.token {
padding: 0 0 0 10px;
margin: 0 5px 6px 0;
height: 26px;
color: white;
border-radius: 3px;
background: hsl(198,19%,72%);
border: none;
float: none;
display: inline-flex;
align-items: center;
cursor: default;
max-width: 100%;
&.active {
background: $highlight-color;
.close,
.token-close {
opacity: .5;
}
}
}
/*
selector needs to be stronger than .token-input
in order to override input[type=text]
*/
.tokenfield .token-input {
vertical-align: top;
padding: 0 10px 7px 5px;
margin: 0;
min-width: 60px;
height: 32px;
display: inline-block;
border: none;
box-shadow: none;
outline: none;
flex: 1;
&:focus {
box-shadow: none;
}
}
.tokenfield .token ~ .token-input {
padding: 0 5px 7px 0;
}
.token-label {
padding: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.tokenfield.form-control {
padding: 7px 7px 0;
height: auto;
display: flex;
flex-wrap: wrap;
}
.token .close,
.token-close {
margin: 0;
padding: 0 9px 0 6px;
font-family: inherit;
font-weight: 100;
font-size: 28px;
line-height: 1;
color: white;
text-shadow: none;
opacity: .3;
outline: none;
height: auto;
@extend %clickable;
}
.token .close:hover,
.token-close:hover {
opacity: .5;
}
/* allow/show autocomplete in modal dialog */
.ui-autocomplete.ui-widget-content {
@extend .zIndex-9;
position: absolute;
}
.ui-menu {
background: hsl(240,9%,19%);
border: none;
color: white;
font-family: inherit;
font-size: inherit;
.ui-menu-item {
padding: 9px 15px;
list-style-image: none;
&:not(:first-child) {
box-shadow: 0 1px rgba(255,255,255,.13) inset;
}
&.ui-state-focus {
margin: 0;
border: none;
background: hsl(205,90%,60%);
color: inherit;
+ li {
box-shadow: none;
}
}
}
}
.drox {
color: hsl(60,1%,74%);
}
.drox .drox-header {
padding-bottom: 2px;
margin-bottom: 16px;
border-bottom: 1px solid hsl(240,4%,95%);
}
.drox a.create {
margin-top: 2px;
display: inline-block;
}
.drox .form-group {
margin-bottom: 22px;
}
.drox .drox-body p:first-child {
margin-top: 20px;
}
.newTicket .templates {
border-bottom: 1px solid hsl(240,4%,95%);
padding-bottom: 14px;
}
.templates-manage fieldset {
margin: 0;
}
.template-attributes {
margin: 17px 0 19px;
}
.template-attribute {
height: 24px;
line-height: 25px;
@include bidi-style(padding-left, 10px, padding-right, 0);
margin-bottom: 2px;
font-size: 13px;
color: hsl(198,11%,59%);
background: hsl(197,20%,93%);
border: 1px solid hsl(0,0%,90%);
border-radius: 3px;
}
.template-attribute .key {
text-transform: uppercase;
@include bidi-style(margin-right, 3px, margin-left, 0);
}
.template-attribute .value {
@include bidi-style(margin-left, 3px, margin-right, 0);
}
.template-attribute .delete {
padding: 0 7px;
margin-top: 4px;
line-height: 19px;
font-size: 28px;
font-weight: 300;
opacity: .4;
}
.customer-name {
color: hsl(60,1%,34%);
}
.customer-email {
margin-top: 5px;
margin-bottom: 20px;
display: block;
}
.table.user-list {
tr:hover .switchView {
visibility: visible;
}
td .list {
margin-top: -4px;
}
.switchView {
visibility: hidden;
display: block;
text-overflow: ellipsis;
overflow: hidden;
}
// lame hardcoded width of this "View from users' perspective" button td
// i can't find another way to do it. It's not flexible. It sucks
.actionCell {
width: 250px;
}
}
.switchBackToUser {
display: flex;
align-items: center;
background: hsl(200,87%,45%);
color: #fff;
height: 45px;
padding: 0 17px;
/*top: -45px !important;*/
border-bottom: 5px solid hsl(205,90%,60%);
}
.switchBackToUser-icon {
width: 19px;
height: 18px;
}
.switchBackToUser-text {
@include bidi-style(margin-left, 10px, margin-right, 0);
}
.switchBackToUser-close {
width: 40px;
height: 40px;
@include bidi-style(margin-right, -10px, margin-left, 0);
display: flex;
align-items: center;
justify-content: center;
svg {
fill: white;
}
}
.modal {
position: fixed;
@extend .zIndex-9;
}
.modal-dialog {
width: auto;
max-width: 660px;
margin-top: 35px;
margin-bottom: 35px;
&.wizard {
margin: 35px auto;
}
}
.modal--veryLarge .modal-dialog {
max-width: 990px;
}
.modal--large .modal-dialog {
max-width: 740px;
}
.modal--small .modal-dialog {
max-width: 440px;
}
.modal-dialog.wizard {
max-width: 460px;
}
.modal-backdrop {
position: fixed;
}
.modal-content {
border-radius: 0;
border: 1px solid hsl(0,0%,90%);
box-shadow: none;
color: hsl(60,1%,34%);
}
.modal-header {
padding: 30px 23px 23px;
border: none;
}
.modal-header h1 {
text-align: center;
}
.modal-close {
padding: 23px;
position: absolute;
right: 0;
@include rtl(right, auto);
@include rtl(left, 0);
top: 0;
@extend .u-clickable;
}
.modal-close .icon-diagonal-cross {
opacity: 0.18;
}
.modal-body {
padding: 0 23px;
h2:first-child {
margin-top: 0;
}
p:first-child,
.alert.hidden:first-child + p {
margin-top: 0;
}
.table > thead > tr > th {
background: hsl(197,20%,93%);
}
}
.modal-footer {
padding: 23px 23px 20px;
border: none;
display: flex;
@include rtl(text-align, left);
}
.modal-leftFooter,
.modal-centerFooter,
.modal-rightFooter {
display: flex;
align-items: center; /* because of btn--text btn--subtle being thinner than the rest */
flex: 1;
}
.modal.modal--local {
display: block;
padding: 0 40px;
.modal-backdrop {
background: hsla(210,17%,93%,.55);
opacity: 1;
}
.modal-dialog {
box-shadow: 0 0 40px hsla(210,17%,40%,.34);
}
}
.caret {
position: absolute;
top: 50%;
margin-top: -3px;
right: 10px;
}
.dropdown-backdrop {
position: fixed;
@extend .zIndex-5; // has to be behind dropdown-menu (dropdown-menu is also zIndex-5 but behind dropdown-backdrop in dom)
}
.dropdown-menu {
@extend .zIndex-5; // has to be behind modal windows and beneath notifications (popover)
position: absolute;
margin: 0;
padding: 0;
min-width: 100%;
color: white;
text-transform: initial;
letter-spacing: 0;
background: hsl(234,10%,19%);
border-radius: 0;
border: none;
box-shadow: none;
overflow: hidden;
@include rtl(text-align, right);
overscroll-behavior: contain;
}
.dropdown-menu kbd {
background: none;
color: inherit;
padding: 2px 5px;
@include bidi-style(margin-left, 7px, margin-right, 0);
line-height: 1;
vertical-align: baseline;
opacity: 0.5;
}
.dropdown-toggle {
display: flex;
align-items: center;
@extend .u-clickable;
}
.dropdown-icon {
width: 16px;
height: 16px;
opacity: 0.39;
}
.dropdown-menu.dropdown-menu--light {
background: white;
color: hsl(198,19%,72%);
}
.dropdown-menu.dropdown-menu--light > li {
color: hsl(202,70%,49%);
&.dropdown-header {
color: hsl(198,19%,72%);
}
}
.dropdown-menu.dropdown-menu--light > li > a:hover {
color: #2594d4;
background: rgba(0,0,0,.05);
}
.dropdown-menu.dropdown-menu--light li:hover {
background: none;
}
.dropdown-menu.dropdown-menu--light li.is-active {
color: white;
}
.dropdown ul {
margin: 0;
padding: 0;
}
.dropdown li,
.dropup li {
height: 39px;
line-height: 39px;
padding: 0 15px;
@extend %clickable;
white-space: nowrap;
&:focus {
outline: none;
}
}
.dropdown li:not(:first-child) {
box-shadow: 0 1px rgba(255,255,255,.13) inset;
}
.dropdown li:hover,
.dropdown li.is-active {
background: hsl(205,90%,60%);
+ li {
box-shadow: none;
}
}
.dropdown-menu > li.danger:hover,
.dropdown-menu > li.danger.is-active {
background: hsl(0,65%,55%);
}
.dropdown-menu > li.create:hover,
.dropdown-menu > li.create.is-active {
background: hsl(145,51%,45%);
}
.dropdown-menu > li > a {
color: inherit;
padding: 0 15px;
margin: 0 -15px;
line-height: inherit;
}
.dropdown-menu > li > a:hover {
color: inherit;
background: none;
}
.dropdown-menu > li > a span {
display: block;
}
.dropdown-menu .badge {
@include bidi-style(padding-left, 10px, padding-right, 0);
}
.dropdown.dropdown--actions {
li {
line-height: initial;
height: auto;
padding: 11px 15px;
display: flex;
align-items: center;
word-break: break-all;
}
.dropdown-iconSpacer,
.dropdown-selectedSpacer {
display: flex;
align-items: center;
}
.dropdown-iconSpacer {
width: 25px;
}
.dropdown-selectedSpacer {
width: 34px;
@include bidi-style(margin-left, auto, margin-right, 0);
justify-content: flex-end;
opacity: 0;
.icon {
fill: white;
}
&.is-selected {
opacity: 1;
}
}
a {
@extend .u-clickable;
display: flex;
flex: 1;
padding: 0 18px;
}
.icon {
fill: currentColor;
}
}
.dropdown.dropdown--wide {
li {
padding-top: 12px;
padding-bottom: 12px;
}
}
li.dropdown-header {
line-height: 34px;
height: 30px;
}
.dropdown-menu--has-submenu {
overflow: hidden;
background: none;
ul {
background: hsl(234,10%,19%);
}
}
.dropdown-submenu {
position: absolute;
top: 0;
left: 0;
width: 100%;
}
.dropdown.dropdown--actions .dropdown-controls {
@extend .u-clickable;
display: flex;
&:not(:hover):not(.is-active) {
background: hsl(206,7%,28%);
}
.icon {
fill: white;
@include bidi-style(margin-right, 10px, margin-left, 0);
flex-shrink: 0;
}
}
.dropdown-title {
flex-shrink: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.dropdown-detail {
opacity: 0.5;
}
.recipientList,
.recipientList-organizationMembers {
list-style: none;
padding: 0;
}
.recipientList-entry {
display: flex;
align-items: center;
@extend .u-clickable;
}
.recipientList-entry .recipientList-iconSpacer {
width: 20px;
@include bidi-style(margin-left, -5px, margin-right, 0);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.recipientList-icon {
width: 16px;
height: 16px;
fill: white;
opacity: 0.2;
}
.recipientList--new,
.recipientList-entry:hover,
.recipientList-entry.is-active {
.recipientList-icon {
opacity: 1;
}
}
.recipientList-name {
color: white;
@include bidi-style(margin-left, 10px, margin-right, 0);
flex: 1;
@extend .u-textTruncate;
}
.recipientList-status {
opacity: 0.5;
margin: 0 10px;
flex-shrink: 1;
&:last-child {
margin-right: 0;
}
}
.recipientList-arrow {
fill: white;
opacity: 0.39;
}
.recipientList-entry:hover .recipientList-arrow {
opacity: 1;
}
.recipientList-detail {
opacity: 0.5;
}
.recipientList-icon.plus {
@include bidi-style(margin-left, 13px, margin-right, 0);
}
.recipientList--new {
background: hsl(145,51%,45%);
}
.dropdown .recipientList--new:hover {
background: hsl(147,52%,43%);
}
.recipientList-controls,
.recipientList-controls:hover {
@extend .u-clickable;
padding: 0 10px !important;
background: hsl(206,7%,28%);
& + li {
box-shadow: 0 1px rgba(255,255,255,.13) inset;
}
}
.recipientList-organizationMembers {
position: absolute;
top: 0;
left: 0;
right: 0;
}
.userInfo-avatar {
float: right;
@include rtl(float, left);
position: relative;
}
.organizationInfo-avatar {
@extend .userInfo-avatar;
@include bidi-style(padding, 18px 0 0 18px, padding, 18px 18px 0 0);
}
.userList {
list-style: none;
padding: 0;
.userList-entry {
margin: 10px 0;
display: flex;
align-items: center;
&:last-child {
margin-bottom: 0;
}
}
.userList-name {
@extend .u-textTruncate;
@include bidi-style(margin-left, 7px, margin-right, 0);
}
}
.checkbox.form-group .checkbox {
margin-top: 0;
margin-bottom: 15px;
height: auto;
padding-top: 3px;
padding-bottom: 3px;
background: hsl(210,17%,98%);
}
.checkbox.form-group label {
padding: 0 2px;
cursor: default;
}
.checkbox,
.radio {
&.form-group .controls label {
padding: 2px 0;
font: inherit;
font-size: 13px;
margin-bottom: 0;
color: inherit;
text-transform: inherit;
letter-spacing: 0;
@extend .u-clickable;
}
}
.userSearch-label {
margin-top: 11px;
@include bidi-style(margin-right, 10px, margin-left, 0);
}
.userSearch .tab:not(.active) {
background: white;
}
.userSearch {
margin: 0 0 20px;
}
.userSearch .tabs {
margin: 0;
}
.nav {
list-style: none;
padding: 0;
margin: 0;
}
.nav a {
padding: 10px 15px;
display: block;
}
.nav-tabs {
display: flex;
margin: 10px -20px 20px;
padding: 0 20px 0 21px; /* margin-left: -1px */
@include rtl(padding, 0 21px 0 20px);
position: relative;
}
.nav-tabs li {
margin: 0;
color: hsl(0,0%,70%);
border: 1px solid hsl(0,0%,90%);
margin-left: -1px;
background: white;
position: relative;
&:first-child {
border-radius: 7px 0 0 7px;
@include rtl(border-radius, 0 7px 7px 0);
}
&:last-child {
border-radius: 0 7px 7px 0;
@include rtl(border-radius, 7px 0 0 7px);
}
&:only-child {
border-radius: 7px;
}
&.active {
color: white;
background: hsl(206,7%,28%);
}
a {
padding: 10px 24px 8px;
color: inherit;
color: inherit;
}
}
.tab-content {
h2:first-child {
margin-top: 0;
}
}
.settings-entry {
margin-bottom: 42px;
max-width: 700px;
}
.setting-controls {
margin-top: 14px;
display: flex;
justify-content: flex-end;
}
.form-item .form-group {
margin-bottom: 0;
}
.form-item .form-group + .form-group {
margin-top: 15px;
}
.form-item + .btn {
@include bidi-style(margin-left, 23px, margin-right, 0);
}
.scrollPageHeader {
@extend .zIndex-5;
display: flex;
align-items: center;
background: white;
border-bottom: 1px solid hsl(0,0%,78%);
height: 64px;
top: 0;
left: 0;
right: 0;
padding: 0 22px;
position: absolute;
transform: translateY(-64px);
}
.scrollPageHeader small {
color: hsl(198,19%,72%);
}
.scrollPageHeader .ticket-title {
max-width: initial;
padding: 0;
min-width: 0;
flex: 1;
}
.scrollPageHeader h1 {
font-size: 19px;
margin: 0 15px;
@extend .u-textTruncate;
}
.wizard {
margin: auto; // makes sure that the wizard is scrollable
}
.wizard-logo {
fill: white;
@include bidi-style(margin-left, -25px, margin-right, 0);
margin-bottom: 5px;
}
.wizard-slide {
@extend .hero-unit;
display: flex;
flex-direction: column;
width: 400px;
padding-bottom: 18px;
margin-bottom: 20px;
&.wizard-slide--large {
width: 460px;
}
}
.wizard h2 {
text-align: center;
border-bottom: 1px solid rgba(0,0,0,.13);
padding-bottom: 8px;
margin-bottom: 16px;
& + p {
margin-top: 0;
}
}
.wizard-body {
flex: 1;
padding-bottom: 15px;
.form-control {
min-width: 0;
}
}
.wizard-controls {
display: flex;
margin-top: 15px;
height: 39px;
}
.wizard-buttonList {
margin-top: 15px;
min-width: 200px;
}
p + .wizard-buttonList,
label + .wizard-buttonList {
margin-top: 5px;
}
.wizard-loadingText {
text-align: center;
margin: 0;
}
.wizard-loadingText .loading {
vertical-align: middle;
@include bidi-style(margin-right, 10px, margin-left, 0);
}
.wizard-aside {
padding-top: 15px;
text-align: center;
border-top: 1px solid rgba(0,0,0,.13);
}
.setup.wizard .wizard-body {
min-height: 140px;
& > p:first-child {
margin-top: 0;
}
}
.setup.wizard .logo-preview, .branding .logo-preview {
display: block;
height: 0;
max-width: 200px;
max-height: 100px;
&[src=""] {
visibility: hidden;
}
+ .logo-preview-placeholder {
height: 100px;
color: hsl(0,0%,60%);
background: hsl(0,0%,95%);
margin-bottom: 10px;
display: flex;
align-items: center;
justify-content: center;
}
}
.setup.wizard .logo-preview:not([src=""]) {
margin: 0 auto 15px;
height: auto;
+ .logo-preview-placeholder {
display: none;
}
}
.setup.wizard .base-outbound-settings {
margin-top: 15px;
}
.branding .logo-preview:not([src=""]) {
margin: 20px auto 12px;
height: auto;
+ .logo-preview-placeholder {
display: none;
}
}
.branding.login {
padding: 24px 24px 0px;
}
.import.wizard .wizard-slide {
min-height: 300px;
}
.import-source {
border-radius: 5px;
border: 1px solid rgba(0,0,0,.13);
height: 50px;
margin: 5px 0;
@extend .u-clickable;
}
.input-feedback {
position: absolute;
@include bidi-style(padding-left, 10px, padding-right, 0);
right: 1px;
top: 1px;
bottom: 1px;
width: 52px;
border-radius: 0 5px 5px 0;
background: linear-gradient(to right, rgba(255,255,255,0), white 33%);
}
.input-feedback .icon {
display: none;
}
.input-feedback[data-state=loading] .loading.icon,
.input-feedback[data-state=error] .icon-error,
.input-feedback[data-state=success] .icon-checkmark {
display: block;
}
.progressTable {
width: 100%;
margin: 0 auto;
}
.progressTable td {
padding: 8px;
overflow: auto;
width: 33%;
}
.progressTable tr:not(:last-child) {
border-bottom: 1px solid #eee;
}
.progressTable td:first-child {
text-align: end;
}
.progressTable progress {
width: 100%;
min-width: 60px;
display: block;
}
.progressTable .icon-checkmark {
@include bidi-style(margin-left, 10px, margin-right, 0);
opacity: 0;
}
.progressTable tr.is-done .icon-checkmark {
opacity: 1;
}
.channelList {
flex: 1;
display: flex;
flex-direction: column;
background: white;
border-radius: 2px;
margin: 5px 0 20px;
}
.channelList,
.channelList-controls,
.channelList-controlEntry {
border: 1px solid hsl(251,6%,90%);
}
.channelList-entry {
display: flex;
cursor: default;
padding: 5px 8px;
&:not(:last-child) {
border-bottom: 1px solid hsl(251,6%,90%);
}
}
.channelList-label {
margin: 0 10px;
flex: 1;
& > * {
@extend .u-textTruncate;
}
}
.channelList-status {
font-size: 12px;
color: #999;
}
.channelList-placeholder {
display: flex;
align-items: center;
justify-content: center;
flex: 1;
color: #999;
}
.channelList-controls {
margin-top: auto;
display: flex;
background: hsl(251,6%,92%);
border-left: none;
border-right: none;
border-bottom: none;
}
.channelList-controlEntry {
display: flex;
justify-content: center;
width: 26px;
height: 26px;
border-left: none;
border-top: none;
border-bottom: none;
position: relative;
[data-toggle=dropdown] {
position: relative;
}
.icon {
opacity: 0.8;
}
}
.avatar-gallery {
display: flex;
flex-wrap: wrap;
}
.avatar-holder {
display: inline-block;
position: relative;
margin: 0 32px 32px 0;
border-radius: 100%;
box-shadow: 0 0 0 4px white;
.avatar {
@extend .u-clickable;
&.is-active {
box-shadow: 0 0 0 4px hsl(200,71%,59%);
}
}
}
.avatar--new {
background: hsl(145,51%,45%);
@extend .u-clickable;
}
.avatar-holder .avatar-delete {
position: absolute;
right: -15px;
top: -15px;
width: 40px;
height: 40px;
pointer-events: none;
visibility: hidden;
background: white;
display: flex;
align-items: center;
justify-content: center;
border-radius: 100%;
box-shadow: 0 1px 5px rgba(0,0,0,.05);
@extend .u-clickable;
svg {
opacity: 0.5;
fill: hsl(234,10%,19%);
}
&:hover svg {
opacity: 1;
}
}
.avatar-holder:hover .avatar-delete {
visibility: visible;
pointer-events: auto;
}
.camera video {
position: absolute;
visibility: hidden;
pointer-events: none;
}
.camera-preview {
display: block;
margin: 0 auto;
}
.camera-flash {
@extend .fit;
background: white;
opacity: 0;
@extend .u-unclickable;
}
.camera-flash.is-active {
animation: flash 500ms ease;
}
@keyframes flash { 0% { opacity: 0 } 50% { opacity: 1 } 100% { opacity: 0 } }
.fileUpload {
position: relative;
overflow: hidden;
}
.fileUpload input {
position: absolute;
right: 0;
top: 0;
font-size: 118px;
margin: 0;
padding: 0;
@extend %clickable;
opacity: 0;
&:focus + label {
text-decoration: underline;
}
}
.imagePreview img {
max-width: 100%;
max-height: 100%;
}
.imageCropper p {
margin: 0;
}
.imageCropper-holder {
height: 340px;
margin: 15px 0;
}
.imageCropper-image {
max-width: 100%;
max-height: 100%;
opacity: 0;
}
.imageCropper-preview {
width: 40px;
height: 40px;
border-radius: 100%;
overflow: hidden;
margin: 0 10px;
background: hsl(210,17%,98%);
}
.cropper-container {
/* prevent cropper.js's centering – we center via flex */
left: 0 !important;
}
.profile {
padding: 60px;
overflow: auto;
flex: 1;
h1 {
margin: 18px 0 0;
}
.tabs {
margin-top: 2px;
margin-bottom: 25px;
}
}
.profile-window {
color: hsl(60,1%,34%);
background: white;
max-width: 660px;
margin: 0 auto;
border: 1px solid #e6e6e6;
}
.profile-section {
padding: 20px 50px;
&.profile-memberSection {
margin-bottom: 10px;
}
}
.profile-section:not(:last-child) {
border-bottom: 1px solid #f2f2f2;
}
.profile-action {
@include bidi-style(margin-right, -20px, margin-left, 0);
.dropdown-toggle {
margin-top: -20px;
@include bidi-style(margin-right, -30px, margin-left, 0);
margin-bottom: 8px;
padding: 26px 40px 2px;
}
label {
margin: 0 8px;
padding: 0;
cursor: inherit;
}
}
.profile-subtitle {
font-size: 16px;
@extend .u-highlight;
}
.profile-details {
@include bidi-style(margin-left, -50px, margin-right, 0);
}
.profile-ticketsPlaceholder {
flex: 1;
margin: 8px 0 22px;
color: hsl(209,28%,74%);
.stat-icon {
margin-bottom: 10px;
}
}
.profile-detailsEntry {
margin: 8px 0;
@include bidi-style(padding-left, 50px, padding-right, 0);
width: 50%;
}
.profile-detailsEntry label {
padding: 0;
margin-bottom: 2px;
display: block;
}
.profile-organizationMember {
@extend .profile-detailsEntry;
display: flex;
align-items: center;
.avatar {
@include bidi-style(margin-right, 10px, margin-left, 0);
}
}
.profile-ticketLists {
display: flex;
margin: 0 -25px;
}
.profile-ticketList {
display: flex;
flex-direction: column;
flex: 1 1 50%;
padding: 0 25px;
min-width: 0; /* Firefox wrong content-calculation with word-wrap workaround */
.tasks {
margin-bottom: 10px;
display: flex;
flex-basis: auto;
flex-direction: column;
}
}
.profile .frequency.stat-widget {
height: 230px;
.stat-bars {
height: 100px;
}
}
.profile-organizationIcon {
display: flex;
align-items: center;
justify-content: center;
width: 80px;
height: 80px;
background: hsl(0,0%,87%);
border-radius: 100%;
opacity: 0.4;
svg {
width: 32px;
height: 32px;
}
}
.highlighter {
display: flex;
}
[data-highlightcolor=Yellow]::selection { background: #f7e7b2; }
.highlight-Yellow { background: #f7e7b2; }
[data-highlightcolor=Green]::selection { background: #bce7b6; }
.highlight-Green { background: #bce7b6; }
[data-highlightcolor=Blue]::selection { background: #b3ddf9; }
.highlight-Blue { background: #b3ddf9; }
[data-highlightcolor=Pink]::selection { background: #fea9c5; }
.highlight-Pink { background: #fea9c5; }
[data-highlightcolor=Purple]::selection { background: #eac5ee; }
.highlight-Purple { background: #eac5ee; }
.translationOverview {
tbody > tr > td {
padding: 20px 0 0 10px;
}
.translationOverview-itemContainer {
padding: 10px 0 10px 10px;
}
.translationOverview-source {
width: 25%;
}
.translationOverview-target {
width: 35%;
}
.translationOverview-initial {
width: 25%;
}
.translationOverview-item {
width: 100%;
}
}
.overview-navigator {
display: flex;
}
.overview-navigator .pagination {
margin: 0 0 0 10px;
@include rtl(margin, 0 10px 0 0);
}
.empty-space {
padding: 50px;
svg {
width: 200px;
height: auto;
}
.empty-space-tagline {
color: hsl(198, 19%, 72%);
margin-top: 15px;
font-size: 18px;
}
}
.horizontal-filters {
margin-bottom: 20px;
}
.horizontal-filter {
display: flex;
align-items: center;
background: hsl(197,20%,93%);
padding: 7px;
border: 1px solid hsl(198,19%,86%);
&:first-child {
border-radius: 4px 4px 0 0;
@include rtl(border-radius, 0 0 4px 4px);
}
&:last-child {
border-radius: 0 0 4px 4px;
@include rtl(border-radius, 4px 4px 0 0);
}
&:only-child {
border-radius: 4px;
}
& + .horizontal-filter {
border-top: none;
}
.controls,
input {
@include bidi-style(margin-right, 5px, margin-left, 0);
}
.controls-label {
margin-left: 0;
margin-right: 5px;
@include rtl(margin-left, 5px);
@include rtl(margin-right, 0);
}
select,
input {
border-color: hsl(198,19%,86%);
}
input[type=text] {
width: auto;
}
}
.horizontal-filter-body {
display: flex;
align-items: center;
flex: 1;
}
.horizontal-filter-value {
flex-shrink: 0;
// lower the min-width of url input fields (normally 400px) so that it fits in
input[type=url] {
min-width: 200px;
}
}
.output-input {
margin: 0 0 14px;
output {
margin: 0;
border-radius: 3px 3px 0 0;
border: 1px solid hsl(200,71%,59%);
border-bottom: none;
display: block;
}
input {
flex: 1;
border-top-left-radius: 0;
border-top-right-radius: 0;
border-top: none;
&:focus {
border-color: hsl(0,0%,90%);
box-shadow: none;
}
}
}
output {
border-bottom: 1px solid hsl(200,71%,59%);
margin: 14px 0 0;
display: inline-block;
padding: 10px 12px 8px;
background: hsl(201,62%,93%);
&[disabled] {
border-color: hsl(358,53%,56%);
background: hsl(358,53%,76%);
}
}
.zammad-switch {
overflow: hidden;
width: 50px;
height: 30px;
border-radius: 15px;
&.zammad-switch--small {
width: 40px;
height: 24px;
border-radius: 12px;
}
&.zammad-switch--dark {
label {
background: hsl(234,10%,5%);
}
label:before {
background: hsl(233,10%,10%);
}
label:after {
background: hsl(234,10%,19%);
}
}
&.zammad-switch--green input:checked + label {
background: $supergood-color;
}
}
.zammad-switch label {
margin: 0;
position: relative;
width: 100%;
height: 100%;
border-radius: inherit;
outline: none;
background: white;
box-shadow: 0 0 0 1px rgba(0,0,0,.1) inset;
transition: background 200ms;
@extend %clickable;
&:after {
content: "";
position: absolute;
transition: transform 200ms;
width: calc(60% - 2px);
height: calc(100% - 2px);
border-radius: inherit;
left: 1px;
top: 1px;
box-shadow:
0 0 0 1px rgba(0,0,0,.05),
0 1px 3px rgba(0,0,0,.2);
background: white;
@include rtl(transform, translateX(70%));
}
}
.zammad-switch input {
display: none;
&[disabled] + label {
cursor: not-allowed;
background: hsl(210,17%,93%);
border-color: hsl(210,10%,85%);
}
&:focus + label {
transition: none;
background: hsl(200,71%,59%);
box-shadow: 0 0 0 3px hsl(201,62%,90%);
}
&:checked + label {
background: hsl(200,71%,59%);
}
&:checked + label:after {
transform: translateX(70%);
@include rtl(transform, none);
}
}
.controls .zammad-switch {
margin-top: 10px;
}
.horizontal-filter-text {
@include bidi-style(margin-right, 5px, margin-left, 0);
}
.filter-controls {
display: flex;
align-items: center;
}
.filter-control {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
box-shadow: 0 0 0 1px hsl(198,19%,86%) inset;
border-radius: 100%;
background: white;
@extend %clickable;
&:hover:not(.is-disabled) {
border-color: hsl(198,19%,83%);
.icon {
fill: black;
}
}
&.is-disabled {
cursor: not-allowed;
opacity: 0.5;
}
&:not(:last-child) {
@include bidi-style(margin-right, 7px, margin-left, 0);
}
.icon {
fill: hsl(0,0%,61%);
}
}
.filter-preview {
margin: 20px 0;
}
.day-name {
text-align: center;
margin-bottom: 0;
color: inherit;
white-space: nowrap;
}
.form-group.day-time {
padding: 10px 5px 6px;
margin: 0;
label {
text-align: center;
}
.form-control {
margin-left: auto;
margin-right: auto;
margin-bottom: 8px;
}
}
.settings-row {
margin-bottom: 10px;
}
.settings-list {
border-collapse: separate;
color: hsl(60,1%,34%);
background: white;
table-layout: auto;
margin-bottom: 20px;
word-break: break-all;
word-wrap: break-word;
&.is-invalid {
border-radius: 3px;
box-shadow:
0 0 0 2px white,
0 0 0 4px hsl(0,90%,70%);
}
&.settings-list--fixed {
table-layout: fixed;
}
&.settings-list--stretch {
width: 100%;
}
&:not(:last-child) {
margin-bottom: 34px;
}
&.settings-list--toggleRow {
tr:not(.is-active) td > *:not(.dont-grey-out) {
opacity: 0.33;
}
}
&.settings-list--toggleColumn {
td:not(.is-active) * {
opacity: 0.33;
}
}
&.settings-list--placeholder {
th {
text-align: center;
border-bottom: 1px solid hsl(198, 18%, 86%);
border-radius: 4px;
}
td {
height: 40px;
}
}
th, td {
vertical-align: top;
padding: 10px;
border: 1px solid hsl(198,18%,86%);
}
th {
font-weight: normal;
text-transform: uppercase;
font-size: 12px;
line-height: 17px;
letter-spacing: 0.05em;
background: hsl(197,20%,93%);
border-bottom: none;
word-break: normal;
}
td.empty-cell {
border-top: none;
}
.settings-list-separator {
@include bidi-style(border-left-width, 3px, border-right-width, 1px);
}
.text-muted {
text-transform: none;
font-size: 10px;
letter-spacing: 0;
color: hsl(198,18%,72%);
}
.inline-label {
color: inherit;
}
.btn--table {
padding-top: 0;
padding-bottom: 0;
}
th:not(:last-child),
td:not(:last-child) {
@include bidi-style(border-right-width, 0, border-left-width, 1px);
}
tr:not(:last-child) td,
& > tbody:not(:last-child) tr td {
border-bottom: none;
}
tr.is-inactive td {
color: hsl(199,19%,80%);
text-decoration: line-through;
}
& > thead > tr > th:first-child {
@include bidi-style(border-top-left-radius, 4px, border-top-right-radius, 0);
}
& > thead > tr > th:last-child {
@include bidi-style(border-top-right-radius, 4px, border-top-left-radius, 0);
}
& > tbody:last-child > tr:last-child > td:first-child,
& > tfoot:last-child > tr:last-child > td:first-child {
@include bidi-style(border-bottom-left-radius, 4px, border-bottom-right-radius, 0);
}
& > tbody:last-child > tr:last-child > td:last-child,
& > tfoot:last-child > tr:last-child > td:last-child {
@include bidi-style(border-bottom-right-radius, 4px, border-bottom-left-radius, 0);
}
p {
margin: 0;
}
.settings-list-action-cell {
@extend .u-clickable;
text-align: center;
color: hsl(198,19%,72%);
background: hsl(197,22%,96%);
line-height: 1;
padding-top: 11px;
padding-bottom: 9px;
&:hover {
color: hsl(60,1%,34%);
}
.icon {
fill: currentColor;
vertical-align: top;
margin-top: -2px;
}
}
.settings-list-controls {
padding: 0;
& > div {
display: flex;
min-height: 40px;
}
.settings-list-control {
display: flex;
align-items: center;
justify-content: center;
padding: 0 10px;
}
}
.settings-list-control-cell {
padding: 5px;
& ~ .settings-list-row-control {
padding-bottom: 7px;
}
}
}
.select-boxes {
display: flex;
align-items: flex-start;
}
.select-box {
display: flex;
flex-wrap: wrap;
margin: 0 14px;
background: white;
color: hsl(60,1%,34%);
@include bidi-style(border-right, 1px solid hsl(198,18%,86%), border-left, none);
border-bottom: 1px solid hsl(198,18%,86%);
border-radius: 3px 3px 0 0;
&.select-box--vertical .select-value {
flex-basis: 100%;
}
&.select-box--four .select-value {
flex-basis: 25%;
}
&.select-box--six .select-value {
flex-basis: calc(100%/6);
}
.select-box-header {
@extend label;
margin: 0;
color: inherit;
display: flex;
align-items: center;
padding: 8px 10px;
flex-basis: 100%;
white-space: nowrap;
background: hsl(197, 20%, 93%);
@include bidi-style(border-left, 1px solid hsl(198,18%,86%), border-right, none);
border-top: 1px solid hsl(198,18%,86%);
border-radius: 3px 3px 0 0;
}
.select-value {
display: flex;
align-items: center;
justify-content: center;
min-height: 34px;
background-clip: content-box;
box-shadow:
1px 0 hsl(198,18%,86%) inset,
0 1px hsl(198,18%,86%) inset;
@extend %clickable;
&.is-selected {
background-color: $highlight-color;
box-shadow: none;
color: white;
}
}
&:first-child {
@include bidi-style(margin-left, 0, margin-left, 14px);
}
&:last-child {
@include bidi-style(margin-right, 0, margin-left, 14px);
}
}
.searchableSelect {
position: relative;
.form-control {
padding-right: 37px;
@include bidi-style(padding-right, 37px, padding-left, 12px);
}
.searchableSelect-main {
position: relative;
line-height: 19px;
&.form-control--small ~ .searchableSelect-autocomplete {
top: 7px;
left: 9px;
}
}
.searchableSelect-shadow {
position: absolute;
left: -9999px;
}
.dropdown-menu {
margin-top: -3px;
max-width: 100%;
}
&-option-text {
flex: 1 1 0%;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
display: block;
& + .icon {
@include bidi-style(margin-left, 10px, margin-right, 0);
}
}
&.dropdown li {
&:hover:not(.is-active) {
background: none;
}
&.is-hidden {
display: none;
}
}
li:not(.is-active):hover + li {
box-shadow: 0 1px rgba(255,255,255,.13) inset;
}
.searchableSelect-autocomplete {
position: absolute;
left: 13px;
top: 11px;
right: 37px;
white-space: nowrap;
overflow: hidden;
display: flex;
pointer-events: none;
white-space: pre;
line-height: 19px;
}
.searchableSelect-autocomplete-invisible {
color: transparent;
}
.searchableSelect-autocomplete-visible {
color: hsl(0,0%,33%);
background: hsl(201,61%,90%);
}
.loading.icon {
position: absolute;
right: 11px;
top: 11px;
display: none;
}
&.is-loading {
.loading.icon {
display: block;
}
.icon-arrow-down {
display: none;
}
}
}
.action {
background: white;
border: 1px solid hsl(199,44%,93%);
color: hsl(206,7%,28%);
box-shadow: 0 2px hsl(210,7%,94%);
display: flex;
flex-wrap: wrap;
padding: 10px;
margin-bottom: 17px;
&.is-inactive {
background: none;
box-shadow: none;
position: relative;
top: 2px;
border-color: hsl(199,44%,94%);
& > *:not(.action-controls) {
opacity: 0.33;
}
}
.action-flow {
display: flex;
flex-wrap: wrap;
&.action-flow--noWrap {
flex-wrap: nowrap;
}
&.action-flow--row {
flex-basis: 100%;
}
}
.action-separator {
width: 1px;
background: hsl(0,0%,97%);
margin: 0 10px;
}
.table {
margin-left: -9px;
margin-right: -9px;
}
h2 {
margin-bottom: 0;
.action-form-status .icon {
margin-top: 0;
}
}
.action-block,
.action-controls,
.action-row {
padding: 10px;
h2:first-child,
h3:first-child {
margin-top: 0;
}
}
.action-block {
&.action-block--flex {
flex: 1;
}
}
.action-row {
flex-basis: 100%;
}
h3 {
color: hsl(0,0%,60%);
margin-top: 0;
}
.action-label {
background: hsl(197,20%,93%);
border: 1px solid hsl(197,20%,88%);
align-self: flex-start;
padding: 5px 10px;
margin: -4px -25px -5px auto;
@include rtl(margin, -4px auto -5px -25px);
color: hsl(197,16%,65%);
cursor: default;
}
.action-flow-icon {
width: 15px;
height: 24px;
margin-top: 16px; /* compensate for h3 height */
margin-left: 20px;
margin-right: 20px;
fill: hsl(198,17%,89%);
}
.action-controls {
display: flex;
@include bidi-style(margin-left, auto, margin-right, 0);
align-self: flex-end;
.btn {
align-self: center;
}
}
}
/*
datepicker resets some css it potentially inherits when its rendered inside a table
*/
.datepicker {
background: hsl(234,10%,19%);
color: white;
padding: 0 14px 11px;
position: absolute;
min-width: 0;
cursor: default;
&.datepicker-rtl {
left: auto;
right: 0;
}
.datepicker-switch {
padding: 12px 0;
font-weight: bold;
font-size: 15px;
text-align: center;
letter-spacing: 0;
line-height: 1.5;
text-transform: none;
@extend %clickable;
&:hover {
background: hsl(240,10%,14%);
}
}
th {
background: none;
}
th, td {
border: none;
}
.next,
.prev {
padding: 12px 9px 0;
vertical-align: top;
text-align: center;
@extend %clickable;
.icon {
margin-top: 4px;
fill: white;
opacity: 1;
}
&:hover {
background: hsl(240,10%,14%);
}
}
.dow {
text-transform: uppercase;
font-size: 12px;
padding: 5px 5px 0;
text-align: center;
}
.day {
width: 27px;
height: 26px;
border-radius: 14px;
padding: 1px 0 0 !important;
}
.month,
.year {
float: left;
width: 23%;
margin: 1%;
padding: 5px 0;
}
.day, .month, .year {
text-align: center;
font-size: 15px;
&:not(.disabled) {
@extend %clickable;
}
&.disabled,
&.old,
&.new {
color: hsl(0,0%,33%);
}
&.today {
background: hsl(240,10%,4%);
}
&.focused {
box-shadow: 0 0 0 1px hsl(207,82%,64%) inset;
}
&.active {
color: white;
background: hsl(207,82%,64%);
}
}
.today {
text-align: center;
padding: 2px 0 0;
@extend %clickable;
&.hidden {
display: none;
}
}
}
#notify {
position: absolute;
top: 10px;
left: 0;
right: 0;
@extend .zIndex-10;
pointer-events: none;
.noty_bar {
max-width: 500px;
text-align: center;
margin: 0 auto 10px;
.noty_message {
pointer-events: auto;
display: inline-block;
background: rgba(0,0,0,.75);
padding: 10px 15px 8px;
border-radius: 3px;
color: white;
}
.icon {
vertical-align: middle;
margin-top: -3px;
@include bidi-style(margin-right, 5px, margin-left, 0);
}
a {
color: inherit;
text-decoration: none;
}
}
}
.animated {
animation-duration: 300ms;
animation-fill-mode: both;
}
.fadeInDown {
animation-name: fadeInDown;
}
@keyframes fadeInDown {
from {
opacity: 0;
transform: translate3d(0, -50%, 0);
}
to {
opacity: 1;
transform: none;
}
}
.fadeOutDown {
animation-name: fadeOutDown;
}
@keyframes fadeOutDown {
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(0, 50%, 0);
}
}
.loading-placeholder {
display: flex;
align-items: center;
justify-content: center;
height: 133px;
.loading-text {
@include bidi-style(margin-left, 10px, margin-right, 0);
}
}
.chat {
background: white;
flex: 1;
display: flex;
flex-direction: column;
padding: 0 14px;
.page-header {
margin: 15px 6px 5px;
}
}
.chat-workspace {
display: flex;
flex-wrap: wrap;
padding: 0 0 10px;
margin: 0 -4px;
flex: 1;
}
.chat-window {
flex: 0 1 0;
overflow: hidden;
display: flex;
flex-direction: column;
color: hsl(0,0%,33%);
transition: all 500ms;
transform: scale(0);
&.is-open {
flex: 1 0 25%;
transform: scale(1);
padding: 10px;
}
&.is-offline {
.chat-controls {
opacity: 0.5;
}
}
}
.chat-header {
background: hsl(210,8%,95%);
border: 1px solid hsl(0,0%,91%);
border-radius: 3px 3px 0 0;
height: 43px;
line-height: 13px;
flex-shrink: 0;
display: flex;
justify-content: space-between;
align-items: center;
}
.chat-name {
margin: 0 2px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
.status-badge {
@include bidi-style(margin-left, 2px, margin-right, 0);
vertical-align: middle;
height: 100%;
}
}
.chat-status {
@include bidi-style(margin-left, 10px, margin-right, 0);
&[data-status='online'] .icon {
fill: $supergood-color;
}
&[data-status='offline'] .icon {
fill: $superbad-color;
}
.icon-status-modified-inner-circle,
.icon-status-modified-outer-circle {
display: none;
}
&.is-modified {
.icon-status {
display: none;
}
.icon-status-modified-inner-circle,
.icon-status-modified-outer-circle {
display: block;
}
}
}
.chat-status-holder {
position: relative;
}
.chat-disconnect,
.chat-close {
@extend %clickable;
padding: 10px;
.btn {
min-width: 80px;
justify-content: center;
}
}
.chat-disconnect.is-hidden,
.chat-close.is-hidden {
display: none;
}
.chat-scroll-hint {
background: hsl(210,8%,98%);
display: flex;
align-items: center;
border: 1px solid hsl(0,0%,91%);
border-top: none;
padding: 7px 10px 6px;
color: hsl(0,0%,60%);
@extend %clickable;
&.is-hidden {
display: none;
}
.icon {
fill: hsl(210,5%,78%);
@include bidi-style(margin-right, 8px, margin-left, 0);
}
}
.chat-body-holder {
flex: 1;
background: hsl(210,17%,98%);
font-size: 13px;
line-height: 18px;
overflow: auto;
@include bidi-style(border-right, 1px solid hsl(0,0%,91%), border-left, none);
border-left: 1px solid hsl(0,0%,91%);
position: relative;
}
.chat-body-holder--standalone {
border-top: 1px solid hsl(0,0%,91%);
border-bottom: 1px solid hsl(0,0%,91%);
}
.chat-body {
padding: 10px;
display: flex;
flex-direction: column;
align-items: flex-start;
position: absolute;
width: 100%;
top: 0;
left: 0;
}
.chat-timestamp,
.chat-notice-message {
font-size: 12px;
color: hsl(10,5%,78%);
margin-bottom: 4px;
align-self: center;
}
.chat-timestamp-label {
font-weight: 500;
}
.chat-message {
max-width: 90%;
background: white;
padding: 6px 12px;
border-radius: 16px;
margin-bottom: 4px;
}
.chat-message--customer.chat-message--new {
font-weight: bold;
}
.chat-message--agent {
@include bidi-style(margin-left, auto, margin-right, 0);
background: hsl(199,44%,93%);
align-self: flex-end;
}
.chat-message--agent + .chat-message--customer,
.chat-message--customer + .chat-message--agent {
margin-top: 10px;
}
.chat-status-message {
align-self: center;
background: hsl(197,18%,92%);
padding: 6px 12px;
margin: 4px 0 10px;
border-radius: 3px;
}
.chat-loader {
@include bidi-style(margin-right, -4px, margin-left, 0);
.icon {
width: 12px;
height: 12px;
fill: hsl(0,0%,90%);
@include bidi-style(margin-left, -4px, margin-right, 0);
vertical-align: middle;
animation: ease-in-out load-fade 600ms infinite alternate;
}
.icon + .icon {
animation-delay: .13s;
}
.icon + .icon + .icon {
animation-delay: .26s;
}
}
@keyframes load-fade {
from { opacity: .5; transform: scale(0.6); }
67% { opacity: 1; transform: scale(1); }
}
.chat-footer {
border-top: 1px solid hsl(0,0%,93%);
padding: 10px 10px 0;
display: flex;
justify-content: center;
align-self: stretch;
margin: 0 -10px;
}
.chat-controls {
display: flex;
align-items: flex-start;
padding: 10px;
border: 1px solid hsl(0,0%,91%);
border-radius: 0 0 3px 3px;
flex-shrink: 0;
}
.chat-input {
@include bidi-style(margin-right, 10px, margin-left, 0);
flex-grow: 1;
position: relative;
.form-control {
overflow: auto;
max-height: 50vh;
}
}
.browser {
margin: 0 0 20px;
border: 1px solid hsl(0,0%,90%);
border-radius: 5px;
position: relative;
transition: 500ms;
width: 100%;
}
.browser-body {
position: relative;
overflow: hidden;
height: 450px;
width: 100%;
.browser-website {
position: relative;
height: 100%;
transform-origin: left top;
overflow: hidden;
&.is-picking {
cursor: image_url("/assets/images/eyedropper.gif") 0 15, auto;
}
}
img {
vertical-align: bottom;
}
}
.browser-head {
display: flex;
padding: 10px;
border-bottom: 1px solid hsl(0,0%,90%);
.browser-input {
position: relative;
flex: 1;
@include bidi-style(margin-right, 10px, margin-left, 0);
input {
min-width: 0;
@include bidi-style(padding-right, 40px, padding-left, 12px);
&.is-loading + .loading.icon {
display: block;
}
}
.loading.icon {
position: absolute;
@include bidi-style(right, 11px, left, auto);
top: 10px;
display: none;
}
}
.help-block {
margin-bottom: -3px;
}
.browser-control {
width: 39px;
display: flex;
align-items: center;
justify-content: center;
fill: hsl(202,8%,28%);
@extend %clickable;
}
}
.chat-demo {
.zammad-chat {
position: absolute;
transform-origin: right bottom;
transition: 500ms;
user-select: none;
will-change: transform;
&.is-fullscreen {
right: 0;
width: 100%;
height: 100%;
border-radius: 0 !important;
.zammad-chat-header {
border-radius: 0 !important;
box-shadow:
0 -1px rgba(0,0,0,.1),
0 -1px rgba(0,0,0,.1) inset,
0 1px 1px rgba(0,0,0,.13);
}
.zammad-chat-controls {
border-radius: 0 0 5px 5px;
}
}
&.no-transition {
transition: none;
}
.zammad-chat-welcome {
display: block !important;
}
.zammad-chat-header-icon-open {
display: inline !important;
}
.zammad-chat-agent-status,
.zammad-chat-header-icon-close,
.zammad-chat-agent {
display: none !important;
}
&.is-open {
.zammad-chat-agent {
display: block !important;
}
.zammad-chat-header-icon-close,
.zammad-chat-agent-status {
display: inline-block !important;
}
.zammad-chat-welcome,
.zammad-chat-header-icon-open {
display: none !important;
}
}
&.is-fullscreen {
height: 100%;
.zammad-chat-controls {
border-radius: 0 0 5px 5px;
}
}
}
.zammad-chat-header {
pointer-events: auto;
}
.chat-demo-animationHolder {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
animation: slide-up 500ms;
pointer-events: none;
}
}
@keyframes slide-up {
from { transform: translateY(100%); }
}
.select-tabs {
display: flex;
border: 1px solid hsla(206,100%,3%,0.08);
border-radius: 3px;
.tab {
height: 39px;
padding-top: 11px;
&.is-selected {
background: linear-gradient(hsla(202,50%,20%,0.1), hsla(202,50%,20%,.03));
}
}
}
.todo {
position: relative;
display: block;
.icon {
fill: hsl(0,0%,80%);
vertical-align: middle;
margin: -2px 3px 0 0;
}
&.is-done .icon {
fill: $supergood-color;
}
}
.columnSelect {
height: 234px;
display: flex;
padding: 0;
line-height: 22px;
.columnSelect-shadow {
display: none;
}
.columnSelect-column--selected {
flex: 1 1 66%;
overflow: auto;
padding: 7px;
}
.columnSelect-column--sidebar {
flex-basis: 33%;
flex-shrink: 1;
border-left: 1px solid hsl(198,4%,90%);
background: hsl(198,4%,96%);
display: flex;
flex-direction: column;
min-width: 0;
.columnSelect-option:hover {
background: hsl(198,4%,91%);
}
}
.columnSelect-pool {
flex: 1 1 auto;
overflow: auto;
padding: 7px;
}
.columnSelect-option {
@extend %clickable;
padding: 0 5px;
border-radius: 1px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
&:hover {
background: hsl(198,4%,96%);
}
}
.is-hidden,
.is-filtered {
display: none;
}
}
.columnSelect-search {
position: relative;
.icon {
fill: hsl(198,4%,85%);
}
.icon-magnifier {
left: 7px;
top: 5px;
position: absolute;
}
.columnSelect-search-clear {
position: absolute;
right: 0;
top: 0;
padding: 5px 7px;
@extend %clickable;
line-height: 1;
}
input {
width: 100%;
padding: 2px 30px 1px;
border: none;
outline: none;
border-bottom: 1px solid hsl(198,4%,90%);
background: none;
}
}
.pulsate-animation {
animation: pulsate 667ms ease-in-out infinite alternate;
}
.richtext-content {
&[contenteditable] {
&,
&:hover,
&:focus {
background: none;
}
}
table,
pre,
blockquote {
margin-bottom: 16px;
}
& > p,
& > table,
& > pre,
& > blockquote {
&:first-child {
margin-top: 6px;
}
&:last-child {
margin-bottom: 6px;
}
}
table {
table-layout: auto;
display: block;
width: 100%;
overflow: auto;
word-break: break-all;
col {
width: auto;
}
}
blockquote {
padding: 8px 12px;
border-left: 5px solid #eee;
}
code {
border: none;
background: hsl(0,0%,97%);
white-space: pre-wrap;
}
pre {
padding: 12px 15px;
font-size: 13px;
line-height: 1.45;
background: hsl(0,0%,97%);
white-space: pre-wrap;
border-radius: 3px;
border: none;
overflow: auto;
}
hr {
margin-top: 6px;
margin-bottom: 6px;
border: 0;
border-top: 1px solid #dfdfdf;
}
}
.detail-search-header {
margin: 20px 0 32px;
}
.batch-overlay {
@extend .fit, .zIndex-1;
color: white;
text-transform: uppercase;
text-align: center;
letter-spacing: 0.07em;
font-size: 0.95em;
line-height: 1.3;
display: none;
will-change: display;
cursor: grabbing;
overflow: hidden;
user-select: none;
&.is-visible {
display: block;
}
&-backdrop {
@extend .fit;
background: hsla(231,20%,8%,.8);
opacity: 0;
will-change: opacity;
}
&-circle {
margin: 35px auto;
background: hsl(207,7%,29%);
border-radius: 100%;
border: 4px solid white;
width: 140px;
height: 140px;
padding: 20px 0;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
position: absolute;
left: 0;
right: 0;
will-change: transform, opacity;
visibility: hidden;
&--top {
top: 0;
}
&--bottom {
bottom: 0;
}
.icon {
fill: currentColor;
opacity: 1;
}
&-label {
width: 50%;
margin: 10px 0;
}
}
&-cancel {
background: hsla(0,0%,100%,.21);
background-clip: padding-box;
border: 2px dashed hsla(0,0%,100%,.3);
border-radius: 8px;
padding: 28px;
margin: auto 200px;
position: absolute;
left: 0;
right: 0;
max-height: 100px;
visibility: hidden;
will-change: opacity;
display: flex;
justify-content: center;
align-items: center;
}
&-box {
background: hsl(232,9%,17%);
width: 100%;
position: absolute;
visibility: hidden;
will-change: opacity, transition;
&-inner {
margin: 37px 25px;
display: flex;
flex-wrap: wrap;
justify-content: center;
overflow: hidden;
}
}
&-assign {
padding-bottom: 50px;
bottom: -50px; // extra space for bounce animation
.batch-overlay-box-inner {
max-height: 310px;
@media screen and (min-height: 1000px) {
max-height: 465px;
}
}
&-group {
box-shadow: 0 0 35px hsla(0,0%,0%,.5);
.batch-overlay-box-inner {
margin-top: 42px;
margin-bottom: 10px;
}
&-name {
position: absolute;
left: 0;
right: 0;
top: 0;
padding: 11px 13px 8px;
line-height: 1;
position: absolute;
background: hsl(233,10%,15%);
}
}
&-entry {
padding: 13px;
width: 116px;
height: 155px;
&.is-hovered {
.avatar {
border-color: $highlight-color;
transform: scale(1.05);
}
}
.avatar {
border: 4px solid hsl(231,5%,30%);
margin-bottom: 10px;
box-sizing: content-box;
transition: transform 120ms;
cursor: inherit;
z-index: 1;
}
&-name {
max-height: 34px;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
word-break: break-word;
}
&-detail {
color: gray;
}
}
}
&-macro {
padding-top: 50px;
top: -50px; // extra space for bounce animation
.batch-overlay-box-inner {
max-height: 146px;
margin: 24px 12px;
@media screen and (min-height: 800px) {
max-height: 292px;
}
}
&-entry {
margin: 13px;
border: 4px solid hsl(231,5%,30%);
background: hsl(233,9%,24%);
border-radius: 100%;
height: 120px;
width: 120px;
padding: 13px 13px 10px;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.9em;
&.is-hovered {
border-color: $highlight-color;
transform: scale(1.05);
}
}
}
}
.batch-dragger {
position: absolute;
left: 0;
top: 0;
pointer-events: none;
width: 250px;
height: 40px;
will-change: transform;
&-item {
position: absolute;
left: 0;
width: 100%;
background: hsl(200,100%,91%);
border-radius: 4px;
display: flex;
align-items: center;
padding: 11px 0 9px 11px;
box-shadow: 0 0 10px hsla(0,0%,0%,.28);
will-change: transform;
a {
color: inherit;
}
td {
display: block;
padding: 0 12px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
flex-shrink: 0;
&:nth-child(3) {
flex-shrink: 1;
}
&:nth-child(n+4) {
display: none;
}
}
}
&-counter {
position: absolute;
right: -8px;
bottom: -8px;
width: 25px;
height: 25px;
border-radius: 99px;
z-index: 1;
color: white;
background: $highlight-color;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 0 10px hsla(0,0%,0%,.28);
will-change: transform;
&:empty {
display: none;
}
}
}
/*
----------------
layout classes
----------------
*/
.horizontal,
.vertical,
.centered {
display: flex;
}
.horizontal.hide,
.vertical.hide,
.centered.hide {
display: none;
}
.horizontal {
flex-direction: row;
}
.horizontal.reverse {
flex-direction: row-reverse;
}
.vertical {
flex-direction: column;
}
.vertical.reverse {
flex-direction: column-reverse;
}
.vertical.stretch > *,
.horizontal.stretch > * {
flex: 1;
}
.relative {
position: relative;
}
.fit {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
body.fit {
margin: 0;
}
.scrollable {
overflow: auto;
}
.flex {
flex: 1;
}
/*
Firefox minimum content bugfix
https://github.com/philipwalton/flexbugs#1-minimum-content-sizing-of-flex-items-not-honored
"By default, flex items won’t shrink below their minimum
content size (the length of the longest word or fixed-size element).
To change this, set the min-width or min-height property."
*/
.flex-shrink-horizontal {
min-width: 0;
}
.flex-full {
flex: 1 1 100%;
}
.flex-auto {
flex: 1 1 auto;
}
.flex-shrink {
flex: 0 1 auto;
}
.flex-none {
flex: none;
}
.flex-1 {
flex: 1;
}
.flex-2 {
flex: 2;
}
.flex-3 {
flex: 3;
}
.justify-start {
justify-content: flex-start;
}
.justified {
justify-content: center;
}
.justify-end {
justify-content: flex-end;
}
.justify-between {
justify-content: space-between;
}
.start {
align-items: flex-start;
}
.center {
align-items: center;
}
.baseline {
align-items: baseline;
}
.centered {
align-items: center;
justify-content: center;
}
.end {
align-items: flex-end;
}
.self-start {
align-self: start;
}
.self-end {
align-self: end;
}
.span-width {
flex-basis: 100%;
}
.two-columns,
.three-columns,
.wrap {
flex-wrap: wrap;
}
.two-columns > .column {
width: 50%;
}
.three-columns > .column {
width: 33.33%;
}
.align-left {
@include bidi-style(margin-right, auto, margin-left, 0);
}
.align-right {
@include bidi-style(margin-left, auto, margin-right, 0);
}
.space-left {
@include bidi-style(margin-left, 10px, margin-right, 0);
}
.space-right {
@include bidi-style(margin-right, 10px, margin-left, 0);
}
.align-center {
margin-left: auto;
margin-right: auto;
}
.half-spacer {
width: 5px;
height: 5px;
}
.spacer {
width: 10px;
height: 10px;
}
.double-spacer {
width: 20px;
height: 20px;
}
.flex-spacer {
flex: 1;
}
span.is-disabled {
cursor: not-allowed;
opacity: 0.5;
}