/*
These styles are basically adapted from the Angle theme and made suitable for CDSM's markup.

The Angle theme demo comes with very different HTML which makes a simple swap of AdminLTE's CSS
for Angle theme's CSS ineffective.  Adapting the HTML throughout the CDSM application to suit
Angle's CSS seemed like far more work than vice versa.
*/
@import url("angle/vendor/simplelineicons/simple-line-icons.css");
@import url("/lib/cdsm-awesome/css/cdsm-awesome.css");
.header .navbar .nav .open > a.dropdown-toggle, .navbar.navbar-static-top, body .header a.logo, html > body .navbar .nav > li > a:hover, html > body .logo:hover {
  background-color: transparent !important; }

.header .logo {
  float: left;
  font-size: 20px;
  line-height: 50px;
  text-align: center;
  width: 200px;
  height: 40px;
  display: block; }

.plan-coupons {
  margin-top: 10px; }
  .plan-coupons .inputs {
    display: flex; }
    .plan-coupons .inputs input {
      flex-grow: 1;
      flex-shrink: 1; }
    .plan-coupons .inputs button {
      flex-grow: 0;
      flex-shrink: 0;
      margin-left: 5px; }
  .plan-coupons .rejected {
    color: #800; }

.login-shell, body.desktop .login {
  border-radius: 10px; }
  .login-shell .header, body.desktop .login .header {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px; }
  .login-shell .footer, body.desktop .login .footer {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px; }

body.desktop .login {
  position: fixed;
  left: 50%;
  top: 50%;
  margin-left: -180px;
  margin-top: -240px;
  z-index: 2;
  box-shadow: 0 0 20px #555; }
  body.desktop .login form .btn.btn-block, body.desktop .login .create-account .btn.btn-block {
    font-size: 16px;
    background-color: #0b5e6b;
    padding: 8px;
    transition: all 0.3s; }
    body.desktop .login form .btn.btn-block:hover, body.desktop .login .create-account .btn.btn-block:hover {
      background-color: #127382; }
  body.desktop .login .header {
    color: transparent;
    height: 90px;
    background-repeat: no-repeat;
    background-position: center center; }

@media screen and (max-height: 750px) {
  html > body.desktop .login-form.login {
    top: 5px;
    margin-top: 0; }
  html > body.desktop .login-copyright {
    bottom: 5px; } }

html > body {
  font-family: "Source Sans Pro", sans-serif;
  color: var(--body-text-color);
  background-color: var(--body-background-color);
  line-height: 1.52857143; }

section.content > div.container-fluid {
  padding-top: 45px; }

body.tablet .header .logo, body.desktop .header .logo, body.signup header .logo {
  background-repeat: no-repeat;
  color: transparent; }

.close-tab-button {
  color: var(--close-tab-button-color);
  margin-left: 5px; }
  .close-tab-button:hover {
    color: var(--close-tab-button-hover-color); }

body {
  /* logo */ }
  body > #applicationHost > .durandal-wrapper > div.wrapper > div.page-host > section.content {
    padding-top: 45px; }
  body.tablet header.header.tablet-header {
    background-position-x: 18vw; }
  body.tablet header ul.navbar-nav > li > a.dropdown-toggle {
    padding-top: 1.2vh;
    line-height: 3vh; }
    body.tablet header ul.navbar-nav > li > a.dropdown-toggle span, body.tablet header ul.navbar-nav > li > a.dropdown-toggle i {
      font-size: 3vh;
      line-height: 3vh; }
  body.tablet .header .logo {
    width: 18vw; }
  body header.header {
    position: fixed;
    width: 100%;
    background-color: var(--tablet-header-background-color); }
  body .navbar-nav > .user-menu > .dropdown-menu > li.user-header {
    background-color: var(--tablet-header-background-color); }
  body .navbar .dropdown-menu > li > a {
    color: var(--navbar-text-color); }
  body .navbar .nav a {
    color: rgba(255, 255, 255, 0.8); }
  body .navbar .nav > li > a:hover,
  body .navbar .nav > li > a:active,
  body .navbar .nav > li > a:focus,
  body .navbar .nav .open > a,
  body .navbar .nav .open > a:hover,
  body .navbar .nav .open > a:focus {
    background: rgba(0, 0, 0, 0.1);
    color: #f6f6f6; }
  body .navbar .navbar-right > .nav {
    margin-right: 10px; }
  body .logo {
    color: #f9f9f9; }
    body .logo > a {
      color: #f9f9f9; }
    body .logo:hover {
      background: #357ca5; }

@media print {
  .page-break {
    page-break-after: always; } }

h1 {
  color: #929292;
  font-weight: normal;
  font-size: 24px; }

/* "Control Panel" title on dashboard to look more like the Angle demo */
[data-view="views/dashboard"] h1 > small {
  display: block;
  font-size: 14px;
  text-transform: capitalize;
  /* make first letters capital */ }

button.btn.btn-primary {
  border-color: var(--standard-button-border-color); }
  button.btn.btn-primary:hover {
    background-color: var(--standard-button-background-color); }

.ratings {
  display: flex; }
  .ratings.rating-markers {
    text-align: center;
    justify-content: space-between; }
    .ratings.rating-markers.interactive > div {
      cursor: pointer; }
      .ratings.rating-markers.interactive > div:hover {
        color: #00b3e1; }
      .ratings.rating-markers.interactive > div.selected:hover {
        color: #033d4b; }
    .ratings.rating-markers > div {
      color: #dcdcdc;
      transition: color 0.2s; }

.header .navbar .nav li > a:hover, .header .navbar .nav .is-current-dashboard a {
  background-color: #d9e8f1; }

.header .navbar .nav .is-default-dashboard a {
  font-weight: bold; }

.header a.logo {
  display: inline-block; }

body.desktop .splash, body.tablet .splash {
  width: 800px;
  height: 199px;
  background-repeat: no-repeat;
  position: fixed;
  top: 50%;
  left: 50%;
  margin-left: -400px;
  margin-top: -100px; }

body.desktop .login-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background-color: #6ca4b6 !important; }

body.desktop .login-copyright {
  position: fixed;
  bottom: 20px;
  left: 0;
  right: 0;
  z-index: 1; }
  body.desktop .login-copyright .copyright {
    text-align: center;
    color: white; }

body .sidebar > .nav > li .nav-item, body .sidebar > .nav > li > ul > li > a, body .sidebar > .nav > li > a {
  padding: 12px 24px;
  color: #515253;
  letter-spacing: .025em;
  font-weight: normal; }

div.box.box-warning, body [data-view="engineui/p_tab_style"] > div.wrapper-content > .container-fluid, body div.box.box-warning, body div.box {
  border-width: 0;
  background-color: var(--container-fluid-background); }

/* Used for c_body_demarc_stack to align body location canvas elements
in different ways
*/
.position-centre canvas {
  margin: auto; }

.position-right canvas {
  float: right;
  margin-right: 10px; }

.position-left canvas {
  float: left;
  margin-left: 10px; }

.simple-line-icons-family {
  font-family: 'Simple-Line-Icons'; }

body .login-form .body > .form-group > input {
  border: 1px solid #dde6e9; }

body .login-form#login-box .header {
  padding-top: 5px; }

.login-form {
  width: 360px; }
  .login-form .body, .login-form .footer {
    padding: 10px 20px;
    background: #fff;
    color: #444; }
    .login-form .body .form-group, .login-form .footer .form-group {
      margin-top: 20px; }
      .login-form .body .form-group > input, .login-form .footer .form-group > input {
        border: #fff; }
    .login-form .body > .btn, .login-form .footer > .btn {
      margin-bottom: 10px; }

form div.box.box-primary {
  border-width: 0; }

form div.body.bg-gray {
  background-color: #fff !important; }
  form div.body.bg-gray .form-group {
    background-color: #fff !important; }

div.form-control, label.form-control, select.form-control, textarea.form-control, input.form-control {
  border-radius: 3px !important; }

button.btn.btn-block, .btn-primary {
  color: #ffffff;
  background-color: #5d9cec;
  border-color: #5899eb;
  transition: all 0.3s;
  padding-top: 3px;
  padding-bottom: 3px; }

.login .btn-block:hover {
  border-color: #0d62cb;
  background-color: #348cf9;
  box-shadow: inset 0 0 5px #1e79ea; }

.login .header {
  background-color: #3a3f51 !important;
  border-color: #3a3f51 !important; }

.form-control {
  display: block;
  width: 100%;
  height: 28px;
  padding: 5px;
  font-size: 14px;
  line-height: 1.52857143;
  color: #3a3f51;
  background-color: #ffffff;
  background-image: none;
  border: 1px solid #dde6e9;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; }
  .form-control[type="checkbox"] {
    -webkit-box-shadow: none;
    box-shadow: none; }

/* stat box colours */
aside section ul > li > a.disabled {
  pointer-events: none;
  cursor: default;
  color: #d3d3d3 !important; }

aside.collapse-left li i.fa.arrow {
  display: none; }

aside.collapse-left li > ul {
  display: none; }

#details .box, #summary .box {
  box-shadow: none;
  border-left: 0;
  border-right: 0;
  border-bottom: 0; }

#calendar {
  padding-top: 3px;
  /* move buttons so they don't get too close to the top */ }

.fc-nonbusiness {
  background: #484747; }

.fc-agendaDay-view table .fc-widget-content td:last-child {
  background-color: #eee; }

.fc-agendaDay-view table tr.fc-minor .fc-widget-content:last-child {
  background-color: #f8f8f8; }

.fc-unthemed td.fc-today {
  background-color: #eee; }

td.fc-state-highlight {
  background-color: #eee; }

ul.pagination > li a.active, ul.pagination > li.active > a:hover, ul.pagination > li.active > a {
  background-color: #72b4da;
  border: 1px solid #72b4da; }

.paging_bootstrap.cdsm-paging {
  margin-top: 5px;
  text-align: right; }
  .paging_bootstrap.cdsm-paging .records-per-page {
    margin-top: 5px;
    margin-right: 40px;
    text-align: right; }

.message > a.name {
  color: #888; }
  .message > a.name:hover {
    color: #666; }

.c-slider-with-number {
  padding-top: 5px;
  margin-bottom: 5px; }
  .c-slider-with-number .slider-answer-selector {
    padding-bottom: 10px; }
  .c-slider-with-number .slider.slider-horizontal {
    width: 100%; }
  .c-slider-with-number .mbsc-android-holo.mbsc-form {
    background: #ffffff;
    color: #31b7e8; }
  .c-slider-with-number .mbsc-android-holo .mbsc-slider-tooltip {
    color: #31b7e8; }

/* touch up for Patient Search input */
[data-view="views/patient_search"] div.row .input-group > input.form-control {
  height: 35px; }

button.btn.btn-default {
  height: 35px; }

div.durandal-wrapper [data-view="views/dashboard"] > section.content-header, div.durandal-wrapper [data-view="views/system_settings"] > section.content-header {
  border-bottom: 1px solid #ddd;
  box-shadow: 0 2px #ccc; }

form.optimized-space div.form-group > div > select, form.optimized-space div.form-group > div > input {
  height: 28px;
  padding-top: 0;
  padding-bottom: 0; }

.cdsm-data-grid-shell button.btn.btn-default, .patient-search button.btn.btn-default {
  height: 28px;
  padding-top: 4px; }

/* use space more efficiently */
form.optimized-space div.form-group {
  margin-bottom: 8px; }
  form.optimized-space div.form-group > .patient-information-remove:last-child {
    padding-right: 12px; }
  form.optimized-space div.form-group > div {
    padding: 0 5px; }
    form.optimized-space div.form-group > div > input[type="checkbox"] {
      height: inherit;
      vertical-align: middle;
      margin-top: 5px; }
    form.optimized-space div.form-group > div:first-of-type {
      padding-left: 15px; }
    form.optimized-space div.form-group > div:last-child {
      padding-left: 15px; }
  form.optimized-space div.form-group.first-group {
    padding-top: 5px; }

.row div.optimized-space > div.form-group > div > input.form-control {
  height: 28px; }

.cdsm-data-grid-shell {
  /* make spin controls show in Chrome. */ }
  .cdsm-data-grid-shell .active-label {
    padding-left: 5px; }
  .cdsm-data-grid-shell button.close {
    margin: 0 5px 5px 5px;
    font-size: 15px; }
  .cdsm-data-grid-shell .cdsm-data-grid {
    padding: 10px; }
    .cdsm-data-grid-shell .cdsm-data-grid .sorted-column {
      opacity: 0.5;
      background-color: #e0d8d8;
      transition: 0.2s; }
    .cdsm-data-grid-shell .cdsm-data-grid .sortable:hover {
      cursor: pointer; }
  .cdsm-data-grid-shell input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: inner-spin-button !important; }
  .cdsm-data-grid-shell input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: inner-spin-button !important; }

.cdsm-data-grid .records-per-page-input {
  display: inline-block;
  width: 50px; }

.cdsm-data-grid .records-per-page-label {
  padding-right: 5px; }

.appointment-resource-management .input-group-btn .btn.btn-default {
  height: 28px;
  padding-top: 4px;
  border-radius: 5px; }

.appointment-resource-management .input-group-btn .btn.btn-success {
  height: 28px;
  padding-top: 4px;
  border-radius: 5px; }

.appointment-resource-management .btn.btn-danger {
  height: 28px;
  padding-top: 4px;
  border-radius: 5px; }

.appointment-resource-management .btn.btn-success {
  height: 28px;
  padding-top: 4px;
  border-radius: 5px; }

/*
Fix bug where navbar goes to new line when the screen is very narrow.
Override a few AdminLTE CSS rules to accomplish this.
*/
@media screen and (max-width: 560px) {
  header.header nav.navbar {
    left: 50px;
    margin-left: 0;
    right: 0;
    position: absolute !important;
    top: 0;
    width: auto; }
  body.tablet header.header {
    /* make help icon show on very narrow resolution. */ }
    body.tablet header.header a.logo {
      min-width: 15vh;
      box-sizing: border-box; }
    body.tablet header.header nav.navbar {
      left: 18vw;
      margin-left: 0;
      right: 0;
      position: absolute !important;
      top: 0;
      width: auto; } }

footer.wrapper-footer.presentation {
  position: fixed;
  bottom: 0;
  right: 0;
  left: 0;
  padding-top: 5px;
  background-color: var(--wrapper-footer-background);
  z-index: 1; }

.fc-time-grid .fc-slats td {
  height: 25px !important; }

table.selectable > tbody > tr td, table.selectable > tbody > tr, div.selectable > div {
  cursor: pointer;
  transition: background-color 0.3s; }

table.selectable > tbody > tr:hover, div.selectable > div:hover {
  background-color: rgba(35, 183, 229, 0.2); }

table.selectable > tbody > tr td.selected {
  background-color: rgba(35, 183, 229, 0.6); }

.navbar .nav a {
  color: rgba(255, 255, 255, 0.8); }

.login .office-selector, .login .office-selector-header, .login .selecting-office .login-or-line, .login .selecting-office .pin {
  display: none; }

.login.selecting-office .office-selector {
  display: block;
  height: 65px;
  overflow-y: auto; }

.login.selecting-office .office-selector-header {
  display: block; }

ul.comma-separated {
  display: inline;
  list-style: none; }

.tablet-pain-locations-editor {
  height: 90vh;
  width: 60vw;
  background-color: #fff;
  border-radius: 5px; }
  .tablet-pain-locations-editor .box-footer {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0; }
  .tablet-pain-locations-editor .body-demarc-editor-canvas {
    text-align: center; }

.comma-separated li {
  display: inline; }
  .comma-separated li:after {
    content: ", "; }
  .comma-separated li:last-child:after {
    content: ""; }

/* back button on Add New Patient */
.patient > .box:first-child {
  border-width: 0;
  background-color: inherit !important;
  box-shadow: none; }

.meter div.red {
  background-color: #f0130d; }

.meter div.orange {
  background-color: #f17b0a; }

.meter div.yellow {
  background-color: #ffff00; }

.meter div.green {
  background-color: #2bc253; }

.credit-card-form {
  padding: 5px; }

.meter {
  background-color: #dddddd;
  -moz-border-radius: 25px;
  -webkit-border-radius: 25px;
  border-radius: 25px;
  padding: 5px;
  box-shadow: inset 0 -1px 1px rgba(255, 255, 255, 0.3); }
  .meter div {
    height: 10px;
    border-radius: 20px 8px 8px 20px;
    transition: width 1s, background-color 0.5s;
    -webkit-transition: width 1s, background-color 0.5s;
    -moz-transition: width 1s, background-color 0.5s; }

.spinner-loader {
  -webkit-animation: spinner-loader 1s linear infinite;
  -moz-animation: spinner-loader 1s linear infinite;
  -ms-animation: spinner-loader 1s linear infinite;
  -o-animation: spinner-loader 1s linear infinite;
  animation: spinner-loader 1s linear infinite; }

.twitter-typeahead {
  width: 100%;
  box-sizing: border-box; }

.tt-dropdown-menu {
  background-color: #fff;
  border: 1px solid #888;
  padding: 2px 5px 3px 7px;
  border-radius: 5px;
  box-shadow: 0 3px 6px #51c6ea;
  width: 100%;
  margin-top: 2px; }

.tt-suggestion {
  padding: 3px 3px;
  font-size: 14px; }

.tt-suggestion.tt-cursor {
  color: #fff;
  background-color: #0097cf;
  border-radius: 5px; }

.tt-input {
  border-width: 1px;
  border-style: solid; }

.tablet-pairing .table {
  table-layout: fixed;
  margin-top: 10px; }
  .tablet-pairing .table .activation-key-th {
    width: 30%; }
  .tablet-pairing .table .status-th {
    width: 5%; }
  .tablet-pairing .table .active-th {
    width: 7.5%; }
  .tablet-pairing .table .serial-number-th {
    width: 7.5%; }
  .tablet-pairing .table .locations-th {
    width: 7.5%; }
  .tablet-pairing .table .kiosk-th {
    width: 5%; }
  .tablet-pairing .table .ping-th {
    width: 25%; }
  .tablet-pairing .table .label-th {
    width: 5%; }
  .tablet-pairing .table .buttons-th {
    width: 7.5%; }
  .tablet-pairing .table .activation-key-td {
    width: 30%;
    white-space: nowrap;
    overflow: hidden; }
    .tablet-pairing .table .activation-key-td .activation-key {
      font-size: 20px; }
  .tablet-pairing .table .status-td {
    width: 5%;
    white-space: nowrap;
    overflow: hidden; }
  .tablet-pairing .table .active-td {
    width: 7.5%;
    white-space: nowrap;
    overflow: hidden; }
  .tablet-pairing .table .serial-number-td {
    width: 7.5%; }
  .tablet-pairing .table .locations-td {
    width: 7.5%; }
  .tablet-pairing .table .kiosk-td {
    width: 5%; }
  .tablet-pairing .table .ping-td {
    width: 25%;
    white-space: nowrap;
    overflow: hidden; }
  .tablet-pairing .table .label-td {
    width: 5%; }
    .tablet-pairing .table .label-td input {
      width: 40px; }
  .tablet-pairing .table .buttons-td {
    width: 7.5%; }

.pricing-content {
  background: #fff;
  -webkit-box-shadow: 0 0 7px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 7px rgba(0, 0, 0, 0.1);
  margin-top: 20px;
  -webkit-transition: all .25s ease-in-out;
  -moz-transition: all .25s ease-in-out;
  -o-transition: all .25s ease-in-out;
  transition: all .25s ease-in-out;
  position: relative;
  border-radius: 4px;
  cursor: pointer; }
  .pricing-content h2 {
    background-color: #666;
    color: #fff;
    text-align: center;
    margin-bottom: 0;
    padding: 15px 0;
    border-radius: 4px 4px 0 0; }
  .pricing-content:hover {
    margin-top: -10px;
    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
    -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.2); }
  .pricing-content .feature-header {
    height: 250px;
    color: #fff;
    text-align: center;
    font-size: 20px;
    background: #444;
    margin-bottom: 0;
    font-weight: 700;
    padding: 15px 0;
    margin-top: 0; }
    .pricing-content .feature-header span {
      font-weight: 300;
      font-size: 18px; }
    .pricing-content .feature-header sup {
      font-size: 16px; }
  .pricing-content.featured {
    margin-top: -20px;
    position: relative;
    -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.2); }
    .pricing-content.featured .feature-header {
      background-color: #3c8dbc; }
    .pricing-content.featured h3 {
      font-size: 28px;
      background-color: #3c8dbc; }
    .pricing-content.featured h2 {
      background-color: #00acde; }

.plans-box {
  height: 330px;
  display: flex; }
  .plans-box > div {
    flex-grow: 1;
    padding-left: 5px;
    padding-right: 5px; }
