table, .collapsed-footer { margin-bottom: 0px !important; }
thead, tfoot, .collapsed-footer { font-weight: bold; }
thead td, tbody td, tfoot, .collapsed-footer { text-align: center; }
.table > tbody > tr > td { border: 0px !important; }
td.tiny { width: 1px; white-space: nowrap; }
option[disabled="disabled"] { color: #ccc; }
blockquote { font-size: 100%; }
.larger { font-size: 120% }
input.larger { height: 38px }
select.larger { height: 38px }
a { text-decoration: none !important; }
iframe { padding: 0px; margin: 0px; border: 0px; }
sup { font-size: 110%; }
pre { white-space: pre-wrap; }
.collapsed-footer { padding: 8px; }
.panel { border-radius: 6px; }
.btn { font-weight: bold; }
.btn-narrow { padding-left: 6px; padding-right: 6px; }
.btn-thin { padding-top: 2px; padding-bottom: 2px; }
.btn-muted { background-color: #eaeaea; }
.btn-menu { line-height: 1; }
.nav-tabs { font-weight: bold; border: 0px; }
.full-page { width: 100vw !important; height: 100vh !important; }
.full-width { width: 100% !important; }
.pagination { margin: 0; }
.input-group { width: 100%; }
.checkbox { display: inline-block; font-weight: normal; }
.form-body { padding-top: 1em; }
.form-horizontal .form-group { margin-left: -15px; margin-right: -5px; margin-bottom: 0px; padding-bottom: 15px; }
.form-group-condensed { padding-bottom: 0px !important; }
.first-form-group { padding-top: 15px } /* has to be padding and not margin for header to work right */
.form-footer { padding: 1em; line-height: 33px; }
.footer-total { line-height: 32px; }
.form-text { margin-top: 7px; }
.spacer { margin: 0.5em; content: " " }
.vertical-spacer { margin-top: 0.5em; margin-bottom: 0.5em; }
.vertical-spacer-wide { margin-top: 1.0em; margin-bottom: 1.0em; }
.horizontal-spacer { margin-left: 0.5em; margin-right: 0.5em; }
.horizontal-spacer-wide { margin-left: 1.0em; margin-right: 1.0em; }
.striped-bg { background-color: #e9e9e9; }
.hover-bg { background-color: #d0d0d0; }
.striped-rows > div:nth-of-type(odd) { background-color: #e9e9e9; }
.hover-rows > div:hover { background-color: #d0d0d0; }
.table-striped > tbody > tr:nth-of-type(odd) { background-color: #e9e9e9; }
.table-hover > tbody > tr:hover { background-color: #d0d0d0; }
.invert {
  background: black;
  color: white;
  padding: 2px;
  border-radius: 1em;
}
.alert-header {
  position: absolute;
  top: 0px;
  height: 10px;
  width: 100%;
  opacity: 0;
  background-image: linear-gradient( to right, transparent, red, yellow, red, transparent);
  animation: pulse-alert-header 2s infinite;
}
@keyframes pulse-alert-header {
  0%   { opacity: 0; }
  50%  { opacity: 1; }
  100% { opacity: 0; }
}
.alert-text {
  animation: pulse-alert-text 1.5s infinite;
}
@keyframes pulse-alert-text {
  0% { color: white; }
  50% { color: yellow; }
  100% { color: white; }
}
.flashing { animation: pulse-flashing 1s linear infinite; }
@keyframes pulse-flashing { 50% { opacity: 0.5; } }
.language-code {
  display: inline-block;
  min-width: 22px;
  padding: 2px;
  text-align: center;
}
.form-control > .language-code { height: 24px; }
.rounded, .rounded-top, .rounded-bottom, .rounded-left, .rounded-right {
  border-radius: 6px !important;
}
.rounded-bottom, .rounded-bottom-left, .rounded-bottom-right, .rounded-top-right {
  border-top-left-radius: 0px !important;
}
.rounded-bottom, .rounded-bottom-left, .rounded-bottom-right, .rounded-top-left {
  border-top-right-radius: 0px !important;
}
.rounded-top, .rounded-top-left, .rounded-top-right, .rounded-bottom-right {
  border-bottom-left-radius: 0px !important;
}
.rounded-top, .rounded-top-left, .rounded-top-right, .rounded-bottom-left {
  border-bottom-right-radius: 0px !important;
}
.no-rounding { border-radius: 0px !important; }
.col-slim { padding-left: 0px; padding-right: 0px; }
.col-slim-left { padding-left: 0px; }
.col-slim-right { padding-right: 0px; }
.nopadding { padding: 0px; }
.tooltip-inner { max-width:350px; }
.tooltip-1000wide .tooltip-inner { max-width: 1000px; }
.popover {
  max-width:none;
  white-space:pre;
  text-align:initial;
}
.top-left { position: absolute; top: 0px; left: 0px; }
.top-right { position: absolute; top: 0px; right: 0px; }
.bottom-left { position: absolute; bottom: 0px; left: 0px; }
.bottom-right { position: absolute; bottom: 0px; right: 0px; }
.operation-list { padding: 0.5em; }
.no-line-height { line-height: 0px; }
.bg-white { background-color: #fff; }
.btn-header { border-radius: 6px; margin-right: -5px !important; margin-left: 0px !important; }
.calendar-event-cancelled { text-decoration: line-through !important; }
.working {
  background-image: linear-gradient(
    45deg,
    rgba(255, 255, 255, .10) 25%,
    transparent 25%,
    transparent 50%,
    rgba(255, 255, 255, .10) 50%,
    rgba(255, 255, 255, .10) 75%,
    transparent 75%,
    transparent
  );
  animation: progress-bar-stripes 2s linear infinite;
  background-size: 40px 40px;
}

textarea.note {
  border-radius:0px;
  resize:none;
  background-color:white;
}

/* make sure labels align well in forms */
label {
  margin-top: 0px;
  margin-bottom: 0px;
  padding-top: 7px;
}

/* get rid of input spinners */
input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
}
input[type=number] { -moz-appearance: textfield; }

/* format color-style inputs */
input.color-input {
  cursor: pointer;
  text-indent: -9999px; /* hides text */
}

/* used by the ng-view so that animated transitions work correctly */
.fade-transition {
  position: absolute;
  width: 100%;
}

.outer-view-frame {
  padding: 0px;
  min-width: 750px;
  margin-top: 50px;
}

.headerless-outer-view-frame {
  padding: 0px;
  min-width: 750px;
}

/* main frame showing */
.inner-view-frame {
  padding: 0.7em 0.5em;
}

.gradient-footer {
  position: relative;
  top: -10px;
  height: 8em;
  background: -moz-linear-gradient(top, white,  transparent);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, transparent));
  background: -webkit-linear-gradient(top, white, transparent);
  background: -o-linear-gradient(top, white, transparent);
  background: -ms-linear-gradient(top, white, transparent);
  background: linear-gradient(to bottom, white, transparent);
}

/* modal tweaking */
.modal-title { font-weight: bold; }
.modal-content { border-width: 0px; }
.modal-body { display: block; overflow: auto; }
thead, .modal-header {
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}
tfoot, .modal-footer {
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
}

.loading {
  padding: 3em;
  height: 16px;
  background-image: url( ../img/loading.gif );
  background-repeat: no-repeat;
  background-position: center center;
}

.loading-small {
  background-image: url( ../img/loading.gif );
  background-repeat: no-repeat;
  background-position: center center;
}

/* pointer cursor when hovering over selectable table rows */
.table-hover > tbody > tr:hover > td,
.table-hover > tbody > tr:hover > th {
  cursor: pointer;
}

/* navigation bar (always at top of page) */
.navigation-header {
  z-index: 10;
  position: fixed;
  width: 100%;
  top: 0px;
  box-shadow: 0px 3px 10px #404040;
}

.open > .navigation-menu {
  opacity: 1;
  visibility: visible;
  background-color: #ededed;
}

.navigation-menu {
  margin: 0px;
  display: block;
  opacity: 0;
  visibility: hidden;
  border: white;
  border-radius: 0px;
  width: 100%;
  box-shadow: 0px 2000px 0px 2000px #00000080;
  -webkit-transition: all 500ms ease-in-out;
  -moz-transition: all 500ms ease-in-out;
  -o-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
}

.navigation-menu-inner {
  margin-top: -5px;
  box-shadow: 0px 10px 30px 10px #000000;
}

.navigation-group {
  list-style: none;
  padding-top: 2px;
  padding-bottom: 7px;
  padding-right: 7px;
  padding-left: 7px;
}

.navigation-group.navigation-group-split-header {
  padding-bottom: 0px;
}

.navigation-group.navigation-group-split-left {
  padding-top: 0px;
  padding-right: 0px;
}

.navigation-group.navigation-group-split-right {
  padding-top: 0px;
  padding-left: 0px;
}

/* breadcrumb tweaks */
.breadcrumb {
  padding: 0px;
  margin: 0px;
  list-style: outside none none;
  background-color: transparent;
  border-radius: 0px;
}
.breadcrumb > li:before,
.breadcrumb > li + li:before {
  padding-left: 1px;
  padding-right: 2px;
  content: "/";
}
.breadcrumb > li:after,
.breadcrumb > li + li:after {
  padding-left: 0px;
  padding-right: 2px;
  content: " ";
}
.navbar-item {
  height: 50px;
  padding: 15px 0px;
  line-height: 20px;
  background-color: inherit;
}
.navbar-alert { color: yellow; }

/* navbar tweaks */
.navbar-header { background-color: transparent; }
.navbar-link, .dropdown { cursor: pointer; }
.navbar-link { color: white !important; }
.navbar-default {
  border-width: 0px;
  border-radius: 0px;
}
.navbar-brand {
  font-weight: bold;
  cursor: pointer;
  padding: 15px 10px;
}
.navbar-default .navbar-brand,
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: white;
  background-color: inherit;
}
.siterole {
  padding-left: 10px;
  padding-right: 10px;
}
.clock {
  padding-left: 10px;
  padding-right: 10px;
  margin-right: -15px;
}

.timepicker { padding-top: 1em; }
.timepicker-row { height: 2em; }

.noselect {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default;
}

.allow-select {
  -webkit-touch-callout: text;
  -webkit-user-select: text;
  -khtml-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
  cursor: text;
}

.loading {
  background: url( ../img/loading.gif );
  background-repeat: no-repeat;
  background-position: center center;
}

.background {
  background-image: url('../img/background.gif');
  background-repeat: repeat;
}

.glyph-hover {
  padding: 6px;
  margin: -6px;
}
.glyph-disabled {
  opacity: 0.4;
  cursor: default;
}

.record-list, .record-view, .utility-view { box-shadow: 0px 2px 2px #a0a0a0; }

.restrict-description { font-size: 80%; margin: 0; }
.restrict-add { display: table; width: 100%; }

/* tree */
.tree,
.tree ul {
  margin: 0;
  padding: 0;
  list-style: none;
  position:relative;
  margin-left: 20px;
}
.tree:first-child {
  margin-left: -20px;
}
.tree ul:before {
  content: "";
  display: block;
  width: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  border-left: 2px solid #ccc;
}
.tree li {
  position: relative;
  padding-top: 4px;
  padding-left: 20px;
}
.tree ul li:before {
  content: "";
  display: block;
  width: 30px;
  height: 0;
  margin-top: -1px;
  position: absolute;
  top: 20px;
  left: 0;
  border-top: 2px solid #ccc;
}
.tree .last-tree-branch:last-child:before {
  background: white;
  height: auto;
  top: 20px;
  bottom: 0;
}

/* cn-slider */
cn-slider, [cn-slider] {
  display: inline-block;
  position: relative;
  height: 7px;
  width: 100%;
  margin: 0px;
  vertical-align: middle;
}
cn-slider div, [cn-slider] div {
  white-space: nowrap;
  position: absolute;
}
cn-slider div.bar, [cn-slider] div.bar {
  width: 100%;
  height: 100%;
  border-radius: 7px;
  background: #444;
  overflow: hidden;
}
cn-slider div.bar .selection, [cn-slider] div.bar .selection {
  width: 0%;
  height: 100%;
  background: #13b6ff;
}
cn-slider div.handle, [cn-slider] div.handle {
  cursor: pointer;
  width: 20px;
  height: 20px;
  top: -8px;
  background-color: #fff;
  border: 1px solid #000;
  z-index: 2;
  border-radius: 100%;
}
cn-slider div.handle:after, [cn-slider] div.handle:after {
  content: '';
  background-color: #777;
  width: 0px;
  height: 0px;
  position: absolute;
  top: 6px;
  left: 6px;
  border-radius: 100%;
}
cn-slider div.handle:after:hover, [cn-slider] div.handle:after:hover { background-color: #000; }
cn-slider div.handle.active:after, [cn-slider] div.handle.active:after { background-color: #f00; }
cn-slider div.bubble, [cn-slider] div.bubble {
  display: none;
  cursor: default;
  top: -22px;
  padding: 1px 3px 1px 3px;
  font-size: 0.7em;
  font-family: sans-serif;
}
cn-slider div.bubble.active, [cn-slider] div.bubble.active { display: inline-block; }
cn-slider div.bubble.limit, [cn-slider] div.bubble.limit { color: #777; }

.maximize {
  position: fixed;
  z-index: 2;
  top: 60px;
  left: 6px;
  width: 99.5%;
  background: white;
}

.color-red, label.color-red, input.color-red, textarea.color-red, label.color-red > i { color: red; border-color: red; }
.max-width-full { max-width: 100% }

.no-horizontal-padding { padding-left: 0; padding-right: 0; }
.no-vertical-padding { padding-top: 0; padding-bottom: 0; }
.float-left { float: left; }
.float-right { float: right; }

.webphone-off { color: darkred; }
.webphone-on { color: lightgreen; }
