html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

hr.compact {
  margin-top: 10px;
  margin-bottom: 10px;
}

* {
  min-height: 0px;
  min-width: 0px;
}

*, *:before, *:after {
  box-sizing: inherit;
}


/*****************************************
                  documents
******************************************/

/*testing*/
.breadcrumb-nav {
  text-align: center;
  border-bottom: 1px solid #e5e5e5;
  display: flex;
  min-height: 51px;
  align-items: center;
  -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
  font-size:16px;
}

.breadcrumb-nav .item {
  margin-right: 3px;
}

.breadcrumb-nav .sep {
  font-size: 28px;
  color: #666;
  vertical-align: text-bottom;
}

/*end testing*/


.ps-doc-search {
  flex:1;
  display:flex;
  align-self:center;
  align-items:center;
  justify-content:center;
  margin-top: 16px;
  margin-bottom: 31px;
}


.doc-section {
  color: #333;
  max-width:768px;
  /* margin:auto; */
  margin: 0 auto;
}

.doc-section p,
.doc-section ul {
  margin-bottom:26px;
}

.doc-section .doc-callout p {
  margin-bottom:10px;
}

.doc-section p,
.doc-section div,
.doc-section li,
.doc-section a:not(.btn){
  font-size: 16px;
}

.doc-section h3 {
  margin-top: 30px;
}

.doc-section a:not(.btn) {
  color: rgb(0, 102, 204);
}

.doc-section .doc-callout {
  color: #333;
  background: #eee;
  padding:16px;
  border: 1px solid rgba(255,140,0,0.7);
}

.doc-section .doc-figure {
  font-style: italic;
  font-size: 14px;
  margin-bottom: 32px;
}

.doc-section .doc-image {
  border: 1px solid #999;
  max-width: 100%;
  height: auto;
  margin: auto;
}

.doc-section .doc-heading-list {
  list-style: none;
  padding-inline-start: 20px;
}

.doc-section .doc-sub {
  font-size: 90%;
}

.doc-section .doc-hero {
  position:relative;
  margin-top: 20px;
  margin-bottom: 20px;
}

.doc-section .doc-author {
  font-size:14px;
  margin-left:16px;
  color:#777;
}

.doc-section .doc-author a{
  font-size:14px;
}

.doc-section .doc-hero p {
  font-size: 14px;
  color: #fff;
  position: absolute;
  bottom: 0px;
}

.doc-section .doc-hero p.right {
  right: 12px;
}

.doc-section .doc-hero p.left {
  left: 12px;
}

.doc-section .doc-hero p {
  margin: 0 0 10px;
}

.doc-section blockquote,
.jumbotron blockquote {
  border-left: none;
}

.doc-section blockquote ol:last-child,
/*blockquote p:last-child, */
blockquote ul:last-child {
  margin-bottom: 20px;
}

.doc-section blockquote footer {
  margin-top:20px;
  color: #444;
}

.doc-section .doc-quote,
.jumbotron .doc-quote {
  margin:20px;
  background-color: #c1eff9;
  /* background-color: #d6edf9; */
  color: #222;
}

.doc-section .doc-quote p {
  font-size:20px;
  font-style: italic;
}


.doc-section .doc-quote p:before{
  content: "\201C";
}

.doc-section .doc-quote p:after{
  content: "\201D";
}

.doc-section .doc-link {
  text-decoration: none;
}

.doc-cta {
  /* text-align: center; */
  margin: 0 auto;
  /* padding: 0 70px; */
  margin-top:40px;
}

.doc-cta .ps-card{
  max-width: 900px;
  box-shadow: 0 1px 5px 0 rgba(0,0,0,.12), 0 7px 25px 0 rgba(0,0,0,.15);
}

.doc-cta .item {
  color: #999;
  overflow: hidden;
  min-height: 120px;
  font-size: 16px;
}

.doc-cta .media {
  position: relative;
  padding: 0 0 0 20px;
}

.doc-cta .media img {
  width: 120px;
  height: 120px;
  display: block;
  border-radius: 50%;
}

.doc-cta .testimonial-wrapper {
  padding: 4px 10px;
}

.doc-cta .testimonial {
  text-align: center;
  position: relative;
  padding: 15px;
  border: 1px solid #efefef;
  border-radius: 3px;
  margin-bottom: 15px;
  color: #333;
  /* background: rgba(214,237,249,0.6); */
  /*background:#d6edf9;*/
  background:#c1eff9;
}

.doc-cta .overview {
  padding: 28px 0 0 15px;
}

.doc-cta .overview b {
  color: #337ab7;
}



.ps-card-deck {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ps-card-deck > ul {
  padding: 0px;
}

.ps-card-deck > ul > li {
  list-style: none;
  margin-top:26px;
}

.ps-card-deck > ul:not(:first-child) {
  margin-top: 24px;
}

.ps-card {
  /* max-width: 450px; */
  /* max-width: 768px; */
  max-width: 600px;

  min-height: 80px;
  box-shadow: 0 1px 5px 0 rgba(0,0,0,.07), 0 7px 17px 0 rgba(0,0,0,.1);
  background-color: #fefefe;
  border-radius: 5px;
  padding:6px;
}

.ps-card .clamp-lede {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ps-card .doc-hero img {
  height: 280px;
  width: 100%;
  object-fit: cover;
}


.ps-card:hover {
  box-shadow: 0 1px 5px 0 rgba(0,0,0,.12), 0 7px 25px 0 rgba(0,0,0,.15);
}


.h2 {
  margin-top: 0;
  margin-bottom: 10px;
}

.unselectable {
  -moz-user-select: -moz-none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.dropdown-menu > li > a{
  cursor: pointer;
}

a {cursor: pointer;}


/************************************/
/* landing page                     */
/************************************/

h3.landing-heading {
  text-align:center;
}



.jumbotron {
  background: #fff;
  height:auto;
  max-width: 768px;
  padding-left:6px;
  padding-right:6px;
  margin-top:36px;
  margin: 0 auto;
}

.jumbotron-inner {
  text-align:center;
  margin-top:16px;
  margin-bottom:32px;
}


.label-ps {
  background-color: #337ab7;
}

/* landing page icons */
.pe-icon {
  width: 60px;
  height: 60px;
  line-height: 60px;
  border-radius: 30px;
  border: solid 1px #337ab7;
  font-size: 30px;
  text-align: center;
  margin: 0 auto 30px;
  color: #337ab7;
}

.section {
  padding-top: 30px;
  padding-bottom: 0px;
  margin-bottom: 30px;

}

#features .title,
#pricing .title {
  text-align: center;
}

.pricing-top-border {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

.pricing-top-border.business {
  border-top: 4px solid #e43b6d;
  border-top: 4px solid #5cb85c;
  border-top: 4px solid #337ab7;
}

.pricing-top-border.lab,
.pricing-top-border.research {
  border-top: 4px solid #337ab7;
  border-top: 4px solid #5cb85c;
}

.pricing-top-border.researcher {
  border-top: 4px solid #5cb85c;
}

.pricing-top-border.essential,
.pricing-top-border.budget {
  border-top: 4px solid #f0ad4e;
}



.row.services,
.row.pricing {
  margin-top: 40px;
  margin-bottom: 20px;
}

.pricing-plan-heading {
  font-size:30px;
  margin-bottom:40px;
  margin-top:26px;
  text-align: center;
}

.pricing-plan-overview {
  margin-bottom: 16px;
  margin-top: 26px;
  min-height: 100px;
}

.pricing-plan-price {
  margin-bottom:15px;
  font-weight: 600;
  color: #424242;
  /* margin-top: 36px; */
  /*display: inline-block; */
}

h5.pricing-plan-price {
  padding-left: 20px;
  font-size: 15px;
}

h4.pricing-plan-price,
h5.pricing-plan-price {
  margin-bottom: 35px;
}

.pricing-item {
  position: relative;
  display: block;
  padding: 10px 0px;
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  color: #424242;
  cursor: help;
}


section {
  position: relative;
  padding-top: 90px;
  padding-bottom: 90px;
  font-size: 16px;
}

section.background-gray-lightest {
  background: #fafafa;
  border-top: solid 1px #f0f0f0;
  border-bottom: solid 1px #f0f0f0;
}

section.background-secondary {
  /* background: #746ea9; */
  /* border-top: solid 1px #46426f; */
  /* border-bottom: solid 1px #46426f; */
  background: #337ab7;
  border-top: solid 1px rgb(0, 102, 204);
  border-bottom: solid 1px rgb(0, 102, 204);

}

.section-inverse {
  color: #fff;
}

.landing-screenshot {
  border: 1px solid #e7e7e7;
  border-radius: 4px;
}

.footer {
  flex: 0 0 auto;
  text-align: center;
  padding: 10px;
  font-size: 16px;
  border-radius: 0px;
  border-width: 0px 0px 1px;
  /* z-index: 1030; */
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

.footer .link {
  color: rgb(0, 102, 204);
  text-decoration: none;
  font-size: 18px;
}

.footer .link a,
.footer .link a:visited {
  color: rgb(0, 102, 204);
  text-decoration: none;
}




/************************************/
/* end landing page                 */
/************************************/





span.ps-icon {
  color: #fff;
  position:absolute;
}

span.ps-icon-16 {
  font-size:14px;
  font-weight: 700;
  min-width: 16px;
  max-width: 16px;
  width: 16px;
  height:16px;
  bottom: 12px;
  border-radius: 2px;
  margin-left:2px;
}

.ps-icon.ps-icon-danger {
  background-color: red;
}

a.ps-icon {
  padding-left: 6px;
  position: relative;
  bottom: 2px;
  color: #fff;
  text-decoration: none;
}



a, a:active, a:focus,
button, button:active, button:focus,
.btn.active.focus, .btn.active:focus, .btn.focus,
.btn.focus:active, .btn:active:focus, .btn:focus,
input[type="checkbox"]:focus  {
  outline: 0;
}

input[type=checkbox], input[type=radio] {
  margin-left: 1px;
  /* margin: 0px; */
  /* line-height: normal; */
}

/********************/
/* flexbox scaffold */
/********************/
.vbox {
  -webkit-flex-flow:column nowrap;
  flex-flow:column nowrap;
  -webkit-flex: 1 0 auto;
  -webkit-justify-content:flex-start;
  justify-content:flex-start;
  -webkit-align-items:stretch;
  align-items:stretch;
  align-content:stretch;
  flex: 1 0 auto;
  display: flex;
}

.hbox {
  -webkit-flex-flow:row nowrap;
  flex-flow:row nowrap;
  -webkit-flex:1 1 0px;
  flex:1 1 0px;
  -webkit-justify-content:flex-start;
  justify-content:flex-start;
  -webkit-align-items:stretch;
  align-items:stretch;
  align-content:stretch;
  display: flex;
}

.box {
  -webkit-flex-flow:inherit;
  flex-flow:inherit;
  -webkit-flex:none;
  flex:none;
  display: flex;
}

.hbox.justify-content.left {justify-content: flex-start;}
.hbox.justify-content.center {justify-content: center;}
.hbox.justify-content.right {justify-content: flex-end;}
.hbox.justify-content.space-between {justify-content: space-between;}





/***************/
/* simple grid */
/***************/

/* centered, fixed resolution for precise and consistent stimulus presentation.
*/

.screen-grid {
  display: flex;
  flex-flow: column nowrap;
  position: relative;
  border: 1px solid #ddd;
  margin: auto;
  padding: 1px;
}

.grid-row {
  display: flex;
  flex:1;
  position: relative;
  border: 1px solid transparent;
}

.grid-row.active,
.grid-cell.active {
  border: 1px solid rgb(255,0,0);
}

.hl-clickable {
  border: 1px solid transparent;
}
.hl-clickable:active {
  border: 1px solid orangered;
}

.grid-cell {
  border: 1px solid transparent;
  flex: 1;
  position: relative;
  padding-left: 1px;
  padding-right: 1px;

}

.grid-cell > .grid-cell-empty {
  text-align: center !important;
  height: 100%;
  width: 100%;
}

/* .grid-cell > .grid-content.show-grid { */
/*   background: #eee; */
/* } */

.grid-toolbar {
  justify-content: center;
  align-items: flex-end;
  margin-top: 0px;
  padding: 8px 12px;
  flex: 0 0 auto;
  display:flex;
}

.grid-row-overlay {
  width: 30px;
  height: 100%;
}

.grid-cell-overlay {
  width: calc(100% - 60px);
  height: 30px;
  top: 0px;
  left: 30px;
}

.grid-row-overlay,
.grid-cell-overlay {
  position: absolute;
  z-index: 1000;
  opacity: 0;
}

.grid-row-overlay-bar {
  width: 30px;
  height: 100%;
}

.grid-cell-overlay-bar {
  width: 100%;
  height: 30px;
}

.grid-row-overlay-bar,
.grid-cell-overlay-bar {
  justify-content: center;
  align-items: center;
  display: flex;
  border: 1px solid #66afe9;
  background-color: rgba(214,237,249,0.8);
  margin: 1px;
}

.grid-row-overlay-bar.active,
.grid-cell-overlay-bar.active {
  border: 0px;
  background-color: transparent;
}

.grid-row-overlay-item,
.grid-cell-overlay-item {
  display: flex;
  justify-content: center;
}

.grid-cell-overlay:hover,
.grid-row-overlay:hover,
.grid-cell-overlay.active,
.grid-row-overlay.active {
  opacity: 1;
}


.grid-cell-content {
  position: absolute;
  /* text-align: center; */
  width: 100%;
  top: 50%;
  margin: 0;
  transform: translateY(-50%);
}

.grid-cell-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: auto;
    transform: translate(-50%,-50%);
    opacity: 0.5;
}



/*********/
/* chart */
/*********/
td.chart-sh-bar.bar,
td.chart-h-bar.bar,
td.chart-h-bar.overflow-bar {
  padding: 0px;
  position: relative;
  vertical-align: middle;
}

.chart-h-bar.border {
  border: 1px solid #ddd;
}

.chart-h-bar.border-top {
  border-top: 1px solid #ddd;
}

td.chart-h-bar.overflow-bar {
  border-top: 1px solid transparent;
}

.overflow-item.tick-overlay .tick {
  border-left: 1px solid transparent;
}

td > .chart-h-bar.bar-label {
  white-space: nowrap;
  overflow: hidden;
}

.chart-h-bar.item,
.chart-h-bar.overflow-item {
  padding-top: 4px;
  padding-bottom: 4px;
  position: relative;
  height: 34px;
  display: flex;
}

.chart-h-bar.tick-overlay,
.chart-h-bar.overflow-item.tick-overlay {
  position: absolute;
  left: 0; top: 0; right: 0; bottom: 0;
  /* z-index: -10; */
  flex: 0 0 100%;
  pointer-events: none;
  height: 34px;
  display: flex;
}

.tick-overlay .tick {
  flex: 1;
  border-left: 1px dashed #bbb;
}

.tick-overlay .tick.tick-end {
  border-right: 1px dashed #bbb;
}

.chart-h-bar.data,
.chart-h-bar.overflow-data,
.chart-h-bar.overflow-feedback {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  color: white;
  padding: 4px;
}

.chart-h-bar.data.max-min,
.chart-h-bar.overflow-data.max-min,
.chart-h-bar.overflow-feedback.max-min {
  justify-content: flex-start;
}

.chart-h-bar.data {
  background-color: rgba(0,126,255,0.8);
  border: 1px solid transparent;
}

.chart-h-bar.overflow-data {
  background: linear-gradient(90deg, rgba(0,126,255,0.8), rgba(255,0,0,0.8));
  margin-left: 0px;
  border-left: 1px;
}

.chart-h-bar.overflow-feedback {
  /* background: linear-gradient(90deg, rgba(0,255,126,0.8), rgba(255,0,0,0.8)); */
  /* background: rgba(0,200,65,1); */
  background: rgba(65, 180, 65, 1);
  margin-left: 1px;
  border-left: 1px;
  border: 1px solid transparent;
}

.chart-h-bar.overflow-feedback.hover {
  border: 1px solid rgb(212,63,58);
  background: rgba(65,200,65,1);
}



.chart-h-bar.data:hover {
  border: 1px solid rgb(212,63,58);
  background-color: rgba(61,174,233,0.8);
}

.chart-h-bar.data.infinite.hover,
.chart-h-bar.overflow-data.hover {
  border: 1px solid rgb(212,63,58);
  background: rgba(61,174,233,0.8);
}

.chart-h-bar.data.infinite.hover {
  border-right: 1px solid #ddd;
}

.chart-h-bar.overflow-data.hover {
  border-left: 0px;
  margin-left: -1px;
}

.chart-h-bar.data > div > span > i.material-icons:hover {
  background-color: #007eff;
}

td.chart-h-bar.axis {
  padding-left: 0px;
  padding-right: 0px;
}

td.chart-h-bar.axis-label {
  border: 1px solid transparent;
}



.chart-sh-bar.item,
.chart-sh-bar.overflow-item {
  position: relative;
  height: 19px;
  display: flex;
  border: 1px solid #ddd;
  margin: 4px 0px;
}


.chart-sh-bar.bar:hover {
  background-color: rgba(61,174,233,0.6);
}

.chart-sh-bar.item.hover {
  border: 1px solid transparent;
}

/* .chart-sh-bar.tick-overlay, */
/* .chart-sh-bar.overflow-item.tick-overlay { */
/*   position: absolute; */
/*   left: 0; top: 0; right: 0; bottom: 0; */
/*   /\* z-index: -10; *\/ */
/*   flex: 0 0 100%; */
/*   pointer-events: none; */
/*   height: 19px; */
/*   display: flex; */
/* } */





/***********************/
/* horizontal timeline */
/***********************/

.horizontal-timeline {
  width: 100%;
  margin-bottom: 8px;
  padding-left: 60px;
  padding-right: 76px;
  padding-bottom: 48px;
  padding-top: 16px;
  display: flex;

}

.horizontal-timeline > .line {
  height: 2px;
  width: 100%;
  background: #bbb;
  margin: auto;
  position: relative;
}

.horizontal-timeline .interval-container {
  width: 16px;
  height: 16px;
  background: white;
  border-radius: 50%;
  position: absolute;
  top: -7px;
  border: 2px solid #bbb;
  cursor: pointer;
}

.matrix-interval-container {
  width: 16px;
  height: 16px;
  background: white;
  border-radius: 50%;
  /* position: absolute; */
  top: -7px;
  border: 2px solid #bbb;
  cursor: pointer;
  margin: 0 auto;
}

.horizontal-timeline .interval,
.matrix-interval-container .interval {
  position: relative;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid white;
  background: white;
}

.horizontal-timeline .interval.active,
.matrix-interval-container .interval.active {
  background: #337ab7;
  /* background: rgb(61,174,233); */
  /* background: rgb(0, 102, 204); */
}

.horizontal-timeline .interval.complete {
  background: rgb(0,210,0);
}

.horizontal-timeline .interval.incomplete {
  background: red;
}

.horizontal-timeline .tick {
  width: auto;
  height: auto;
  white-space: nowrap;
  display: inline-block;
  color: #333;
  padding: 9px;
  padding-bottom: 2px;
  top: 8px;
  position: absolute;
}

.horizontal-timeline .tick:hover {
  border-bottom: 2px solid #ffbe70;
}

.horizontal-timeline .tick.active {
  border-bottom: 2px solid rgb(255, 140, 0);
}


/**********/
/* navbar */
/**********/

.ps-brand {
  color: #337ab7;
  text-decoration: none;
  cursor: pointer;
  height: 50px;
  /* padding: 15px 15px; */
  font-size: 24px;
  line-height: 20px;
}

/* responsive navs */
#ps-tree-toggle {
  cursor: pointer;
  border-radius: 3px;
  border: 1px solid transparent;
}

#ps-tree-toggle:hover {
  border: 1px solid #ccc;
  background-color: #eee;
}

#ps-tree-toggle.inverse:hover {
  border: 1px solid #ffffff;
  background-color: rgba(214,237,249,0.3);
}


/* #ps-navbar-toggle { */
/*   position: absolute; */
/*   top: 11px; */
/*   right: 15px; */
/*   cursor: pointer; */
/*   border-radius: 3px; */
/*   border: 1px solid transparent; */
/* } */

/* #ps-navbar-toggle:hover { */
/*   border: 1px solid #ccc; */
/*   background-color: #eee; */
/* } */

#ps-navbar-wrapper {
  padding-top:5px;
  width: 100%;
  justify-content: center;
}

/* #ps-navbar-collapsible { */
/*   list-style-type: none; */
/*     display: none; */
/*   flex-direction: column; */
/* } */

/* #ps-navbar-tabs.nav-stacked { */
/*   background-color: white; */
/*   border: 1px solid #ccc; */
/*   margin-top: 50px; */
/* } */


/* #ps-navbar-tabs.nav-stacked > li#tab-help { */
/*   margin-left: 0px; */
/* } */

@media screen and (min-width: 500px) {
  #ps-navbar-wrapper {
    display:flex;
    justify-content:center;
    padding-top:0px;
  }


}
/* responsive nav end */




/*
multiple choice
*/

thead.likert-matrix.mc {
  display:none;
}

tbody.likert-matrix.mc,
tr.likert-matrix.mc,
td.likert-matrix.mc {
  display: block;
  width: 100%;
  position: relative;
}

td.likert-matrix.mc .matrix-interval-container{
  margin: 0px;
  position: absolute;
  bottom: 10px;
  top: unset;
}

td.likert-matrix .matrix-interval-container.checkbox,
td.likert-matrix .matrix-interval-container.checkbox .interval {
  border-radius: unset;
}

td.likert-matrix.mc .matrix-interval-label {
  position: relative;
  text-align: left;
  margin-left: 16px;
  padding-left: 16px;
  display: block;
  cursor: pointer;
}





/**************************/
/* likert */
/**************************/

td.likert-matrix {
  cursor: pointer;
}

td.likert-matrix.sub-qn {
  width: 20%;
  overflow: hidden;
  border: 0;
}

td.likert-matrix .matrix-interval-label {
  display: none;
}

div.textarea-container,
div.rank-container {
  width: 515px;
  padding-left: 15px;
  padding-right: 15px;
}

div.vbox.qnr {
  margin: 5%;
  margin-top: 2%;
}

.table-striped>tbody>tr.likert-matrix:nth-of-type(odd) {
  background-color: #f9f9f9;
}

@media screen and (max-width: 500px) {
  thead.likert-matrix {
    display:none;
  }

  tbody.likert-matrix,
  tr.likert-matrix,
  td.likert-matrix {
    display: block;
    width: 100%;
    position: relative;
  }

  td.likert-matrix .matrix-interval-container{
    margin: 0px;
    position: absolute;
    bottom: 10px;
    top: unset;
  }

  td.likert-matrix .matrix-interval-label {
    position: relative;
    text-align: left;
    margin-left: 16px;
    padding-left: 16px;
    display: block;
    cursor: pointer;
  }

  td.likert-matrix.sub-qn {
    width: 100%;
  }

  td.likert-matrix.sub-qn .ql-editor{
    padding-left: 0px;
  }

  div.textarea-container,
  div.rank-container {
    width: 320px;
    padding-left: 15px;
    padding-right: 15px;
  }

  div.vbox.qnr {
    margin: 0%;
    margin-top: 2%;
    margin-bottom: 5%;
  }

  .table-striped>tbody>tr.likert-matrix:nth-of-type(odd) {
    background-color: unset;
  }


}



/****************************/
/* slider */
/****************************/

.slider {
  -webkit-appearance: none;  /* Override default CSS styles */
  appearance: none;
  height: 4px; /* Specified height */
  background: #d3d3d3; /* Grey background */
  outline: none; /* Remove outline */
  margin-top: 8px;
  cursor: pointer;
}

input[type=range]::-moz-focus-outer {
  border: 0;
}

/* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */
.slider::-webkit-slider-thumb {
  -webkit-appearance: none; /* Override default look */
  appearance: none;
  width: 18px;
  height: 18px;
  background: #337ab7;
  border-radius: 50%;
  border: 2px solid #bbb;
  cursor: pointer;
  visibility: visible;
}

.slider::-moz-range-thumb {
  -webkit-appearance: none; /* Override default look */
  appearance: none;
  width: 16px; /* Set a specific slider handle width */
  height: 16px; /* Slider handle height */
  background: #337ab7;
  border-radius: 50%;
  border: 2px solid #bbb;
  cursor: pointer;
  visibility: visible;
}

.hide-handle > .slider::-webkit-slider-thumb {
  visibility: hidden;
}

.hide-handle > .slider::-moz-range-thumb {
  visibility: hidden;
}

.label-slider {
  font-size: 100%;
  vertical-align: middle;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  top: -25px;
}



.ps-navbar {
  position: relative;
  padding-right: 12px;
  padding-left: 15px;
  min-height: 50px;
  /* max-height: 50px; */
  text-decoration: none;
  border-width: 0px 0px 1px;
  margin-bottom: 0px;
  margin-top: 0px;
  z-index: 1030;
  border-bottom: 1px solid #e5e5e5;
  color: #337ab7;
  align-items: center;
  -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
}


.ps-navbar-spacer {
  min-width: 40px;
  max-width: 40px;
}

.ps-navbar > a,
.ps-navbar > a:hover {
  background-color: rgb(61,174,233);
  text-decoration: none;
  color: white;
}


.ps-brand-cell {
  position: relative;
  z-index: 1000;
  align-self: center;
}

.ps-brand,
.ps-brand:hover,
.ps-brand:focus,
.ps-brand:active {
  color: #337ab7;
  text-decoration: none;
  cursor: pointer;
}


/********************/
/* workbench panels */
/********************/
.workbench-header {
  padding: 15px 15px;
  /* background-color: #fafafa; */
  font-size: 18px;
  line-height: 24px;
  color: #333;
  text-decoration: none;
}


.workbench-header > .breadcrumb {
  padding: 0px 0px;
  background: transparent;
  margin-bottom: 0px;
}


.workbench-header > .breadcrumb > .active {
  color: #4078c0;
  text-decoration: none;
  /*font-weight: 600;*/
}

.workbench-header > .breadcrumb > li + li::before {
  padding: 0px 0px 0px 5px;
}

.workbench-header > .breadcrumb > li > a:hover,
.workbench-header > .breadcrumb > li > a:active {
  color: #4078c0;
  text-decoration: underline;
  outline: 0;
  cursor: pointer;
}


.left-side-panel {
  width: 231px;
  border-right: 1px solid #ccc;
  overflow-x: auto;
}

.right-side-panel {
  display: flex;
  width: calc(100% - 221px);
}


.design-panel {
  padding: 8px 12px;
  overflow-x: auto;
  align-items: stretch;
  /* display: flex; */
  display: initial;
  flex-flow: column nowrap;
  flex: 1 1 auto;
}

.design-panel-body {
  /*padding: 12px;*/
  margin-bottom: 12px;
  padding: 0px;
  flex: 1 1 auto;
  overflow-x: auto;
  flex-flow: column nowrap;
  align-items: stretch;
  display: flex;
}




.design-panel-header-info {
  font-weight: 400;
  color: #777;
  padding-left: 3px;
}

/* .design-panel-header-info > a:hover { */
/*   color: #4078c0; */
/*   text-decoration: underline; */
/* } */


/* .design-panel-header-info > a, */
/* .design-panel-header-info > a:focus, */
/* .design-panel-header-info > a:active { */
/*   outline: 0; */
/*   color: #337ab7; */
/*   text-decoration: none; */
/*   cursor: pointer; */
/*   font-weight: 500; */
/* } */



.design-panel-header {
  color: #333;
  background-color: #f5f5f5;
  border-bottom: 1px solid #ddd;
  padding: 4px 6px;
  min-height: 72px;
  max-height: 72px;
  height: 72px;
}

.design-panel-toolbar {
  border-bottom: 1px solid #ccc;
  padding: 8px 12px;
  flex: 0 0 auto;
}


.table>tbody>tr>td.no-border {
  border: 0;
}

.table>tbody>tr>td.no-padding {
  padding: 0;
}



/*************/
/* tree-view */
/*************/

.tree-header {
  background-color: #f5f5f5;
  font-size: 16px;
  padding: 4px;
  padding-left: 16px;
  flex-shrink: 0;
}


div.tree-header:hover,
div.tree-header-dropdown-btn:hover,
.dropdown-menu>li>a:hover,
div.tree-item:hover {
  background-image: none;
  text-decoration: none;
  background-color: rgba(214,237,249,0.8);
  cursor: pointer;
}

div.tree-header-dropdown {
  flex: 1;
  border-bottom: 1px solid #ddd;
  font-size: 16px;
}

div.tree-header-dropdown.no-selection {
  color: #aaa;
}

div.tree-header-dropdown.no-selection span {
  font-size: 14px;
}

div#help-tree.tree-header:hover,
div.tree-header-dropdown.no-selection:hover {
  /* background-color: #f5f5f5; */
  cursor: default;
}

div.tree-header-dropdown-btn {
  display: flex;
  flex: 1;
  justify-content: center;
  align-items: center;
  max-width: 30px;
  border-left: 1px solid #ddd;
  background-color: #f5f5f5;
  border-bottom: 1px solid #ddd;
}

ul.tree-header-menu {
  border-radius: initial;
  border-right: 0px;
  border-top: 0px;
  margin: 0px;
}

ul.tree-header-menu.tool-button{
  border-radius: 4px;
  border: 1px solid rgba(0,0,0,.15);
}

ul.tree-header-menu.tool-button.dropdown-menu {
  top: 100%;
  padding: 5px;
  margin-top: 2px;
}

ul.tree-header-menu.dropdown-menu {
  display: none;
  position: absolute;
  top: auto;
  margin-left: 0px;
  width: 230px;
  padding-top: 0px;
  padding-bottom: 0px;
}

ul.tree-header-menu.dropdown-menu.active {
  display: block;
}

ul.nav-tab-dropdown.dropdown-menu {
  top: 50px;
  width: 240px;
  right: 0px;
  display: block;
  position: absolute;
  border-top: 2px solid rgb(0, 126, 255);
  border-radius: initial;
  height: 180px;
  left: auto;
  margin: 0px;
  margin-top: -1px;
  display: none;
  padding-top: 0px;
}


.doc-dropdown-menu.active {
  display: block;
}

.doc-dropdown-menu {
  top: 107px;
  width: 301px;
  left: 0px;
  display: block;
  position: absolute;
  border-radius: initial;
  right: auto;
  margin: 0px;
  display: none;
  padding-top: 0px;
  border-right: 1px solid #ccc;
  overflow-x: auto;
  z-index: 1000;
  float: left;
  box-shadow: 0 6px 12px rgba(0,0,0,.175);
  height: calc(100% - 107px);
  max-height:100%;
  background-color: #fff;
}


/****************************/
/* bootstrap label as badge */
/****************************/
/* .label-as-badge { */
/*   border-radius: 0.5em; */
/*   padding: .2em .5em .3em; */
/* } */

/* .label-message-counter { */
/*   font-size:90%; */
/*   color:#ffffff; */
/*   background:#f00600; */
/*   display: inline-flex; */
/* } */

/* .label-message-counter.animate { */
/*   animation:counter-alert 60s linear infinite; */
/* } */

/* @keyframes counter-alert { */
/*   0%       {background:#f00600;} */
/*   1%       {background:#ffffff;} */
/*   /\* 2%       {background:#f00600;} *\/ */
/*   /\* 3%       {background:#ffffff;} *\/ */
/*   2%,100%  {background:#f00600;} */
/* } */

/* .label-inverse-message-counter { */
/*   font-size:90%; */
/*   color:#f00600; */
/*   background-color: #ffffff; */
/*   display: inline-flex; */
/* } */


ul.nav-tab-dropdown.dropdown-menu.active {
  display: block;
}

ul.nav-tab-dropdown .nav-tab-dropdown-header {
  display: flex;
  justify-content: space-between;
  padding: 14px;
  font-size: 1.6em;
  line-height: 24px;
  color: rgb(51, 51, 51);
}


ul.nav-tab-dropdown .tree-item {
  line-height: 14px;
  padding: 8px;
  padding-left: 14px;
  flex: 1 1 0px;
  font-weight: 600;
}



ul.tree-header-menu .tree-item {
  color: #666;
  line-height: 30px;
  padding-left: 26px;
  flex: 1 1 0px;
}

ul.tree-header-menu .tree-item.group-heading {
  background-color: #f5f5f5;
  font-weight: 600;
  cursor: default;
}

ul.tree-header-menu .tree-item.group-heading:hover {
  font-weight: 600;
  cursor: default;
}

li.ps-dropdown-item:hover,
li.ps-dropdown-item > a:hover {
  text-decoration: none;
  background-color: initial;
  background-image: none;
}

div.tree-item.spare-parts-bin.active,
div.tree-header.active,
div.tree-item.active {
  text-decoration: none;
  color: white;
  background-color: rgb(61,174,233);
}

div.tree-item.active {
  text-decoration: none;
  color: white;
  background-color: rgb(61,174,233);
}

div.tree-item-container.drag-hover-inner {
  /*background: rgb(61,174,233);*/
  background: #007eff;
  color: white;
}


.droppable-row {
  cursor: pointer;
}

.droppable-row.drag-hover {
  border-top: 2px solid #007eff;
  margin-top: -2px;
}


div.hbox.tree-item-container.drag-hover {
  /*border-top: 2px solid rgb(61,174,233);*/
  border-top: 2px solid #007eff;
  margin-top: -2px;
}

div.hbox.tree-item-container > .tree-item > .inner-target {
  height: 10px;
  width: 100%;
  position: absolute;
  top: 15px;
  z-index: 10;
  min-width: initial;
  display: flex;
  align-self: stretch;
}

/* div.tree-item.spare-parts-bin { */
/*   background-color: rgba(255, 140, 0, 0.4); */
/* } */


.tree {
  min-width: initial;
  overflow-x: auto;
  overflow-y: hidden;
  margin-left: 16px;
}

.tree,
.tree ul {
  padding:0;
  list-style:none;
  position:relative;
}

.tree ul {
  min-width: initial;
  margin-left:0px} /* (indentation/2) */

.tree:before,
.tree ul:before {
  content:"";
  display:block;
  width:0;
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  border-left:1px solid #aaa;
}

.tree li {
  min-width: initial;
  margin:0;
  padding:0;
  padding-left: 12px;
  line-height:1.8em; /* default list item's `line-height` */
  position:relative;
}

.tree li div.tree-item {
  display: inline-block;
  vertical-align: middle;
  white-space:nowrap;
  /* min-width: initial; */
}

.tree li:before {
  content:"";
  display:block;
  width:10px; /* same with indentation */
  height:0;
  border-top:1px solid #aaa;
  margin-top:-1px; /* border top width */
  position:absolute;
  top:1em; /* (line-height/2) */
  left:0;
}

.tree li:last-child:before {
  background:white; /* same with body background */
  height:auto;
  top:1em; /* (line-height/2) */
  bottom:0;
}

.static-menu-item,
.static-menu-item:hover,
.static-menu-item:focus,
.static-menu-item:visited {
  text-decoration: none;
  color: #333;
}



/*********/
/* table */
/*********/
/*.table-row-hover > tbody > tr.clickable-row:hover,*/
/*.table-striped > */


tbody > tr.clickable-row:hover,
tbody > tr.clickable-row:nth-of-type(odd):hover{
  text-decoration: none;
  background-color: rgba(214,237,249,0.8);
  cursor: pointer;
}

td {
  /*word-wrap: break-word;*/
  white-space: normal;
}

th.td-checkbox {
  min-width: 10px;
  max-width: 10px;
}

tr > td.hover-button-group {
  visibility: hidden;
}

tr:hover > td.hover-button-group {
  visibility: visible;
}

.table-bordered > thead > tr > td, .table-bordered > thead > tr > th {
  border-bottom-width: 1px;
}

.table-bordered > thead {
  border-bottom: 2px solid #ddd;
}

.table-labelled {
  width: calc(100% - 360px);
  max-width: calc(100% - 360px);
}



/********************/
/* editable widgets */
/********************/
.editable {
  display: inline;
  box-sizing: border-box;
  border: 1px solid transparent;
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  background: transparent;
  font-size: 1.1em;
  font-weight: 500;
  height: 34px;
  padding: 2px 6px;
  resize: none;
}

.editable.cell {
  font-size: 1em;
  height: 34px;
  resize: none;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
}

.editable.cell.sm {
  height: 32px;
}

th > .editable.cell {
  font-weight: 700;
}

tr > th.editable-th,
tr > td.editable-td {
  padding: 0 !important;
  vertical-align: middle !important;
}


.form-control.editable.h2 {
  font-size: 1.6em;
  height: 42px;
  margin-bottom: 2px;
}

.form-control.editable:hover,
.form-control.ps-input:hover,
.editable-td > .input-group.spinner > .form-control.ps-input:hover,
.editable-td > .input-group.spinner > .form-control.ps-input:focus,
.form-control.ps-input.border-effect {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);
  cursor: pointer;
}


.form-control.editable:focus,
.form-control.ps-input:focus {
  cursor: text;
}

.form-control.read-only {
  border: 0;
  box-shadow: none;
}

.help-search {
  min-width: 140px;
  width: 100%;
}

.editable-construct-toolbar {
  /*border: 1px solid #ddd;*/
  padding-bottom: 12px;
  /*flex: 0 0 auto;*/
}

.errorable-construct.modified,
.editable-construct-table.modified,
.editable-construct.modified {
  border: 1px solid #d43f3a;
}

.errorable-construct,
.editable-construct-table,
.editable-construct {
  border: 1px solid transparent;
}

.editable-construct:hover {
  border: 1px dashed #66afe9;
  cursor: pointer;
}

.editable-construct:not(.modified) .editable-construct-toolbar {
  visibility: hidden;
  /*display: none;*/
}

.editable-construct:hover .editable-construct-toolbar {
  visibility: visible;
  /*display: block;*/
}

.errorable-construct.qn-widget {
  padding: 8px;
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow-x: auto;
  position: unset;
}

.errorable-construct.qn-widget.abs {
  position: absolute
}


/*
.ps-editor {
  box-sizing: border-box;
  cursor: text;
  line-height: 1.42;
  height: 100%;
  outline: none;
  overflow-y: auto;
  padding: 12px 0px;
  text-align: left;
  white-space: pre-wrap;
  word-wrap: break-word;
}
*/

div > input.ps-font-size-large,
.ps-font-size-large {
  font-size: 1.5em;
}

div > input.ps-font-size-small,
.ps-font-size-small {
  font-size: 0.75em;
}

div > input.ps-font-size-huge,
.ps-font-size-huge {
  font-size: 2.5em;
}

.ps-font-size-huge > .ps-input {
  height: 54px;
}

.ps-font-serif {
  font-family: Georgia, Times New Roman, serif;
}

.ps-font-monospace {
  font-family: Monaco, Courier New, monospace;
}

.ps-font-bold {
  font-weight: bold;
}

.ps-font-italic {
  font-style: italic;
}

.ps-input {
  display: inline;
  box-sizing: border-box;
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  background: transparent;
  /* font-size: 1.1em; */
  /* font-size: 1.3em; */
  height: 34px;
  padding: 2px 6px;
  /* resize: none; */
}

.ps-input.center {
  text-align: center;
}

.ps-input.right {
  text-align: right;
}



.quill-editor-container.modified,
.lone-spinner > .spinner .modified,
.form-control.modified,
.form-control.modified:hover,
.form-control.editable.modified,
.editable-td > .spinner > .form-control.modified,
.editable-td > .input-group.spinner > .form-control.modified:hover,
.editable-td > .input-group.spinner > .form-control.modified:focus,
.editable-construct.modified {
  border: 1px solid #d43f3a;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(212,70,50,.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(212,70,50,.6);
}


.editable-td > .spinner.modified > .input-group-btn-vertical > .spinner-up {
  border-top: 1px solid #d43f3a;
  border-right: 1px solid #d43f3a;
  outline: 0;
}

.editable-td > .spinner.modified > .input-group-btn-vertical > .spinner-down {
  border-bottom: 1px solid #d43f3a;
  border-right: 1px solid #d43f3a;
  outline: 0;
}



/* .search-form { */
/*   width:440px; */
/*   border: 1px solid red; */
/* } */

/* .search-form-input { */
/*   flex:1; */
/*   font-size: 16px; */
/* } */

/* .search-form-button { */
/*   background-color: rgba(147, 128, 108, 0.1); */
/*   /\* color: #666666; *\/ */
/*   color:#333; */
/*   font: inherit; */
/*   font-weight: normal; */
/* } */

/* .search-form-input:not(:first-child) { */
/*   border-left: 0; */
/* } */
/* .search-form-input:not(:last-child) { */
/*   border-right: 0; */
/* } */

/* .search-form-input, */
/* .search-form-button { */
/*   /\* border: 1px solid rgba(147, 128, 108, 0.25); *\/ */
/*   border: 1px solid #ccc; */
/*   padding: 0.5em 0.75em; */
/* } */
/* .search-form-input:first-child, */
/* .search-form-button:first-child { */
/*   border-radius: 2px 0 0 2px; */
/* } */
/* .search-form-input:last-child, */
/* .search-form-button:last-child { */
/*   border-radius: 0 2px 2px 0; */
/* } */




/* used???? */
/* .well.edit-construct-widget { */
/*   border: 1px dashed #4cae4c; */
/*   background: #f9f9f9; */
/*   align-items: center; */
/* } */

.ps-visible { /* editable items may contain hideable elements */
  visibility:visible;
}

.ps-hidden { /* editable items may contain hideable elements */
  visibility:hidden;
}


/* quill editor */

.quill-editor-container {
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 12px;
}

.quill-editor-panel {
  margin-right: 0px;
}


/* quill style editor */
.quill-style-editor > .ql-editor {
  height: 0px;
  /*width: 1px;*/
  /*visibility: hidden;*/
  padding: 0px;
}

.quill-style-editor.ql-container.ql-snow {
  border: 0;
}

/* quill display area */
.quill-display-container .ql-toolbar {
  display: none;
}

.quill-display-container .ql-container.ql-snow {
  border: 0;
}

.quill-compact-editor .ql-editor {
  padding: 6px 15px;
}


.ql-clickable .ql-editor {
  cursor: pointer;
}


.ql-formats.ql-legend {
  width: 300px;
}

/* .ql-picker.ql-legend .ql-picker-item::before, */
/* .ql-picker.ql-legend .ql-picker-label::before { */
/*   content: 'Response Legend' */
/* } */

/* .ql-picker.ql-legend [data-value="keyboard"]::before { */
/*   content: 'Keyboard' */
/* } */

/* .ql-picker.ql-legend [data-value="buttons"]::before { */
/*   content: 'Buttons' */
/* } */







/*****************/
/* tab-view tabs */
/*****************/
.nav-tabs {
  /*margin-bottom: 8px;*/
  /*margin-top: 8px;*/
  /*padding-top: 8px;*/
}

.nav-tabs > li > a {
  border-radius: 0;
  margin-right: 0;
  /*color: #aaa;*/
  color: #767676;
  /*color: #666;*/
  font-weight: 500;
  cursor:pointer;
}

.nav-tabs > li > a:hover {
  /*color: #555;*/
  color: #333;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover {
  border-top: 2px solid #FF8C00;
}

/*
.nav-tabs.centered > li, .nav-pills.centered > li {
    float:none;
    display:inline-block;
    *display:inline;
     zoom:1;
}

.nav-tabs.centered, .nav-pills.centered {
    text-align:center;
}
*/

/****************************/
/* nav-tab - line-tab style */
/****************************/

.line-tabs-top {
  height: 50px;
  min-height: 50px;
  max-height: 50px;
}

.line-tabs-top > .nav-tabs {
  border-bottom: 0px;
  margin: 0px;
}

.line-tabs-top > .nav-tabs > li {
  margin-right: 4px;
  margin-top: 3px;
}

.line-tabs-top > .nav-tabs > li {
  border: 1px solid transparent;
  color: #337ab7;
  font-weight: bold;
}

.line-tabs-top > .nav-tabs > li > a {
  border: 0;
  background: none;
  color: #337ab7;
  font-weight: bold;
}

.line-tabs-top > .nav-tabs > li > a:hover,
.line-tabs-top > .nav-tabs > li.active > a {
  background-color: rgb(0,126,255);
  border: 0;
  color: #fff;
}

.line-tabs-top > .nav-tabs > li:hover,
.line-tabs-top > .nav-tabs > li.active {
  border: 1px solid rgb(0,126,255);
  color: #fff;
}


.line-tabs {
  margin-bottom: 0px;
  min-height: 42px;
  max-height: 42px;
  height: 42px;
}

.line-tabs > .nav-tabs {
  border-bottom: 1px solid #ccc;
  margin: 0px;
}

.line-tabs > .nav-tabs > li {
  margin-right: 2px;
}

.line-tabs > .nav-tabs > li > a {
  border: 0;
  margin-right: 0;
}

.line-tabs > .nav-tabs > li.open,
.line-tabs > .nav-tabs > li:hover {
  border-bottom: 2px solid #ffbe70;
}


.line-tabs > .nav-tabs > li.open > a,
.line-tabs > .nav-tabs > li:hover > a {
  border: 0;
  background: none !important;
  color: #333333;
}

.line-tabs > .nav-tabs > li.active {
  border-bottom: 2px solid #FF8C00;
  position: relative;
}

.line-tabs > .nav-tabs > li.active > a {
  border: 0;
  color: #555;
}













/*****************/
/* input spinner */
/*****************/
.spinner-arrow-up {
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid #999;
  border-top: 2.5px solid transparent;
  border-style: solid;
  display: inline-block;
  height: 0;
  width: 0;
}

.spinner-arrow-down {
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #999;
  border-bottom: 2.5px solid transparent;
  border-style: solid;
  display: inline-block;
  height: 0;
  width: 0;
}

.spinner {
  min-width: 80px;
}

/*.spinner > input {
  text-align: right;
}*/

.input-group-btn-vertical {
  position: relative;
  white-space: nowrap;
  width: 1%;
  vertical-align: middle;
  display: table-cell;
}

.input-group-btn-vertical > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
  padding: 8px;
  margin-left: -1px;
  position: relative;
  border-radius: 0;
  line-height: 0; /**/
  padding-left: 4.5px;
  padding-right: 5px;
}

.input-group-btn-vertical > .btn.spinner-up {
  padding-top: 3px;
  padding-bottom: 6px;
  outline: 0;
}

.input-group-btn-vertical > .btn.spinner-up:active,
.input-group-btn-vertical > .btn.spinner-up:focus,
.input-group-btn-vertical > .btn.spinner-down:active,
.input-group-btn-vertical > .btn.spinner-down:focus {
  background-color: #fff;
  border-color: #ccc;
}

.input-group-btn-vertical > .btn.spinner-down {
  padding-top: 6px;
  padding-bottom: 2px;
  outline: 0;
}

.input-group-btn-vertical > .btn:first-child {
  border-top-right-radius: 4px;
}
.input-group-btn-vertical > .btn:last-child {
  margin-top: -2px;
  border-bottom-right-radius: 4px;
}
.input-group-btn-vertical i{
  position: absolute;
  top: 0;
  left: 4px;
}



/* editable td */
.editable-td > .spinner {
  width: 100%;
}

/*.editable-td > .spinner > input {
  text-align: left;
}*/

.editable-td > .spinner > .form-control {
  border: 1px solid transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.editable-td > .spinner > .input-group-btn-vertical .spinner-up,
.editable-td > .spinner > .input-group-btn-vertical .spinner-down {
  border-radius: 0px;
}








/************************/
/* material icon tweaks */
/************************/
.navbar-nav > li > a.md-icon {
  padding: 13px;
  line-height: 1px;
}

.btn.md-icon,
.input-group-btn > .btn.md-icon{
  padding-top: 3px;
  padding-bottom: 3px;
}

.material-icons {
  vertical-align: middle;
}

.material-icons.md-upside-down {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}


.material-icons.md-12 { font-size: 12px; }
.material-icons.md-14 { font-size: 14px; }
.material-icons.md-16 { font-size: 16px; }
.material-icons.md-18 { font-size: 18px; }
.material-icons.md-20 { font-size: 20px; }
.material-icons.md-22 { font-size: 22px; }
.material-icons.md-24 { font-size: 24px; }
.material-icons.md-36 { font-size: 36px; }
.material-icons.md-48 { font-size: 48px; }
.material-icons.md-64 { font-size: 64px; }
.material-icons.md-128 { font-size: 128px; }

.material-icons:hover {
  cursor: pointer;
}

.material-icons.md-success:hover {
  background-color: #5cb85c;
  border-color: #4cae4c;
  color: white;
}

.material-icons.md-danger:hover {
  background-color: #d9534f;
  border-color: #d43f3a;
  color: white;
}

.material-icons.md-light{
  color: rgba(255, 255, 255, 1);
}
.material-icons.md-light.md-inactive.md-thumb-select {
  color: rgba(255, 255, 255, 0.7);
}
.material-icons.md-light.md-inactive.md-thumb-select:hover {
  color: rgba(255, 255, 255, 1);
}
.material-icons.md-light.md-active.md-thumb-select,
.material-icons.md-light.md-active.md-thumb-select:hover {
  color: #4285f4;
}


/*****************/
/* modal popovers*/
/*****************/
.modal-header {
  background-color: #f5f5f5;
}

.modal-header.panel-heading {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}

.flex-modal-header:before,
.flex-modal-header:after {
  content: none;
}

.modal-content {
  max-height: 100%;
}

.modal-wrapper {
  display: flex;
  position: fixed;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  z-index: 1040
}

.modal-backdrop {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 0.6;
  z-index: 1;
  -webkit-animation: fade-in 0.2s; /* Safari, Chrome and Opera > 12.1 */
  -moz-animation: fade-in 0.2s; /* Firefox < 16 */
  -ms-animation: fade-in 0.2s; /* Internet Explorer */
  -o-animation: fade-in 0.2s; /* Opera < 12.1 */
  animation: fade-in 0.2s;
}

.modal-child.ps-fullscreen {
  margin: auto;
  margin-top: 10px;
  margin-bottom: 10px;
}


.modal-child {
  margin: auto;
  margin-top: 30px;
  margin-bottom: 30px;
  z-index: 2;
  -webkit-animation: fade-in-child 0.2s;
  -moz-animation: fade-in-child 0.2s;
  -ms-animation: fade-in-child 0.2s;
  -o-animation: fade-in-child 0.2s;
  animation: fade-in-child 0.2s;
}

@keyframes fade-in {
  from {opacity: 0;}
  to   {opacity: 0.6;}
}

@keyframes fade-in-child {
  from {opacity: 0;}
  to   {opacity: 1;}
}



/* label.checkbox-label, */
/* label.radio-label { */
/*   font-size: 1.3em; */
/* } */

/*********************************/
/* checkbox label alignment hack */
/*********************************/
label.radio-label input[type=radio],
label.checkbox-label input[type=checkbox] {
  position: relative;
  vertical-align: text-bottom;;
  bottom: 2px;
  margin-right: 8px;
}

.checkbox .inline {
  display: inline;
}





/*************************************************/
/* react-select (emulate bootstrap default size) */
/*************************************************/
.ps-color-select .has-value.Select--single>.Select-control .Select-value > span.Select-value-label,
ps-color-select .has-value.is-pseudo-focused.Select--single>.Select-control .Select-value > span.Select-value-label {
  color: inherit;
}

div.Select > div.Select-control > span > .Select-input {
  height: 32px;
}

div.Select > div.Select-control {
  height: 32px;
}

div.Select > div.Select-control .Select-value {
  cursor: pointer;
}


div.Select--single > .Select-control .Select-value {
  line-height: 34px;
}

div.Select--multi > .Select-control .Select-value {
  line-height: 1.42857143;
  margin-top: 4px;
}


/**************************************************/
/* tree-header-select small (emulate tree-header) */
/**************************************************/

.tree-header-select .has-value.Select--single>.Select-control .Select-value .Select-value-label,
.tree-header-select .has-value.is-pseudo-focused.Select--single>.Select-control .Select-value .Select-value-label {
  font-size: 16px;
  padding: 4px;
}

.tree-header-select > .is-focused:not(.is-open) > .Select-control {
  outline: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.tree-header-select > div.Select > div.Select-control {
  background-color: #f5f5f5;
  border: 0px;
}

.tree-header-select > div.Select > div.Select-control > span > .Select-input {
  height: 28px;
}

.tree-header-select > div.Select > div.Select-control > span > .Select-placeholder,
.tree-header-select > div.Select--single > .Select-control .Select-value {
  line-height: 30px;
}

.tree-header-select > div.Select--multi > .Select-control .Select-value {
  line-height: 14px;
  margin-top: 4px;
}

.tree-header-select > div.Select > div.Select-control {
  height: 28px;
}

/* .react-select-sm > div.Select, */
/* .react-select-sm > div.Select div, */
/* .react-select-sm > div.Select > div.Select-control > span > .Select-input, */
/* .react-select-sm > div.Select > div.Select-control > span { */
/*   font-size: 12px; */
/* } */


.ps-select .btn-default.dropdown-toggle {
  background: #fff;
  width: 100%;
  position: unset;
  overflow: hidden;
}

.editable-td .btn-default.dropdown-toggle {
  border-color: transparent;
}


.editable-td .btn-default.dropdown-toggle:hover {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: none;
  box-shadow: none;}


/***************************************************/
/* react-select (multi) for modals (reduced width) */
/***************************************************/
.modal-body > div.ps-select {
  width: 420px;
}


.modal-body > div.ps-select > .Select > .Select-control >
.Select-multi-value-wrapper > .Select-value > .Select-value-label {
  max-width: 350px;
}

/********************************************************/
/* react-select editable (emulate psychstudio editable) */
/********************************************************/
.editable-td div.ps-select > div.Select > div.Select-control:hover,
.editable-td div.ps-select > .is-focused > div.Select-control,
div.ps-select > .is-focused:not(.is-open) > .Select-control {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.editable-td div.ps-select.read-only > div.Select > div.Select-control:hover,
.editable-td div.ps-select.read-only >.is-focused > div.Select-control,
div.ps-select.read-only >.is-focused:not(.is-open)>.Select-control {
  border-color: transparent;
}

.ps-select.read-only >.Select >.Select-control >.Select-arrow-zone {
  visibility: hidden;
}

.editable-td div.ps-select > div.Select > div.Select-menu-outer {
  border-top-color: #66afe9;
  max-height: 360px;
  margin-bottom: 26px;
}

.editable-td div.ps-select > div.Select > div.Select-menu-outer > .Select-menu {
  max-height: 358px;
}

div.ps-select.modified > div.Select > div.Select-menu-outer {
  border-top-color: #d43f3a;
  max-height: 360px;
  margin-bottom: 26px;
}

div.ps-select.modified > div.Select > div.Select-menu-outer > .Select-menu {
  max-height: 358px;
}


.editable-td div.ps-select.modified > div.Select > div.Select-control,
div.ps-select.modified > div.Select > div.Select-control,
div.ps-select.modified >.is-focused:not(.is-open)>.Select-control {
  border-color: #d43f3a;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(212,70,50,.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(212,70,50,.6);
}

.editable-td div.ps-select >:not(is-focused):not(.is-open)> div.Select-control {
  border: 1px solid transparent;
}

.editable-td div.ps-select > .Select > .Select-control >
.Select-multi-value-wrapper > .Select-value > .Select-value-label {
  max-width: 209px;
}





/* div.ps-toolbar > div.Select > div.Select-control, */
/* div.ps-toolbar > div.Select > div.Select-control > span > .Select-input, */
/* div.ps-toolbar > div.Select--single > .Select-control .Select-value, */
/* div.ps-toolbar > .Select .Select-placeholder, */
/* div.ps-toolbar > .Select .Select-input { */
/*   font-family: inherit; */
/*   font: inherit; */
/*   padding-top: 1px; */
/*   line-height: 1.5; */
/*   font-size: 12px; */
/*   height: 20px; */
/* } */




/*******************************************************/
/* react-select: inherit text color of selected option */
/*******************************************************/

div.ps-select.color .has-value.Select--single > .Select-control .Select-value > span.Select-value-label {
  color: currentColor;
}


/*******************************************************/
/* react-select: places margin on bottom of select */
/*******************************************************/

.editable-td div.ps-select > .Select-menu-outer {
  margin-bottom: 32px;
}


/***********************/
/* psychstudio toolbar */
/***********************/

/* applies to single or multiple items */
.ps-toolbar-item {
  display: inline-block;
  vertical-align: middle;
}




/******************************************/
/* bootstrap alert small (emulate btn-sm) */
/******************************************/
.alert.alert-sm {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  /*font-weight: 600;*/
  line-height: 1.5;
  margin: 0;
}

/******************************************/
/* bootstrap alert medium */
/******************************************/
.alert.alert-med {
  height: 48px;
  padding: 14px 10px 10px 10px;
  font-size: 14px;
  /*font-weight: 600;*/
  line-height: 1.5;
  margin: 0px;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}

#flash-notice {
  transform: translateY(-100%);
  -webkit-transform: translateY(-100%);
}

.flash-notice {
  animation: slide-in 0.3s forwards;
  -webkit-animation: slide-in 0.3s forwards;
}

@keyframes slide-in {
  100% { transform: translateY(92%); }
}

@-webkit-keyframes slide-in {
  100% { -webkit-transform: translateY(92%); }
}


#flash-notice-modal {
  transform: translateY(-100%);
  -webkit-transform: translateY(-100%);
  /*height: 0px;*/
  position: absolute;
  width: 100%;
  margin-top: -4px;
  z-index: 3000;
  text-align: center;
  padding: 8px 80px;
}

.flash-notice-modal {
  animation: blind 0.3s forwards;
  -webkit-animation: blind 0.3s forwards;
}

@keyframes blind {
  100% { transform: translateY(100%); }
}

@-webkit-keyframes blind {
  100% { -webkit-transform: translateY(100%); }
}





/************************************************************************/
/* bootstrap btn-default (make it "pop" slightly from white background) */
/************************************************************************/
.btn-default {
  background-color: #eee;
  border-color: #bbb;
}

.btn-default.active,
.btn-default:active,
.open > .dropdown-toggle.btn-default {
  color: #333;
  background-color: #d6d6d6;
  border-color: #adadad;
}


/* bootstrap badge */
.badge {
  font-size: 10px;
  color: #fff;
  background-color: #777;
}


/*
bootstrap dropdown
*/

.dropdown-header {
  font-size: 14px;
}

.dropdown-menu.dropdown-menu-center {
  left: -60px;
}

.dropdown-menu {
  max-height: 365px;
  overflow-y: auto;
  overflow-x: hidden;
}


/* url display */
.monospace {
  font-family: "Lucida Console", Monaco, monospace;
}



.btn-orangered {
  color: #fff;
  background: orangered;
  border-color: orangered;
}

.btn-orangered:hover {
  color: #fff;
  filter: brightness(92%);
}


/************************************************************************/
/* spinkit spinner */
/************************************************************************/

.sk-spinner-title {
  font-style: italic;
  /* font-weight: 500; */
}

.sk-spinner {
  width: 40px;
  height: 22px;
  text-align: center;
  font-size: 14px;
}

.sk-spinner > div {
  background-color: #29d;
  height: 100%;
  width: 3px;
  display: inline-block;
  margin: 1px;
  -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
  animation: sk-stretchdelay 1.2s infinite ease-in-out;
}

.sk-spinner .rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.sk-spinner .rect3 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}

.sk-spinner .rect4 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.sk-spinner .rect5 {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

@-webkit-keyframes sk-stretchdelay {
  0%, 40%, 100% { -webkit-transform: scaleY(0.4) }
  20% { -webkit-transform: scaleY(1.0) }
}

@keyframes sk-stretchdelay {
  0%, 40%, 100% {
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
  }  20% {
    transform: scaleY(1.0);
    -webkit-transform: scaleY(1.0);
  }
}


/* .sk-spinner { */
/*   width: 22px; */
/*   height: 22px; */

/*   position: relative; */
/*   margin: 100px auto; */
/* } */

/* .sk-double-bounce1, .sk-double-bounce2 { */
/*   width: 100%; */
/*   height: 100%; */
/*   border-radius: 50%; */
/*   background-color: #333; */
/*   opacity: 0.6; */
/*   position: absolute; */
/*   top: 0; */
/*   left: 0; */

/*   -webkit-animation: sk-bounce 2.0s infinite ease-in-out; */
/*   animation: sk-bounce 2.0s infinite ease-in-out; */
/* } */

/* .sk-double-bounce2 { */
/*   -webkit-animation-delay: -1.0s; */
/*   animation-delay: -1.0s; */
/* } */

/* @-webkit-keyframes sk-bounce { */
/*   0%, 100% { -webkit-transform: scale(0.0) } */
/*   50% { -webkit-transform: scale(1.0) } */
/* } */

/* @keyframes sk-bounce { */
/*   0%, 100% { */
/*     transform: scale(0.0); */
/*     -webkit-transform: scale(0.0); */
/*   } 50% { */
/*     transform: scale(1.0); */
/*     -webkit-transform: scale(1.0); */
/*   } */
/* } */




.tool-results-container {
  justify-content:center;
  display:flex;
  flex-wrap:wrap;
}

.tool-results {
  min-height: 30px;
  min-width: 240px;
  margin: 0px 15px 0px 15px;
  white-space: nowrap;
}

.tool-results h5 {
  font-weight: bold;
  margin-bottom: 6px;
  margin-top: 10px;
}

.tool-results .formula {
  font-size: 12px;
  color: #444;
  margin-bottom: 5px;
  min-height: 17px;
}

.tool-results > pre {
  display: block;
  padding: 9.5px;
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #333;
  word-break: break-all;
  word-wrap: break-word;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-family: Menlo,Monaco,Consolas,"Courier New",monospace;
}




.debug {border: 1px solid;}
.debug.red {border-color: red;}
.debug.green {border-color: green;}
.debug.blue {border-color: blue;}
.debug.orange {border-color: orange;}