
/**
 * Fix for bootstrap styles
 */


.handsontable .table th, .handsontable .table td {
  border-top: none;
}

.handsontable tr {
  background: #fff;
}

.handsontable td {
  background-color: inherit;
}

.table caption + thead tr:first-child th,
.table caption + thead tr:first-child td,
.table colgroup + thead tr:first-child th,
.table colgroup + thead tr:first-child td,
.table thead:first-child tr:first-child th,
.table thead:first-child tr:first-child td {
  border-top: 1px solid $line;
}

/* table-bordered */
.handsontable .table-bordered {
  border: 0;
  border-collapse: separate;
}

.handsontable .table-bordered th,
.handsontable .table-bordered td {
  border-left: none;
}

.handsontable .table-bordered th:first-child,
.handsontable .table-bordered td:first-child {
  border-left: 1px solid $line;
}

.table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th {
  line-height: 21px;
  padding: 0 4px;
}

.col-lg-1.handsontable, .col-lg-10.handsontable, .col-lg-11.handsontable, .col-lg-12.handsontable,
.col-lg-2.handsontable, .col-lg-3.handsontable, .col-lg-4.handsontable, .col-lg-5.handsontable, .col-lg-6.handsontable, .col-lg-7.handsontable, .col-lg-8.handsontable, .col-lg-9.handsontable,
.col-md-1.handsontable, .col-md-10.handsontable, .col-md-11.handsontable, .col-md-12.handsontable,
.col-md-2.handsontable, .col-md-3.handsontable, .col-md-4.handsontable, .col-md-5.handsontable, .col-md-6.handsontable, .col-md-7.handsontable, .col-md-8.handsontable, .col-md-9.handsontable
.col-sm-1.handsontable, .col-sm-10.handsontable, .col-sm-11.handsontable, .col-sm-12.handsontable,
.col-sm-2.handsontable, .col-sm-3.handsontable, .col-sm-4.handsontable, .col-sm-5.handsontable, .col-sm-6.handsontable, .col-sm-7.handsontable, .col-sm-8.handsontable, .col-sm-9.handsontable
.col-xs-1.handsontable, .col-xs-10.handsontable, .col-xs-11.handsontable, .col-xs-12.handsontable,
.col-xs-2.handsontable, .col-xs-3.handsontable, .col-xs-4.handsontable, .col-xs-5.handsontable, .col-xs-6.handsontable, .col-xs-7.handsontable, .col-xs-8.handsontable, .col-xs-9.handsontable {
  padding-left: 0;
  padding-right: 0;
}

.table-striped > tbody > tr:nth-of-type(even) {
  background-color: #FFF;
}
.handsontable {
  position: relative;
}

.handsontable .hide{
  display: none;
}
.handsontable .relative {
  position: relative;
}

.handsontable.htAutoSize {
  visibility: hidden;
  left: -99000px;
  position: absolute;
  top: -99000px;
}

.handsontable .wtHider {
  width: 0;
}

.handsontable .wtSpreader {
  position: relative;
  width: 0; /*must be 0, otherwise blank space appears in scroll demo after scrolling max to the right */
  height: auto;
}

.handsontable table,
.handsontable tbody,
.handsontable thead,
.handsontable td,
.handsontable th,
.handsontable input,
.handsontable textarea,
.handsontable div {
  box-sizing: content-box;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
}

.handsontable input,
.handsontable textarea {
  min-height: initial;
}

.handsontable table.htCore {
  border-collapse: separate;
  /* it must be separate, otherwise there are offset miscalculations in WebKit: http://stackoverflow.com/questions/2655987/border-collapse-differences-in-ff-and-webkit */
  /* this actually only changes appearance of user selection - does not make text unselectable */
  /* -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -o-user-select: none;
  -ms-user-select: none;
  user-select: none; */ /* no browser supports unprefixed version */
  border-spacing: 0;
  margin: 0;
  border-width: 0;
  table-layout: fixed;
  width: 0;
  outline-width: 0;
  /* reset bootstrap table style. for more info see: https://github.com/handsontable/handsontable/issues/224 */
  max-width: none;
  max-height: none;
}

.handsontable col {
  width: 50px;
}

.handsontable col.rowHeader {
  width: 50px;
}

.handsontable th,
.handsontable td {
  color:$gray;
  border-top-width: 0;
  border-left-width: 0;
  border-right: 1px solid $line;
  border-bottom: 1px solid $line;
  height: 22px;
  empty-cells: show;
  line-height: 22px;
  padding: 0 4px 0 4px;
  /* top, bottom padding different than 0 is handled poorly by FF with HTML5 doctype */
  background-color: #FFF;
  vertical-align: top;
  overflow: hidden;
  outline-width: 0;
  white-space: pre-line;
  /* preserve new line character in cell */
  background-clip: padding-box;
}
.handsontable td.htInvalid {
  background-color: #ff4c42 !important; /*gives priority over td.area selection background*/
}

.handsontable td.htNoWrap {
  white-space: nowrap;
}

.handsontable th:last-child {
  /*Foundation framework fix*/
  border-right: 1px solid $line;
  border-bottom: 1px solid $line;
}

.handsontable tr:first-child th.htNoFrame,
.handsontable th:first-child.htNoFrame,
.handsontable th.htNoFrame {
  border-left-width: 0;
  background-color: #fff;
  border-color: #FFF;
}

.handsontable th:first-child,
.handsontable th:nth-child(2),
.handsontable td:first-of-type,
.handsontable .htNoFrame + th,
.handsontable .htNoFrame + td {
  border-left: 1px solid $line;
}

.handsontable.htRowHeaders thead tr th:nth-child(2) {
  border-left: 1px solid $line;
}

.handsontable tr:first-child th,
.handsontable tr:first-child td {
  border-top: 1px solid $line;
}

.ht_master:not(.innerBorderLeft):not(.emptyColumns) ~ .handsontable tbody tr th,
.ht_master:not(.innerBorderLeft):not(.emptyColumns) ~ .handsontable:not(.ht_clone_top) thead tr th:first-child {
  border-right-width: 0;
}

.ht_master:not(.innerBorderTop) thead tr:last-child th,
.ht_master:not(.innerBorderTop) ~ .handsontable thead tr:last-child th,
.ht_master:not(.innerBorderTop) thead tr.lastChild th,
.ht_master:not(.innerBorderTop) ~ .handsontable thead tr.lastChild th {
  border-bottom-width: 0;
}

.handsontable th {
  background-color: #f3f3f3;
  color: #222;
  text-align: center;
  font-weight: normal;
  white-space: nowrap;
}

.handsontable thead th {
  padding: 0;
}

.handsontable th.active {
  background-color: #CCC;
}
.handsontable thead th .relative {
  padding: 2px 4px;
}

/* selection */
.handsontable tbody th.ht__highlight,
.handsontable thead th.ht__highlight {
  background-color: #dcdcdc;
}
.handsontable.ht__selection--columns thead th.ht__highlight,
.handsontable.ht__selection--rows tbody th.ht__highlight {
  background-color: #8eb0e7;
  color: #000;
}

/* plugins */

/* row + column resizer*/
.handsontable .manualColumnResizer {
  position: fixed;
  top: 0;
  cursor: col-resize;
  z-index: 110;
  width: 5px;
  height: 25px;
}

.handsontable .manualRowResizer {
  position: fixed;
  left: 0;
  cursor: row-resize;
  z-index: 110;
  height: 5px;
  width: 50px;
}

.handsontable .manualColumnResizer:hover,
.handsontable .manualColumnResizer.active,
.handsontable .manualRowResizer:hover,
.handsontable .manualRowResizer.active {
  background-color: #AAB;
}

.handsontable .manualColumnResizerGuide {
  position: fixed;
  right: 0;
  top: 0;
  background-color: #AAB;
  display: none;
  width: 0;
  border-right: 1px dashed #777;
  margin-left: 5px;
}

.handsontable .manualRowResizerGuide {
  position: fixed;
  left: 0;
  bottom: 0;
  background-color: #AAB;
  display: none;
  height: 0;
  border-bottom: 1px dashed #777;
  margin-top: 5px;
}

.handsontable .manualColumnResizerGuide.active,
.handsontable .manualRowResizerGuide.active {
  display: block;
  z-index: 199;
}

.handsontable .columnSorting {
  position: relative;
}

.handsontable .columnSorting:hover {
  text-decoration: underline;
  cursor: pointer;
}

.handsontable .columnSorting.ascending::after {
  content: '\25B2';
  color: #5f5f5f;
  position: absolute;
  right: -15px;
}

.handsontable .columnSorting.descending::after {
  content: '\25BC';
  color: #5f5f5f;
  position: absolute;
  right: -15px;
}

/* border line */

.handsontable .wtBorder {
  position: absolute;
  font-size: 0;
}
.handsontable .wtBorder.hidden{
  display:none !important;
}

.handsontable td.area {
  background: -moz-linear-gradient(top,  rgba(181,209,255,0.34) 0%, rgba(181,209,255,0.34) 100%)!important; /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(181,209,255,0.34)), color-stop(100%,rgba(181,209,255,0.34)))!important; /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top,  rgba(181,209,255,0.34) 0%,rgba(181,209,255,0.34) 100%)!important; /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top,  rgba(181,209,255,0.34) 0%,rgba(181,209,255,0.34) 100%)!important; /* Opera 11.10+ */
  background: -ms-linear-gradient(top,  rgba(181,209,255,0.34) 0%,rgba(181,209,255,0.34) 100%)!important; /* IE10+ */
  background: linear-gradient(to bottom,  rgba(181,209,255,0.34) 0%,rgba(181,209,255,0.34) 100%)!important; /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#57b5d1ff', endColorstr='#57b5d1ff',GradientType=0 )!important; /* IE6-9 */
  background-color: #fff!important;
}

/* fill handle */

.handsontable .wtBorder.corner {
  font-size: 0;
  cursor: crosshair;
}

.handsontable .htBorder.htFillBorder {
  background: red;
  width: 1px;
  height: 1px;
}

.handsontableInput {
  border:none;
  outline-width: 0;
  margin: 0 ;
  padding: 1px 5px 0 5px;
  font-family: inherit;
  line-height: 21px;
  font-size: inherit;
  box-shadow: 0 0 0 2px #5292F7 inset;
  resize: none;
  /*below are needed to overwrite stuff added by jQuery UI Bootstrap theme*/
  display: block;
  color: #000;
  border-radius: 0;
  background-color: #FFF;
  /*overwrite styles potentionally made by a framework*/
}

.handsontableInputHolder {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}

.htSelectEditor {
  -webkit-appearance: menulist-button !important;
  position: absolute;
  width: auto;
}

/*
TextRenderer readOnly cell
*/

.handsontable .htDimmed {
  color: $gray;
}

.handsontable .htSubmenu {
  position: relative;
}

.handsontable .htSubmenu :after{
  content: '\25B6';
  color: $gray;
  position: absolute;
  right: 5px;
}


/*
TextRenderer horizontal alignment
*/
.handsontable .htLeft{
  text-align: left;
}
.handsontable .htCenter{
  text-align: center;
}
.handsontable .htRight{
  text-align: right;
}
.handsontable .htJustify{
  text-align: justify;
}
/*
TextRenderer vertical alignment
*/
.handsontable .htTop{
  vertical-align: top;
}
.handsontable .htMiddle{
  vertical-align: middle;
}
.handsontable .htBottom{
  vertical-align: bottom;
}

/*
TextRenderer placeholder value
*/

.handsontable .htPlaceholder {
  color: #999;
}

/*
AutocompleteRenderer down arrow
*/

.handsontable .htAutocompleteArrow {
  float: right;
  font-size: 10px;
  color: #EEE;
  cursor: default;
  width: 16px;
  text-align: center;
}

.handsontable td .htAutocompleteArrow:hover {
  color: $gray;
}

.handsontable td.area .htAutocompleteArrow {
  color: #d3d3d3;
}

/*
CheckboxRenderer
*/
.handsontable .htCheckboxRendererInput {
  display: inline-block;
  vertical-align: middle;
}
.handsontable .htCheckboxRendererInput.noValue {
  opacity: 0.5;
}
.handsontable .htCheckboxRendererLabel {
  cursor: pointer;
  display: inline-block;
  width: 100%;
}

@-webkit-keyframes opacity-hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    /*display: none;*/
  }
}
@keyframes opacity-hide {
  from {
    /*display: block;*/
    opacity: 1;
  }
  to {
    opacity: 0;
    /*display: none;*/
  }
}

@-webkit-keyframes opacity-show {
  from {
    opacity: 0;
    /*display: none;*/
  }
  to {
    opacity: 1;
    /*display: block;*/
  }
}
@keyframes opacity-show {
  from {
    opacity: 0;
    /*display: none;*/
  }
  to {
    opacity: 1;
    /*display: block;*/
  }
}

/**
 * Handsontable in Handsontable
 */

.handsontable .handsontable.ht_clone_top .wtHider {
  padding: 0 0 5px 0;
}

/**
* Autocomplete Editor
*/
.handsontable .autocompleteEditor.handsontable {
  padding-right: 17px;
}
.handsontable .autocompleteEditor.handsontable.htMacScroll {
  padding-right: 15px;
}


/**
 * Handsontable listbox theme
 */

.handsontable.listbox {
  margin: 0;
}

.handsontable.listbox .ht_master table {
  border: 1px solid $line;
  border-collapse: separate;
  background: white;
}

.handsontable.listbox th,
.handsontable.listbox tr:first-child th,
.handsontable.listbox tr:last-child th,
.handsontable.listbox tr:first-child td,
.handsontable.listbox td {
  border-color: transparent;
}

.handsontable.listbox th,
.handsontable.listbox td {
  white-space: nowrap;
  text-overflow: ellipsis;
}

.handsontable.listbox td.htDimmed {
  cursor: default;
  color: inherit;
  font-style: inherit;
}

.handsontable.listbox .wtBorder {
  visibility: hidden;
}

.handsontable.listbox tr td.current,
.handsontable.listbox tr:hover td {
  background: #eee;
}

.ht_clone_top {
  z-index: 101;
}

.ht_clone_left {
  z-index: 102;
}

.ht_clone_top_left_corner,
.ht_clone_bottom_left_corner {
  z-index: 103;
}

.ht_clone_debug {
  z-index: 103;
}

.handsontable td.htSearchResult {
  background: #fcedd9;
  color: #583707;
}

/*
Cell borders
*/
.htBordered{
  box-sizing: border-box !important;
  border-width: 1px;
}
.htBordered.htTopBorderSolid {
  border-top-style: solid;
  border-top-color: #000;
}
.htBordered.htRightBorderSolid {
  border-right-style: solid;
  border-right-color: #000;
}
.htBordered.htBottomBorderSolid {
  border-bottom-style: solid;
  border-bottom-color: #000;
}
.htBordered.htLeftBorderSolid {
  border-left-style: solid;
  border-left-color: #000;
}

.handsontable tbody tr th:nth-last-child(2) {
  border-right: 1px solid $line;
}

.handsontable thead tr:nth-last-child(2) th.htGroupIndicatorContainer {
  border-bottom: 1px solid $line;
  padding-bottom: 5px;
}


.ht_clone_top_left_corner thead tr th:nth-last-child(2) {
  border-right: 1px solid $line;
}

.htCollapseButton {
  width: 10px;
  height: 10px;
  line-height: 10px;
  text-align: center;
  border-radius: 5px;
  border: 1px solid #f3f3f3;
  -webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
  cursor: pointer;
  margin-bottom: 3px;
  position: relative;
}

.htCollapseButton:after {
  content: "";
  height: 300%;
  width: 1px;
  display: block;
  background: #ccc;
  margin-left: 4px;
  position: absolute;
  /*top: -300%;*/
  bottom: 10px;
}


thead .htCollapseButton {
  right: 5px;
  position: absolute;
  top: 5px;
  background: #fff;
}

thead .htCollapseButton:after {
  height: 1px;
  width: 700%;
  right: 10px;
  top: 4px;
}

.handsontable tr th .htExpandButton {
  position: absolute;
  width: 10px;
  height: 10px;
  line-height: 10px;
  text-align: center;
  border-radius: 5px;
  border: 1px solid #f3f3f3;
  -webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
  cursor: pointer;
  top: 0;
  display: none;
}

.handsontable thead tr th .htExpandButton {
  /*left: 5px;*/
  top: 5px;
}

.handsontable tr th .htExpandButton.clickable {
  display: block;
}

.collapsibleIndicator {
  position: absolute;
  top: 50%;
  transform: translate(0% ,-50%);
  right: 5px;
  border: 1px solid #A6A6A6;
  line-height: 10px;
  color: #222;
  border-radius: 10px;
  font-size: 10px;
  width: 10px;
  height: 10px;
  cursor: pointer;
  -webkit-box-shadow: 0 0 0 6px rgba(238,238,238,1);
  -moz-box-shadow: 0 0 0 6px rgba(238,238,238,1);
  box-shadow: 0 0 0 6px rgba(238,238,238,1);
  background: #eee;
}

.handsontable col.hidden {
  width: 0 !important;
}

.handsontable table tr th.lightRightBorder {
  border-right: 1px solid #E6E6E6;
}

.handsontable tr.hidden,
.handsontable tr.hidden td,
.handsontable tr.hidden th {
  display: none;
}

.ht_master,
.ht_clone_left,
.ht_clone_top,
.ht_clone_bottom {
  overflow: hidden;
}

.ht_master .wtHolder {
  overflow: auto;
}

.ht_clone_left .wtHolder {
  overflow-x: hidden;
  overflow-y: auto;
}

.ht_clone_top .wtHolder,
.ht_clone_bottom .wtHolder {
  overflow-x: auto;
  overflow-y: hidden;
}


/*WalkontableDebugOverlay*/

.wtDebugHidden {
  display: none;
}

.wtDebugVisible {
  display: block;
  -webkit-animation-duration: 0.5s;
  -webkit-animation-name: wtFadeInFromNone;
  animation-duration: 0.5s;
  animation-name: wtFadeInFromNone;
}

@keyframes wtFadeInFromNone {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@-webkit-keyframes wtFadeInFromNone {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}
/*

 Handsontable Mobile Text Editor stylesheet

 */

.handsontable.mobile,
.handsontable.mobile .wtHolder {
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  -khtml-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  user-select:none;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  -webkit-overflow-scrolling: touch;
}

.htMobileEditorContainer {
  display: none;
  position: absolute;
  top: 0;
  width: 70%;
  height: 54pt;
  background: #f8f8f8;
  border-radius: 20px;
  border: 1px solid #ebebeb;
  z-index: 999;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -webkit-text-size-adjust: none;
}

.topLeftSelectionHandle:not(.ht_master .topLeftSelectionHandle),
.topLeftSelectionHandle-HitArea:not(.ht_master .topLeftSelectionHandle-HitArea) {
  z-index: 9999;
}

/* Initial left/top coordinates - overwritten when actual position is set */
.topLeftSelectionHandle,
.topLeftSelectionHandle-HitArea,
.bottomRightSelectionHandle,
.bottomRightSelectionHandle-HitArea {
  left: -10000px;
  top: -10000px;
}

.htMobileEditorContainer.active {
  display: block;
}

.htMobileEditorContainer .inputs {
  position: absolute;
  right: 210pt;
  bottom: 10pt;
  top: 10pt;
  left: 14px;
  height: 34pt;
}

.htMobileEditorContainer .inputs textarea {
  font-size: 13pt;
  border: 1px solid #a1a1a1;
  -webkit-appearance: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  position: absolute;
  left: 14px;
  right: 14px;
  top: 0;
  bottom: 0;
  padding: 7pt;
}

.htMobileEditorContainer .cellPointer {
  position: absolute;
  top: -13pt;
  height: 0;
  width: 0;
  left: 30px;

  border-left: 13pt solid transparent;
  border-right: 13pt solid transparent;
  border-bottom: 13pt solid #ebebeb;
}

.htMobileEditorContainer .cellPointer.hidden {
  display: none;
}

.htMobileEditorContainer .cellPointer:before {
  content: '';
  display: block;
  position: absolute;
  top: 2px;
  height: 0;
  width: 0;
  left: -13pt;

  border-left: 13pt solid transparent;
  border-right: 13pt solid transparent;
  border-bottom: 13pt solid #f8f8f8;
}

.htMobileEditorContainer .moveHandle {
  position: absolute;
  top: 10pt;
  left: 5px;
  width: 30px;
  bottom: 0px;
  cursor: move;
  z-index: 9999;
}

.htMobileEditorContainer .moveHandle:after {
  content: "..\A..\A..\A..";
  white-space: pre;
  line-height: 10px;
  font-size: 20pt;
  display: inline-block;
  margin-top: -8px;
  color: #ebebeb;
}

.htMobileEditorContainer .positionControls {
  width: 205pt;
  position: absolute;
  right: 5pt;
  top: 0;
  bottom: 0;
}

.htMobileEditorContainer .positionControls > div {
  width: 50pt;
  height: 100%;
  float: left;
}

.htMobileEditorContainer .positionControls > div:after {
  content: " ";
  display: block;
  width: 15pt;
  height: 15pt;
  text-align: center;
  line-height: 50pt;
}

.htMobileEditorContainer .leftButton:after,
.htMobileEditorContainer .rightButton:after,
.htMobileEditorContainer .upButton:after,
.htMobileEditorContainer .downButton:after {
  transform-origin: 5pt 5pt;
  -webkit-transform-origin: 5pt 5pt;
  margin: 21pt 0 0 21pt;
}

.htMobileEditorContainer .leftButton:after {
  border-top: 2px solid #288ffe;
  border-left: 2px solid #288ffe;
  -webkit-transform: rotate(-45deg);
  /*margin-top: 17pt;*/
  /*margin-left: 20pt;*/
}
.htMobileEditorContainer .leftButton:active:after {
  border-color: #cfcfcf;
}

.htMobileEditorContainer .rightButton:after {
  border-top: 2px solid #288ffe;
  border-left: 2px solid #288ffe;
  -webkit-transform: rotate(135deg);
  /*margin-top: 17pt;*/
  /*margin-left: 10pt;*/
}
.htMobileEditorContainer .rightButton:active:after {
  border-color: #cfcfcf;
}

.htMobileEditorContainer .upButton:after {
  /*border-top: 2px solid #cfcfcf;*/
  border-top: 2px solid #288ffe;
  border-left: 2px solid #288ffe;
  -webkit-transform: rotate(45deg);
  /*margin-top: 22pt;*/
  /*margin-left: 15pt;*/
}
.htMobileEditorContainer .upButton:active:after {
  border-color: #cfcfcf;
}

.htMobileEditorContainer .downButton:after {
  border-top: 2px solid #288ffe;
  border-left: 2px solid #288ffe;
  -webkit-transform: rotate(225deg);
  /*margin-top: 15pt;*/
  /*margin-left: 15pt;*/
}
.htMobileEditorContainer .downButton:active:after {
  border-color: #cfcfcf;
}

.handsontable.hide-tween {
  -webkit-animation: opacity-hide 0.3s;
  animation: opacity-hide 0.3s;
  animation-fill-mode: forwards;
  -webkit-animation-fill-mode: forwards;
}

.handsontable.show-tween {
  -webkit-animation: opacity-show 0.3s;
  animation: opacity-show 0.3s;
  animation-fill-mode: forwards;
  -webkit-animation-fill-mode: forwards;
}

/*!
 * Pikaday
 * Copyright © 2014 David Bushell | BSD & MIT license | http://dbushell.com/
 */

.pika-single {
    z-index: 9999;
    display: block;
    position: relative;
    color: #333;
    background: #fff;
    border: 1px solid #ccc;
    border-bottom-color: #bbb;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/*
clear child float (pika-lendar), using the famous micro clearfix hack
http://nicolasgallagher.com/micro-clearfix-hack/
*/
.pika-single:before,
.pika-single:after {
    content: " ";
    display: table;
}
.pika-single:after { clear: both }
.pika-single { *zoom: 1 }

.pika-single.is-hidden {
    display: none;
}

.pika-single.is-bound {
    position: absolute;
    box-shadow: 0 5px 15px -5px rgba(0,0,0,.5);
}

.pika-lendar {
    float: left;
    width: 240px;
    margin: 8px;
}

.pika-title {
    position: relative;
    text-align: center;
}

.pika-label {
    display: inline-block;
    *display: inline;
    position: relative;
    z-index: 9999;
    overflow: hidden;
    margin: 0;
    padding: 5px 3px;
    font-size: 14px;
    line-height: 20px;
    font-weight: bold;
    background-color: #fff;
}
.pika-title select {
    cursor: pointer;
    position: absolute;
    z-index: 9998;
    margin: 0;
    left: 0;
    top: 5px;
    filter: alpha(opacity=0);
    opacity: 0;
}

.pika-prev,
.pika-next {
    display: block;
    cursor: pointer;
    position: relative;
    outline: none;
    border: 0;
    padding: 0;
    width: 20px;
    height: 30px;
    /* hide text using text-indent trick, using width value (it's enough) */
    text-indent: 20px;
    white-space: nowrap;
    overflow: hidden;
    background-color: transparent;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 75% 75%;
    opacity: .5;
    *position: absolute;
    *top: 0;
}

.pika-prev:hover,
.pika-next:hover {
    opacity: 1;
}

.pika-prev,
.is-rtl .pika-next {
    float: left;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==');
    *left: 0;
}

.pika-next,
.is-rtl .pika-prev {
    float: right;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=');
    *right: 0;
}

.pika-prev.is-disabled,
.pika-next.is-disabled {
    cursor: default;
    opacity: .2;
}

.pika-select {
    display: inline-block;
    *display: inline;
}

.pika-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border: 0;
}

.pika-table th,
.pika-table td {
    width: 14.285714285714286%;
    padding: 0;
}

.pika-table th {
    color: #999;
    font-size: 12px;
    line-height: 25px;
    font-weight: bold;
    text-align: center;
}

.pika-button {
    cursor: pointer;
    display: block;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    outline: none;
    border: 0;
    margin: 0;
    width: 100%;
    padding: 5px;
    color: #666;
    font-size: 12px;
    line-height: 15px;
    text-align: right;
    background: #f5f5f5;
}

.pika-week {
    font-size: 11px;
    color: #999;
}

.is-today .pika-button {
    color: #33aaff;
    font-weight: bold;
}

.is-selected .pika-button {
    color: #fff;
    font-weight: bold;
    background: #33aaff;
    box-shadow: inset 0 1px 3px #178fe5;
    border-radius: 3px;
}

.is-inrange .pika-button {
    background: #D5E9F7;
}

.is-startrange .pika-button {
    color: #fff;
    background: #6CB31D;
    box-shadow: none;
    border-radius: 3px;
}

.is-endrange .pika-button {
    color: #fff;
    background: #33aaff;
    box-shadow: none;
    border-radius: 3px;
}

.is-disabled .pika-button,
.is-outside-current-month .pika-button {
    pointer-events: none;
    cursor: default;
    color: #999;
    opacity: .3;
}

.pika-button:hover {
    color: #fff;
    background: #ff8000;
    box-shadow: none;
    border-radius: 3px;
}

/* styling for abbr */
.pika-table abbr {
    border-bottom: none;
    cursor: help;
}

.htCommentCell {
    position: relative;
}

.htCommentCell:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    border-left: 6px solid transparent;
    border-top: 6px solid black;
}

.htComments {
    display: none;
    z-index: 1059;
    position: absolute;
}

.htCommentTextArea {
    box-shadow: rgba(0, 0, 0, 0.117647) 0 1px 3px, rgba(0, 0, 0, 0.239216) 0 1px 2px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: none;
    border-left: 3px solid #ccc;
    background-color: #fff;
    width: 215px;
    height: 90px;
    font-size: 12px;
    padding: 5px;
    outline: 0px !important;
    -webkit-appearance: none;
}

.htCommentTextArea:focus {
    box-shadow: rgba(0, 0, 0, 0.117647) 0 1px 3px, rgba(0, 0, 0, 0.239216) 0 1px 2px, inset 0 0 0 1px #5292f7;
    border-left: 3px solid #5292f7;
}
/*!
 * Handsontable ContextMenu
 */

.htContextMenu {
  display: none;
  position: absolute;
  z-index: 1060; /* needs to be higher than 1050 - z-index for Twitter Bootstrap modal (#1569) */
}

.htContextMenu .ht_clone_top,
.htContextMenu .ht_clone_left,
.htContextMenu .ht_clone_corner,
.htContextMenu .ht_clone_debug {
  display: none;
}

.htContextMenu table.htCore {
  border: 1px solid #ccc;
  border-bottom-width: 2px;
  border-right-width: 2px;
}

.htContextMenu .wtBorder {
  visibility: hidden;
}

.htContextMenu table tbody tr td {
  background: white;
  border-width: 0;
  padding: 4px 6px 0 6px;
  cursor: pointer;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.htContextMenu table tbody tr td:first-child {
  border: 0;
}

.htContextMenu table tbody tr td.htDimmed {
  font-style: normal;
  color: #323232;
}

.htContextMenu table tbody tr td.current,
.htContextMenu table tbody tr td.zeroclipboard-is-hover {
  background: #f3f3f3;
}

.htContextMenu table tbody tr td.htSeparator {
  border-top: 1px solid #bbb;
  height: 0;
  padding: 0;
  cursor: default;
}

.htContextMenu table tbody tr td.htDisabled {
  color: #999;
  cursor: default;
}

.htContextMenu table tbody tr td.htDisabled:hover {
  background: #fff;
  color: #999;
  cursor: default;
}

.htContextMenu table tbody tr.htHidden {
  display: none;
}

.htContextMenu table tbody tr td .htItemWrapper {
  margin-left: 10px;
  margin-right: 6px;
}

.htContextMenu table tbody tr td div span.selected {
  margin-top: -2px;
  position: absolute;
  left: 4px;
}

.htContextMenu .ht_master .wtHolder {
  overflow: hidden;
}
textarea#HandsontableCopyPaste {
  position: fixed !important;
  bottom: 100% !important;
  right: 100% !important;
  outline: 0 none !important;
}
.htRowHeaders .ht_master.innerBorderLeft ~ .ht_clone_top_left_corner th:nth-child(2),
.htRowHeaders .ht_master.innerBorderLeft ~ .ht_clone_left td:first-of-type {
  border-left: 0 none;
}
.handsontable .wtHider {
  position: relative;
}
.handsontable.ht__manualColumnMove.after-selection--columns thead th.ht__highlight {
  cursor: move;
  cursor: -moz-grab;
  cursor: -webkit-grab;
  cursor: grab;
}
.handsontable.ht__manualColumnMove.on-moving--columns,
.handsontable.ht__manualColumnMove.on-moving--columns thead th.ht__highlight {
  cursor: move;
  cursor: -moz-grabbing;
  cursor: -webkit-grabbing;
  cursor: grabbing;
}
.handsontable.ht__manualColumnMove.on-moving--columns .manualColumnResizer {
  display: none;
}
.handsontable .ht__manualColumnMove--guideline,
.handsontable .ht__manualColumnMove--backlight {
  position: absolute;
  height: 100%;
  display: none;
}
.handsontable .ht__manualColumnMove--guideline {
  background: #757575;
  width: 2px;
  top: 0;
  margin-left: -1px;
  z-index: 105;
}
.handsontable .ht__manualColumnMove--backlight {
  background: #343434;
  background: rgba(52, 52, 52, 0.25);
  display: none;
  z-index: 105;
  pointer-events: none;
}
.handsontable.on-moving--columns.show-ui .ht__manualColumnMove--guideline,
.handsontable.on-moving--columns .ht__manualColumnMove--backlight {
  display: block;
}
.handsontable .wtHider {
  position: relative;
}
.handsontable.ht__manualRowMove.after-selection--rows tbody th.ht__highlight {
  cursor: move;
  cursor: -moz-grab;
  cursor: -webkit-grab;
  cursor: grab;
}
.handsontable.ht__manualRowMove.on-moving--rows,
.handsontable.ht__manualRowMove.on-moving--rows tbody th.ht__highlight {
  cursor: move;
  cursor: -moz-grabbing;
  cursor: -webkit-grabbing;
  cursor: grabbing;
}
.handsontable.ht__manualRowMove.on-moving--rows .manualRowResizer {
  display: none;
}
.handsontable .ht__manualRowMove--guideline,
.handsontable .ht__manualRowMove--backlight {
  position: absolute;
  width: 100%;
  display: none;
}
.handsontable .ht__manualRowMove--guideline {
  background: #757575;
  height: 2px;
  left: 0;
  margin-top: -1px;
  z-index: 105;
}
.handsontable .ht__manualRowMove--backlight {
  background: #343434;
  background: rgba(52, 52, 52, 0.25);
  display: none;
  z-index: 105;
  pointer-events: none;
}
.handsontable.on-moving--rows.show-ui .ht__manualRowMove--guideline,
.handsontable.on-moving--rows .ht__manualRowMove--backlight {
  display: block;
}
// 修改选中边线颜色
.htBorders{
  .wtBorder{
    // z-index: 99!important;
  }
  .wtBorder.current{
    background-color:$blue!important;
  }
  .wtBorder.area{
    background-color: transparent!important;
  }
}
.handsontable{
  font-size:12px;
  .currentRow{
    background: -moz-linear-gradient(top, rgba(181, 209, 255, 0.34) 0%, rgba(181, 209, 255, 0.34) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(181, 209, 255, 0.34)), color-stop(100%, rgba(181, 209, 255, 0.34)));
    background: -webkit-linear-gradient(top, rgba(181, 209, 255, 0.34) 0%, rgba(181, 209, 255, 0.34) 100%);
    background: -o-linear-gradient(top, rgba(181, 209, 255, 0.34) 0%, rgba(181, 209, 255, 0.34) 100%);
    background: -ms-linear-gradient(top, rgba(181, 209, 255, 0.34) 0%, rgba(181, 209, 255, 0.34) 100%);
    background: linear-gradient(to bottom, rgba(181, 209, 255, 0.34) 0%, rgba(181, 209, 255, 0.34) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#57b5d1ff', endColorstr='#57b5d1ff',GradientType=0 );
  }
}
.htDimmed{
  cursor: not-allowed;
}

/*----------------------------mcTable start----------------------------*/

.mcTable{
  height: 100%;
  position:relative;
  .noDataModal{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    top:0;
    text-align:center;
    z-index:99;
    div{
      width:100%;
      height:100%;
      display:table;
      span{
        display:table-cell;
        vertical-align: middle;
      }
    }
  }

  .loadingCon{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    top:0;
    text-align:center;
    z-index:999;
    background: rgba(255, 255, 255, 0.7);
    div{
      width:100%;
      height:100%;
      display:table;
      span{
        display:table-cell;
        vertical-align: middle;
      }
    }
  }

  &.font12{
    table{
      font-size: 12px;
    }
  }
  &.font14{
    table{
      font-size: 14px;
    }
  }
  &.font16{
    table{
      font-size: 16px;
    }
  }
}


// .handsontable{
//   font-size: 13px!important;
// }

.handsontable .ht_clone_top td,.handsontable .ht_clone_top th{
  background:#f3f3f3;
  text-align:center;
}

.handsontable .ht_clone_top_left_corner td,.handsontable .ht_clone_top_left_corner th{
  background:#f3f3f3;
  text-align:center;
}

.handsontable th, .handsontable td{
  // height: 35px;
  line-height:20px;
  vertical-align: middle!important;
}

.handsontable .handsontable.ht_clone_top .wtHider{
  padding-bottom:0px!important;
}


.handsontable .ht_clone_top .htDimmed,.handsontable .ht_clone_top_left_corner .htDimmed{
  cursor: default;
}

.handsontable .htDimmed,.handsontable .htDimmed{
  cursor: default;
}

.handsontable .theadBg{
  background:#f3f3f3;
}

.handsontable .theadBg.currentRow{
  background:#f3f3f3;
}


.handsontable.font12 th, .handsontable.font12 td{
  font-size:12px;
  line-height:20px;
}

.handsontable.font14 th, .handsontable.font14 td{
  font-size:14px;
  line-height:24px;
}

.handsontable.font16 th, .handsontable.font16 td{
  font-size:16px;
  line-height:26px;
}

.handsontable td .aLink,.handsontable th .aLink{
  color: #4383D2;
  cursor: pointer;
}

.handsontable td .aBtn,.handsontable th .aBtn{
  height: 24px;
  padding: 0 9px;
  font-size: 12px;
  color: #fff;
  background-color: #4383D2;
  border: 1px solid #4383D2;
  border-radius: 2px;
  display: inline-block;
  line-height: 24px;
  white-space: nowrap;
  cursor: pointer;
  text-align: center;
}


.handsontable td .switchBtn,.handsontable th .switchBtn{
  display: inline-block;
  cursor: pointer;
  font-size: 24px;
}

.handsontable td .switchBtn.mc-icon-turn-on,.handsontable th .switchBtn.mc-icon-turn-on{
  color: #4383D2;
}

.handsontable td .switchBtn.mc-icon-turn-off,.handsontable th .switchBtn.mc-icon-turn-off{
  color: #999999;
}

.handsontable td .aPopper,.handsontable th .aPopper{
  color: #4383D2;
  cursor: pointer;
}


.handsontable .trBgColor_1 td,.handsontable .trBgColor_1 th{
  background: #E8F5E9;
}

.handsontable td .mc-icon-arrow-down,.handsontable td .mc-icon-arrow-right{
  font-size:14px;
  margin-right: 5px;
  cursor:pointer;
}

.handsontable td .colTreeCheckbox{
  margin-right: 3px;
  cursor:pointer;
  vertical-align:-2px;
}


.handsontable td .colTreeCheckbox{
  margin-left: 0;
}

// .handsontable td .level0 ~ .colTreeCheckbox{
//   margin-left: 19px;
// }


.handsontable td .mc-icon-arrow-down ~ .colTreeCheckbox,.handsontable td .mc-icon-arrow-right ~ .colTreeCheckbox{
  margin-left: 0px;
}

.handsontable td .level0.mc-icon-arrow-down ~ .colTreeCheckbox,.handsontable td .level0.mc-icon-arrow-right ~ .colTreeCheckbox {
  margin-left: 0px;
}

.handsontable td .tableHeadTd{
  height:20px;
  display:inline-block;
}

.handsontable td .tableSort{
  width:10px;
  height: 20px;
  display:inline-block;
  margin-left:2px;
  overflow: hidden;
  vertical-align:middle;
  position:relative;
  i{
    width: 12px;
    height:10px;
    display:block;
    overflow:hidden;
    font-size:12px;
    cursor:pointer;
    color:#bbbec4;
    line-height:10px;
    text-align:center;
    transform:scale(0.833);
    position:absolute;
    left:0;  
    &.active{
      color:#4197F1;
    }
    &:hover{
      color:#495060;
    }
    &.mc-icon-triangle-up{
      top:0;
    }
    &.mc-icon-triangle-down{
      top:8px;
    }
  }
}

.handsontable td .tableFilter{
  width:16px;
  height: 20px;
  display:inline-block;
  margin-left:2px;
  overflow: hidden;
  vertical-align:middle;
  position:relative;
  i{
    display:block;
    font-size:14px;
    cursor:pointer;
    color:#bbbec4;
    line-height:10px;
    text-align:center;
    position:absolute;
    left:0;  
    top:4px;
    &.active{
      color:#4197F1;
    }
    &:hover{
      color:#495060;
    }
  }
}

.filterList{
  position:absolute;
  left:0;
  top:0;
  display:block;
  background:#FFF;
  z-index:999;
  border:1px solid #eaeaea;
  li{
    line-height:24px;
    padding:0 10px;
    cursor:pointer;
    &:hover, &.active{
      background:#4197f1;
      color:#FFF;
    }
  }
}

.manualColumnResizerDom{
    position: absolute!important;
    top: 0;
    cursor: col-resize;
    z-index: 110;
    width: 5px;
    height: 35px;
}

.manualColumnResizerDom:hover{
    background:#AAB;
}

.manualColumnResizerGuideDom{
    position: absolute!important;
    left: 0;
    top: 0;
    background-color: #AAB;
    width: 0;
    border-right: 1px dashed #777;
    margin-left: 4px;
    z-index: 111;
}

.triangle_topright{
  position: absolute;
  top:0;
  right:0;
  width: 15px;
  height: 15px;
  cursor: pointer;
  z-index: 1;
  &:after{
    content: '';
    position: absolute;
    top:0;
    right:0;
    display: block;
    width: 0;
    height: 0;
    border-top: 8px solid $red;
    border-left: 8px solid transparent;
    pointer-events:none;
  }
}

.removeBorder th,.removeBorder td{
  border-left:none;
  border-right:none;
}

.removeBorder th:first-child, .removeBorder th:nth-child(2), .removeBorder td:first-of-type, .removeBorder .htNoFrame + th, .removeBorder .htNoFrame + td{
  border-left:none;
  border-right:none;
}

.handsontable td .htAutocomplete .mc-icon-arrow-down {
  float: right;
  font-size: 12px;
  color: #CCC;
  cursor: default;
  width: 16px;
  text-align: center;
  margin-right:0;
}

.htAutocomplete .mc-icon-arrow-down:hover{
  color: #333333;
}

.handsontable .levelIcon{
  width:14px;
  height:14px;
  display: inline-block;
  font-size: 12px;
  color:#bebebe;
  vertical-align: 1px;
  cursor: pointer;
}

@for $i from 0 through 20 {
  .level#{$i} { margin-left: $i*15+px; margin-right: 5px;}
}
// 下拉
.selectOptions{
  &.popover[x-placement^="bottom"]{
    margin-top: 0;
  }
  &.popover[x-placement^="top"]{
    margin-bottom: 0;
  }
  .popover-arrow{
    display: none;
  }
  .popover-content{
    margin: 5px 0;
    li{
      @extend %transition-all;
      padding: 3px 10px;
      position: relative;
      font-size: 12px;
      cursor: pointer;
      &:hover{
        background-color: $blue;
        color: #fff;
      }
      &.active{
        background-color: $blue;
        color: #fff;
        &:after{
          position: absolute;
          right: 10px;
          top: 0;
          font-family:"icon" !important;
          font-size:16px;
          font-style:normal;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          content: "\e743";
        }
      }
    }
  }
  &.multiple{
    .popover-content{
      li{
        &:hover{
          background-color: $blue;
          color: #fff;
        }
        &.active{
          background-color: #fff;
          color: $blue;
          &:hover{
            background-color: $blue;
            color: #fff;
          }
          &:after{
            position: absolute;
            right: 10px;
            top: 0;
            font-family:"icon" !important;
            font-size:16px;
            font-style:normal;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            content: "\e743";
          }
        }
      }
      
    }
  }
}
.handsontable{
  .checkboxRender{
    position: relative;
    &.noValue{
      opacity: 1;
    }
    // ie10以上支持
    &::-ms-check{
      width:14px;
      height: 14px;
      border-color: $line;
      color: $line;
      border-radius: 2px;
    }
    &:hover::-ms-check{
      border-color: $blue;
    }
    &:checked::-ms-check{
      border-color: $blue;
      color: $blue;
    }
    &:hover:before{
      border:1px solid $blue;
    }
    &:before{
      @extend %transition-all;
      position: absolute;
      content: " ";
      width:14px;
      height: 14px;
      border:1px solid $line; 
      top:0;
      left:-2px;
      background-color: #fff;
      border-radius: 2px;
    }
    &:checked:before{
      border:1px solid $blue;
    }
    &:after{
      transition: transform .15s cubic-bezier(.71,-.46,.88,.6) .05s;
      box-sizing: content-box;
      content: "";
      border: 2px solid #fff;
      border-left: 0;
      border-top: 0;
      height: 9px;
      left: 3px;
      position: absolute;
      top: 1px;
      width: 4px;
      transform-origin: center;
      transform: rotate(45deg) scaleY(0);
    }
    &:checked:after{
      border: 2px solid $blue;
      border-left: 0;
      border-top: 0;
      transform: rotate(45deg) scaleY(1);
    }
  }
  .colTreeCheckbox{
    position: relative;
    &[isindeterminate="true"]{
      &:before{
        border:1px solid $blue;
      }
      &:after {
          transition: none;
          border: none;
          width: 12px;
          height: 2px;
          background-color: $blue;
          top: 7px;
          left: 0;
          transform: rotate(0) scaleY(1);
      }
    }
    &.noValue{
      opacity: 1;
    }
    // ie10以上支持
    &::-ms-check{
      width:14px;
      height: 14px;
      border-color: $line;
      color: $line;
      border-radius: 2px;
    }
    &:hover::-ms-check{
      border-color: $blue;
    }
    &:checked::-ms-check{
      border-color: $blue;
      color: $blue;
    }
    &:hover:before{
      border:1px solid $blue;
    }
    &:before{
      @extend %transition-all;
      position: absolute;
      content: " ";
      width:14px;
      height: 14px;
      border:1px solid $line; 
      top:0;
      left:-2px;
      background-color: #fff;
      border-radius: 2px;
    }
    &:checked:before{
      border:1px solid $blue;
    }
    &:after{
      transition: transform .15s cubic-bezier(.71,-.46,.88,.6) .05s;
      box-sizing: content-box;
      content: "";
      border: 2px solid #fff;
      border-left: 0;
      border-top: 0;
      height: 9px;
      left: 3px;
      position: absolute;
      top: 1px;
      width: 4px;
      transform-origin: center;
      transform: rotate(45deg) scaleY(0);
    }
    &:checked:after{
      border: 2px solid $blue;
      border-left: 0;
      border-top: 0;
      transform: rotate(45deg) scaleY(1);
    }
  }
}
.handsontable{
  tr[class*="tagColor"]{
    td.currentRow{
      background: #eaf2ff;
    }
    td.highlight{
      background-color: #fff;
    }
  }
}
.handsontable .trStripe td{
  background: #f8f8f8;
} 

.handsontable td.currentRow{
  background: #eaf2ff;
}