/* Site-wide styles */

/* Colours */

md-icon {
  width: 1em;
  min-width: 1em;
  height: 1em;
  min-height: 1em;
  color: inherit;
}

md-icon svg {
  fill: currentColor;
}

.text-ellipsis {
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.svg {
  position: relative;
  display: inline-block;
  width: 25px;
  height: 25px;
  vertical-align: middle;
  box-sizing: content-box;
}

.svg.full {
  width: 100%;
  height: 100%;
}

.svg svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  fill: currentColor;
}

/* Colours */

.alert {
  margin-bottom: 5px;
}

.sibling-spacing-left {
  margin-left: 5px;
}

.sibling-spacing-right {
  margin-right: 5px;
}

.sibling-spacing-top {
  margin-top: 5px;
}

.sibling-spacing-bottom {
  margin-bottom: 5px;
}

.state-view.ng-enter {
  animation: fadeIn 1s;
  -moz-animation: fadeIn 1s;
}

.animate-fade-in.ng-enter {
  animation: fadeIn 1s ease;
  -moz-animation: fadeIn 1s;
}

/* Defaults */

.button {
  font-weight: 400;
  display: inline-block;
  text-align: center;
  border-radius: 4px;
  border-width: 0;
  outline: none;
}

.button {
  color: #fff;
  background-color: #13CE66;
  font-weight: 500;
}

.button:hover {
  color: #fff;
  background: #14dc6d;
  box-shadow: inset 0px -3px 0px 0 #10ad56;
  cursor: pointer;
}

.button:hover {
  text-decoration: none;
}

.button:focus,
.button:active {
  outline: none;
}

/* button sizes */

.button.button-xs {
  padding: 3px 8px;
  font-size: 12px;
  min-width: 50px;
}

.button.button-s {
  padding: 6px 8px;
  font-size: 13px;
  min-width: 50px;
}

.button.button-m {
  padding: 10px 13px;
  font-size: 15px;
  min-width: 85px;
}

.button.button-l {
  padding: 13px 20px;
  font-size: 16px;
  min-width: 100px;
}

.button.button-xl {
  padding: 13px 20px;
  font-size: 18px;
  min-width: 120px;
}

.button.button-full-width {
  width: 100%;
}

/* button themes */

.button.button-positive {
  color: #fff;
  background-color: #13CE66;
}

.button.button-positive:hover {
  color: #fff;
  background: #14dc6d;
  box-shadow: inset 0px -3px 0px 0 #12c05f;
  cursor: pointer;
}

.button.button-submit {
  color: #fff;
  background-color: #13CE66;
}

.button.button-submit:hover {
  color: #fff;
  background: #14dc6d;
  box-shadow: inset 0px -3px 0px 0 #10ad56;
  cursor: pointer;
}

.button.button-dark {
  color: #fff;
  background-color: #1F2D3D;
}

.button.button-dark:hover {
  color: #fff;
  background: #243447;
  box-shadow: inset 0px -3px 0px 0 #131c25;
  cursor: pointer;
}

.button.button-slate {
  color: #fff;
  background-color: #3C4858;
}

.button.button-slate:hover {
  color: #fff;
  background: #424f61;
  box-shadow: inset 0px -3px 0px 0 #2e3743;
  cursor: pointer;
}

.button.button-orange {
  color: #fff;
  background-color: #FF7849;
}

.button.button-orange:hover {
  color: #fff;
  background: #ff8358;
  box-shadow: inset 0px -3px 0px 0 #ff5e25;
  cursor: pointer;
}

.button.button-green {
  color: #fff;
  background-color: #13CE66;
}

.button.button-green:hover {
  color: #fff;
  background: #14dc6d;
  box-shadow: inset 0px -3px 0px 0 #10ad56;
  cursor: pointer;
}

.button.button-negative {
  color: #fff;
  background-color: #FF4949;
}

.button.button-negative:hover {
  color: #fff;
  background: #ff5858;
  box-shadow: inset 0px -3px 0px 0 #ff2525;
  cursor: pointer;
}

.button.button-yellow {
  color: #fff;
  background-color: #FFC82C;
  color: #3C4858;
}

.button.button-yellow:hover {
  color: #fff;
  background: #ffcc3b;
  box-shadow: inset 0px -3px 0px 0 #ffbf08;
  cursor: pointer;
}

.button.button-blue {
  color: #fff;
  background-color: #1FB6FF;
  color: #fff;
}

.button.button-blue:hover {
  color: #fff;
  background: #2ebbff;
  box-shadow: inset 0px -3px 0px 0 #00a9fa;
  cursor: pointer;
}

.button.button-light-blue {
  color: #fff;
  background-color: #85D7FF;
}

.button.button-light-blue:hover {
  color: #fff;
  background: #94dcff;
  box-shadow: inset 0px -3px 0px 0 #61cbff;
  cursor: pointer;
}

.button.button-ghost {
  color: #3C4858;
  background-color: #fff;
  border: 1px solid #D3DCE6;
}

.button.button-ghost:hover {
  color: #3C4858;
  background: white;
  box-shadow: inset 0px -3px 0px 0 #ededed;
  cursor: pointer;
}

.button.button-bold {
  font-weight: 500;
}

/* ghost buttons - hover states */

.button.button-ghost.hover-default:hover {
  background: #1FB6FF;
  color: #fff;
  box-shadow: inset 0px -2px 0px 0 #00a9fa;
}

.button.button-ghost.hover-orange:hover {
  background: #FF7849;
  color: #fff;
  box-shadow: inset 0px -2px 0px 0 #ff5e25;
}

.button.button-ghost.hover-positive:hover {
  background: #13CE66;
  color: #fff;
  box-shadow: inset 0px -2px 0px 0 #12c05f;
}

.button.button-ghost.hover-negative:hover {
  background: #FF4949;
  color: #fff;
  box-shadow: inset 0px -2px 0px 0 #ff2525;
}

.button.button-ghost.hover-light:hover {
  background: #F9FAFC;
  color: #273444;
  box-shadow: inset 0px -2px 0px 0 #e1e6f0;
}

.button.button-toggle {
  background: #fff;
  color: #273444;
  border: 1px solid #D3DCE6;
  min-width: 77px;
  border-radius: 0;
}

.button.button-toggle:active,
.button.button-toggle:focus {
  outline: none;
}

.button.button-toggle.button-active {
  background: #1FB6FF;
  border: 1px solid #1FB6FF;
  color: #fff;
  cursor: default;
}

.button.button-toggle.disabled {
  cursor: default;
}

.button.button-toggle:not(.button-active):hover {
  border: 1px solid #D3DCE6;
  background: #EFF2F7;
  box-shadow: none;
  transition: all linear 0.3s;
}

.button.button-disabled,
.button:disabled {
  cursor: default;
  background: #EFF2F7;
  border: 1px solid #E5E9F2;
  color: #8492A6;
}

.button.button-disabled:hover,
.button:disabled:hover {
  cursor: default;
  background: #EFF2F7;
  border: 1px solid #E5E9F2;
  color: #8492A6;
  box-shadow: none;
}

.btn-link {
  font-size: 16px;
}

.btn-negative {
  color: #FF4949;
}

.button.button-curved {
  border-radius: 20px;
  padding: 6px 15px;
}

.button .icon-default {
  width: 30px;
  display: inline-block;
}

.button .icon-default.svg svg path,
.button .icon-default.svg path {
  fill: #fff;
}

@font-face {
  font-family: 'Fakt Pro Med';
  src: url("/fonts/FaktPro-Medium.eot");
  src: url("/fonts/FaktPro-Medium.eot?#iefix") format("embedded-opentype"), url("/fonts/FaktPro-Medium.woff2") format("woff2"), url("/fonts/FaktPro-Medium.woff") format("woff"), url("/fonts/FaktPro-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'Fakt Pro SmBd';
  src: url("/fonts/FaktPro-SemiBold.eot");
  src: url("/fonts/FaktPro-SemiBold.eot?#iefix") format("embedded-opentype"), url("/fonts/FaktPro-SemiBold.woff2") format("woff2"), url("/fonts/FaktPro-SemiBold.woff") format("woff"), url("/fonts/FaktPro-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'Fakt Pro Hair';
  src: url("/fonts/FaktPro-Hair.eot");
  src: url("/fonts/FaktPro-Hair.eot?#iefix") format("embedded-opentype"), url("/fonts/FaktPro-Hair.woff2") format("woff2"), url("/fonts/FaktPro-Hair.woff") format("woff"), url("/fonts/FaktPro-Hair.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'Fakt Pro Nor';
  src: url("/fonts/FaktPro-Normal.eot");
  src: url("/fonts/FaktPro-Normal.eot?#iefix") format("embedded-opentype"), url("/fonts/FaktPro-Normal.woff2") format("woff2"), url("/fonts/FaktPro-Normal.woff") format("woff"), url("/fonts/FaktPro-Normal.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Fakt Pro Th';
  src: url("/fonts/FaktPro-Thin.eot");
  src: url("/fonts/FaktPro-Thin.eot?#iefix") format("embedded-opentype"), url("/fonts/FaktPro-Thin.woff2") format("woff2"), url("/fonts/FaktPro-Thin.woff") format("woff"), url("/fonts/FaktPro-Thin.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
}

@font-face {
  font-family: 'Fakt Pro Lt';
  src: url("/fonts/FaktPro-Light.eot");
  src: url("/fonts/FaktPro-Light.eot?#iefix") format("embedded-opentype"), url("/fonts/FaktPro-Light.woff2") format("woff2"), url("/fonts/FaktPro-Light.woff") format("woff"), url("/fonts/FaktPro-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'Fakt Pro Bln';
  src: url("/fonts/FaktPro-Blond.eot");
  src: url("/fonts/FaktPro-Blond.eot?#iefix") format("embedded-opentype"), url("/fonts/FaktPro-Blond.woff2") format("woff2"), url("/fonts/FaktPro-Blond.woff") format("woff"), url("/fonts/FaktPro-Blond.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

.input-group {
  padding: 10px 0;
}

.input-group.overflow-hidden {
  overflow: hidden;
}

input,
textarea,
textarea:focus,
input:focus {
  border: 1px solid #E0E6ED;
  position: relative;
  width: 100%;
  box-sizing: border-box;
  border-radius: 3px;
  outline: none;
  transition: all linear 0.2s;
  color: #273444;
}

input {
  color: #1F2D3D;
}

input[readonly]:not([date-picker]) {
  color: #8492A6;
}

input.uppercase {
  text-transform: uppercase;
}

textarea.textarea {
  padding: 11px;
  min-height: 125px;
  resize: vertical;
}

textarea.input-s {
  padding: 5px;
  font-size: 12px;
  resize: vertical;
  min-height: 63px;
}

input:focus:not([readonly]),
textarea:focus:not([readonly]) {
  border: 1px solid #13CE66;
}

input.input-xs {
  font-size: 13px;
  padding: 6px 6px 6px 20px;
}

input.input-s {
  font-size: 13px;
  padding: 8px 8px 8px 20px;
}

input.input-m {
  font-size: 16px;
  padding: 10px 10px 10px 20px;
}

input.input-l {
  font-size: 16px;
  padding: 11px 11px 11px 20px;
}

input.input-xl {
  font-size: 15px;
  padding: 17px 15px 15px 20px;
}

input.input-rounded {
  border-radius: 45px;
}

.input-postcode {
  text-transform: uppercase;
}

input.input-date,
input.input-currency,
input.input-small {
  width: 200px;
}

input.input-date.short,
input.input-currency.short,
input.input-small.short {
  width: 100px;
}

::-webkit-input-placeholder {
  color: #C0CCDA;
  text-transform: none;
}

:-moz-placeholder {
  /* Firefox 18- */
  color: #C0CCDA;
  text-transform: none;
}

::-moz-placeholder {
  /* Firefox 19+ */
  color: #C0CCDA;
  text-transform: none;
}

:-ms-input-placeholder {
  color: #C0CCDA;
  text-transform: none;
}

.input-icon {
  position: relative;
}

.input-icon .svg {
  position: absolute;
  stroke: #D3DCE6;
}

.input-group .fa-info-circle {
  position: absolute;
  right: 10px;
  top: -13px;
  font-size: 18px;
  color: #E0E6ED;
}

.input-group {
  text-align: left;
}

.input-group .fa-info-circle:hover {
  color: #FF7849;
}

.input-icon input:focus:not([readonly]) + div {
  stroke: #13CE66;
  transition: all linear 0.2s;
}

.input-icon input {
  padding-left: 45px;
}

/* input sizes */

.input-icon.input-icon-xs .svg {
  top: 5px;
  left: 13px;
}

.input-icon.input-icon-xs svg {
  max-width: 15px;
}

.input-icon.input-icon-s .svg {
  top: 7px;
  left: 13px;
}

.input-icon.input-icon-s svg {
  max-width: 17px;
}

.input-icon.input-icon-m .svg {
  top: 10px;
  left: 13px;
}

.input-icon.input-icon-m svg {
  max-width: 18px;
}

.input-icon.input-icon-l .svg {
  top: 14px;
  left: 13px;
}

.input-icon.input-icon-l svg {
  max-width: 20px;
}

.input-icon.input-icon-l input {
  padding-left: 50px;
}

.input-icon.input-icon-xl .svg {
  top: 17px;
  left: 13px;
}

.input-icon.input-icon-xl svg {
  max-width: 20px;
}

.input-icon.input-icon-xl input {
  padding-left: 55px;
}

/* input hint */

.input-hint {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
}

.input-hint .before-hint + input {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-hint .before-hint,
.input-hint .after-hint {
  background: white;
  border: 1px solid #D3DCE6;
  color: #8492A6;
  white-space: nowrap;
}

.input-hint .before-hint {
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-right: 0;
}

.input-hint.input-hint-after input {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-hint .after-hint {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  z-index: 20;
  border-left: 0;
}

.input-hint .after-hint.fixed-width {
  width: 150px;
}

.input-hint.input-hint-m .before-hint,
.input-hint.input-hint-m .after-hint {
  height: 46px;
  padding: 8px;
}

.input-hint.input-hint-l .before-hint,
.input-hint.input-hint-l .after-hint {
  height: 51px;
  padding: 12px;
}

input.input-disabled,
input[disabled],
textarea[disabled] {
  background: #EFF2F7;
  border: 1px solid #D3DCE6;
  color: #C0CCDA;
}

input[disabled] {
  color: #8492A6;
}

input.input-borderless,
input.input-borderless:focus {
  border: 0;
}

input.input-border-bottom {
  border-bottom: 1px solid #E5E9F2;
}

input.input-border-bottom:focus {
  border-bottom: 1px solid #1FB6FF;
}

.btn {
  width: auto !important;
}

/* Form errors */

form.error input.ng-invalid,
form.error textarea.ng-invalid {
  border: 1px solid #FF4949;
  transition: all linear 0.2s;
}

form.error input.ng-invalid + div {
  stroke: #FF4949;
  transition: all linear 0.2s;
}

.input-group label.required::after {
  content: '*';
  color: #FF4949;
  padding-left: 5px;
}

/* Form related styles */

.form-optional {
  color: gray;
}

.input-group.grouped-col {
  margin-right: 10px;
}

.input-group.full-width {
  width: 100%;
}

.input-group > label,
.form-label {
  display: block;
  text-align: left;
  padding: 0 0 11px 3px;
  color: #3C4858;
  font-weight: 400;
  font-size: 15px;
}

.input-help-text {
  color: #8492A6;
  font-size: 12px;
  font-style: italic;
  padding-bottom: 5px;
}

.input-group .help-text {
  color: #C0CCDA;
}

form.error .ui-select-container.ng-invalid .ui-select-match > .btn {
  border: 1px solid #FF4949;
}

form.error md-datepicker.ng-invalid .md-datepicker-input-container {
  border: 1px solid #FF4949;
}

.input-group.xl .ui-select-bootstrap > .ui-select-match > .btn {
  height: 54px;
  border-radius: 5px;
  background: white !important;
}

.input-group.xl .ui-select-wrapper {
  position: relative;
  overflow: hidden;
  height: 54px;
}

.input-group.xl .ui-select-placeholder {
  padding-top: 10px;
  font-family: Quicksand, "Helvetica Neue", sans-serif;
  font-size: 15px;
  color: #C0CCDA;
}

.xl.ui-select-container input {
  height: 54px !important;
}

.xl.ui-select-container input::-webkit-input-placeholder {
  color: #C0CCDA;
  font-size: 14px;
}

.xl.ui-select-container input:-moz-placeholder {
  /* Firefox 18- */
  color: #C0CCDA;
  font-size: 14px;
}

.xl.ui-select-container input::-moz-placeholder {
  /* Firefox 19+ */
  color: #C0CCDA;
  font-size: 14px;
}

.xl.ui-select-container input:-ms-input-placeholder {
  color: #C0CCDA;
  text-transform: none;
  font-size: 14px;
}

.input-group.sm .ui-select-bootstrap > .ui-select-match > .btn {
  height: 40px;
  border-radius: 5px;
  background: white !important;
}

.input-group.sm .ui-select-wrapper {
  position: relative;
  overflow: hidden;
  height: 40px;
}

.input-group.sm .ui-select-placeholder {
  line-height: 1.9em;
  font-family: Quicksand, "Helvetica Neue", sans-serif;
  font-size: 15px;
  color: #C0CCDA;
}

.sm.ui-select-container input {
  height: 40px !important;
}

.sm.ui-select-container input::-webkit-input-placeholder {
  color: #C0CCDA;
  font-size: 14px;
}

.sm.ui-select-container input:-moz-placeholder {
  /* Firefox 18- */
  color: #C0CCDA;
  font-size: 14px;
}

.sm.ui-select-container input::-moz-placeholder {
  /* Firefox 19+ */
  color: #C0CCDA;
  font-size: 14px;
}

.sm.ui-select-container input:-ms-input-placeholder {
  color: #C0CCDA;
  text-transform: none;
  font-size: 14px;
}

.input-group.xs {
  padding: 0;
}

.input-group.xs .ui-select-bootstrap > .ui-select-match > .btn {
  height: 30px;
  border-radius: 5px;
  background: white !important;
}

.input-group.xs .ui-select-match-text {
  padding-top: 0;
  margin-top: -2px;
}

.input-group.xs .ui-select-wrapper {
  position: relative;
  overflow: hidden;
  height: 30px;
}

.input-group.xs .ui-select-placeholder {
  line-height: 1.2em;
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 15px;
  color: #C0CCDA;
}

.xs.ui-select-container input {
  height: 30px !important;
}

.xs.ui-select-container input::-webkit-input-placeholder {
  color: #C0CCDA;
  font-size: 14px;
}

.xs.ui-select-container input:-moz-placeholder {
  /* Firefox 18- */
  color: #C0CCDA;
  font-size: 14px;
}

.xs.ui-select-container input::-moz-placeholder {
  /* Firefox 19+ */
  color: #C0CCDA;
  font-size: 14px;
}

.xs.ui-select-container input:-ms-input-placeholder {
  color: #C0CCDA;
  text-transform: none;
  font-size: 14px;
}

.invalid-label {
  font-size: 12px;
  color: #FF4949;
}

.link-negative {
  color: #FF4949;
}

.link-negative.underlined {
  border-bottom: 1px solid #FF4949;
  padding-bottom: 3px;
}

.link-negative:hover {
  color: #c90000;
}

.link-negative:hover.underlined {
  text-decoration: none;
}

.md-checkbox-sm .md-container {
  margin-top: 4px;
}

.md-checkbox-sm .md-label {
  font-size: 13px;
}

.md-checkbox-sm .md-icon {
  width: 15px;
  height: 15px;
}

.md-checkbox-sm .md-icon:after {
  left: 5px !important;
  width: 5px !important;
  height: 10px !important;
}

/* input hint */

.input-hint {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
}

.input-hint .before-hint + input {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-hint .before-hint {
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-right: 0;
}

.input-hint.input-hint-after input {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-hint .after-hint {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  z-index: 20;
  border-left: 0;
}

.input-hint.input-hint-m .before-hint,
.input-hint.input-hint-m .after-hint {
  height: 44px;
  padding: 8px;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-weight: 300;
  padding: 5px 0;
}

h1 {
  font-size: 35px;
}

h2 {
  font-size: 30px;
}

h3 {
  font-size: 25px;
}

h4 {
  font-size: 20px;
}

h5 {
  font-size: 18px;
}

p {
  margin: 1em 0;
  font-weight: 300;
}

small.subtle {
  font-size: 15px;
  color: #C0CCDA;
}

small.subtle.block {
  display: block;
}

.highlight-negative {
  color: #FF4949;
}

.highlight-negative-bold {
  color: #FF4949;
  font-weight: 500;
}

.mango-highlight {
  color: #13CE66;
}

.mango-highlight-bold {
  font-weight: 600;
  color: #13CE66;
}

.uppercase {
  text-transform: uppercase;
}

/* Top level modules */

ol.breadcrumb.resource-breadcrumb {
  margin: 0 0 10px 0;
}

ol.breadcrumb.resource-breadcrumb li:not(:first-child)::before {
  margin-left: 0;
  margin-right: 0;
  padding: 0 0 0 5px;
}

.resource-index .current-dir-drop {
  min-height: 40px;
}

.resource-index .current-dir-drop-message {
  display: none;
}

.resource-index .dragover .current-dir-drop {
  border: 2px solid #009EEB;
}

.resource-index .dragover .current-dir-drop-message {
  display: block;
}

.resource-index .dir-col > div {
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: visible;
}

.resource-index .dir-col .svg {
  width: 25px;
  height: 25px;
  margin-right: 8px;
  box-sizing: content-box;
  border: 3px solid transparent;
  border-radius: 50%;
}

.resource-index .dir-headings {
  background: #E0E6ED;
}

.resource-index .dir-row:not(:first-child) {
  border-top: 1px solid #D3DCE6;
}

.resource-index .dir-row:focus,
.resource-index .dir-row.dragover {
  outline: none;
  color: #fff;
}

.resource-index .dir-row:focus {
  background: #1FB6FF;
}

.resource-index .dir-row:focus .envelope-status {
  color: #E0E6ED;
}

.resource-index .dir-row.dragover {
  background: #009EEB;
}

.resource-index .dir-row,
.resource-index .dir-row * {
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select: none;
  /* Safari */
  -khtml-user-select: none;
  /* Konqueror HTML */
  /* Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */
  user-select: none;
  /* Non-prefixed version, currently
                                  supported by Chrome and Opera */
}

.resource-index .dir-row.sub-dir .svg svg {
  fill: #8492A6;
}

.resource-index .dir-row.sub-dir:focus .svg svg {
  fill: #FFF;
}

.resource-index .dir-row.resource .dir-col .svg {
  border-color: #FFF;
}

.resource-index .current-dir-contents.dragover,
.resource-index .dir-row.dragover .dir-col {
  border-color: blue;
}

.resource-index .sub-dir {
  outline: none !important;
  min-height: 40px;
}

.resource-index .dir-contents {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
  font-size: 1.5rem;
}

.resource-index .dir-contents .dir-row.padding .dir-col {
  height: 50px;
}

.resource-index .dir-contents .dir-col {
  padding: 5px;
}

.resource-index .dir-contents .dir-col-name {
  width: 65%;
}

.resource-index .dir-contents .dir-col-name--with-temporal {
  width: 52%;
}

.resource-index .dir-contents .dir-col-date {
  width: 20%;
}

.resource-index .dir-contents .dir-col-size {
  width: 15%;
}

.resource-index .dir-contents .resource-expired {
  color: #FF4949;
}

.resource-index .no-results {
  height: 200px;
  font-size: 2rem;
  background: #F8F8F8;
}

.resource-index .loading {
  display: inline-block;
}

.resource-index .loading img {
  width: 20px;
}

.resource-index .envelope-status {
  text-transform: capitalize;
  font-size: 0.9em;
  color: #8492A6;
}

.destination-directory {
  outline: none !important;
}

.destination-directory.invalid {
  cursor: default;
}

.resource-container {
  overflow: hidden;
}

.resource-contents-container {
  width: 100%;
  margin: 0 0 10px;
  overflow: auto;
}

.resource-contents-container pre {
  max-height: 100%;
  overflow-y: auto;
  margin: 0;
}

.resource-contents-container img {
  cursor: zoom-out;
}

.resource-contents-container img:not(.zoom) {
  max-width: 100%;
  max-height: 100%;
  cursor: zoom-in;
}

.resource-contents-container.video-container {
  position: relative;
  padding-bottom: 56.25%;
  background: #000;
}

.resource-contents-container.video-container video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.resource-move-dialog .modal-body {
  padding: 0;
  overflow-y: auto;
}

.resource-move-dialog .destination {
  padding: 15px;
}

.resource-move-dialog .dir-list {
  display: block;
  margin: 0;
  padding: 0;
}

.resource-move-dialog .dir-list .dir {
  display: block;
  padding: 0.2em 0.4em;
}

.resource-move-dialog .dir-list .dir:hover {
  background: #ebf8ff;
  cursor: pointer;
}

.resource-move-dialog .dir-list .dir:focus {
  outline: none;
}

.resource-move-dialog .dir-list .dir .dir-icon {
  margin-right: 0.2em;
}

.drop-box {
  position: relative;
  z-index: 99999;
  width: 100%;
  height: 100%;
}

.drop-box.dragover {
  border: 2px dashed gray;
  border-radius: 5px;
}

.drag-overlay {
  position: absolute;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 9999999;
  color: white;
  font-weight: bold;
}

.drag-overlay .icon {
  margin-right: 10px;
}

.drag-overlay svg {
  fill: white;
}

.raise-ticket-container .tooltip-balloon {
  background: #e7f2fb;
  padding: 10px;
  box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.15) inset;
  font-size: 12px;
  margin: 10px 0;
  border-radius: 6px;
}

.raise-ticket-container textarea {
  outline: none;
  padding: 10px;
  border: 1px solid gainsboro;
}

.raise-ticket-container .attachments-container {
  margin-top: 10px;
}

.raise-ticket-container .attachments-container .uploaded-file {
  padding: 2px 5px;
  background: #72c4f9;
  border-radius: 4px;
  color: white;
  margin-right: 5px;
  margin-bottom: 5px;
}

.raise-ticket-container .attachments-container .uploaded-file svg {
  margin-right: 3px;
  height: 16px;
  width: 16px;
  fill: white;
  margin-top: 3px;
}

@media (min-width: 320px) and (max-width: 480px) {
  .ticket-note {
    width: auto !important;
  }
}

.ticket-read__ticket-title {
  width: 103px;
  font-weight: 600;
}

.ticket-note {
  width: 700px;
  margin-bottom: 15px;
}

.ticket-note__ticket-row-header {
  margin: 0 0 10px 0;
}

.ticket-note__ticket-user {
  font-weight: 600;
}

.ticket-note__ticket-timestamp {
  color: gray;
  font-size: 12px;
  font-style: italic;
}

.ticket-note__ticket-content {
  background: white;
  border: 1px solid gainsboro;
  padding: 20px;
  white-space: pre-line;
}

.ticket-note__ticket-attachment {
  margin-right: 5px;
}

.ticket-note__ticket-note-content {
  margin-bottom: 10px;
}

.attachments-container {
  margin-top: 10px;
}

.attachments-container .uploaded-file {
  padding: 2px 5px;
  background: #72c4f9;
  border-radius: 4px;
  color: white;
  margin-right: 5px;
  margin-bottom: 5px;
}

.attachments-container .uploaded-file svg {
  margin-right: 3px;
  height: 16px;
  width: 16px;
  fill: white;
  margin-top: 3px;
}

.dashboard-training__left-column {
  padding-right: 16px;
}

.dashboard-training__right-column {
  border-left: 1px solid gainsboro;
  padding-left: 15px;
}

.dashboard-training__header {
  border-bottom: 1px solid gainsboro;
  padding-bottom: 15px;
}

.dashboard-training--title {
  font-size: 21px;
}

.dashboard-training__course {
  background: #F9FAFC;
  border: 1px solid #E0E6ED;
  border-radius: 3px;
  margin: 10px 0;
  padding: 10px;
}

.dashboard-training__course.disabled {
  opacity: 0.5;
}

.dashboard-training__course-logo {
  width: 40px;
  margin-right: 10px;
}

.dashboard-training__course-logo img {
  width: 100%;
  height: 100%;
}

.dashboard-training__course-logo .svg {
  width: 40px;
  height: 40px;
  color: #13CE66;
}

.dashboard-training__course-logo.employee {
  margin: 15px;
}

.dashboard-training__compliance {
  background: #FF4949;
  padding: 2px 5px;
  font-size: 12px;
  color: white;
  border-radius: 4px;
  margin-left: 15px;
}

.dashboard-training__compliance.employee {
  margin-bottom: 5px;
  margin-left: 0;
}

.dashboard-training__divider {
  border-bottom: 1px solid #E0E6ED;
  margin: 8px 0;
}

.dashboard-training__action-button {
  margin: 3px 0;
}

.dashboard-training__action-button button {
  width: 92px;
  text-align: center;
}

.dashboard-training__access-code {
  background: white;
  padding: 1px 3px;
  letter-spacing: 3px;
}

.dashboard-training__filter-button {
  width: 120px;
  text-align: center;
  background: #EFF2F7;
  padding: 3px 5px;
  outline: none;
}

.dashboard-training__filter-button:hover {
  cursor: pointer;
}

.dashboard-training__filter-button.active {
  background: #13CE66;
  color: white;
}

.dashboard-training__filter-button.active:hover {
  cursor: default;
}

.dashboard-training__filter-button:first-child {
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}

.dashboard-training__filter-button:last-child {
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
}

.dashboard-training__no-records {
  font-style: italic;
  font-size: 14px;
  padding: 15px 0;
}

.training-share-modal__existing-row {
  padding: 5px 0;
  border-bottom: 1px solid #E0E6ED;
}

.training-modal__title {
  text-transform: uppercase;
  color: #8492A6;
  font-size: 13px;
  padding: 3px 0;
}

.training-modal__detail {
  border-bottom: 1px solid #EFF2F7;
  padding: 5px 0;
}

.training-modal__detail-title {
  font-weight: 600;
}

.training-modal__access-code-container {
  padding: 15px 80px;
  background: #F9FAFC;
  border: 1px dashed #EFF2F7;
  border-radius: 8px;
}

.training-modal__access-code {
  font-size: 20px;
  letter-spacing: 4px;
}

.training-modal__access-code-title {
  font-style: italic;
  color: #8492A6;
  font-weight: bold;
}

.training-modal__due-container {
  padding: 10px 0;
}

.dashboard-training__refresher-in-progress {
  padding-top: 8px;
  font-style: italic;
  color: #8492A6;
}

.training-modal__info-box {
  background: #F9FAFC;
  border: 1px solid #EFF2F7;
  color: #273444;
  padding: 5px;
  margin: 10px 0;
  font-size: 13px;
}

.dashboard-training__view-details {
  padding-right: 5px;
}

.dashboard-training__share-course {
  padding-left: 5px;
  border-left: 1px solid #8492A6;
}

.dashboard-training__status {
  padding: 2px 5px;
  font-size: 12px;
  border-radius: 4px;
  margin-left: 5px;
  color: white;
}

.dashboard-training__status.not-started {
  background: #1FB6FF;
}

.dashboard-training__status.in-progress {
  background: #FFC82C;
}

.dashboard-training__status.completed {
  background: #13CE66;
}

.dashboard-training__overdue {
  padding: 2px 5px;
  font-size: 12px;
  border-radius: 4px;
  margin-left: 5px;
  color: white;
  background: #FF4949;
  text-transform: uppercase;
}

.user-course__container {
  margin: -10px;
}

.user-course__box-container {
  margin: 10px;
}

.user-course__box {
  position: relative;
  width: 300px;
  min-height: 300px;
  margin: 10px;
  border: 1px solid #E5E9F2;
}

.user-course__box-course-label {
  font-size: 19px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding: 5px 0 0 0;
}

.user-course__box-course-completed-by {
  color: #8492A6;
  font-style: italic;
}

.user-course__box-content {
  padding: 0 15px;
}

.user-course__box-footer {
  background: #EFF2F7;
  border-top: 1px solid #E5E9F2;
  padding: 10px;
  width: 100%;
}

.ribbon {
  position: absolute;
  right: -5px;
  top: -5px;
  z-index: 1;
  overflow: hidden;
  width: 75px;
  height: 75px;
  text-align: right;
}

.ribbon span {
  font-size: 10px;
  font-weight: bold;
  color: #FFF;
  text-transform: uppercase;
  text-align: center;
  line-height: 20px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  width: 100px;
  display: block;
  background: #79A70A;
  background: linear-gradient(#FF4949 0%, #FF4949 100%);
  box-shadow: 0 3px 10px -5px black;
  position: absolute;
  top: 19px;
  right: -21px;
}

.ribbon span::before {
  content: "";
  position: absolute;
  left: 0px;
  top: 100%;
  z-index: -1;
  border-left: 3px solid #e20000;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #e20000;
}

.ribbon span::after {
  content: "";
  position: absolute;
  right: 0px;
  top: 100%;
  z-index: -1;
  border-left: 3px solid transparent;
  border-right: 3px solid #e20000;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #e20000;
}

.profile-img-xs {
  width: 30px;
}

.activity-time {
  font-size: 12px;
}

.center-block .employee-profile-directive {
  width: 100%;
}

.center-block img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.blue_underline {
  color: #0C95FF;
  text-decoration: underline;
}

.text-green {
  color: #13CE66;
}

.marketing-dash__switch-container {
  margin: 10px 10px 0 0;
}

.marketing-dash__switch {
  border: 1px solid #F9FAFC;
  text-align: right;
}

.marketing-dash__switch-local,
.marketing-dash__switch-sm {
  width: 50px;
  font-size: 13px;
  text-align: center;
  padding: 7px 9px;
  background: #D3DCE6;
  color: white;
}

.marketing-dash__switch-local.active,
.marketing-dash__switch-sm.active {
  background: #1FB6FF;
}

.marketing-dash__switch-local {
  border-bottom-left-radius: 5px;
  border-top-left-radius: 5px;
}

.marketing-dash__switch-sm {
  border-bottom-right-radius: 5px;
  border-top-right-radius: 5px;
}

.marketing-stats-container {
  margin-bottom: 50px;
}

.marketing-stats_header-row {
  padding: 15px;
}

.marketing-stats-row {
  background: #fff;
  padding: 15px;
  border: 1px solid #EFF2F7;
  margin-bottom: 10px;
  box-shadow: -3px 5px 12px 1px rgba(0, 0, 0, 0.1);
  min-height: 112px;
}

.marketing-stats-table__header_logo {
  width: 110px;
}

.marketing-stats-table__logo {
  width: 110px;
  text-align: center;
}

.marketing-stats-table__logo img {
  max-height: 50px;
  max-width: 110px;
}

.marketing-stats-table__logo--breakdown {
  width: 210px;
  padding-left: 10px;
}

.marketing-stats-table__initiative-name {
  font-size: 12px;
  color: #8492A6;
}

.marketing-stats-table__initiative-name--breakdown {
  text-align: left;
}

.marketing-stats-table__value {
  width: 100px;
  height: 50px;
  text-align: center;
  font-size: 18px;
  color: #8492A6;
  border-right: 1px solid #EFF2F7;
}

.marketing-stats-table__value.marketing-stats-table__value--currency {
  width: 130px;
}

.marketing-status-table__currency {
  width: 130px;
  height: 50px;
  text-align: center;
  font-size: 18px;
  color: #8492A6;
  border-right: 1px solid #EFF2F7;
}

.marketing-stats-table__value:last-child {
  border-right: 0;
}

.marketing-stats-table__header_value {
  width: 100px;
  text-align: center;
  font-size: 12px;
  color: #8492A6;
}

.marketing-stats-table__header_value.marketing-stats__header_value--currency {
  width: 130px;
}

.marketing-stats__roi {
  display: inline-block;
  font-size: 13px;
  padding: 3px 14px;
  background: #13CE66;
  color: white;
  border-radius: 3px;
}

.marketing-stats__roi--negative {
  background: #FF4949;
}

.marketing-stats-table__date {
  font-size: 12px;
  color: #C0CCDA;
  text-align: left;
}

.marketing-stats__breakdown-container {
  padding: 10px 0;
  background: #F9FAFC;
}

.marketing-stats__breakdown-row {
  border-bottom: 1px solid #EFF2F7;
  padding: 5px 0;
  margin-bottom: 5px;
}

.marketing-stats__breakdown-row:last-child {
  border-bottom: 0;
}

.marketing-stats-table__campaign-status {
  font-size: 12px;
  text-transform: uppercase;
  text-align: left;
}

.marketing-stats-table__campaign-status.active {
  color: #13CE66;
}

.marketing-stats-table__campaign-status.inactive {
  color: #FF4949;
}

.mm-schedule-calendar {
  padding: 10px;
  overflow: hidden;
  height: 100%;
}

.mm-schedule-calendar .side-panel {
  width: 450px;
  margin-right: 10px;
  overflow: hidden;
}

.mm-schedule-calendar .side-panel .header {
  background: #C9C9C9;
  padding: 13px;
  font-size: 17px;
  color: #808080;
  text-align: center;
}

.mm-schedule-calendar .side-panel .header .note-message {
  font-size: 11px;
  color: #707070;
}

.mm-schedule-calendar .side-panel .body {
  border: 1px solid #C9C9C9;
  overflow: hidden;
}

.mm-schedule-calendar .side-panel .body .scrollable-day-info {
  overflow-y: scroll;
}

.mm-schedule-calendar .side-panel .body .if-day-info-has-jobs {
  overflow: hidden;
}

.mm-schedule-calendar .side-panel .body .no-date {
  text-align: center;
  margin-top: 5px;
  color: #707070;
}

.mm-schedule-calendar .side-panel .body h3,
.mm-schedule-calendar .side-panel .body h4,
.mm-schedule-calendar .side-panel .body h5,
.mm-schedule-calendar .side-panel .body h6 {
  margin-left: 5px;
  margin-right: 5px;
}

.mm-schedule-calendar .side-panel .day-info {
  overflow: hidden;
}

.mm-schedule-calendar .side-panel .day-info .loading {
  text-align: center;
  margin: 20px 0;
}

.mm-schedule-calendar .side-panel .day-info .box {
  border: 1px solid #d7d7d7;
  border-bottom: none;
  margin: 0 5px;
  padding: 5px;
  background-color: #ffffff;
}

.mm-schedule-calendar .side-panel .day-info .box:last-child {
  border-bottom: 1px solid #d7d7d7;
}

.mm-schedule-calendar .side-panel .day-info .route {
  border: 1px solid #b9b9b9;
  margin: 0 5px 5px;
}

.mm-schedule-calendar .side-panel .day-info .route .box {
  margin: 0;
  border-left: none;
  border-right: none;
}

.mm-schedule-calendar .side-panel .day-info .route .title {
  background: #C9C9C9;
  overflow: hidden;
  text-align: center;
}

.mm-schedule-calendar .side-panel .day-info .route h5 {
  font-weight: bold;
}

.mm-schedule-calendar .side-panel .day-info .route .jobs .box:last-child {
  border-bottom: none;
}

.mm-schedule-calendar .side-panel .day-info .no-items {
  margin: 0 5px;
  color: red;
  font-weight: bold;
}

.mm-schedule-calendar .side-panel .day-info .no-jobs .alert {
  margin-bottom: 0;
}

.mm-schedule-calendar .side-panel .day-info .note {
  font-style: italic;
  margin: 5px;
}

.mm-schedule-calendar .side-panel .day-info .alert {
  font-size: 16px;
  text-align: center;
}

.mm-schedule-calendar .side-panel .actions {
  margin: 0 0 10px;
  padding-top: 10px;
  text-align: center;
  border-top: 1px solid #eee;
}

.mm-schedule-calendar .side-panel .actions .secondary {
  margin-top: 5px;
}

.mm-schedule-calendar .main {
  position: relative;
  overflow-y: auto;
}

.mm-schedule-calendar .main .loading {
  position: absolute;
  top: 45px;
  left: 155px;
}

.mm-schedule-calendar .fc-view .fc-event {
  background-color: #ccc;
  border-color: #ccc;
}

.mm-schedule-calendar .fc-view .fc-event.day-schedule {
  background-color: #6fc86e;
  border-color: #65be64;
}

.mm-schedule-calendar .fc-view .fc-event.day-schedule-with-warnings {
  background-color: #DA726A;
  border-color: #d06969;
}

@media (min-width: 320px) and (max-width: 767px) {
  .mm-schedule-calendar .side-panel {
    width: auto;
  }
}

.mm-schedule-daily-header {
  padding: 20px 10px 0;
}

.mm-schedule-daily-header .quick-day-selector {
  display: block;
  margin: 10px 0 0;
  padding: 0;
}

.mm-schedule-daily-header .quick-day-selector > li {
  display: inline;
  margin: 0;
  padding: 0;
}

.mm-schedule-daily-header .quick-day-selector > li:not(:first-child)::before {
  display: inline;
  content: ' | ';
}

.mm-schedule-daily-main {
  position: relative;
  padding: 5px;
}

.mm-schedule-daily-main-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: rgba(255, 255, 255, 0.5);
}

.mm-schedule-daily-main-col {
  padding: 5px;
}

.mm-schedule-daily-main-panel {
  margin: 5px 0;
  border: 1px solid gainsboro;
}

.mm-schedule-daily-main-panel-header,
.mm-schedule-daily-main-panel-footer {
  padding: 10px;
  background: whitesmoke;
}

.mm-schedule-daily-main-panel-header {
  border-bottom: 1px solid gainsboro;
}

.mm-schedule-daily-main-panel-footer {
  border-top: 1px solid gainsboro;
}

.mm-schedule-daily-main-panel-header h2 {
  margin: 0;
  font-size: 20px;
}

.mm-schedule-daily-main-panel-body {
  overflow-y: auto;
}

.mm-schedule-daily-key {
  text-align: right;
}

.mm-schedule-daily-icon-driver {
  color: #177CF8;
}

.mm-schedule-daily-icon-team-leader {
  color: #FFA500;
}

.mm-schedule-daily-main-col.employees,
.mm-schedule-daily-main-col.jobs {
  width: 300px;
}

.mm-schedule-daily .route-list,
.mm-schedule-daily .job-part-list,
.mm-schedule-daily .employee-list {
  min-height: 100%;
  margin: 0;
  padding: 0;
}

.mm-schedule-daily .job-part-list.disabled,
.mm-schedule-daily .employee-list.disabled {
  opacity: 0.8;
  cursor: not-allowed;
}

.mm-schedule-daily .route-list > li,
.mm-schedule-daily .job-part-list > li,
.mm-schedule-daily .employee-list > li {
  display: block;
}

.mm-schedule-daily .job-part-list > li,
.mm-schedule-daily .employee-list > li {
  padding: 5px 2px;
}

.mm-schedule-daily .job-part-list > li {
  padding-left: 5px;
  padding-right: 5px;
  -webkit-user-select: none;
  /* Chrome/Safari */
  /* Firefox */
  -ms-user-select: none;
  /* IE10+ */
  /* Rules below not implemented in browsers yet */
  -o-user-select: none;
  user-select: none;
}

.mm-schedule-daily .job-history-list {
  margin: 0;
  padding: 5px;
  list-style: none;
}

.mm-schedule-daily .job-history-list li.job-history {
  background-color: #fff;
  border: 1px solid #ddd;
  margin-bottom: 5px;
  padding: 5px;
  font-size: 12px;
}

.mm-schedule-daily .job-history-list li.job-history :last-child {
  margin-bottom: 0;
}

.mm-schedule-daily .job-history-list ul.employees {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mm-schedule-daily .job-history-list ul.employees li {
  display: inline-block;
  float: left;
  margin-right: 2px;
}

.mm-schedule-daily .job-history-list ul.employees li:after {
  display: inline-block;
  content: ', ';
}

.mm-schedule-daily .job-history-list ul.employees li:last-child:after {
  content: '';
}

.mm-schedule-daily .job-history-list .glyphicon-calendar {
  color: #289bea;
  font-size: 24px;
}

.mm-schedule-daily .employee-label {
  line-height: 25px;
  padding: 0 2px;
}

.mm-schedule-daily .unavailable .employee-label {
  color: red;
}

.mm-schedule-daily .job-link {
  font-size: 1.25em;
}

.mm-schedule-daily .job-part__ecom-icon {
  width: 1.2em;
  height: 1.2em;
  margin-left: 0.2em;
}

.mm-schedule-daily .job-part-label {
  outline: none !important;
}

.mm-schedule-daily .job-part-label:hover {
  text-decoration: underline;
}

.mm-schedule-daily .job-part-ecom-product-details {
  border: 2px solid #FFC82C;
  padding: 2px 5px;
  margin-top: 5px;
}

.mm-schedule-daily .job-part-ecom-product-label {
  font-weight: bold;
}

.mm-schedule-daily .job-part-attributes {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 0.85em;
}

.mm-schedule-daily .job-part-attributes dt {
  display: inline;
  font-weight: bold;
}

.mm-schedule-daily .job-part-attributes dt::after {
  display: inline;
  content: ': ';
  font-weight: bold;
}

.mm-schedule-daily .job-part-attributes dd {
  display: inline;
}

.mm-schedule-daily .mm-schedule-daily-routes-panel-header {
  padding: 0 5px 0 0;
}

.mm-schedule-daily .mm-schedule-daily-routes-panel-header h2 {
  padding: 10px;
}

.mm-schedule-daily .route-list {
  padding: 2px;
}

.mm-schedule-daily .route-layout {
  margin: 2px;
  border: 1px solid gainsboro;
}

.mm-schedule-daily .route-header,
.mm-schedule-daily .route-footer {
  background: whitesmoke;
  padding: 5px;
}

.mm-schedule-daily .route-header {
  border-bottom: 1px solid gainsboro;
}

.mm-schedule-daily .route-header__ecom-icon {
  width: 1.2em;
  height: 1.2em;
  margin-left: 0.2em;
  margin-right: 0.4em;
}

.mm-schedule-daily .route-visibility-toggle {
  outline: none !important;
}

.mm-schedule-daily .route-header h3 {
  margin: 0;
  padding: 0 5px;
  line-height: 30px;
  font-size: 16px;
  font-weight: bold;
}

.mm-schedule-daily .route-footer {
  border-top: 1px solid gainsboro;
}

.mm-schedule-daily .route-summary,
.mm-schedule-daily .job-part-list-summary {
  display: block;
  margin: 0;
}

.mm-schedule-daily .route-summary dt,
.mm-schedule-daily .job-part-list-summary dt {
  display: inline;
  font-weight: normal;
}

.mm-schedule-daily .route-summary dt::after,
.mm-schedule-daily .job-part-list-summary dt::after {
  display: inline;
  content: ': ';
}

.mm-schedule-daily .route-summary dt:not(:first-child)::before,
.mm-schedule-daily .job-part-list-summary dt:not(:first-child)::before {
  content: ' | ';
}

.mm-schedule-daily .route-summary dd,
.mm-schedule-daily .job-part-list-summary dd {
  display: inline;
  font-weight: bold;
}

.mm-schedule-daily .route-column:not(:first-child) {
  border-left: 1px solid #CCC;
}

.mm-schedule-daily .route-column h4 {
  margin: 10px 5px 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #CCC;
  text-align: center;
  font-size: 14px;
}

.mm-schedule-daily .route-job-part-list-container,
.mm-schedule-daily .route-employee-list-container {
  min-height: 120px;
}

.mm-schedule-daily ul[dnd-list] {
  padding: 5px;
}

.mm-schedule-daily ul[dnd-list] > li[dnd-draggable] {
  margin-bottom: 0;
}

.mm-schedule-daily ul[dnd-list] > li[dnd-draggable] + li[dnd-draggable] {
  margin-top: 5px;
}

.mm-schedule-daily-screen-size-message {
  display: none;
  padding: 10px;
}

@media (max-width: 959px) {
  .mm-schedule-daily-header,
  .mm-schedule-daily-main {
    display: none;
  }

  .mm-schedule-daily-screen-size-message {
    display: block;
  }
}

.mm-schedule-route-job-selection-modal label {
  display: block;
  cursor: pointer;
}

.mm-schedule-daily .alert-no-teams {
  margin-top: 5px;
  margin-bottom: -8px;
}

.mm-schedule-calendar-warnings .warnings.routes .routes-container {
  margin: -5px;
}

.mm-schedule-calendar-warnings .warnings.routes .route {
  padding: 5px;
}

.mm-schedule-calendar-warnings .warnings.routes .route .route-content {
  border: 1px solid #d7d7d7;
  height: 100%;
  padding-bottom: 5px;
}

.mm-schedule-calendar-warnings .warnings.routes .route .route-content .title {
  background: #C9C9C9;
  overflow: hidden;
  text-align: center;
  margin-bottom: 5px;
}

.mm-schedule-calendar-warnings .warnings.routes .route .route-content .warning {
  padding: 0 5px;
}

.mm-schedule-calendar-warnings .warnings.routes .route .route-content .no-warnings {
  text-align: center;
}

.mm-schedule-calendar-warnings .warnings.routes .route .route-content .no-warnings img {
  height: 50px;
}

.mm-schedule-calendar-warnings .warnings.unassigned-jobs,
.mm-schedule-calendar-warnings .warnings.unassigned-employees {
  text-align: center;
}

.mm-schedule-pre-invoice .disabled {
  color: #CCCCCC;
}

.job-form .job-instructions .chosen-container-multi .chosen-choices {
  min-height: 125px;
}

.job-form select.form-control + .chosen-container-multi .chosen-choices li.search-choice {
  white-space: normal;
}

.job-form .job-instructions .chosen-container-multi .chosen-choices li.search-choice {
  float: none;
  text-align: left;
}

.job-form .job-additional-instructions textarea {
  height: 125px;
}

.job-form .form-group label:not(.btn) {
  font-weight: bold;
  margin-bottom: 5px;
}

.job-form .form-group .clean-price-label:not(.btn) {
  height: 22px;
  margin-bottom: 10px;
}

.job-room .handle {
  cursor: move;
  position: absolute;
  top: 18px;
}

.job-room .job-room-elements {
  margin-left: 28px;
}

.job-form ul.job-clean-frequencies {
  padding-left: 0;
}

.job-form ul.job-clean-frequencies > li {
  display: block;
  background: #FFF;
  border: 1px solid #DDD;
  margin-bottom: -1px;
  padding: 10px 15px;
}

.job-form .job-clean-frequency {
  margin-bottom: 2px;
}

.job-form .job-clean-frequency.selected .job-clean-frequency-header .input-group-addon {
  background: #DFF0D8;
  color: #3C763D;
}

.job-form .job-clean-frequency-details {
  border-color: #CCC;
  border-width: 0 1px 1px 1px;
  border-style: solid;
}

.job-form .job-clean-frequency-days {
  margin: -10px -5px 5px;
}

.job-form .job-clean-frequency-days > div {
  padding: 10px 5px;
}

.job-form .advantage-programme-block {
  padding-top: 0;
  padding-bottom: 0;
}

.job-form .advantage-programme-block > .row {
  margin-top: 5px;
  margin-bottom: 5px;
}

.job-form-discount {
  text-align: right;
}

.job-form-discount__standard-price {
  text-decoration: line-through;
}

.job-form-discount__discounted-price {
  font-size: 1.3em;
}

.mm-job-view .contact-detail .type {
  color: #CCC;
}

.preferred-cleaning-time-input {
  margin-top: 5px;
}

ul[dnd-list].rotationList > li[dnd-draggable] {
  background: none;
  border: none;
  font-weight: 700;
  padding: 0;
  text-align: center;
  width: 120px;
}

ul[dnd-list].rotationList > li[dnd-draggable]:not(.dndDragging) .rotation-row:not(:first-child) {
  border-left: 1px solid gainsboro;
}

ul[dnd-list].rotationList > li.dndPlaceholder {
  width: 120px;
}

.rotation-rooms .rotation-row {
  padding-right: 20px;
  text-align: right;
  font-weight: bold;
}

.rotation-row {
  height: 30px;
  line-height: 30px;
  white-space: nowrap;
}

.rotation-row:nth-child(2n) {
  background: whitesmoke;
}

.rotation-overflow {
  overflow-y: auto;
  width: 79%;
}

.mm-house-layout-view .job-rooms .job-room {
  padding: 0 10px;
  border-color: #DDD;
  border-style: solid;
  border-width: 0 1px 1px;
  overflow: hidden;
}

.mm-house-layout-view .job-rooms .job-room:first-child {
  border-top-width: 1px;
}

.mm-house-layout-view .instructions {
  display: block;
  margin: 10px 0;
  padding: 0;
  list-style: none;
}

.mm-house-layout-view .instruction {
  margin: 5px 0;
  padding: 5px;
  background: whitesmoke;
}

.mm-house-layout-view .additional-instructions {
  margin: 10px 0;
  padding: 0 5px;
}

.mm-close-job-list-filters {
  margin: -5px -5px 10px;
}

.mm-close-job-list-filters > div {
  padding: 5px;
}

.mm-close-job-list-filters .btn-block {
  display: block;
}

.mm-close-job-list-filters .date-range-picker {
  width: 180px;
}

.mm-close-job {
  border-bottom: 1px solid #EEE;
  /*margin: 0px 20px 0px 20px;*/
  padding: 5px 15px;
  /*margin-bottom: 1em;*/
}

.mm-close-job-closed {
  background-color: #E5FFE5;
}

.mm-close-job-canceled {
  background-color: #FFC346;
}

.mm-close-job-header {
  background-color: #F5F5F5;
  padding-bottom: 5px;
}

.mm-close-job-form-customer-payment-summary h3 {
  font-size: 16px;
  margin: 10px 0;
}

.mm-close-job-form-customer-payment-summary span {
  font-size: 20px;
}

.mm-close-job-form-customer-payment-summary-invoices .this-invoice {
  background: #DDFEDD;
}

.mm-close-job-form .row-remove button {
  font-size: 20px;
}

.mm-close-job-form .mm-job-part-employee {
  margin: 10px 0;
  padding: 10px 0;
  border-bottom: 1px solid #CCC;
}

.mm-close-job-form .mm-job-part-employee label {
  margin-bottom: 5px;
}

.mm-close-job-form .mm-job-part-employee-job-duration .input-group-addon {
  padding-left: 5px;
  padding-right: 5px;
}

.mm-job-part-summary thead tr:last-child th {
  border-bottom: 1px solid #999;
}

.mm-job-part-summary tfoot tr > :first-child,
.mm-job-part-summary .total {
  font-weight: bold;
}

.mm-job-part-summary tfoot tr:first-child td {
  border-top: 1px solid #999;
}

.mm-job-part-summary-value {
  width: 1%;
}

.mm-job-view .job-id {
  font-size: 18px;
  font-weight: bold;
}

.mm-job-view .created-on {
  margin-top: 5px;
  color: gray;
  font-size: 85%;
}

.mm-job-view .next-clean {
  color: #428bca;
  font-size: 18px;
}

.mm-job-view .job-stats > div {
  text-align: center;
  border-right: 1px solid #eee;
}

.mm-job-view .job-stats .stat-heading {
  font-size: 18px;
  font-weight: bold;
}

.mm-job-view .job-stats .stat-sub-heading {
  color: gray;
  font-size: 12px;
  margin-top: 4px;
}

.mm-job-view .job-stats .stat-sub-heading-larger {
  font-size: 14px;
  color: #333;
}

.mm-job-view .address-and-contacts {
  margin-top: 5px;
}

.reactivate-jobs-table td {
  padding-top: 8px;
  padding-bottom: 8px;
}

.reactivate-jobs-table td:not(:first-child) {
  padding-left: 8px;
}

.reactivate-jobs-table td:not(:last-child) {
  padding-right: 8px;
}

.reactivate-jobs-table md-checkbox {
  margin-bottom: 0;
}

.reactivate-jobs-table .md-label {
  white-space: nowrap;
  margin-left: 24px;
}

.over_28_days {
  color: #FF4949;
}

.campaign-ov__header {
  font-size: 13px;
  color: #8492A6;
}

.campaign-ov__header-title {
  width: 100px;
  font-size: 13px;
  color: #8492A6;
}

.campaign-ov__row {
  margin-bottom: 10px;
}

.campaign-ov__header-value {
  font-size: 16px;
  color: #13CE66;
}

.campaign-ov__figures-left {
  margin-right: 20px;
}

.campaign-ov__figures-left .campaign-ov__header-title {
  text-align: right;
  margin-right: 10px;
}

.campaign-ov__figures-right {
  margin-left: 20px;
}

.campaign-ov__figures-right .campaign-ov__header-title {
  text-align: left;
  margin-right: 10px;
}

.campaign-ov__figures-right .campaign-ov__header-value {
  width: 40px;
}

.campaign__chart-label {
  font-size: 12px;
  color: #8492A6;
  display: block;
  margin-top: 10px;
}

.marketing-stats-table__link {
  font-size: 13px;
}

.marketing-stats-table__initiative-breakdown {
  border-top: 1px solid #EFF2F7;
  padding-top: 14px;
}

.marketing-stats-table__initiative-duration {
  font-size: 12px;
  color: #8492A6;
}

.marketing-stats-table__initiative-status {
  color: #8492A6;
  font-size: 12px;
}

.marketing-stats-table__no-spend-label {
  font-size: 12px;
  color: #FF4949;
}

.time-slot-calendar__month-selector {
  margin-bottom: 15px;
}

.time-slot-calendar__month-selector md-icon {
  outline: none;
}

.time-slot-calendar__month-selector md-icon.inactive {
  color: #8492A6;
}

.time-slot-calendar__month-selector md-icon.inactive:hover {
  cursor: default;
}

.time-slot-calendar__month-selector-date {
  padding: 0 10px;
  width: 118px;
  font-size: 18px;
  text-align: center;
}

.time-slot-calendar {
  border: 1px solid #E5E9F2;
  margin-bottom: 15px;
}

.time-slot-calendar__week:not(:last-child) {
  border-bottom: 1px solid #E5E9F2;
}

.time-slot-calendar__day {
  padding: 4px;
  width: 14.286%;
  outline: none !important;
  cursor: pointer;
}

.time-slot-calendar__day:not(:last-child) {
  border-right: 1px solid #E5E9F2;
}

.time-slot-calendar__day--no-slots {
  cursor: default;
}

.time-slot-calendar__day--selected {
  background: #13CE66;
}

.time-slot-calendar__day--selected .time-slot-calendar__day-slot-count,
.time-slot-calendar__day--selected .time-slot-calendar__day-number {
  color: #fff;
}

.time-slot-calendar__day-number {
  text-align: right;
  color: #8492A6;
}

.time-slot-calendar__day--no-slots .time-slot-calendar__day-number {
  color: #FF4949;
}

.time-slot-calendar__day-slot-count {
  color: #13CE66;
  font-size: 13px;
  font-weight: bold;
}

.time-slot-calendar__day--no-slots .time-slot-calendar__day-slot-count {
  color: #FF4949;
  font-weight: normal;
}

.time-slot-day-panel {
  padding: 15px 8px;
  border-top: 1px solid #E5E9F2;
}

.time-slot-day-panel__heading {
  font-size: 18px;
  margin: 0 0 12px 0;
  padding: 14px 0 0 11px;
}

.time-slot-day-panel__slot {
  outline: none !important;
  cursor: pointer;
  padding: 0 10px;
  border: 2px solid transparent;
}

.time-slot-day-panel__slot--selected,
.time-slot-day-panel__slot:hover {
  border: 2px solid #13CE66;
  color: #13CE66;
  border-radius: 15px;
}

.time-slot-day-panel__slot--selected {
  font-weight: bold;
}

.time-slot-day-panel__title {
  font-weight: 600;
  padding-left: 10px;
}

.time-slot-calendar__day-text {
  color: #8492A6;
  text-transform: uppercase;
  font-size: 12px;
}

/* Modules */

.instant-messaging {
  /* Overrides */
}

.instant-messaging.minimised,
.instant-messaging.expanded {
  z-index: 1000;
}

.instant-messaging .minimised {
  position: fixed;
  bottom: 24px;
  right: 34px;
  height: 65px;
  width: 65px;
  box-shadow: 0 5px 4px 0 rgba(0, 0, 0, 0.26);
  border-radius: 34px 8px 34px 34px;
  padding: 7px 16px 10px;
  background-color: #1FB6FF;
  color: #FFF;
  cursor: pointer;
}

.instant-messaging .minimised .badge {
  position: absolute;
  bottom: -7px;
  left: 3px;
}

.instant-messaging .expanded {
  position: fixed;
  height: 500px;
  width: 350px;
  background-color: white;
  border-radius: 5px;
  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.26);
  bottom: 99px;
  right: 34px;
  z-index: 20000;
  overflow: hidden;
}

.instant-messaging .expanded .header {
  /* http://colorzilla.com/gradient-editor/ */
  background: #1FB6FF;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #1FB6FF 0%, #009EEB 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$topColour', endColorstr='$bottomColour', GradientType=0);
  /* IE6-9 */
  color: #FFF;
  box-shadow: 0 1px 1px #C0CCDA;
}

.instant-messaging .expanded .header .back {
  height: 20px;
  width: 20px;
  position: absolute;
  top: 9px;
  left: 9px;
  cursor: pointer;
}

.instant-messaging .expanded .header h4 {
  text-align: center;
}

.instant-messaging .expanded .header .minimise {
  position: absolute;
  height: 20px;
  width: 20px;
  top: 9px;
  right: 9px;
  cursor: pointer;
}

.instant-messaging .expanded .navigation .action {
  text-align: center;
  padding-bottom: 5px;
  cursor: pointer;
  font-size: 14px;
}

.instant-messaging .expanded .navigation .action.active {
  border-bottom: 2px solid white;
}

.instant-messaging .expanded .navigation .action:hover:not(.active) {
  border-bottom: 1px solid white;
}

.instant-messaging .expanded .navigation .bms-logo {
  width: 21px;
  display: inline-block;
}

.instant-messaging .expanded .navigation .bms-logo img {
  max-width: 100%;
  max-height: 100%;
}

.instant-messaging .expanded .main {
  overflow-y: scroll;
}

.instant-messaging .expanded .conversations.listing {
  overflow-y: scroll;
}

.instant-messaging .expanded .conversations.listing .conversation {
  cursor: pointer;
  font-size: 14px;
  border-bottom: 1px solid #D3DCE6;
  padding: 10px;
}

.instant-messaging .expanded .conversations.listing .conversation:hover {
  background-color: #F9FAFC;
}

.instant-messaging .expanded .conversations.listing .conversation .details {
  padding-left: 10px;
}

.instant-messaging .expanded .conversations.listing .conversation .last-message-at,
.instant-messaging .expanded .conversations.listing .conversation .last-message {
  color: #C0CCDA;
}

.instant-messaging .expanded .conversation.view {
  /* http://colorzilla.com/gradient-editor/ */
  background: #F9FAFC;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #F9FAFC 0%, #EFF2F7 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$topColour', endColorstr='$bottomColour', GradientType=0);
  /* IE6-9 */
  font-size: 14px;
  position: relative;
}

.instant-messaging .expanded .conversation.view .chat-bubble {
  padding: 5px;
}

.instant-messaging .expanded .conversation.view .chat-bubble.outgoing .message {
  /* http://colorzilla.com/gradient-editor/ */
  background: #1FB6FF;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #1FB6FF 0%, #009EEB 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$topColour', endColorstr='$bottomColour', GradientType=0);
  /* IE6-9 */
  border: 1px solid #1FB6FF;
  color: white;
}

.instant-messaging .expanded .conversation.view .chat-bubble.incoming .message {
  /* http://colorzilla.com/gradient-editor/ */
  background: #E0E6ED;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #E0E6ED 0%, #D3DCE6 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$topColour', endColorstr='$bottomColour', GradientType=0);
  /* IE6-9 */
  border: 1px solid #D3DCE6;
}

.instant-messaging .expanded .conversation.view .chat-bubble .message {
  /* These are technically the same, but use both */
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  /* This is the dangerous one in WebKit, as it breaks things wherever */
  word-break: break-all;
  /* Instead use this non-standard one: */
  word-break: break-word;
  /* Adds a hyphen where the word breaks, if supported (No Blink) */
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
  border-radius: 5px;
  padding: 5px 8px;
}

.instant-messaging .expanded .conversation.view .chat-bubble .message.sent {
  margin-left: auto;
}

.instant-messaging .expanded .conversation.view .chat-bubble .message.received {
  margin-right: auto;
}

.instant-messaging .expanded .conversation.view .message-input {
  padding: 4px;
}

.instant-messaging .expanded .conversation.view .message-sending {
  position: absolute;
  bottom: 45px;
  left: 17px;
}

.instant-messaging .button.button-disabled,
.instant-messaging .button:disabled {
  border: none;
}

.badge {
  /* http://colorzilla.com/gradient-editor/ */
  background: #e85f68;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #e85f68 0%, #e0323f 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$topColour', endColorstr='$bottomColour', GradientType=0);
  /* IE6-9 */
  border: 1px solid #c3313e;
  padding: 5px;
  border-radius: 12px;
  min-width: 27px;
  font-weight: bold;
  font-size: 13px;
}

.avatar {
  height: 40px;
  width: 40px;
  color: white;
  font-weight: bold;
  border-radius: 50%;
  text-align: center;
  text-transform: uppercase;
  font-size: 25px;
  position: relative;
}

.avatar .online-status {
  border: 2px solid white;
  width: 16px;
  height: 16px;
  position: absolute;
  bottom: -4px;
  right: -4px;
}

.avatar.a {
  background-color: #1abc9b;
}

.avatar.b {
  background-color: #159f85;
}

.avatar.c {
  background-color: #f1c40e;
}

.avatar.d {
  background-color: #f39b12;
}

.avatar.e {
  background-color: #2fcb71;
}

.avatar.f {
  background-color: #27ae60;
}

.avatar.g {
  background-color: #e75500;
}

.avatar.h {
  background-color: #d35400;
}

.avatar.i {
  background-color: #3498da;
}

.avatar.j {
  background-color: #2a80b9;
}

.avatar.k {
  background-color: #e74c3d;
}

.avatar.l {
  background-color: #c0392c;
}

.avatar.m {
  background-color: #9b59b6;
}

.avatar.n {
  background-color: #8e44ad;
}

.avatar.o {
  background-color: #bdc3c7;
}

.avatar.p {
  background-color: #bdc3c7;
}

.avatar.q {
  background-color: #2d3e50;
}

.avatar.r {
  background-color: #94a5a6;
}

.avatar.s {
  background-color: #7f8c8d;
}

.avatar.t {
  background-color: #ec87be;
}

.avatar.u {
  background-color: #d870ac;
}

.avatar.v {
  background-color: #f69685;
}

.avatar.w {
  background-color: #9ba27e;
}

.avatar.x {
  background-color: #b49155;
}

.avatar.y {
  background-color: #b49155;
}

.avatar.z {
  background-color: #a84236;
}

.online-status {
  height: 10px;
  width: 10px;
  display: inline-block;
  border-radius: 10px;
  background-color: #C0CCDA;
}

.online-status.online {
  background-color: #29EB7F;
}

.online-status.offline {
  background-color: #FF4949;
}

.scheme-ov__header {
  margin: 20px 0 0 0;
}

.scheme-ov__title {
  font-size: 24px;
}

.scheme-ov__initiative {
  font-size: 14px;
  color: #8492A6;
}

.scheme-ov__status {
  display: inline-block;
  background: #13CE66;
  color: white;
  font-size: 13px;
  padding: 4px 10px;
  border-radius: 6px;
  margin-right: 20px;
}

.scheme-ov__status.inactive {
  background: #FF4949;
}

.scheme-ov__attributes {
  font-size: 13px;
  color: #8492A6;
  border-bottom: 1px solid #EFF2F7;
  margin-bottom: 8px;
  padding-bottom: 8px;
}

.scheme-ov__attr-header {
  width: 112px;
}

.scheme-ov__attr-value {
  font-weight: bold;
}

.scheme-ov__performance-sub-title {
  font-size: 12px;
  color: #8492A6;
  font-style: italic;
}

.scheme-ov__metric-wrapper {
  margin-top: 20px;
  border-bottom: 1px solid #EFF2F7;
}

.scheme-ov__metric-container {
  min-height: 180px;
  border-right: 1px solid #EFF2F7;
}

.scheme-ov__metric-container:last-child {
  border-right: 0;
}

.scheme-ov__metric-value {
  font-size: 29px;
  color: #13CE66;
  margin-bottom: 10px;
}

.scheme-ov__metric-title {
  font-style: italic;
  color: #8492A6;
  font-size: 13px;
}

.business-hours-form__day:not(:last-child) {
  margin-bottom: 20px;
}

.business-hours-form__day-label {
  font-size: 16px;
  font-weight: bold;
}

.business-hours-form__time-field-group {
  margin-right: 10px;
}

.business-hours-form__time-label {
  margin: 2px 0;
}