.navItem {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  display: inline-block;
  padding: 10px;
  color: white;
}

a {
  text-decoration: none;
}

html {
  height: 100%;
}

body {
  color: #4b4c4c;
  font-family: helvetica;
  height: calc(100% - 73px - 3.6em);
  position: relative;
  display: inline-block;
  width: 100%;
  min-width: 350px;
  font-size: 13px;
}
@media screen and (min-width: 600px) {
  body {
    font-size: 13px;
  }
}
@media screen and (min-width: 800px) {
  body {
    font-size: 13px;
  }
}
@media screen and (min-width: 1180px) {
  body {
    font-size: 14px;
  }
}
@media screen and (min-width: 1300px) {
  body {
    font-size: 15px;
  }
}
@media screen and (min-width: 1750px) {
  body {
    font-size: 16px;
  }
}
@media screen and (min-width: 1900px) {
  body {
    font-size: 17px;
  }
}
@media screen and (min-width: 2100px) {
  body {
    font-size: 18px;
  }
}
@media screen and (min-width: 2400px) {
  body {
    font-size: 19px;
  }
}

.viewContainer {
  height: 100%;
  width: 100%;
  float: left;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.loadingMessage {
  font-size: 1.5em;
  color: white;
}

.main {
  float: right;
  width: calc(100% - 8em);
  width: calc(100% - 8em);
  margin-top: 1.6em;
  height: calc(100% - 1.6em - 1.6em);
  display: inline-block;
  vertical-align: top;
  -webkit-transition: width 0.5s;
  transition: width 0.5s;
}
@media screen and (min-width: 0px) {
  .main {
    width: 100%;
  }
}
@media screen and (min-width: 600px) {
  .main {
    width: calc(100% - 8em);
  }
}

.main ui-view.ng-enter {
  opacity: 0;
  -webkit-transition: opacity .35s ease-in-out;
  -moz-transition: opacity .35s ease-in-out;
  -o-transition: opacity .35s ease-in-out;
  transition: opacity .35s ease-in-out;
}
.main ui-view.ng-enter-active {
  opacity: 1;
}
.main ui-view.ng-leave {
  opacity: 1;
  -webkit-transition: opacity .1s ease-in-out;
  -moz-transition: opacity .1s ease-in-out;
  -o-transition: opacity .1s ease-in-out;
  transition: opacity .1s ease-in-out;
}
.main ui-view.ng-leave-active {
  opacity: 0;
}

body.shift .main {
  width: 100%;
}

[layout] {
  overflow-y: auto;
}

.viewContainer {
  background-color: #FFFFFF;
  position: relative;
}

.loading {
  text-align: center;
  padding-top: 10%;
}
.loading .loadingBox {
  display: inline-block;
  padding: 3em;
  text-align: center;
}
.loading .loadingBox .message {
  font-size: 1.25em;
}
.loading .loadingBox .cogs {
  margin-bottom: .5em;
  position: relative;
  height: 66px;
}
.loading .loadingBox .cogs i:nth-child(1) {
  font-size: 4em;
  color: #376a88;
}
.loading .loadingBox .cogs i:nth-child(2) {
  font-size: 2.5em;
  color: #294e64;
}

.aacLoading {
  position: relative;
  height: 20px;
  width: 20px;
}

.fa-spin-reverse {
  -webkit-animation: fa-spin 2s infinite linear reverse;
  animation: fa-spin 2s infinite linear reverse;
}

.errorPage {
  background-color: #e4eef4;
}

.error {
  position: absolute;
  top: 50%;
  left: 50%;
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  font-size: 1.3em;
  padding: 3em;
  -moz-box-shadow: 0 0 0.3em #CBCBCB;
  -webkit-box-shadow: 0 0 0.3em #CBCBCB;
  box-shadow: 0 0 0.3em #CBCBCB;
  background: #5393B9;
  color: #FFF;
  text-align: center;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
}

.scrollable {
  padding: 1.5em 1.5em 1.5em 1.5em;
  height: calc(100% - 1.6em - 1.6em);
  width: 100%;
  margin-top: 1.6em;
  display: inline-block;
  vertical-align: top;
  -webkit-transition: width 0.5s;
  transition: width 0.5s;
  overflow-y: auto;
}

.termsAndConditions {
  margin: 0 2em;
}
.termsAndConditions .row {
  padding: 0;
  margin: 0 2em;
}
.termsAndConditions .col-xs-10 {
  padding: 0;
}
.termsAndConditions .buttonRow {
  padding-bottom: 1.5em;
}

.unsupportedbrowser {
  padding-left: 60px;
  padding-top: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  margin: 0px auto;
  /*background: #0C304B; /* dark blue */
  background: #5393B9;
  background-image: url(/images/warning-icon.png);
  /* default is warning icon. Override background-image to display a different icon */
  background-repeat: no-repeat;
  background-position: top left;
  border: 1px solid black;
  color: #FFF;
}

.unsupportedbrowser a {
  color: #CCECFA;
  text-decoration: none;
}

.unsupportedbrowser a:hover {
  color: #41C2FF;
  /* light blue */
}

.unsupportedbrowser img {
  float: left;
  width: 48px;
  margin-top: 20px;
}

body > div > .header {
  width: 100%;
  height: 73px;
  position: relative;
  float: left;
  background: #FFFFFF;
  box-shadow: 0 0 .3em #333;
  -moz-box-shadow: 0 0 .3em #333;
  -webkit-box-shadow: 0 0 .3em #333;
  /*    background: linear-gradient(to right, #1e5799 20%, #c0dbec 20%, #5393b9 100%); */
  background: #ffffff;
  /* Old browsers */
  /* IE9 SVG, needs conditional override of 'filter' to 'none' */
  background: -moz-linear-gradient(left, #FFFFFF 45%, #5393B9 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, right top, color-stop(45%, #5393B9), color-stop(100%, #5393B9));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(left, #FFFFFF 45%, #5393B9 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(left, #FFFFFF 45%, #5393B9 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(left, #FFFFFF 45%, #5393B9 100%);
  /* IE10+ */
  background: linear-gradient(to right, #FFFFFF 45%, #5393B9 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFFFFF', endColorstr='#5393B9',GradientType=1 );
  /* IE6-8 */
}
body > div > .header .bgBar {
  height: 1.6em;
  top: 100%;
  z-index: 1;
  position: absolute;
  left: 0;
}

.headerLeft {
  float: left;
  display: inline-block;
  height: 100%;
  width: 60%;
  position: relative;
  white-space: nowrap;
}

body.shift .menuIcon {
  color: #9bc1d7;
}
body.shift .menuIcon:hover {
  color: #5393B9;
}

.menuIcon {
  padding-right: .75em;
  border-right: 1px solid #305c76;
  -webkit-transition: color .5s;
  transition: color .5s;
  color: #305c76;
  float: left;
  font-size: 30px;
  cursor: pointer;
  -ms-transform: translate(0, 14%);
  -webkit-transform: translate(0, 14%);
  transform: translate(0, 14%);
  text-align: center;
  -moz-user-select: -moz-none;
  -ms-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}
.menuIcon.on {
  color: #555;
}
.menuIcon .menuLabel {
  font-size: 0.4em;
  font-weight: bold;
  transform: translateY(-40%);
}

.logoContainer {
  display: inline-block;
  position: relative;
  height: 70%;
  -webkit-transform: translateY(21%);
  -moz-transform: translateY(21%);
  -ms-transform: translateY(21%);
  transform: translateY(21%);
  margin-left: 0em;
  -webkit-translate: all .5s;
}

body:not(.login) .logoContainer {
  padding-left: 1.5em;
  color: #7e7f7f;
}

.logoContainer img {
  height: 100%;
}

.logoContainerNoPadding {
  display: inline-block;
  position: relative;
  height: 70%;
  -webkit-transform: translateY(21%);
  -moz-transform: translateY(21%);
  -ms-transform: translateY(21%);
  transform: translateY(21%);
  margin-left: 0em;
  -webkit-translate: all .5s;
}

body:not(.login) .logoContainerNoPadding {
  color: #7e7f7f;
}

.logoContainerNoPadding img {
  height: 100%;
}

.headerRight {
  float: right;
  display: inline-block;
  width: 30%;
  z-index: 1;
}

.userOptionsContainer {
  position: absolute;
  height: 100%;
  font-size: 15px;
  right: 1.5em;
  padding: 1.1em 0em;
  text-align: right;
  z-index: 10;
}

.username {
  color: #555;
  display: inline-block;
  position: relative;
  font-size: 1.2em;
  -ms-transform: translate(0, 100%);
  -webkit-transform: translate(0, 100%);
  transform: translate(0, 100%);
}

.dropDownIcon {
  color: #1360A8;
  display: inline-block;
  position: relative;
  font-size: 1.4em;
  margin-left: .5em;
  -ms-transform: translate(0, 100%);
  -webkit-transform: translate(0, 100%);
  transform: translate(0, 100%);
}

.userOptionsContainer.on .dropDownIcon {
  color: #555;
}

.rightMenuContainer {
  position: fixed;
  top: 5em;
  right: 0;
  padding: 2%;
  background: #F7F7F7;
  color: #444;
  z-index: 0;
  box-shadow: 0 0 .6em #AAA;
  -moz-box-shadow: 0 0 .6em #AAA;
  -webkit-box-shadow: 0 0 .6em #AAA;
  -ms-transform: translate(0, -50%) scaleY(0);
  -webkit-transform: translate(0, -50%) scaleY(0);
  transform: translate(0, -50%) scaleY(0);
  opacity: 0;
  -webkit-transition: all .5s;
  transition: all .5s;
}

.rightMenuContainer.show {
  -ms-transform: translate(0, 0) scaleY(1);
  -webkit-transform: translate(0, 0) scaleY(1);
  transform: translate(0, 0) scaleY(1);
  opacity: 1;
}

body.login .rightMenuContainer {
  -ms-transform: translate(0, -15%);
  -webkit-transform: translate(0, -15%);
  transform: translate(0, -15%);
}

.rightMenuItem {
  padding: .3em;
}

.leftTopContainer {
  position: absolute;
  height: 100%;
  left: 1.5em;
}

.footer {
  position: fixed;
  bottom: 0;
  left: 0;
  background: #5393B9;
  height: 3.6em;
  padding: 1.2em 1.2em 0em;
  color: white;
  width: 100%;
}
.footer .bgBar {
  position: absolute;
  bottom: 100%;
  right: 0;
  width: 100%;
  z-index: 0;
  height: 1.6em;
}
.footer .footerLeft {
  float: left;
}
.footer .footerRight {
  float: right;
}

.cub .list {
  color: #4b4c4c;
}
.cub .list.border-bottom {
  border-bottom: 1px solid grey;
  padding-bottom: 2em;
}
.cub .list.border-left {
  border-left: 1px solid rgba(40, 40, 40, 0.1);
  padding-left: 4em;
}
.cub .list > .title {
  font-size: 1.3em;
  font-weight: bold;
}
.cub .list .blurb {
  margin-top: 1em;
}
.cub .list .blurb .title {
  font-size: 1.1em;
  font-weight: bold;
}

.breadcrumbs {
  margin-bottom: .5em;
  display: inline-block;
  display: inline-block;
}
@media screen and (min-width: 0px) {
  .breadcrumbs {
    display: none;
  }
}
@media screen and (min-width: 600px) {
  .breadcrumbs {
    display: inline-block;
  }
}
.breadcrumbs .crumb {
  float: left;
  margin-right: 1.25em;
  display: inline-block;
  background-color: #5393B9;
  padding: .3em 0.5em .3em .6em;
  position: relative;
  color: #FFF;
  -moz-border-radius-topleft: 2px;
  -webkit-border-top-left-radius: 2px;
  border-top-left-radius: 2px;
  -moz-border-radius-bottomleft: 2px;
  -webkit-border-bottom-left-radius: 2px;
  border-bottom-left-radius: 2px;
}
.breadcrumbs .crumb:hover {
  text-decoration: underline;
}
.breadcrumbs .crumb a {
  text-transform: capitalize;
  color: #FFF;
  float: left;
}
.breadcrumbs .crumb:first-child .crumbTail {
  display: none;
}
.breadcrumbs .crumb .crumbArrow {
  width: 0;
  height: 0;
  position: absolute;
  top: 0;
  left: 100%;
  border-top: 1em solid transparent;
  border-bottom: 1em solid transparent;
  display: inline-block;
  border-left: 1em solid #5393B9;
}
.breadcrumbs .crumb .crumbTail .topTail {
  width: 0;
  height: 0;
  position: absolute;
  top: 0;
  left: -.92em;
  border-top: 0em solid transparent;
  border-bottom: 1em solid transparent;
  display: inline-block;
  border-right: 1em solid #5393B9;
}
.breadcrumbs .crumb .crumbTail .bottomtail {
  width: 0;
  height: 0;
  position: absolute;
  bottom: 0;
  left: -.92em;
  border-top: 1em solid transparent;
  border-bottom: 0em solid transparent;
  display: inline-block;
  border-right: 1em solid #5393B9;
}

.loginButton {
  background-color: #67A36D;
  color: #4b4c4c;
  text-align: center;
  cursor: pointer;
  -moz-transition-duration: 0.25s;
  -o-transition-duration: 0.25s;
  -webkit-transition-duration: 0.25s;
  transition-duration: 0.25s;
  -moz-transition-timing-function: ease-in;
  -o-transition-timing-function: ease-in;
  -webkit-transition-timing-function: ease-in;
  transition-timing-function: ease-in;
  -moz-transition-property: background-color;
  -o-transition-property: background-color;
  -webkit-transition-property: background-color;
  transition-property: background-color;
}
.loginButton:hover {
  background-color: #a7c9aa;
}
.loginButton.float-right {
  float: right;
}

.button {
  margin-top: 1em;
  padding: .6em 2em;
  background-color: #67A36D;
  color: #FFF;
  text-align: center;
  cursor: pointer;
  -moz-transition-duration: 0.25s;
  -o-transition-duration: 0.25s;
  -webkit-transition-duration: 0.25s;
  transition-duration: 0.25s;
  -moz-transition-timing-function: ease-in;
  -o-transition-timing-function: ease-in;
  -webkit-transition-timing-function: ease-in;
  transition-timing-function: ease-in;
  -moz-transition-property: background-color, background-image;
  -o-transition-property: background-color, background-image;
  -webkit-transition-property: background-color, background-image;
  transition-property: background-color, background-image;
}
.button:hover {
  background-color: #a7c9aa;
  background-color: #5b9661;
}
.button.float-right {
  float: right;
}

.cheetahTabContainer {
  position: relative;
  width: 100%;
  padding: 0 1.2em;
}
.cheetahTabContainer ul {
  margin: 0;
  line-height: 1.3;
  height: 2.75em;
}
.cheetahTabContainer ul li {
  list-style: none;
  float: left;
  margin-right: 0.25em;
}
.cheetahTabContainer ul .cheetahTab {
  border: 1px solid #cbcbcb;
  border-bottom: 1px solid #cbcbcb;
  -moz-border-radius-topleft: 5px;
  -webkit-border-top-left-radius: 5px;
  border-top-left-radius: 5px;
  -moz-border-radius-topright: 5px;
  -webkit-border-top-right-radius: 5px;
  border-top-right-radius: 5px;
  background-color: #fefefe;
  cursor: pointer;
  font-weight: normal;
  color: #3e3f3f;
  text-align: center;
  display: table-cell;
  vertical-align: middle;
  padding: 0 1.5em;
  height: 2.75em;
  max-width: 16em;
  top: 1px;
  position: relative;
}
.cheetahTabContainer ul .cheetahTab:hover {
  background-color: #E4E4E4;
}
.cheetahTabContainer ul .cheetahTabActive {
  font-weight: bold;
  background-color: #E4E4E4;
  border-bottom: 1px solid #E4E4E4;
}

.cheetahTabContentContainer {
  top: -1px;
  margin: 0 1.2em 0.5em 1.2em;
  background-color: #E4E4E4;
  border: 1px solid #cbcbcb;
  -moz-border-radius-bottomleft: 5px;
  -webkit-border-bottom-left-radius: 5px;
  border-bottom-left-radius: 5px;
  -moz-border-radius-bottomright: 5px;
  -webkit-border-bottom-right-radius: 5px;
  border-bottom-right-radius: 5px;
  -moz-border-radius-topright: 5px;
  -webkit-border-top-right-radius: 5px;
  border-top-right-radius: 5px;
}

.cheetahTabContent {
  width: 100%;
  height: 100%;
  overflow: auto;
}
.cheetahTabContent hr {
  margin-top: 4px;
  margin-bottom: 8px;
}

body.shift [layout="menu"] {
  width: 0%;
}

[layout="menu"].layout {
  font-size: 1em;
  position: relative;
  z-index: 5;
  overflow: hidden;
  height: 100%;
  float: left;
  display: inline-block;
  vertical-align: top;
  background-color: #305c76;
  -webkit-transition: width 0.5s;
  transition: width 0.5s;
  width: 8em;
  position: relative;
  font-size: 1em;
  box-shadow: none;
}
@media screen and (min-width: 0px) {
  [layout="menu"].layout {
    position: fixed;
  }
}
@media screen and (min-width: 600px) {
  [layout="menu"].layout {
    position: relative;
  }
}
@media screen and (min-width: 0px) {
  [layout="menu"].layout {
    font-size: 1.4em;
  }
}
@media screen and (min-width: 600px) {
  [layout="menu"].layout {
    font-size: 1em;
  }
}
@media screen and (min-width: 0px) {
  [layout="menu"].layout {
    box-shadow: 0 0.08em 0.4em #162935;
  }
}
@media screen and (min-width: 600px) {
  [layout="menu"].layout {
    box-shadow: none;
  }
}
[layout="menu"] .leftTopMenuContainer {
  border-bottom: .15em solid #FFF;
  margin-top: 1.6em;
}
[layout="menu"] .leftMenuItem {
  padding: .7em .3em;
  display: block;
  text-align: center;
  border-top: 2px solid #FFF;
  color: #FFF;
  font-weight: bold;
  text-decoration: none;
}
[layout="menu"] .leftMenuItem:hover {
  color: #f2f2f2;
  cursor: pointer;
}
[layout="menu"] .leftMenuItem.active {
  background-color: #FFFFFF;
  color: #4b4c4c;
}
[layout="menu"] .seperator {
  background-color: #AAA;
  height: 1px;
  margin-bottom: 1.2em;
}
[layout="menu"] .bottomMenu {
  position: absolute;
  bottom: 1em;
  left: 10%;
  width: 80%;
  font-size: .8em;
}
[layout="menu"] .bottomMenuItem {
  font-size: .9em;
  padding: .3em 0;
}
[layout="menu"] .submenu {
  padding: .3em .1em;
  display: block;
  text-align: center;
  border-top: 2px solid #FFF;
  font-weight: bold;
  text-decoration: none;
}
[layout="menu"] .submenu.active {
  background-color: #FFFFFF;
  color: #4b4c4c;
}
[layout="menu"] .submenu:hover {
  color: #4382b7;
}
[layout="menu"] .expandedMenuItem {
  color: #E0981B !important;
}

[layout="footer"].layout {
  position: relative;
  background: #5393B9;
  height: 3.6em;
  padding: 1.2em 1.2em 0em;
  color: white;
  float: left;
  width: 100%;
}
[layout="footer"] .P0 {
  float: left;
}
[layout="footer"] .P1 {
  float: right;
}

[layout="bottomBar"] {
  width: 90%;
  overflow: hidden;
  -webkit-transition: width 0.5s;
  transition: width 0.5s;
  float: right;
}
[layout="bottomBar"] .P0 {
  height: 1.6em;
}
[layout="bottomBar"] .P0 .cub_container {
  height: 100%;
}
[layout="bottomBar"] .P0 img {
  height: 100%;
  width: 100%;
}

body.shift [layout="bottomBar"] {
  width: 100%;
}

[layout="topBar"] {
  width: 90%;
  overflow: hidden;
  -webkit-transition: width 0.5s;
  transition: width 0.5s;
  float: right;
}
[layout="topBar"] .P0 {
  height: 1.6em;
}
[layout="topBar"] .P0 .cub_container {
  height: 100%;
}
[layout="topBar"] .P0 img {
  height: 100%;
  width: 100%;
}

body.shift [layout="topBar"] {
  width: 100%;
}

.redirectCub {
  margin: 1em;
}

.ng-table th {
  text-align: center;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.ng-table th.sortable {
  cursor: pointer;
}
.ng-table th.sortable .sort-indicator {
  padding-right: 18px;
  position: relative;
}
.ng-table th.sortable .sort-indicator:after {
  content: "";
  border-width: 0 4px 4px;
  border-style: solid;
  border-color: #000 transparent;
  visibility: visible;
  right: 5px;
  top: 50%;
  position: absolute;
  opacity: .3;
  margin-top: -4px;
}
.ng-table th.sortable .sort-indicator:before {
  content: "";
  border-width: 0 4px 4px;
  border-style: solid;
  border-color: #000 transparent;
  visibility: visible;
  right: 5px;
  top: 50%;
  position: absolute;
  opacity: .3;
  margin-top: -4px;
  margin-top: 2px;
  border-bottom: none;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid #000;
}
.ng-table th.sortable .sort-indicator:hover:after, .ng-table th.sortable .sort-indicator:hover:before {
  opacity: 1;
  visibility: visible;
}
.ng-table th.sortable.sort-desc, .ng-table th.sortable.sort-asc {
  background-color: rgba(141, 192, 219, 0.25);
}
.ng-table th.sortable.sort-desc .sort-indicator:after, .ng-table th.sortable.sort-asc .sort-indicator:after {
  margin-top: -2px;
}
.ng-table th.sortable.sort-desc .sort-indicator:before {
  visibility: hidden;
}
.ng-table th.sortable.sort-asc .sort-indicator:before {
  visibility: hidden;
}
.ng-table th.sortable.sort-asc .sort-indicator:after, .ng-table th.sortable.sort-asc .sort-indicator:hover:after {
  visibility: visible;
  filter: alpha(opacity=60);
  -khtml-opacity: 0.6;
  -moz-opacity: 0.6;
  opacity: 0.6;
}
.ng-table th.sortable.sort-desc .sort-indicator:after {
  border-bottom: none;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid #000;
  visibility: visible;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  filter: alpha(opacity=60);
  -khtml-opacity: 0.6;
  -moz-opacity: 0.6;
  opacity: 0.6;
}
.ng-table th.filter .input-filter {
  margin: 0;
  display: block;
  width: 100%;
  min-height: 30px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.ng-table + .pagination {
  margin-top: 0;
}

.ng-table-counts {
  margin: 1em;
}

.ng-table-pagination-record-info {
  margin: 1.5em .75em;
}

@media only screen and (max-width: 800px) {
  .ng-table-responsive {
    border-bottom: 1px solid #999999;
    display: block;
  }
  .ng-table-responsive tr {
    border-top: 1px solid #999999;
    border-left: 1px solid #999999;
    border-right: 1px solid #999999;
  }
  .ng-table-responsive td:before {
    position: absolute;
    padding: 8px;
    left: 0;
    top: 0;
    width: 50%;
    white-space: nowrap;
    text-align: left;
    font-weight: bold;
  }
  .ng-table-responsive thead tr th {
    text-align: left;
  }
  .ng-table-responsive thead tr.ng-table-filters th {
    padding: 0;
  }
  .ng-table-responsive thead tr.ng-table-filters th form > div {
    padding: 8px;
  }
  .ng-table-responsive td {
    border: none;
    border-bottom: 1px solid #eeeeee;
    position: relative;
    padding-left: 50%;
    white-space: normal;
    text-align: left;
  }
  .ng-table-responsive td:before {
    content: attr(data-title-text);
  }
  .ng-table-responsive thead, .ng-table-responsive tbody, .ng-table-responsive th, .ng-table-responsive td, .ng-table-responsive tr {
    display: block;
  }
}
@-webkit-keyframes ngdialog-fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes ngdialog-fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes ngdialog-fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes ngdialog-fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.ngdialog {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.ngdialog *,
.ngdialog *:before,
.ngdialog *:after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
}

.ngdialog {
  position: fixed;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 10000;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.ngdialog-overlay {
  position: fixed;
  background: rgba(0, 0, 0, 0.4);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-backface-visibility: hidden;
  -webkit-animation: ngdialog-fadein 0.5s;
  animation: ngdialog-fadein 0.5s;
}

.ngdialog.ngdialog-closing .ngdialog-overlay {
  -webkit-backface-visibility: hidden;
  -webkit-animation: ngdialog-fadeout 0.5s;
  animation: ngdialog-fadeout 0.5s;
}

.ngdialog-content {
  background: white;
  -webkit-backface-visibility: hidden;
  -webkit-animation: ngdialog-fadein 0.5s;
  animation: ngdialog-fadein 0.5s;
}

.ngdialog.ngdialog-closing .ngdialog-content {
  -webkit-backface-visibility: hidden;
  -webkit-animation: ngdialog-fadeout 0.5s;
  animation: ngdialog-fadeout 0.5s;
}

.ngdialog-close:before {
  font-family: 'Helvetica', Arial, sans-serif;
  content: '\00D7';
  cursor: pointer;
}

body.ngdialog-open {
  overflow: hidden;
}

@-webkit-keyframes ngdialog-flyin {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-40px);
    transform: translateY(-40px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes ngdialog-flyin {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-40px);
    -ms-transform: translateY(-40px);
    transform: translateY(-40px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}
@-webkit-keyframes ngdialog-flyout {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-40px);
    transform: translateY(-40px);
  }
}
@keyframes ngdialog-flyout {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-40px);
    -ms-transform: translateY(-40px);
    transform: translateY(-40px);
  }
}
.ngdialog.ngdialog-theme-default {
  padding-bottom: 160px;
  padding-top: 160px;
}

.ngdialog.ngdialog-theme-default.ngdialog-closing .ngdialog-content {
  -webkit-animation: ngdialog-flyout .5s;
  animation: ngdialog-flyout .5s;
}

.ngdialog.ngdialog-theme-default .ngdialog-content {
  -webkit-animation: ngdialog-flyin .5s;
  animation: ngdialog-flyin .5s;
  background: #f0f0f0;
  border-radius: 5px;
  color: #444;
  font-family: 'Helvetica',sans-serif;
  font-size: 1.1em;
  line-height: 1.5em;
  margin: 0 auto;
  max-width: 100%;
  padding: 1em;
  position: relative;
  width: 450px;
}

.ngdialog.ngdialog-theme-default .ngdialog-close {
  border-radius: 5px;
  cursor: pointer;
  position: absolute;
  right: 0;
  top: 0;
}

.ngdialog.ngdialog-theme-default .ngdialog-close:before {
  background: transparent;
  border-radius: 3px;
  color: #bbb;
  content: '\00D7';
  font-size: 26px;
  font-weight: 400;
  height: 30px;
  line-height: 26px;
  position: absolute;
  right: 3px;
  text-align: center;
  top: 3px;
  width: 30px;
}

.ngdialog.ngdialog-theme-default .ngdialog-close:hover:before,
.ngdialog.ngdialog-theme-default .ngdialog-close:active:before {
  color: #777;
}

.ngdialog.ngdialog-theme-default .ngdialog-message {
  margin-bottom: .5em;
}

.ngdialog.ngdialog-theme-default .ngdialog-input {
  margin-bottom: 1em;
}

.ngdialog.ngdialog-theme-default .ngdialog-input textarea,
.ngdialog.ngdialog-theme-default .ngdialog-input input[type="text"],
.ngdialog.ngdialog-theme-default .ngdialog-input input[type="password"],
.ngdialog.ngdialog-theme-default .ngdialog-input input[type="email"],
.ngdialog.ngdialog-theme-default .ngdialog-input input[type="url"] {
  background: #fff;
  border: 0;
  border-radius: 3px;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  margin: 0 0 .25em;
  min-height: 2.5em;
  padding: .25em .67em;
  width: 100%;
}

.ngdialog.ngdialog-theme-default .ngdialog-input textarea:focus,
.ngdialog.ngdialog-theme-default .ngdialog-input input[type="text"]:focus,
.ngdialog.ngdialog-theme-default .ngdialog-input input[type="password"]:focus,
.ngdialog.ngdialog-theme-default .ngdialog-input input[type="email"]:focus,
.ngdialog.ngdialog-theme-default .ngdialog-input input[type="url"]:focus {
  -webkit-box-shadow: inset 0 0 0 2px #8dbdf1;
  box-shadow: inset 0 0 0 2px #8dbdf1;
  outline: none;
}

.ngdialog.ngdialog-theme-default .ngdialog-buttons {
  *zoom: 1;
}

.ngdialog.ngdialog-theme-default .ngdialog-buttons:after {
  content: '';
  display: table;
  clear: both;
}

.ngdialog.ngdialog-theme-default .ngdialog-button {
  border: 0;
  border-radius: 3px;
  cursor: pointer;
  float: right;
  font-family: inherit;
  font-size: .8em;
  letter-spacing: .1em;
  line-height: 1em;
  margin: 0 0 0 .5em;
  padding: .75em 2em;
  text-transform: uppercase;
}

.ngdialog.ngdialog-theme-default .ngdialog-button:focus {
  -webkit-animation: ngdialog-pulse 1.1s infinite;
  animation: ngdialog-pulse 1.1s infinite;
  outline: none;
}

@media (max-width: 568px) {
  .ngdialog.ngdialog-theme-default .ngdialog-button:focus {
    -webkit-animation: none;
    animation: none;
  }
}
.ngdialog.ngdialog-theme-default .ngdialog-button.ngdialog-button-primary {
  background: #3288e6;
  color: #fff;
}

.ngdialog.ngdialog-theme-default .ngdialog-button.ngdialog-button-secondary {
  background: #e0e0e0;
  color: #777;
}

.pagination-container {
  position: relative;
}
.pagination-container .pagination-record-info {
  position: absolute;
  right: 1em;
  top: 1em;
}

/*!
 * ui-select
 * http://github.com/angular-ui/ui-select
 * Version: 0.19.5 - 2016-10-24T23:13:59.551Z
 * License: MIT
 */
/* Style when highlighting a search. */
.ui-select-highlight {
  font-weight: bold;
}

.ui-select-offscreen {
  clip: rect(0 0 0 0) !important;
  width: 1px !important;
  height: 1px !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  outline: 0 !important;
  left: 0px !important;
  top: 0px !important;
}

.ui-select-choices-row:hover {
  background-color: #f5f5f5;
}

/* Select2 theme */
/* Mark invalid Select2 */
.ng-dirty.ng-invalid > a.select2-choice {
  border-color: #D44950;
}

.select2-result-single {
  padding-left: 0;
}

.select2-locked > .select2-search-choice-close {
  display: none;
}

.select-locked > .ui-select-match-close {
  display: none;
}

body > .select2-container.open {
  z-index: 9999;
  /* The z-index Select2 applies to the select2-drop */
}

/* Handle up direction Select2 */
.ui-select-container[theme="select2"].direction-up .ui-select-match,
.ui-select-container.select2.direction-up .ui-select-match {
  border-radius: 4px;
  /* FIXME hardcoded value :-/ */
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.ui-select-container[theme="select2"].direction-up .ui-select-dropdown,
.ui-select-container.select2.direction-up .ui-select-dropdown {
  border-radius: 4px;
  /* FIXME hardcoded value :-/ */
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-top-width: 1px;
  /* FIXME hardcoded value :-/ */
  border-top-style: solid;
  box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);
  margin-top: -4px;
  /* FIXME hardcoded value :-/ */
}

.ui-select-container[theme="select2"].direction-up .ui-select-dropdown .select2-search,
.ui-select-container.select2.direction-up .ui-select-dropdown .select2-search {
  margin-top: 4px;
  /* FIXME hardcoded value :-/ */
}

.ui-select-container[theme="select2"].direction-up.select2-dropdown-open .ui-select-match,
.ui-select-container.select2.direction-up.select2-dropdown-open .ui-select-match {
  border-bottom-color: #5897fb;
}

.ui-select-container[theme="select2"] .ui-select-dropdown .ui-select-search-hidden,
.ui-select-container[theme="select2"] .ui-select-dropdown .ui-select-search-hidden input {
  opacity: 0;
  height: 0;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

/* Selectize theme */
/* Helper class to show styles when focus */
.selectize-input.selectize-focus {
  border-color: #007FBB !important;
}

/* Fix input width for Selectize theme */
.selectize-control.single > .selectize-input > input {
  width: 100%;
}

/* Fix line break when there's at least one item selected with the Selectize theme */
.selectize-control.multi > .selectize-input > input {
  margin: 0 !important;
}

/* Fix dropdown width for Selectize theme */
.selectize-control > .selectize-dropdown {
  width: 100%;
}

/* Mark invalid Selectize */
.ng-dirty.ng-invalid > div.selectize-input {
  border-color: #D44950;
}

/* Handle up direction Selectize */
.ui-select-container[theme="selectize"].direction-up .ui-select-dropdown {
  box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);
  margin-top: -2px;
  /* FIXME hardcoded value :-/ */
}

.ui-select-container[theme="selectize"] input.ui-select-search-hidden {
  opacity: 0;
  height: 0;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  width: 0;
}

/* Bootstrap theme */
/* Helper class to show styles when focus */
.btn-default-focus {
  color: #333;
  background-color: #EBEBEB;
  border-color: #ADADAD;
  text-decoration: none;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}

.ui-select-bootstrap .ui-select-toggle {
  position: relative;
}

.ui-select-bootstrap .ui-select-toggle > .caret {
  position: absolute;
  height: 10px;
  top: 50%;
  right: 10px;
  margin-top: -2px;
}

/* Fix Bootstrap dropdown position when inside a input-group */
.input-group > .ui-select-bootstrap.dropdown {
  /* Instead of relative */
  position: static;
}

.input-group > .ui-select-bootstrap > input.ui-select-search.form-control {
  border-radius: 4px;
  /* FIXME hardcoded value :-/ */
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group > .ui-select-bootstrap > input.ui-select-search.form-control.direction-up {
  border-radius: 4px !important;
  /* FIXME hardcoded value :-/ */
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.ui-select-bootstrap .ui-select-search-hidden {
  opacity: 0;
  height: 0;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

.ui-select-bootstrap > .ui-select-match > .btn {
  /* Instead of center because of .btn */
  text-align: left !important;
}

.ui-select-bootstrap > .ui-select-match > .caret {
  position: absolute;
  top: 45%;
  right: 15px;
}

/* See Scrollable Menu with Bootstrap 3 http://stackoverflow.com/questions/19227496 */
.ui-select-bootstrap > .ui-select-choices, .ui-select-bootstrap > .ui-select-no-choice {
  width: 100%;
  height: auto;
  max-height: 200px;
  overflow-x: hidden;
  margin-top: -1px;
}

body > .ui-select-bootstrap.open {
  z-index: 1000;
  /* Standard Bootstrap dropdown z-index */
}

.ui-select-multiple.ui-select-bootstrap {
  height: auto;
  padding: 3px 3px 0 3px;
}

.ui-select-multiple.ui-select-bootstrap input.ui-select-search {
  background-color: transparent !important;
  /* To prevent double background when disabled */
  border: none;
  outline: none;
  height: 1.666666em;
  margin-bottom: 3px;
}

.ui-select-multiple.ui-select-bootstrap .ui-select-match .close {
  font-size: 1.6em;
  line-height: 0.75;
}

.ui-select-multiple.ui-select-bootstrap .ui-select-match-item {
  outline: 0;
  margin: 0 3px 3px 0;
}

.ui-select-multiple .ui-select-match-item {
  position: relative;
}

.ui-select-multiple .ui-select-match-item.dropping .ui-select-match-close {
  pointer-events: none;
}

.ui-select-multiple:hover .ui-select-match-item.dropping-before:before {
  content: "";
  position: absolute;
  top: 0;
  right: 100%;
  height: 100%;
  margin-right: 2px;
  border-left: 1px solid #428bca;
}

.ui-select-multiple:hover .ui-select-match-item.dropping-after:after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  height: 100%;
  margin-left: 2px;
  border-right: 1px solid #428bca;
}

.ui-select-bootstrap .ui-select-choices-row > span {
  cursor: pointer;
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: 400;
  line-height: 1.42857143;
  color: #333;
  white-space: nowrap;
}

.ui-select-bootstrap .ui-select-choices-row > span:hover, .ui-select-bootstrap .ui-select-choices-row > span:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5;
}

.ui-select-bootstrap .ui-select-choices-row.active > span {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: #428bca;
}

.ui-select-bootstrap .ui-select-choices-row.disabled > span,
.ui-select-bootstrap .ui-select-choices-row.active.disabled > span {
  color: #777;
  cursor: not-allowed;
  background-color: #fff;
}

/* fix hide/show angular animation */
.ui-select-match.ng-hide-add,
.ui-select-search.ng-hide-add {
  display: none !important;
}

/* Mark invalid Bootstrap */
.ui-select-bootstrap.ng-dirty.ng-invalid > button.btn.ui-select-match {
  border-color: #D44950;
}

/* Handle up direction Bootstrap */
.ui-select-container[theme="bootstrap"].direction-up .ui-select-dropdown {
  box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);
}

.ui-select-bootstrap .ui-select-match-text {
  width: 100%;
  padding-right: 1em;
}

.ui-select-bootstrap .ui-select-match-text span {
  display: inline-block;
  width: 100%;
  overflow: hidden;
}

.ui-select-bootstrap .ui-select-toggle > a.btn {
  position: absolute;
  height: 10px;
  right: 10px;
  margin-top: -2px;
}

/* Spinner */
.ui-select-refreshing {
  position: absolute;
  right: 0;
  padding: 8px 27px;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}

@-webkit-keyframes ui-select-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes ui-select-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.ui-select-spin {
  -webkit-animation: ui-select-spin 2s infinite linear;
  animation: ui-select-spin 2s infinite linear;
}

.ui-select-refreshing.ng-animate {
  -webkit-animation: none 0s;
}

/* nvd3 version 1.8.6 (https://github.com/novus/nvd3) 2017-08-23 */
.nvd3 .nv-axis {
  pointer-events: none;
  opacity: 1;
}

.nvd3 .nv-axis path {
  fill: none;
  stroke: #000;
  stroke-opacity: .75;
  shape-rendering: crispEdges;
}

.nvd3 .nv-axis path.domain {
  stroke-opacity: .75;
}

.nvd3 .nv-axis.nv-x path.domain {
  stroke-opacity: 0;
}

.nvd3 .nv-axis line {
  fill: none;
  stroke: #e5e5e5;
  shape-rendering: crispEdges;
}

.nvd3 .nv-axis .zero line,
.nvd3 .nv-axis line.zero {
  stroke-opacity: .75;
}

.nvd3 .nv-axis .nv-axisMaxMin text {
  font-weight: bold;
}

.nvd3 .x .nv-axis .nv-axisMaxMin text,
.nvd3 .x2 .nv-axis .nv-axisMaxMin text,
.nvd3 .x3 .nv-axis .nv-axisMaxMin text {
  text-anchor: middle;
}

.nvd3 .nv-axis.nv-disabled {
  opacity: 0;
}

.nvd3 .nv-bars rect {
  fill-opacity: .75;
  transition: fill-opacity 250ms linear;
}

.nvd3 .nv-bars rect.hover {
  fill-opacity: 1;
}

.nvd3 .nv-bars .hover rect {
  fill: lightblue;
}

.nvd3 .nv-bars text {
  fill: transparent;
}

.nvd3 .nv-bars .hover text {
  fill: black;
}

.nvd3 .nv-multibar .nv-groups rect,
.nvd3 .nv-multibarHorizontal .nv-groups rect,
.nvd3 .nv-discretebar .nv-groups rect {
  stroke-opacity: 0;
  transition: fill-opacity 250ms linear;
}

.nvd3 .nv-multibar .nv-groups rect:hover,
.nvd3 .nv-multibarHorizontal .nv-groups rect:hover,
.nvd3 .nv-candlestickBar .nv-ticks rect:hover,
.nvd3 .nv-discretebar .nv-groups rect:hover {
  fill-opacity: 1;
}

.nvd3 .nv-discretebar .nv-groups text,
.nvd3 .nv-multibarHorizontal .nv-groups text {
  font-weight: bold;
  fill: black;
  stroke: transparent;
}

/* boxplot CSS */
.nvd3 .nv-boxplot circle {
  fill-opacity: 0.5;
}

.nvd3 .nv-boxplot circle:hover {
  fill-opacity: 1;
}

.nvd3 .nv-boxplot rect:hover {
  fill-opacity: 1;
}

.nvd3 line.nv-boxplot-median {
  stroke: black;
}

.nv-boxplot-tick:hover {
  stroke-width: 2.5px;
}

/* bullet */
.nvd3.nv-bullet {
  font: 10px sans-serif;
}

.nvd3.nv-bullet .nv-measure {
  fill-opacity: .8;
}

.nvd3.nv-bullet .nv-measure:hover {
  fill-opacity: 1;
}

.nvd3.nv-bullet .nv-marker {
  stroke: #000;
  stroke-width: 2px;
}

.nvd3.nv-bullet .nv-markerTriangle {
  stroke: #000;
  fill: #fff;
  stroke-width: 1.5px;
}

.nvd3.nv-bullet .nv-markerLine {
  stroke: #000;
  stroke-width: 1.5px;
}

.nvd3.nv-bullet .nv-tick line {
  stroke: #666;
  stroke-width: .5px;
}

.nvd3.nv-bullet .nv-range.nv-s0 {
  fill: #eee;
}

.nvd3.nv-bullet .nv-range.nv-s1 {
  fill: #ddd;
}

.nvd3.nv-bullet .nv-range.nv-s2 {
  fill: #ccc;
}

.nvd3.nv-bullet .nv-title {
  font-size: 14px;
  font-weight: bold;
}

.nvd3.nv-bullet .nv-subtitle {
  fill: #999;
}

.nvd3.nv-bullet .nv-range {
  fill: #bababa;
  fill-opacity: .4;
}

.nvd3.nv-bullet .nv-range:hover {
  fill-opacity: .7;
}

.nvd3.nv-candlestickBar .nv-ticks .nv-tick {
  stroke-width: 1px;
}

.nvd3.nv-candlestickBar .nv-ticks .nv-tick.hover {
  stroke-width: 2px;
}

.nvd3.nv-candlestickBar .nv-ticks .nv-tick.positive rect {
  stroke: #2ca02c;
  fill: #2ca02c;
}

.nvd3.nv-candlestickBar .nv-ticks .nv-tick.negative rect {
  stroke: #d62728;
  fill: #d62728;
}

.with-transitions .nv-candlestickBar .nv-ticks .nv-tick {
  transition: stroke-width 250ms linear, stroke-opacity 250ms linear;
}

.nvd3.nv-candlestickBar .nv-ticks line {
  stroke: #333;
}

.nv-force-node {
  stroke: #fff;
  stroke-width: 1.5px;
}

.nv-force-link {
  stroke: #999;
  stroke-opacity: .6;
}

.nv-force-node text {
  stroke-width: 0px;
}

.nvd3 .nv-legend .nv-disabled rect {
  /*fill-opacity: 0;*/
}

.nvd3 .nv-check-box .nv-box {
  fill-opacity: 0;
  stroke-width: 2;
}

.nvd3 .nv-check-box .nv-check {
  fill-opacity: 0;
  stroke-width: 4;
}

.nvd3 .nv-series.nv-disabled .nv-check-box .nv-check {
  fill-opacity: 0;
  stroke-opacity: 0;
}

.nvd3 .nv-controlsWrap .nv-legend .nv-check-box .nv-check {
  opacity: 0;
}

/* line plus bar */
.nvd3.nv-linePlusBar .nv-bar rect {
  fill-opacity: .75;
}

.nvd3.nv-linePlusBar .nv-bar rect:hover {
  fill-opacity: 1;
}

.nvd3 .nv-groups path.nv-line {
  fill: none;
}

.nvd3 .nv-groups path.nv-area {
  stroke: none;
}

.nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  fill-opacity: 0;
  stroke-opacity: 0;
}

.nvd3.nv-scatter.nv-single-point .nv-groups .nv-point {
  fill-opacity: .5 !important;
  stroke-opacity: .5 !important;
}

.with-transitions .nvd3 .nv-groups .nv-point {
  transition: stroke-width 250ms linear, stroke-opacity 250ms linear;
}

.nvd3.nv-scatter .nv-groups .nv-point.hover,
.nvd3 .nv-groups .nv-point.hover {
  stroke-width: 7px;
  fill-opacity: .95 !important;
  stroke-opacity: .95 !important;
}

.nvd3 .nv-point-paths path {
  stroke: #aaa;
  stroke-opacity: 0;
  fill: #eee;
  fill-opacity: 0;
}

.nvd3 .nv-indexLine {
  cursor: ew-resize;
}

/********************
 * SVG CSS
 */
/********************
  Default CSS for an svg element nvd3 used
*/
svg.nvd3-svg {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  width: 100%;
  height: 100%;
}

/********************
  Box shadow and border radius styling
*/
.nvtooltip.with-3d-shadow, .with-3d-shadow .nvtooltip {
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  border-radius: 5px;
}

.nvd3 text {
  font: normal 12px Arial, sans-serif;
}

.nvd3 .title {
  font: bold 14px Arial, sans-serif;
}

.nvd3 .nv-background {
  fill: white;
  fill-opacity: 0;
}

.nvd3.nv-noData {
  font-size: 18px;
  font-weight: bold;
}

/**********
*  Brush
*/
.nv-brush .extent {
  fill-opacity: .125;
  shape-rendering: crispEdges;
}

.nv-brush .resize path {
  fill: #eee;
  stroke: #666;
}

/**********
*  Legend
*/
.nvd3 .nv-legend .nv-series {
  cursor: pointer;
}

.nvd3 .nv-legend .nv-disabled circle {
  fill-opacity: 0;
}

/* focus */
.nvd3 .nv-brush .extent {
  fill-opacity: 0 !important;
}

.nvd3 .nv-brushBackground rect {
  stroke: #000;
  stroke-width: .4;
  fill: #fff;
  fill-opacity: .7;
}

/**********
*  Print
*/
@media print {
  .nvd3 text {
    stroke-width: 0;
    fill-opacity: 1;
  }
}
.nvd3.nv-ohlcBar .nv-ticks .nv-tick {
  stroke-width: 1px;
}

.nvd3.nv-ohlcBar .nv-ticks .nv-tick.hover {
  stroke-width: 2px;
}

.nvd3.nv-ohlcBar .nv-ticks .nv-tick.positive {
  stroke: #2ca02c;
}

.nvd3.nv-ohlcBar .nv-ticks .nv-tick.negative {
  stroke: #d62728;
}

.nvd3 .background path {
  fill: none;
  stroke: #EEE;
  stroke-opacity: .4;
  shape-rendering: crispEdges;
}

.nvd3 .foreground path {
  fill: none;
  stroke-opacity: .7;
}

.nvd3 .nv-parallelCoordinates-brush .extent {
  fill: #fff;
  fill-opacity: .6;
  stroke: gray;
  shape-rendering: crispEdges;
}

.nvd3 .nv-parallelCoordinates .hover {
  fill-opacity: 1;
  stroke-width: 3px;
}

.nvd3 .missingValuesline line {
  fill: none;
  stroke: black;
  stroke-width: 1;
  stroke-opacity: 1;
  stroke-dasharray: 5, 5;
}

.nvd3.nv-pie path {
  stroke-opacity: 0;
  transition: fill-opacity 250ms linear, stroke-width 250ms linear, stroke-opacity 250ms linear;
}

.nvd3.nv-pie .nv-pie-title {
  font-size: 24px;
  fill: rgba(19, 196, 249, 0.59);
}

.nvd3.nv-pie .nv-slice text {
  stroke: #000;
  stroke-width: 0;
}

.nvd3.nv-pie path {
  stroke: #fff;
  stroke-width: 1px;
  stroke-opacity: 1;
}

.nvd3.nv-pie path {
  fill-opacity: .7;
}

.nvd3.nv-pie .hover path {
  fill-opacity: 1;
}

.nvd3.nv-pie .nv-label {
  pointer-events: none;
}

.nvd3.nv-pie .nv-label rect {
  fill-opacity: 0;
  stroke-opacity: 0;
}

/* scatter */
.nvd3 .nv-groups .nv-point.hover {
  stroke-width: 20px;
  stroke-opacity: .5;
}

.nvd3 .nv-scatter .nv-point.hover {
  fill-opacity: 1;
}

.nv-noninteractive {
  pointer-events: none;
}

.nv-distx, .nv-disty {
  pointer-events: none;
}

/* sparkline */
.nvd3.nv-sparkline path {
  fill: none;
}

.nvd3.nv-sparklineplus g.nv-hoverValue {
  pointer-events: none;
}

.nvd3.nv-sparklineplus .nv-hoverValue line {
  stroke: #333;
  stroke-width: 1.5px;
}

.nvd3.nv-sparklineplus,
.nvd3.nv-sparklineplus g {
  pointer-events: all;
}

.nvd3 .nv-hoverArea {
  fill-opacity: 0;
  stroke-opacity: 0;
}

.nvd3.nv-sparklineplus .nv-xValue,
.nvd3.nv-sparklineplus .nv-yValue {
  stroke-width: 0;
  font-size: .9em;
  font-weight: normal;
}

.nvd3.nv-sparklineplus .nv-yValue {
  stroke: #f66;
}

.nvd3.nv-sparklineplus .nv-maxValue {
  stroke: #2ca02c;
  fill: #2ca02c;
}

.nvd3.nv-sparklineplus .nv-minValue {
  stroke: #d62728;
  fill: #d62728;
}

.nvd3.nv-sparklineplus .nv-currentValue {
  font-weight: bold;
  font-size: 1.1em;
}

/* stacked area */
.nvd3.nv-stackedarea path.nv-area {
  fill-opacity: .7;
  stroke-opacity: 0;
  transition: fill-opacity 250ms linear, stroke-opacity 250ms linear;
}

.nvd3.nv-stackedarea path.nv-area.hover {
  fill-opacity: .9;
}

.nvd3.nv-stackedarea .nv-groups .nv-point {
  stroke-opacity: 0;
  fill-opacity: 0;
}

.nvtooltip {
  position: absolute;
  background-color: white;
  color: black;
  padding: 1px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  z-index: 10000;
  display: block;
  font-family: Arial, sans-serif;
  font-size: 13px;
  text-align: left;
  pointer-events: none;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.nvtooltip {
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(0, 0, 0, 0.5);
  border-radius: 4px;
}

/*Give tooltips that old fade in transition by
    putting a "with-transitions" class on the container div.
*/
.nvtooltip.with-transitions, .with-transitions .nvtooltip {
  transition: opacity 50ms linear;
  transition-delay: 200ms;
}

.nvtooltip.x-nvtooltip,
.nvtooltip.y-nvtooltip {
  padding: 8px;
}

.nvtooltip h3 {
  margin: 0;
  padding: 4px 14px;
  line-height: 18px;
  font-weight: normal;
  background-color: rgba(247, 247, 247, 0.75);
  color: black;
  text-align: center;
  border-bottom: 1px solid #ebebeb;
  border-radius: 5px 5px 0 0;
}

.nvtooltip p {
  margin: 0;
  padding: 5px 14px;
  text-align: center;
}

.nvtooltip span {
  display: inline-block;
  margin: 2px 0;
}

.nvtooltip table {
  margin: 6px;
  border-spacing: 0;
}

.nvtooltip table td {
  padding: 2px 9px 2px 0;
  vertical-align: middle;
}

.nvtooltip table td.key {
  font-weight: normal;
}

.nvtooltip table td.key.total {
  font-weight: bold;
}

.nvtooltip table td.value {
  text-align: right;
  font-weight: bold;
}

.nvtooltip table td.percent {
  color: darkgray;
}

.nvtooltip table tr.highlight td {
  padding: 1px 9px 1px 0;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-top-style: solid;
  border-top-width: 1px;
}

.nvtooltip table td.legend-color-guide div {
  width: 8px;
  height: 8px;
  vertical-align: middle;
}

.nvtooltip table td.legend-color-guide div {
  width: 12px;
  height: 12px;
  border: 1px solid #999;
}

.nvtooltip .footer {
  padding: 3px;
  text-align: center;
}

.nvtooltip-pending-removal {
  pointer-events: none;
  display: none;
}

/****
Interactive Layer
*/
.nvd3 .nv-interactiveGuideLine {
  pointer-events: none;
}

.nvd3 line.nv-guideline {
  stroke: #ccc;
}
